docs(13-05): record plan completion in state and roadmap

This commit is contained in:
Jakub Zych
2026-10-03 10:30:46 +02:00
parent 80c6d5f5d0
commit 5d0ce7f5bb
3 changed files with 16 additions and 11 deletions

View File

@@ -709,7 +709,7 @@ 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). 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. 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:** 4/6 plans executed **Plans:** 5/6 plans executed
Plans: Plans:
@@ -726,7 +726,7 @@ Plans:
- [x] 13-04-PLAN.md — CSV (8 routes): fputcsv export on both groups, parser package with PHP truth tables, private uploads, import session with commit CAS, queued import/match jobs, D-05 seam, nuxt-csv flow - [x] 13-04-PLAN.md — CSV (8 routes): fputcsv export on both groups, parser package with PHP truth tables, private uploads, import session with commit CAS, queued import/match jobs, D-05 seam, nuxt-csv flow
**Wave 5** *(blocked on Wave 4 completion)* **Wave 5** *(blocked on Wave 4 completion)*
- [ ] 13-05-PLAN.md — Public views (6 routes): token resolution, pubfail lockout, public search and facets, public album field set, D-14 per-route buckets, header fix, public flows - [x] 13-05-PLAN.md — Public views (6 routes): token resolution, pubfail lockout, public search and facets, public album field set, D-14 per-route buckets, header fix, public flows
**Wave 6** *(blocked on Wave 5 completion)* **Wave 6** *(blocked on Wave 5 completion)*
- [ ] 13-06-PLAN.md — Unit tests last: route-table test, request-DTO fuzz, T-13 threat tests, coverage, check-phase13.sh, security review and validation sign-off - [ ] 13-06-PLAN.md — Unit tests last: route-table test, request-DTO fuzz, T-13 threat tests, coverage, check-phase13.sh, security review and validation sign-off
@@ -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.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| | | 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 | | 12. Płytarium API — Collections and Albums | 5/5 | Complete | 2026-10-02 |
| 13. Płytarium API — wishlist, notifications, CSV, credentials, public routes | 4/6 | In Progress| | | 13. Płytarium API — wishlist, notifications, CSV, credentials, public routes | 5/6 | In Progress| |
| 14. Domain jobs and external integrations | 0/TBD | Not started | - | | 14. Domain jobs and external integrations | 0/TBD | Not started | - |
| 15. Cutover | 0/TBD | Not started | - | | 15. Cutover | 0/TBD | Not started | - |

View File

@@ -4,16 +4,16 @@ milestone: v1.0
current_phase: 13 current_phase: 13
current_phase_name: Płytarium API — wishlist, notifications, CSV, credentials, public routes current_phase_name: Płytarium API — wishlist, notifications, CSV, credentials, public routes
status: executing status: executing
stopped_at: Completed 13-04-PLAN.md stopped_at: Completed 13-05-PLAN.md
last_updated: "2026-10-03T07:52:34.262Z" last_updated: "2026-10-03T08:30:34.357Z"
last_activity: 2026-10-03 last_activity: 2026-10-03
last_activity_desc: Phase 13 execution started last_activity_desc: Phase 13 execution started
state_head: 47168ed9092225df27057dd9d39fc12401e3ee90 state_head: 80c6d5f5d0cad8f531e499ea705ad41f0b4aa8e3
progress: progress:
total_phases: 21 total_phases: 21
completed_phases: 11 completed_phases: 11
total_plans: 112 total_plans: 112
completed_plans: 110 completed_plans: 111
milestone_name: milestone milestone_name: milestone
--- ---
@@ -29,7 +29,7 @@ See: .planning/PROJECT.md (updated 2026-09-16)
## Current Position ## Current Position
Phase: 13 (Płytarium API — wishlist, notifications, CSV, credentials, public routes) — EXECUTING Phase: 13 (Płytarium API — wishlist, notifications, CSV, credentials, public routes) — EXECUTING
Plan: 5 of 6 Plan: 6 of 6
Status: Ready to execute Status: Ready to execute
Last activity: 2026-10-03 — Phase 13 execution started Last activity: 2026-10-03 — Phase 13 execution started
@@ -164,6 +164,7 @@ Progress: [██████░░░░] 60%
| Phase 13 P02 | 42min | 3 tasks | 30 files | | Phase 13 P02 | 42min | 3 tasks | 30 files |
| Phase 13 P03 | 51 min | 4 tasks | 132 files | | Phase 13 P03 | 51 min | 4 tasks | 132 files |
| Phase 13 P04 | 80min | 3 tasks | 141 files | | Phase 13 P04 | 80min | 3 tasks | 141 files |
| Phase 13 P05 | 34 min | 3 tasks | 53 files |
## Accumulated Context ## Accumulated Context
@@ -493,6 +494,10 @@ Recent decisions affecting current work:
- [Phase 13]: 13-04: PHP decodes ISO-8859-2 CSV uploads as Windows-1250 (iconv //IGNORE never fails); the Go parser keeps that, so letters that differ between the encodings import wrongly in both - [Phase 13]: 13-04: PHP decodes ISO-8859-2 CSV uploads as Windows-1250 (iconv //IGNORE never fails); the Go parser keeps that, so letters that differ between the encodings import wrongly in both
- [Phase 13]: 13-04: ReleaseFetcher returns the mapped Discogs draft; the Phase 13 default fails (discogs_unavailable), Phase 14 installs the real one with SetReleaseFetcher - [Phase 13]: 13-04: ReleaseFetcher returns the mapped Discogs draft; the Phase 13 default fails (discogs_unavailable), Phase 14 installs the real one with SetReleaseFetcher
- [Phase 13]: 13-04: CSV uploads live in the private bucket golem15.fonoteka.csv.bucket_url (default file://./storage/app) under fonoteka-csv/<uid>/<uuid>.csv - [Phase 13]: 13-04: CSV uploads live in the private bucket golem15.fonoteka.csv.bucket_url (default file://./storage/app) under fonoteka-csv/<uid>/<uuid>.csv
- [Phase 13]: 13-05: the pubfail counter is in memory and one per app (Go process); PHP shared it through the host file cache, so several Go instances multiply the guessing budget
- [Phase 13]: 13-05: PubfailCounter.Begin reserves a failure slot so the check and the count are serialized; concurrent failures never pass 10 per window (PHP can overshoot)
- [Phase 13]: 13-05: public facets order artists and genres by name COLLATE C (the recording SQLite order) with the id breaking ties
- [Phase 13]: 13-05: the public search is SearchAlbums with AlbumSearchParams.Public (TEXT_FIELDS_PUBLIC, no ratings join, collection-only re-gate); authenticated callers unchanged
### Pending Todos ### Pending Todos
@@ -541,6 +546,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity ## Session Continuity
Last session: 2026-10-03T07:52:33.762Z Last session: 2026-10-03T08:30:33.834Z
Stopped at: Completed 13-04-PLAN.md Stopped at: Completed 13-05-PLAN.md
Resume file: None Resume file: None

View File

@@ -94,5 +94,5 @@
"label": "Advance to the next step", "label": "Advance to the next step",
"reason": "Phase 13 of 21 · executing" "reason": "Phase 13 of 21 · executing"
}, },
"updated_at": "2026-10-03T07:52:30.119Z" "updated_at": "2026-10-03T08:30:23.789Z"
} }