docs: extract authoritative ROADMAP.md; spec links to it

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 15:04:44 +02:00
co-authored by Claude Opus 4.8
parent 07bba5796f
commit c406b567bd
2 changed files with 67 additions and 9 deletions
@@ -49,16 +49,9 @@ Both apps currently **duplicate** near-identical code (`immich.py`, `config.py`,
- **GPS is a minority signal.** Most old camera photos lack GPS, so trip detection is **timestamp-first**, anchored by existing tags, refined by GPS where present.
- **Everyday/non-trip photos:** assign trips AND positively mark non-trip so they stop resurfacing as "unreviewed." Full non-trip categorization is deferred.
## Roadmap (sequenced; each milestone independently shippable)
## Roadmap
**End state:** one monorepo — `shared/{immich, core, ai, ui}` + `apps/{trip-cluster, tag-verify, enrich, image-rater, travel-memories}`, each its own container.
- **M1 — Foundation + trip-cluster (THIS SPEC).** Stand up the monorepo, shared packages, SQLite store, Immich ingest, and the `trip-cluster` app end-to-end. Validate on the last trip's photos. This is the POC that proves the foundation.
- **M2 — tag-verify** app on the proven foundation (verify/normalize existing tags, dedupe vocabulary, find outliers).
- **M3 — enrich** app (geocode location tags like "Kiev" → coordinates and optionally backfill GPS into Immich to improve future trip detection; AI captioning; content tags; noise detection).
- **M4 — migrate image-rater** onto shared packages (+ optional SQLite).
- **M5 — migrate travel-memories** onto shared packages (+ optional SQLite).
- **M6 (future/optional) — non-trip categorization** (the deferred full-library taxonomy).
The full multi-milestone roadmap (M1M6), end-state, and cross-cutting decisions live in the authoritative **[`docs/ROADMAP.md`](../../ROADMAP.md)**. In brief: **this spec is M1** — Foundation + `trip-cluster`, the POC that proves the shared foundation. M2 (`tag-verify`), M3 (`enrich`), M4/M5 (migrate the existing apps onto the foundation), and M6 (non-trip categorization) follow, each with its own spec→plan→build cycle.
---