diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 7486f34..ac3141e 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -709,12 +709,12 @@ Plans: 4. Per-user and per-org Discogs/AI credentials CRUD store encrypted values, honor the org-lock flag, and resolve env-to-org-to-user correctly. The live `ai-credential/test` and `discogs-credential/test` routes move to Phase 14 (D-02). 5. Onboarding, public and invitation-inspection routes, including the anonymous collection views `public/{token}`, `public/{token}/albums` and `public/{token}/albums/{id}`, are reachable without auth and enforce their own public rate-limit buckets. -**Plans:** 6 plans +**Plans:** 1/6 plans executed Plans: **Wave 1** -- [ ] 13-01-PLAN.md — Framework gaps (summercms.go): surf overlap dispatch, conga workerless job kinds, lagoon prohibited, tide date and publication masks; the pinned job contract; parity scaffolding (queue override, rows dump, share:wishlist, D-15, ported case-status check); ROADMAP/REQUIREMENTS rewording +- [x] 13-01-PLAN.md — Framework gaps (summercms.go): surf overlap dispatch, conga workerless job kinds, lagoon prohibited, tide date and publication masks; the pinned job contract; parity scaffolding (queue override, rows dump, share:wishlist, D-15, ported case-status check); ROADMAP/REQUIREMENTS rewording **Wave 2** *(blocked on Wave 1 completion)* - [ ] 13-02-PLAN.md — Notifications, credentials CRUD with the AI/Discogs resolution order, onboarding bootstrap, invitation inspection, sm-user-plugin RegisterEvent.Payload and registration exports, the register listener, onboarding flow (14 routes) @@ -787,7 +787,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → | 11.1. SummerCMS documentation for humans and AI agents | 7/7 | In Progress| | | 11.2. summercms.io Alpha 0.1 landing page on SummerCMS | 3/3 | In Progress| | | 12. Płytarium API — Collections and Albums | 5/5 | Complete | 2026-10-02 | -| 13. Płytarium API — wishlist, notifications, CSV, credentials, public routes | 0/6 | Planned | - | +| 13. Płytarium API — wishlist, notifications, CSV, credentials, public routes | 1/6 | In Progress| | | 14. Domain jobs and external integrations | 0/TBD | Not started | - | | 15. Cutover | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index f3f710e..518988d 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -1,19 +1,19 @@ --- gsd_state_version: "1.0" milestone: v1.0 -current_phase: "12.2" -current_phase_name: "Admin form fields: date, file upload, relation editing with deferred binding (INSERTED)" +current_phase: 13 +current_phase_name: Płytarium API — wishlist, notifications, CSV, credentials, public routes status: executing -stopped_at: Completed 12.2-04-PLAN.md -last_updated: "2026-10-02T19:01:24.410Z" +stopped_at: Completed 13-01-PLAN.md +last_updated: "2026-10-03T04:42:17.083Z" last_activity: 2026-10-03 -last_activity_desc: Phase 12.2 BM UAT approved -state_head: 1757545ecb31416eb52f916984e3742c90962653 +last_activity_desc: Phase 13 execution started +state_head: 1c303f1511c7b4a45cc49b070dea3cbb400b6ccd progress: total_phases: 21 completed_phases: 11 total_plans: 112 - completed_plans: 106 + completed_plans: 107 milestone_name: milestone --- @@ -24,14 +24,14 @@ milestone_name: milestone See: .planning/PROJECT.md (updated 2026-09-16) **Core value:** An existing WinterCMS-shaped app can be ported plugin by plugin to a single Go binary without its frontend noticing: the PHP version's API contract is the acceptance test. -**Current focus:** Phase 12.2 — Admin form fields: date, file upload, relation editing with deferred binding (INSERTED) +**Current focus:** Phase 13 — Płytarium API — wishlist, notifications, CSV, credentials, public routes ## Current Position -Phase: 12.2 (Admin form fields: date, file upload, relation editing with deferred binding (INSERTED)) — EXECUTING -Plan: 1 of 5 -Status: Executing Phase 12.2 -Last activity: 2026-10-03 — Phase 12.2 BM UAT approved (v0.1.2 follow-up) +Phase: 13 (Płytarium API — wishlist, notifications, CSV, credentials, public routes) — EXECUTING +Plan: 2 of 6 +Status: Ready to execute +Last activity: 2026-10-03 — Phase 13 execution started Progress: [██████░░░░] 60% @@ -160,6 +160,7 @@ Progress: [██████░░░░] 60% | Phase 12.2 P02 | 28min | 3 tasks | 29 files | | Phase 12.2 P03 | 45min | 3 tasks | 26 files | | Phase 12.2 P04 | 2h | 4 tasks | 31 files | +| Phase 13 P01 | 29 min | 4 tasks | 31 files | ## Accumulated Context @@ -477,6 +478,9 @@ Recent decisions affecting current work: - [Phase 12.2]: 12.2-04: by user decision, existing belongsToMany relation managers stay deferrable and appear on the create screen unless the relation-manager field has context: update; the create-screen deferral UI is not opt-in - [Phase 12.2]: 12.2-04: the registry resolves RelationManager lazily because child forms close an import cycle with it - [Phase 12.2]: 12.2-04: a datetime is emitted as UTC YYYY-MM-DDTHH:MM:SSZ without milliseconds; a stored datetime without a zone is read as UTC +- [Phase 13]: 13-01: River rejects dotted queue names, so the D-03 workerless queues are fonoteka_csv_import, fonoteka_csv_match and fonoteka_wishlist_digest; the dotted PHP names stay the summer_jobs labels and the kinds are unchanged (pending user confirmation before 13-03/13-04 dispatch) +- [Phase 13]: 13-01: conga refuses an unregistered job kind's empty or served queue only while a worker runs; unregistered kinds always insert through the insert-only River client +- [Phase 13]: 13-01: surf registers ServeMux-conflicting, constraint-separated routes as overlap families under one method-less pattern, tried in registration order; same-shape, multi-segment and shadowed members stay boot errors ### Pending Todos @@ -525,6 +529,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-10-02T17:58:33.426Z -Stopped at: Completed 12.2-04-PLAN.md +Last session: 2026-10-03T04:42:16.578Z +Stopped at: Completed 13-01-PLAN.md Resume file: None diff --git a/.planning/state.json b/.planning/state.json index d4b0d39..647cebb 100644 --- a/.planning/state.json +++ b/.planning/state.json @@ -92,7 +92,7 @@ "next": { "command": "/gsd:progress --next", "label": "Advance to the next step", - "reason": "Phase 12.2 of 21 · executing" + "reason": "Phase 13 of 21 · executing" }, - "updated_at": "2026-10-02T19:01:24.437Z" + "updated_at": "2026-10-03T04:42:13.032Z" }