docs(05-06): record plan close-out in STATE and ROADMAP
- Phase 5 plan 6 of 6 complete and ready for verification - Record 23 min / 3 tasks / 12 files and the fill-boundary test decisions
This commit is contained in:
@@ -17,7 +17,7 @@ Decimal phases appear between their surrounding integers in numeric order.
|
|||||||
- [x] **Phase 2: API parity harness bootstrap** - Fixture recorder + replay-and-diff harness against the live PHP backend, built on the Phase 1 command kernel (completed 2026-09-17)
|
- [x] **Phase 2: API parity harness bootstrap** - Fixture recorder + replay-and-diff harness against the live PHP backend, built on the Phase 1 command kernel (completed 2026-09-17)
|
||||||
- [x] **Phase 3: First vertical slice — genres end to end** - `GET /_fonoteka/api/v1/genres` passes the parity diff through every layer (completed 2026-09-17)
|
- [x] **Phase 3: First vertical slice — genres end to end** - `GET /_fonoteka/api/v1/genres` passes the parity diff through every layer (completed 2026-09-17)
|
||||||
- [x] **Phase 4: CLI scaffolding, i18n and mail** - Scaffolding commands, translated/pluralized strings, mail templates (completed 2026-09-18)
|
- [x] **Phase 4: CLI scaffolding, i18n and mail** - Scaffolding commands, translated/pluralized strings, mail templates (completed 2026-09-18)
|
||||||
- [ ] **Phase 5: Data layer full fidelity** - All 25 models and their squashed migrations with fillable/hidden/cast/soft-delete discipline
|
- [x] **Phase 5: Data layer full fidelity** - All 25 models and their squashed migrations with fillable/hidden/cast/soft-delete discipline (completed 2026-09-18)
|
||||||
- [ ] **Phase 6: HTTP routing, auth groups and rate limiting** - Three auth groups, named rate buckets, OAuth-safe middleware structure
|
- [ ] **Phase 6: HTTP routing, auth groups and rate limiting** - Three auth groups, named rate buckets, OAuth-safe middleware structure
|
||||||
- [ ] **Phase 7: User plugin and authentication** - Registration, login, JWT, organizations, personal tokens, must-change-password
|
- [ ] **Phase 7: User plugin and authentication** - Registration, login, JWT, organizations, personal tokens, must-change-password
|
||||||
- [ ] **Phase 8: OAuth2.1 authorization server** - zitadel/oidc server for fonoteka-mcp and the ChatGPT connector
|
- [ ] **Phase 8: OAuth2.1 authorization server** - zitadel/oidc server for fonoteka-mcp and the ChatGPT connector
|
||||||
@@ -206,7 +206,7 @@ Plans:
|
|||||||
|
|
||||||
**Wave 5** *(blocked on Wave 4 completion)*
|
**Wave 5** *(blocked on Wave 4 completion)*
|
||||||
|
|
||||||
- [ ] 05-06-PLAN.md — Fuzz tests, hidden-marshal coverage, attachment smoke test, security review
|
- [x] 05-06-PLAN.md — Fuzz tests, hidden-marshal coverage, attachment smoke test, security review
|
||||||
|
|
||||||
### Phase 6: HTTP routing, auth groups and rate limiting
|
### Phase 6: HTTP routing, auth groups and rate limiting
|
||||||
|
|
||||||
@@ -391,7 +391,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 →
|
|||||||
| 2. API parity harness bootstrap | 5/5 | Complete | 2026-09-17 |
|
| 2. API parity harness bootstrap | 5/5 | Complete | 2026-09-17 |
|
||||||
| 3. First vertical slice — genres end to end | 4/4 | Complete | 2026-09-17 |
|
| 3. First vertical slice — genres end to end | 4/4 | Complete | 2026-09-17 |
|
||||||
| 4. CLI scaffolding, i18n and mail | 4/4 | Complete | 2026-09-18 |
|
| 4. CLI scaffolding, i18n and mail | 4/4 | Complete | 2026-09-18 |
|
||||||
| 5. Data layer full fidelity | 5/6 | In Progress| |
|
| 5. Data layer full fidelity | 6/6 | Complete | 2026-09-18 |
|
||||||
| 6. HTTP routing, auth groups and rate limiting | 0/TBD | Not started | - |
|
| 6. HTTP routing, auth groups and rate limiting | 0/TBD | Not started | - |
|
||||||
| 7. User plugin and authentication | 0/TBD | Not started | - |
|
| 7. User plugin and authentication | 0/TBD | Not started | - |
|
||||||
| 8. OAuth2.1 authorization server | 0/TBD | Not started | - |
|
| 8. OAuth2.1 authorization server | 0/TBD | Not started | - |
|
||||||
|
|||||||
@@ -2,16 +2,16 @@
|
|||||||
gsd_state_version: 1.0
|
gsd_state_version: 1.0
|
||||||
milestone: v1.0
|
milestone: v1.0
|
||||||
milestone_name: milestone
|
milestone_name: milestone
|
||||||
status: executing
|
status: verifying
|
||||||
stopped_at: Completed 05-05-PLAN.md
|
stopped_at: Completed 05-06-PLAN.md
|
||||||
last_updated: "2026-09-18T18:27:42.970Z"
|
last_updated: "2026-09-18T18:55:34.419Z"
|
||||||
last_activity: 2026-09-18
|
last_activity: 2026-09-18
|
||||||
progress:
|
progress:
|
||||||
total_phases: 15
|
total_phases: 15
|
||||||
completed_phases: 4
|
completed_phases: 5
|
||||||
total_plans: 23
|
total_plans: 23
|
||||||
completed_plans: 22
|
completed_plans: 23
|
||||||
percent: 27
|
percent: 33
|
||||||
---
|
---
|
||||||
|
|
||||||
# Project State
|
# Project State
|
||||||
@@ -27,10 +27,10 @@ See: .planning/PROJECT.md (updated 2026-09-16)
|
|||||||
|
|
||||||
Phase: 05 (data-layer-full-fidelity) — EXECUTING
|
Phase: 05 (data-layer-full-fidelity) — EXECUTING
|
||||||
Plan: 6 of 6
|
Plan: 6 of 6
|
||||||
Status: Ready to execute
|
Status: Phase complete — ready for verification
|
||||||
Last activity: 2026-09-18
|
Last activity: 2026-09-18
|
||||||
|
|
||||||
Progress: [██████████] 96%
|
Progress: [██████████] 100%
|
||||||
|
|
||||||
## Performance Metrics
|
## Performance Metrics
|
||||||
|
|
||||||
@@ -68,6 +68,7 @@ Progress: [██████████] 96%
|
|||||||
| Phase 05-data-layer-full-fidelity P03 | 15 min | 3 tasks | 28 files |
|
| Phase 05-data-layer-full-fidelity P03 | 15 min | 3 tasks | 28 files |
|
||||||
| Phase 05 P04 | 18 min | 3 tasks | 18 files |
|
| Phase 05 P04 | 18 min | 3 tasks | 18 files |
|
||||||
| Phase 05 P05 | 18 min | 3 tasks | 18 files |
|
| Phase 05 P05 | 18 min | 3 tasks | 18 files |
|
||||||
|
| Phase 05 P06 | 23 min | 3 tasks | 12 files |
|
||||||
|
|
||||||
## Accumulated Context
|
## Accumulated Context
|
||||||
|
|
||||||
@@ -145,6 +146,9 @@ Recent decisions affecting current work:
|
|||||||
- [Phase 05]: notifications/wishlist_subscriptions/wishlist_digest_queue have no FK on user_id/collection_id, matching PHP (Open Question 3 / T-05-18) — PHP migrations omit ->foreign() on these tables; D-02 matches actual constraints rather than fixing them
|
- [Phase 05]: notifications/wishlist_subscriptions/wishlist_digest_queue have no FK on user_id/collection_id, matching PHP (Open Question 3 / T-05-18) — PHP migrations omit ->foreign() on these tables; D-02 matches actual constraints rather than fixing them
|
||||||
- [Phase 05]: D-02 allow-list is settings table, users column-count (no widen_users), and the shipped extra oauth_refresh_tokens.user_id FK — Intended gaps only: Open Question 2, D-03/AUTH-02, and P3 D-17 freeze of 05-03 extra FK
|
- [Phase 05]: D-02 allow-list is settings table, users column-count (no widen_users), and the shipped extra oauth_refresh_tokens.user_id FK — Intended gaps only: Open Question 2, D-03/AUTH-02, and P3 D-17 freeze of 05-03 extra FK
|
||||||
- [Phase 05]: DATA-11 fixture plugin is test-only: no process-wide Register, not in app.PluginIDs or plugins.gen.go — CONTEXT.md discretion: fixture plugin in tests is acceptable; production binary must not load it
|
- [Phase 05]: DATA-11 fixture plugin is test-only: no process-wide Register, not in app.PluginIDs or plugins.gen.go — CONTEXT.md discretion: fixture plugin in tests is acceptable; production binary must not load it
|
||||||
|
- [Phase 05]: Hidden-marshal registry walk lives in fonoteka.go/classes because summercms.go must not import the app — CLAUDE.md two-repo rule; plan allowed the parity/classes fallback
|
||||||
|
- [Phase 05]: Credential fuzz excludes owner FKs from the working allow-list, matching D-05 two-layer even without a write-service file — Fillable() includes user_id/organisation_id; acceptance requires the owner FK never change
|
||||||
|
- [Phase 05]: classes TestMain is the real-Postgres harness; parity activateAppPlugins/parityDB cannot be imported from package main — Same ICU pl-PL migrate-both-plugins shape without crossing the app/framework test boundary
|
||||||
|
|
||||||
### Pending Todos
|
### Pending Todos
|
||||||
|
|
||||||
@@ -166,6 +170,6 @@ Items acknowledged and carried forward from previous milestone close:
|
|||||||
|
|
||||||
## Session Continuity
|
## Session Continuity
|
||||||
|
|
||||||
Last session: 2026-09-18T18:27:05.252Z
|
Last session: 2026-09-18T18:55:33.389Z
|
||||||
Stopped at: Completed 05-05-PLAN.md
|
Stopped at: Completed 05-06-PLAN.md
|
||||||
Resume file: None
|
Resume file: None
|
||||||
|
|||||||
Reference in New Issue
Block a user