docs(11-04): record plan 11-04 progress and decisions

This commit is contained in:
Jakub Zych
2026-09-30 13:54:50 +02:00
parent a0f65cdc09
commit 6562d94ef3
2 changed files with 14 additions and 10 deletions

View File

@@ -505,7 +505,7 @@ 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. 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. 5. Typesense sync is scoped by `collection_id` behind a settings kill-switch and degrades gracefully without DB/config.
**Plans:** 5/7 plans executed **Plans:** 6/7 plans executed
**Research flag:** yes **Research flag:** yes
Plans: Plans:
@@ -522,7 +522,7 @@ Plans:
- [x] 11-06-PLAN.md — tide Centrifugo recorder, PHP broadcast goldens (deleted + bulk proven; created/updated pending Phase 12), realtime routes recorded and replayed - [x] 11-06-PLAN.md — tide Centrifugo recorder, PHP broadcast goldens (deleted + bulk proven; created/updated pending Phase 12), realtime routes recorded and replayed
**Wave 4** *(blocked on Wave 3 completion)* **Wave 4** *(blocked on Wave 3 completion)*
- [ ] 11-04-PLAN.md — Web Push (flare VAPID driver, RFC 8291/8292) and websockets:health, websockets:generate-vapid-keys, websockets:test-push - [x] 11-04-PLAN.md — Web Push (flare VAPID driver, RFC 8291/8292) and websockets:health, websockets:generate-vapid-keys, websockets:test-push
**Wave 5** *(blocked on Wave 4 completion)* **Wave 5** *(blocked on Wave 4 completion)*
- [ ] 11-07-PLAN.md — Unit tests last: full coverage, failing-when-broken T-11 evidence, check-phase11.sh gate, security review and validation map - [ ] 11-07-PLAN.md — Unit tests last: full coverage, failing-when-broken T-11 evidence, check-phase11.sh gate, security review and validation map
@@ -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 | | 8. OAuth2.1 authorization server | 10/10 | Complete | 2026-09-23 |
| 9. Backend admin authentication and schema pipeline | 12/12 | In Progress| | | 9. Backend admin authentication and schema pipeline | 12/12 | In Progress| |
| 10. Admin Vue SPA | 5/5 | Complete | 2026-09-27 | | 10. Admin Vue SPA | 5/5 | Complete | 2026-09-27 |
| 11. Jobs, realtime and search infrastructure | 5/7 | In Progress| | | 11. Jobs, realtime and search infrastructure | 6/7 | In Progress| |
| 11.1. SummerCMS documentation for humans and AI agents | 0/TBD | Not started | - | | 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 | - | | 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 | - | | 12. Płytarium API — Collections and Albums | 0/TBD | Not started | - |

View File

@@ -4,16 +4,16 @@ milestone: v1.0
current_phase: 11 current_phase: 11
current_phase_name: Jobs, realtime and search infrastructure current_phase_name: Jobs, realtime and search infrastructure
status: executing status: executing
stopped_at: Completed 11-06-PLAN.md stopped_at: Completed 11-04-PLAN.md
last_updated: "2026-09-30T11:34:17.854Z" last_updated: "2026-09-30T11:54:39.865Z"
last_activity: 2026-09-29 last_activity: 2026-09-29
last_activity_desc: Phase 11 execution started last_activity_desc: Phase 11 execution started
state_head: 67d1a25e31d3a8c757e767e0a208cad5b6a9dc9c state_head: a0f65cdc09be9ab956103a53c02971d723cdd0d9
progress: progress:
total_phases: 19 total_phases: 19
completed_phases: 9 completed_phases: 9
total_plans: 85 total_plans: 85
completed_plans: 83 completed_plans: 84
milestone_name: milestone milestone_name: milestone
--- ---
@@ -29,7 +29,7 @@ See: .planning/PROJECT.md (updated 2026-09-16)
## Current Position ## Current Position
Phase: 11 (Jobs, realtime and search infrastructure) — EXECUTING Phase: 11 (Jobs, realtime and search infrastructure) — EXECUTING
Plan: 6 of 7 Plan: 7 of 7
Status: Ready to execute Status: Ready to execute
Last activity: 2026-09-29 — Phase 11 execution started Last activity: 2026-09-29 — Phase 11 execution started
@@ -138,6 +138,7 @@ Progress: [██████░░░░] 60%
| Phase 11 P03 | 12h 45m | 3 tasks | 31 files | | Phase 11 P03 | 12h 45m | 3 tasks | 31 files |
| Phase 11 P05 | 24 min | 2 tasks | 14 files | | Phase 11 P05 | 24 min | 2 tasks | 14 files |
| Phase 11 P06 | 23 min | 3 tasks | 39 files | | Phase 11 P06 | 23 min | 3 tasks | 39 files |
| Phase 11 P04 | 17 min | 2 tasks | 19 files |
## Accumulated Context ## Accumulated Context
@@ -376,6 +377,9 @@ Recent decisions affecting current work:
- [Phase 11]: 11-05: code on a GORM callback's handle builds a clean session (Session NewDB+Context, Clauses(), Session NewDB); Session with a Context clones the write statement and a later WithContext queries through the written model - [Phase 11]: 11-05: code on a GORM callback's handle builds a clean session (Session NewDB+Context, Clauses(), Session NewDB); Session with a Context clones the write statement and a later WithContext queries through the written model
- [Phase 11]: 11-05: search index name is search.prefix + SearchableAs(); SearchIDs returns candidates only and Phase 12 must re-gate in SQL - [Phase 11]: 11-05: search index name is search.prefix + SearchableAs(); SearchIDs returns candidates only and Phase 12 must re-gate in SQL
- [Phase 11]: 11-05: sync is inline after commit on context.WithoutCancel, bounded by the Typesense timeout; errors are typesense.StatusError without bodies and are logged, never returned to the write - [Phase 11]: 11-05: sync is inline after commit on context.WithoutCancel, bounded by the Typesense timeout; errors are typesense.StatusError without bodies and are logged, never returned to the write
- [Phase 11]: flare VAPID driver never follows redirects and sends only to https hosts on push.allowed_hosts (checked before dialing)
- [Phase 11]: compass Persist now merges runtime values over the existing overrides.yaml so websockets:generate-vapid-keys --update cannot wipe other persisted overrides
- [Phase 11]: websockets:health probes the Centrifugo info API (PHP only read local config); an error body fails the check
### Pending Todos ### Pending Todos
@@ -406,6 +410,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity ## Session Continuity
Last session: 2026-09-30T11:34:17.439Z Last session: 2026-09-30T11:54:39.388Z
Stopped at: Completed 11-06-PLAN.md Stopped at: Completed 11-04-PLAN.md
Resume file: None Resume file: None