diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 26ae61a..c1a4eca 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -670,14 +670,14 @@ Plans: 4. Deferred binding: on an unsaved parent, uploads and related-record changes bind to a session key, are committed in the parent's create transaction, and are discarded with the session. Orphaned deferred bindings and their files are purged. 5. The new code has unit tests, delivered in the phase's last plan, and the docs checker passes. -**Plans:** 1/5 plans executed +**Plans:** 2/5 plans executed Plans: **Wave 1** - [x] 12.2-01-PLAN.md — Foundations: deferred_bindings table and store, attach.Store with image guard, attach.Relation, lagoon.Date/TimeOfDay with Fill and required, deferred:purge with the daily framework schedule, pact relation hooks **Wave 2** *(blocked on Wave 1 completion)* -- [ ] 12.2-02-PLAN.md — cabana fileupload (seven file routes, protected download) and datepicker fields, session key, commit of file bindings in the save transaction, OpenAPI +- [x] 12.2-02-PLAN.md — cabana fileupload (seven file routes, protected download) and datepicker fields, session key, commit of file bindings in the save transaction, OpenAPI **Wave 3** *(blocked on Wave 2 completion)* - [ ] 12.2-03-PLAN.md — cabana relation child CRUD (hasMany kind, manage/view/pivot forms, toolbar buttons), D-15 parent scoping, unsaved-parent deferral and relation commit, child file routes diff --git a/.planning/STATE.md b/.planning/STATE.md index b3bcf6c..d54ee5a 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: "12.2" current_phase_name: "Admin form fields: date, file upload, relation editing with deferred binding (INSERTED)" status: executing -stopped_at: Completed 12.2-01-PLAN.md -last_updated: "2026-10-02T15:48:16.544Z" +stopped_at: Completed 12.2-02-PLAN.md +last_updated: "2026-10-02T16:20:56.176Z" last_activity: 2026-10-02 last_activity_desc: Phase 12.2 execution started -state_head: f004d7d4fc16f7a02d7f8b06c7a969e39d6145a7 +state_head: a4b3010e762114a6c98079701eae0a8eeaa7cf81 progress: total_phases: 21 completed_phases: 11 total_plans: 106 - completed_plans: 102 + completed_plans: 103 milestone_name: milestone --- @@ -29,7 +29,7 @@ See: .planning/PROJECT.md (updated 2026-09-16) ## Current Position Phase: 12.2 (Admin form fields: date, file upload, relation editing with deferred binding (INSERTED)) — EXECUTING -Plan: 2 of 5 +Plan: 3 of 5 Status: Ready to execute Last activity: 2026-10-02 — Phase 12.2 execution started @@ -157,6 +157,7 @@ Progress: [██████░░░░] 60% | Phase 12 P04 | 82 min | 3 tasks | 226 files | | Phase 12 P05 | 2h15m | 3 tasks | 85 files | | Phase 12.2 P01 | 20min | 3 tasks | 32 files | +| Phase 12.2 P02 | 28min | 3 tasks | 29 files | ## Accumulated Context @@ -461,6 +462,11 @@ Recent decisions affecting current work: - [Phase 12.2]: 12.2-01: empty text fills a zero lagoon.Date/TimeOfDay (NULL); required rejects zero dates and times - [Phase 12.2]: 12.2-01: PurgeDeferred keeps created-child bindings whose slave type no plugin model resolves (Skipped) instead of deleting blind - [Phase 12.2]: 12.2-01: framework schedule entry summercms.lagoon[0]:deferred:purge at database.deferred_bindings.purge_at (default 03:00, empty disables) +- [Phase 12.2]: 12.2-02: file routes on id 0 answer 404 when the controller does not declare create, as for a missing session key +- [Phase 12.2]: 12.2-02: the save consumes a file bind whose row is gone or already attached, and an unbind of a file not attached to the owner +- [Phase 12.2]: 12.2-02: preview thumbnails use imageWidth x imageHeight (one given means square), else 240 x 240 in thumbOptions.mode or crop +- [Phase 12.2]: 12.2-02: a fileupload field on a settings form fails boot; a settings datepicker gets the D-19 type check +- [Phase 12.2]: 12.2-02: swagger2openapi folds formData into a multipart requestBody and maps {file} responses to binary ### Pending Todos @@ -509,6 +515,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-10-02T15:48:16.010Z -Stopped at: Completed 12.2-01-PLAN.md +Last session: 2026-10-02T16:20:55.679Z +Stopped at: Completed 12.2-02-PLAN.md Resume file: None diff --git a/.planning/state.json b/.planning/state.json index 2f54652..c0f36dc 100644 --- a/.planning/state.json +++ b/.planning/state.json @@ -94,5 +94,5 @@ "label": "Advance to the next step", "reason": "Phase 12.2 of 21 · executing" }, - "updated_at": "2026-10-02T15:48:11.308Z" + "updated_at": "2026-10-02T16:20:50.566Z" }