From 77b8ff177ac96457d64dbb2cbddc6bcaabbea21c Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Tue, 29 Sep 2026 15:27:56 +0200 Subject: [PATCH] docs(11-01): record plan 11-01 progress and decisions --- .planning/ROADMAP.md | 6 +++--- .planning/STATE.md | 30 ++++++++++++++++++------------ 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 38702fc..cf14da8 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -505,13 +505,13 @@ Plans: 4. A channel-namespace authorizer registry re-validates on every subscribe; a broadcastable model interface with bulk-write suppression emits exactly one summary event for a bulk operation. 5. Typesense sync is scoped by `collection_id` behind a settings kill-switch and degrades gracefully without DB/config. -**Plans:** 7 plans +**Plans:** 1/7 plans executed **Research flag:** yes Plans: **Wave 1** -- [ ] 11-01-PLAN.md — conga core: River v0.47.0 on NewWithPgxListener, summer_jobs + River v7 migrations, job manager, conga.Job[T], worker in serve, queue:work/queue:clear, lagoon OnDatabase and Transaction/AfterCommit seams, fonoteka allow-lists (summercms.go, fonoteka.go) +- [x] 11-01-PLAN.md — conga core: River v0.47.0 on NewWithPgxListener, summer_jobs + River v7 migrations, job manager, conga.Job[T], worker in serve, queue:work/queue:clear, lagoon OnDatabase and Transaction/AfterCommit seams, fonoteka allow-lists (summercms.go, fonoteka.go) **Wave 2** *(blocked on Wave 1 completion)* - [ ] 11-02-PLAN.md — Scheduler: pact.HasSchedule, Daily/Every, River periodic jobs, bonfire.Call, schedule:run (+ --once), fonoteka prune-notifications entry @@ -654,7 +654,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → | 8. OAuth2.1 authorization server | 10/10 | Complete | 2026-09-23 | | 9. Backend admin authentication and schema pipeline | 12/12 | In Progress| | | 10. Admin Vue SPA | 5/5 | Complete | 2026-09-27 | -| 11. Jobs, realtime and search infrastructure | 0/TBD | Not started | - | +| 11. Jobs, realtime and search infrastructure | 1/7 | In Progress| | | 11.1. SummerCMS documentation for humans and AI agents | 0/TBD | Not started | - | | 11.2. Ready to share: summercms.io website and newsletter plugin | 0/TBD | Not started | - | | 12. Płytarium API — Collections and Albums | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index b0bd2fe..ab9e4d9 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: 11 current_phase_name: Jobs, realtime and search infrastructure status: executing -stopped_at: Completed 10.1-04-PLAN.md -last_updated: "2026-09-29T12:34:00.518Z" -last_activity: 2026-09-28 -last_activity_desc: Phase 10.1 execution started -state_head: d9b951fe29243cf1855b680e746778336271c6b2 +stopped_at: Completed 11-01-PLAN.md +last_updated: "2026-09-29T13:27:45.169Z" +last_activity: 2026-09-29 +last_activity_desc: Phase 11 execution started +state_head: 144c54bb2c682a95b37f9c1c68ec2ec6b68b8dbe progress: total_phases: 19 completed_phases: 9 total_plans: 85 - completed_plans: 78 + completed_plans: 79 milestone_name: milestone --- @@ -24,14 +24,14 @@ milestone_name: milestone See: .planning/PROJECT.md (updated 2026-09-16) **Core value:** An existing WinterCMS-shaped app can be ported plugin by plugin to a single Go binary without its frontend noticing: the PHP version's API contract is the acceptance test. -**Current focus:** Phase 10.1 — Runtime admin extension point +**Current focus:** Phase 11 — Jobs, realtime and search infrastructure ## Current Position -Phase: 11 (Jobs, realtime and search infrastructure) — READY TO EXECUTE -Plan: 4 of 4 +Phase: 11 (Jobs, realtime and search infrastructure) — EXECUTING +Plan: 2 of 7 Status: Ready to execute -Last activity: 2026-09-28 — Phase 10.1 execution started +Last activity: 2026-09-29 — Phase 11 execution started Progress: [██████░░░░] 60% @@ -133,6 +133,7 @@ Progress: [██████░░░░] 60% | Phase 10.1 P02 | 17 min | 3 tasks | 29 files | | Phase 10.1 P03 | 11min | 3 tasks | 16 files | | Phase 10.1 P04 | 42min | 3 tasks | 32 files | +| Phase 11 P01 | 37 min | 3 tasks | 50 files | ## Accumulated Context @@ -358,6 +359,11 @@ Recent decisions affecting current work: - [Phase 10.1]: 10.1-02: the client partial allowlist drops the server's removed tags with their subtree and unwraps other unknown tags - [Phase 10.1]: 10.1-03: lagoon.Fill converts json.Number into integer, unsigned and float fields; a fraction or overflow into an integer field is an error - [Phase 10.1]: 10.1-03: Discogs lookup and sync admin actions are D-02 stubs reusing golem15.fonoteka.access_albums; Phase 14 replaces them +- [Phase 11]: 11-01: conga job registration closes only while a worker client runs; the insert-only client has no Workers bundle +- [Phase 11]: 11-01: a conga worker's lifetime is Worker.Stop, not the start ctx (River Start on context.WithoutCancel), so SIGTERM stops serve and queue:work gracefully +- [Phase 11]: 11-01: an app with no jobs gets an internal summercms_conga_idle worker because River refuses to start without workers +- [Phase 11]: 11-01: lagoon.OnDatabase treats a published *gorm.DB as ready and derives the pool; fonoteka GORM hooks now register under serve +- [Phase 11]: 11-01: River v7 tables are river_job, river_leader, river_migration, river_notification, river_queue (fonoteka schema allow-list) ### Pending Todos @@ -388,6 +394,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-09-29T01:15:04.213Z -Stopped at: Completed 10.1-04-PLAN.md +Last session: 2026-09-29T13:27:44.754Z +Stopped at: Completed 11-01-PLAN.md Resume file: None