docs(12-02): update state and roadmap progress after plan 12-02

This commit is contained in:
Jakub Zych
2026-10-02 12:39:18 +02:00
parent 85a45dbc80
commit 62863cf0ae
3 changed files with 20 additions and 10 deletions

View File

@@ -4,16 +4,16 @@ milestone: v1.0
current_phase: 12
current_phase_name: Płytarium API — Collections and Albums
status: executing
stopped_at: Completed 12-01-PLAN.md
last_updated: "2026-10-02T09:50:35.349Z"
stopped_at: Completed 12-02-PLAN.md
last_updated: "2026-10-02T10:39:08.775Z"
last_activity: 2026-10-02
last_activity_desc: Phase 12 execution started
state_head: ce72e60491ae639ea7c4d3ec1e8773635167b2d0
state_head: 85a45dbc80b0f4196b2782a9de1a0b5184ce2b0c
progress:
total_phases: 20
completed_phases: 10
total_plans: 101
completed_plans: 97
completed_plans: 98
milestone_name: milestone
---
@@ -29,7 +29,7 @@ See: .planning/PROJECT.md (updated 2026-09-16)
## Current Position
Phase: 12 (Płytarium API — Collections and Albums) — EXECUTING
Plan: 2 of 5
Plan: 3 of 5
Status: Ready to execute
Last activity: 2026-10-02 — Phase 12 execution started
@@ -152,6 +152,7 @@ Progress: [██████░░░░] 60%
| Phase 11.2 P02 | 22min | 5 tasks | 36 files |
| Phase 11.2 P03 | 13 min | 3 tasks | 11 files |
| Phase 12 P01 | 39 min | 4 tasks | 57 files |
| Phase 12 P02 | 46 min | 3 tasks | 119 files |
## Accumulated Context
@@ -434,6 +435,11 @@ Recent decisions affecting current work:
- [Phase 12]: 12-01: exists:table,column compares CAST(column AS TEXT) with the PHP string form of the value, so bad input is a 422, never a Postgres error
- [Phase 12]: 12-01: beachcomber.PageSearcher is optional and SearchPage falls back to SearchIDs, so Engine and existing fakes stay unchanged; Typesense pages are capped at 250
- [Phase 12]: 12-01: sm-user-plugin user groups are additive (migration 202610020001_create_user_groups, User.Groups never serialized); commits are local because the orchestrator forbade pushing
- [Phase 12]: 12-02: Collection strings are trimmed on save (Collection.BeforeSave) because Winter models trim every string attribute; recordings store ' New Shelf ' as 'New Shelf'
- [Phase 12]: 12-02: ProvisionCollection and the resolve fallback have no kind filter, as PHP; a lower-id wishlist can become the active context
- [Phase 12]: 12-02: Parity cases that mutate state are recorded from a fresh PHP tinker reset (parity/fonoteka_reset.php) and replayed from a fresh fonoteka seed per case; id sequences lifted to 8 digits
- [Phase 12]: 12-02: The backend admin album binding keeps a non-provisioning resolver; only API callers provision
- [Phase 12]: 12-02: Winter HttpException pages are embedded as winter_<status>.html with only the app.url stylesheet origin templated
### Pending Todos
@@ -482,6 +488,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-10-02T09:50:21.962Z
Stopped at: Completed 12-01-PLAN.md
Last session: 2026-10-02T10:39:08.259Z
Stopped at: Completed 12-02-PLAN.md
Resume file: None