docs(10): create phase plan

This commit is contained in:
Jakub Zych
2026-09-27 14:11:07 +02:00
parent 42c7216f5f
commit 8c3e131111
11 changed files with 1547 additions and 39 deletions

View File

@@ -424,9 +424,26 @@ Plans:
3. The Collections form's relation manager lets an admin search, link and unlink an editor.
4. API calls in the SPA use TypeScript types generated from the OpenAPI document, with no hand-maintained duplicate type.
**Plans**: TBD
**Plans**: 5 plans
**UI hint**: yes
Plans:
**Wave 1**
- [ ] 10-01-PLAN.md — Tracer: backend.uri prefix, cookie+CSRF transport, embedded SPA (login, navigation, typed Genres list), framework admin OpenAPI pipeline, fonoteka lang/icons/Collections nav
**Wave 2** *(blocked on Wave 1 completion)*
- [ ] 10-02-PLAN.md — Backend contract: relation options and saves with labels, backend strings bundle and overrides, messages, declarative toolbar, filter options, fully typed OpenAPI with conformance
**Wave 3** *(blocked on Wave 2 completion)*
- [ ] 10-03-PLAN.md — SPA lists, forms, filter bar and settings screen for all five controllers
**Wave 4** *(blocked on Wave 3 completion)*
- [ ] 10-04-PLAN.md — Relation manager with picker modal, and shell polish (flyout, collapse, user menu, breadcrumbs, dark mode)
**Wave 5** *(blocked on Wave 4 completion)*
- [ ] 10-05-PLAN.md — Unit tests last: Vitest and Go coverage, assembled acceptance, check-phase10.sh gate and security evidence
### Phase 11: Jobs, realtime and search infrastructure
**Goal**: River jobs run on the correct dual-driver split, Centrifugo publishing and channel authorization match the existing server, and Typesense sync stays a re-gated pre-filter — all brought up before the API phases that depend on them (album search needs Typesense sync, CSV import needs River jobs, notifications need the realtime publisher). River's dual-driver split and the Centrifugo/Typesense contracts are the least-implemented-and-verified parts of this research pass.