update ohm/0067/SESSION-0067.0-TRANSCRIPT-2026-06-03T20-31--INPROGRESS.md
This commit is contained in:
@@ -10,4 +10,79 @@
|
||||
|
||||
## Launch prompt
|
||||
|
||||
_(launch prompt not captured at claim time)_
|
||||
Session-init → goal proposal selected §22 M3 (next slice after M1+M2). Operator
|
||||
invoked brainstorming to design it.
|
||||
|
||||
## Plan
|
||||
|
||||
**Goal:** Design (this session) the backend half of §22 slice **M3** — multi-project
|
||||
registry mirror + data spine + runtime-config APIs. Roadmap: `ohm-rfc/ROADMAP.md`
|
||||
defers to framework slicing plan in `rfc-app/docs/design/multi-project-spec.md` Part C.
|
||||
|
||||
**Brainstorming decisions:**
|
||||
1. Scope split at the backend/frontend seam — this session = **M3-backend**;
|
||||
routing/branding/directory/switcher = a later **M3-frontend** spec.
|
||||
2. Build the full `initial_state`/`unreviewed` review plumbing now.
|
||||
3. Config hard cut: `REGISTRY_REPO` required, `META_REPO` removed.
|
||||
4. Re-stamp `default` → config slug by rewriting `project_id` everywhere
|
||||
(folded into the 12-table PK rebuild).
|
||||
5. Registry mirror in a self-contained `app/registry.py` (Option A), driven by
|
||||
the existing webhook + `Reconciler.sweep()`.
|
||||
|
||||
**Deliverable:** design spec at
|
||||
`rfc-app/docs/superpowers/specs/2026-06-03-m3-backend-design.md` (committed on
|
||||
branch `m3-backend-registry-spine`, `6f356d3`) → user review → writing-plans →
|
||||
implementation.
|
||||
|
||||
**Planning discoveries (folded into spec):**
|
||||
- Re-stamp must be a Python startup step — pure-SQL migrations can't read
|
||||
`DEFAULT_PROJECT_ID` (same constraint that forced M1's `seed_default_project`).
|
||||
- The 12-table PK rebuild has a wide blast radius (~10 `ON CONFLICT` sites + every
|
||||
RFC/branch writer needs `project_id` threading, FK-bomb post-re-stamp). Operator
|
||||
chose to **split M3-backend into two plans**: **Plan A** (registry mirror + APIs
|
||||
+ initial_state/unreviewed + additive migration 027 — no rebuild/re-stamp/
|
||||
threading) ships first; **Plan B** (PK rebuild + threading + re-stamp) lands
|
||||
before M4 / before public `/p/` URLs.
|
||||
|
||||
**Deliverables (committed, branch `m3-backend-registry-spine`):**
|
||||
- Spec: `docs/superpowers/specs/2026-06-03-m3-backend-design.md` (`6f356d3`, refined)
|
||||
- Plan A: `docs/superpowers/plans/2026-06-03-m3-backend-plan-a.md` (`dd72f91`) —
|
||||
9 TDD tasks, each green-on-commit.
|
||||
|
||||
**State:** Plan A IMPLEMENTED via subagent-driven development (9 tasks, each
|
||||
implementer → spec review → code-quality review, fixes looped until approved).
|
||||
|
||||
## Cut state (Plan A implementation)
|
||||
|
||||
Branch `m3-backend-registry-spine`, off `dd72f91` (spec+plan commits). Full suite
|
||||
**434 passed**. Version bumped 0.32.0 → **0.33.0**. Final whole-implementation
|
||||
review (opus): **Ready to integrate**, no critical/important issues.
|
||||
|
||||
Task commits:
|
||||
- T1 entry review fields — `597f6bc`
|
||||
- T2 migration 027 (additive) — `2d9022b`
|
||||
- T3 cache review mirror — `8f21dc5`
|
||||
- T4 registry.py module — `27a0a04` (+ review fixes `f7bd466`)
|
||||
- T5 hard-cut META_REPO + wire mirror — `cecc6c0` (+ fixes `48fd6f9`)
|
||||
- T6 runtime-config APIs — `c386b05` (+ 404 fix `07e003e`, + tests/guard `e8ce3cd`)
|
||||
- T7 initial_state honoring — `fe47eef` (+ resolver fixup `2fe2a71`)
|
||||
- T8 mark-reviewed + catalog filter — `76207bb` (+ fixes `69fd0cb`, `8004b2a`)
|
||||
- T9 release 0.33.0 — `a2dc29a` (+ changelog fixes `f114af8`)
|
||||
|
||||
## What lands on the operator's plate
|
||||
|
||||
- **Integrate the branch** (finishing-a-development-branch): PR or merge
|
||||
`m3-backend-registry-spine` → `main`. NOT yet pushed/merged as of this note.
|
||||
- **Deploy upgrade** (when shipping): create a registry repo, author
|
||||
`projects.yaml` (id: default, content_repo = old META_REPO), set REGISTRY_REPO,
|
||||
remove META_REPO, add registry webhook — per CHANGELOG 0.33.0 upgrade steps.
|
||||
|
||||
## Plan B follow-ups (deferred by design, tracked for next slice before M4)
|
||||
|
||||
- 12-table PK rebuild (migration 028) + project_id in every ON CONFLICT target.
|
||||
- project_id writer-threading through every RFC/branch writer — concrete known
|
||||
instances surfaced in final review: the **mark-reviewed** and **propose** write
|
||||
sites currently hardcode the default content_repo (safe in Plan A's single
|
||||
project; wrong once project #2 exists).
|
||||
- default→slug re-stamp (rides the rebuild's ON UPDATE CASCADE).
|
||||
- two-project isolation tests; project archival from the registry.
|
||||
|
||||
Reference in New Issue
Block a user