docs(05-05): record plan close-out in STATE and ROADMAP

- Advance to plan 6 of 6; mark DATA-11 and CLI-03 complete
This commit is contained in:
Jakub Zych
2026-09-18 20:28:00 +02:00
parent 62f3ae563f
commit 67434f5185
3 changed files with 18 additions and 13 deletions

View File

@@ -3,14 +3,14 @@ gsd_state_version: 1.0
milestone: v1.0
milestone_name: milestone
status: executing
stopped_at: Completed 05-04-PLAN.md
last_updated: "2026-09-18T18:05:28.925Z"
stopped_at: Completed 05-05-PLAN.md
last_updated: "2026-09-18T18:27:42.970Z"
last_activity: 2026-09-18
progress:
total_phases: 15
completed_phases: 4
total_plans: 23
completed_plans: 21
completed_plans: 22
percent: 27
---
@@ -26,11 +26,11 @@ See: .planning/PROJECT.md (updated 2026-09-16)
## Current Position
Phase: 05 (data-layer-full-fidelity) — EXECUTING
Plan: 5 of 6
Plan: 6 of 6
Status: Ready to execute
Last activity: 2026-09-18
Progress: [█████████░] 91%
Progress: [██████████] 96%
## Performance Metrics
@@ -67,6 +67,7 @@ Progress: [█████████░] 91%
| Phase 05 P02 | 27 min | 3 tasks | 32 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 P05 | 18 min | 3 tasks | 18 files |
## Accumulated Context
@@ -140,6 +141,10 @@ Recent decisions affecting current work:
- [Phase 05]: Blob keys are partition+disk_name (no public/protected prefix); fileblob roots at storage/app/uploads — StaticHandler reconstructs keys from PartitionDirectory+disk_name; cutover can point bucket_url at uploads/public
- [Phase 05]: DeleteForOwner afterCommit is an in-tx key collector; DeleteKeys removes originals and thumb_<id>_ prefixes after commit — GORM has no post-commit hook; a rollback must not have already deleted bytes
- [Phase 05]: Album/Collection MorphName returns the PHP class string and does not import attach (models stay a leaf) — models-leaf rule; interface satisfaction is implicit
- [Phase 05]: Settings is golem15_fonoteka_settings singleton with typed search_use_typesense BOOLEAN (RESEARCH Open Question 2) — PHP SettingsModel over system_settings is not ported; dedicated typed table is the user-resolved storage
- [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]: 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
### Pending Todos
@@ -161,6 +166,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-09-18T18:05:28.907Z
Stopped at: Completed 05-04-PLAN.md
Last session: 2026-09-18T18:27:05.252Z
Stopped at: Completed 05-05-PLAN.md
Resume file: None