docs(12-02): update state and roadmap progress after plan 12-02
This commit is contained in:
@@ -613,7 +613,7 @@ Plans:
|
||||
4. Artists/genres/styles lookup endpoints used by the Albums UI pass the parity diff.
|
||||
5. A request-DTO-level fuzz over every write endpoint asserts unknown and server-owned keys are never persisted (inherits the HTTP half of Phase 5 criterion 3; the HTTP layer does not exist until Phase 6/12).
|
||||
|
||||
**Plans**: 1/5 plans executed
|
||||
**Plans**: 2/5 plans executed
|
||||
|
||||
Plans:
|
||||
|
||||
@@ -621,7 +621,7 @@ Plans:
|
||||
- [x] 12-01-PLAN.md — Framework gaps (summercms.go): Laravel-semantics request validator with pl/en catalogs, attach URL/webp, tide multipart and upload masks, beachcomber found/weights; user groups in the Go user plugin sm-user-plugin (D-25); ROADMAP/REQUIREMENTS rewording
|
||||
|
||||
**Wave 2** *(blocked on Wave 1 completion)*
|
||||
- [ ] 12-02-PLAN.md — Active context, collections and share: token-aware resolver, AccessibleBy, provisioning, gates, collection serializer, collections routes, me/context, realtime/channels, collection/share, per-route scopes and per-album delete (D-26)
|
||||
- [x] 12-02-PLAN.md — Active context, collections and share: token-aware resolver, AccessibleBy, provisioning, gates, collection serializer, collections routes, me/context, realtime/channels, collection/share, per-route scopes and per-album delete (D-26)
|
||||
|
||||
**Wave 3** *(blocked on Wave 2 completion)*
|
||||
- [ ] 12-03-PLAN.md — Household and invitations: InvitationService, transactional mail job with encrypted token, notifications write path, members, accept, 409 guard, nuxt-collections flow
|
||||
@@ -726,7 +726,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 →
|
||||
| 11. Jobs, realtime and search infrastructure | 8/8 | In Progress| |
|
||||
| 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 | 1/5 | In Progress| |
|
||||
| 12. Płytarium API — Collections and Albums | 2/5 | In Progress| |
|
||||
| 13. Płytarium API — wishlist, notifications, CSV, credentials, public routes | 0/TBD | Not started | - |
|
||||
| 14. Domain jobs and external integrations | 0/TBD | Not started | - |
|
||||
| 15. Cutover | 0/TBD | Not started | - |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -313,3 +313,7 @@ None. Production keeps `storage.uploads` on the Winter layout; the new `golem15.
|
||||
---
|
||||
*Phase: 12-p-ytarium-api-collections-and-albums*
|
||||
*Completed: 2026-10-02*
|
||||
|
||||
## Self-Check: PASSED
|
||||
|
||||
All 18 created files listed in key-files exist on disk. Commits 574b2f1, b41d5ca and 6c729a7 exist in fonoteka.go. Plan-level verification passed: `go vet ./...` and `go test ./... -count=1` in fonoteka.go (root, parity, the fonoteka plugin and sm-user-plugin), `TestParityCorpus` with 56 ported and passing, and `check_corpus.go --require-recorded --check-secrets` exiting 0.
|
||||
|
||||
Reference in New Issue
Block a user