docs(11-01): record plan 11-01 progress and decisions
This commit is contained in:
@@ -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 | - |
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user