diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index a9c057e..1ecea79 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -112,7 +112,7 @@ Requirements for v1 (the Płytarium port). Each maps to roadmap phases. "User" b - [ ] **ADMIN-03**: A relation-manager schema (search, link, unlink, manage/view lists) replaces the one `partial` field in Collections' editors tab - [ ] **ADMIN-04**: Admin CRUD endpoints per controller expose extension hooks (listExtendQuery, formExtendQuery, formBeforeCreate, formBeforeUpdate, relationExtendManageQuery), and bulk delete runs each record's lifecycle hooks - [ ] **ADMIN-05**: A settings model binds to a settings screen through the same schema pipeline (search_use_typesense) -- [ ] **ADMIN-06**: A minimal Vue 3 + TypeScript SPA renders login, permission-gated navigation, lists, forms and the relation manager for Albums, Artists, Collections, Genres and Styles using generated types +- [x] **ADMIN-06**: A minimal Vue 3 + TypeScript SPA renders login, permission-gated navigation, lists, forms and the relation manager for Albums, Artists, Collections, Genres and Styles using generated types ### Quality and cutover (QA) @@ -224,7 +224,7 @@ Which phases cover which requirements. Updated during roadmap creation. | ADMIN-03 | Phase 9 | Pending | | ADMIN-04 | Phase 9 | Pending | | ADMIN-05 | Phase 9 | Pending | -| ADMIN-06 | Phase 10 | Pending | +| ADMIN-06 | Phase 10 | Complete | | QA-01 | Phase 2 | Complete | | QA-02 | Phase 2 | Complete | | QA-03 | Phase 2 | Complete | diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 30e68e9..33315b4 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -424,7 +424,7 @@ 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**: 4/5 plans executed +**Plans**: 5/5 plans executed **UI hint**: yes Plans: @@ -442,7 +442,7 @@ Plans: - [x] 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 +- [x] 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 @@ -547,7 +547,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → | 7. User plugin and authentication | 8/8 | Complete | 2026-09-23 | | 8. OAuth2.1 authorization server | 10/10 | Complete | 2026-09-23 | | 9. Backend admin authentication and schema pipeline | 12/12 | In Progress| | -| 10. Admin Vue SPA | 4/5 | In Progress| | +| 10. Admin Vue SPA | 5/5 | In Progress| | | 11. Jobs, realtime and search infrastructure | 0/TBD | Not started | - | | 12. Płytarium API — Collections and Albums | 0/TBD | Not started | - | | 13. Płytarium API — wishlist, notifications, CSV, credentials, public routes | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index f514d72..bf16226 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -3,17 +3,17 @@ gsd_state_version: "1.0" milestone: v1.0 current_phase: 10 current_phase_name: Admin Vue SPA -status: executing -stopped_at: Completed 10-04-PLAN.md -last_updated: "2026-09-27T15:28:59.994Z" +status: verifying +stopped_at: Completed 10-05-PLAN.md +last_updated: "2026-09-27T16:23:56.300Z" last_activity: 2026-09-27 -last_activity_desc: Phase 10 plan 04 relation manager and shell polish completed -state_head: 445404e394d21c39b855d7a0a672885e49756a00 +last_activity_desc: Phase 10 plan 05 unit tests, assembled acceptance and phase gate completed +state_head: 3bdf6c930123167d85f615cdca458598cc42e023 progress: total_phases: 15 completed_phases: 8 total_plans: 72 - completed_plans: 71 + completed_plans: 72 milestone_name: milestone --- @@ -30,8 +30,8 @@ See: .planning/PROJECT.md (updated 2026-09-16) Phase: 10 (Admin Vue SPA) — EXECUTING Plan: 5 of 5 -Status: Ready to execute -Last activity: 2026-09-27 — Phase 10 plan 04 relation manager and shell polish completed +Status: Phase complete — ready for verification +Last activity: 2026-09-27 — Phase 10 plan 05 unit tests, assembled acceptance and phase gate completed Progress: [██████████] 100% @@ -124,6 +124,7 @@ Progress: [██████████] 100% | Phase 10 P02 | 50min | 3 tasks | 63 files | | Phase 10 P03 | 23 min | 3 tasks | 64 files | | Phase 10 P04 | 21min | 2 tasks | 42 files | +| Phase 10 P05 | 53 min | 3 tasks | 76 files | ## Accumulated Context @@ -331,6 +332,10 @@ Recent decisions affecting current work: - [Phase 10]: Admin OpenAPI declares search, sort, dir, page and per_page on the linked and candidate relation routes - [Phase 10]: Collapsed rail: Enter or ArrowDown opens the SectionFlyout and moves focus into it; click still navigates; expand button only for a manual collapse - [Phase 10]: logout(router) always clears user, navigation and settings and ends on the login route, even when POST /auth/logout fails +- [Phase 10]: Phase 10 gate allow-lists exactly the two pre-existing fonoteka parity failures by package and test name and refuses once either passes +- [Phase 10]: Field controls import components/form/control.ts; registry.ts re-exports it (breaks a registry/control import cycle) +- [Phase 10]: Tailwind skips admin/tests so test code never changes boardwalk/dist +- [Phase 10]: Framework tests use neutral acme names; the hygiene stage refuses application names in summercms.go admin, boardwalk, cabana and phrasebook ### Pending Todos @@ -353,6 +358,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-09-27T15:28:59.674Z -Stopped at: Completed 10-04-PLAN.md +Last session: 2026-09-27T16:23:55.972Z +Stopped at: Completed 10-05-PLAN.md Resume file: None