From 6e1b6dd5bf86984b99cc6224669eb3e714b5bb1a Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Sun, 27 Sep 2026 17:02:50 +0200 Subject: [PATCH] docs(10-03): record plan 03 progress in state and roadmap --- .planning/ROADMAP.md | 6 +++--- .planning/STATE.md | 23 ++++++++++++++--------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 92bc915..2d59184 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**: 2/5 plans executed +**Plans**: 3/5 plans executed **UI hint**: yes Plans: @@ -436,7 +436,7 @@ Plans: - [x] 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 +- [x] 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) @@ -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 | 2/5 | In Progress| | +| 10. Admin Vue SPA | 3/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 efa6386..e9dd82f 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: 10 current_phase_name: Admin Vue SPA status: executing -stopped_at: Completed 10-02-PLAN.md -last_updated: "2026-09-27T14:29:51.186Z" +stopped_at: Completed 10-03-PLAN.md +last_updated: "2026-09-27T15:02:42.446Z" last_activity: 2026-09-27 -last_activity_desc: Phase 10 plan 02 backend contract completed -state_head: 9f296b0484174cf180906140c646a8578d3568ad +last_activity_desc: Phase 10 plan 03 lists, forms, filters and settings completed +state_head: 1964844eb916a572c7fe8c6e88ed18a46cbf0e77 progress: total_phases: 15 completed_phases: 8 total_plans: 72 - completed_plans: 69 + completed_plans: 70 milestone_name: milestone --- @@ -29,9 +29,9 @@ See: .planning/PROJECT.md (updated 2026-09-16) ## Current Position Phase: 10 (Admin Vue SPA) — EXECUTING -Plan: 3 of 5 +Plan: 4 of 5 Status: Ready to execute -Last activity: 2026-09-27 — Phase 10 plan 02 backend contract completed +Last activity: 2026-09-27 — Phase 10 plan 03 lists, forms, filters and settings completed Progress: [██████████] 100% @@ -122,6 +122,7 @@ Progress: [██████████] 100% | Phase 09 P11 | 1h 15m | 3 tasks | 21 files | | Phase 10 P01 | 31min | 3 tasks | 111 files | | Phase 10 P02 | 50min | 3 tasks | 63 files | +| Phase 10 P03 | 23 min | 3 tasks | 64 files | ## Accumulated Context @@ -321,6 +322,10 @@ Recent decisions affecting current work: - [Phase 10]: 10-02: Message key validation checks declared keys and framework defaults only; defaults derived from Winter prompt, noRecordsMessage or form name may be literal text - [Phase 10]: 10-02: Filter options path {scope} is the filter name; the model's FilterOptions receives the scope method name - [Phase 10]: 10-02: Tailwind excludes generated schema.d.ts and openapi/ from the class scan so API changes do not churn boardwalk/dist +- [Phase 10]: Admin OpenAPI declares write bodies (AdminRecord, AdminIDsRequest) and the list filter query as a deepObject so the SPA sends typed payloads +- [Phase 10]: A form field without span fills the whole row (Winter default); auto and row take the next free slot +- [Phase 10]: The save body skips read-only fields and unregistered types (relation-manager, unknown); Winter attributes pass through an allowlist +- [Phase 10]: aria-sort reflects only the explicit URL sort; defaultSort is applied server-side without a header indicator ### Pending Todos @@ -343,6 +348,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-09-27T14:29:50.876Z -Stopped at: Completed 10-02-PLAN.md +Last session: 2026-09-27T15:02:42.136Z +Stopped at: Completed 10-03-PLAN.md Resume file: None