add ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-46.md + replace placeholder/variant SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-31.md

This commit is contained in:
2026-06-04 06:48:15 -07:00
parent 8adf846e00
commit 36e1c0a833
@@ -2,7 +2,7 @@
> App: ohm
> Start: 2026-06-04T05-24 (PST)
> End: 2026-06-04T06-31 (PST)
> End: 2026-06-04T06-46 (PST)
> Type: coding
> Mode: autonomous (yolo, default)
@@ -93,13 +93,17 @@ now-unblocked frontier).
## Cut state
- **rfc-app `main` = v0.36.0** (origin + benstull), tags v0.35.0 + v0.36.0
pushed. **Two releases shipped this session:**
- v0.35.0 — M3-frontend (routing/branding/directory/308s). PR #12. 438
backend + 11 Vitest, clean build.
- v0.36.0 — M3-backend Plan B (1/2): slug-keyed PK rebuilds (migration 028)
+ runner FK-off capability + ON CONFLICT updates. PR #14. 442 backend
(incl. 4 new migration tests). No behavior change.
- **rfc-app `main` = v0.37.0** (origin + benstull), tags v0.35.0 + v0.36.0 +
v0.37.0 pushed. **Three releases shipped this session:**
- v0.35.0 — M3-frontend (routing/branding/directory/308s). PR #12.
- v0.36.0 — M3-backend Plan B (1/2): slug-keyed PK rebuilds (migration 028) +
runner FK-off capability + ON CONFLICT updates. PR #14. No behavior change.
- v0.37.0 — M3-backend Plan B (2/2, read): **per-project RFC serving**
scoped `/api/projects/{pid}/rfcs[/{slug}]` endpoints, the cache mirror loops
over every project's content_repo, frontend reads scoped, the guard removed.
PR #15. **A 2nd project's corpus renders under `/p/<id>/`, isolated.** 445
backend + 11 Vitest green. **Step (1) "supports multiple projects" achieved
for the read path.**
- **rfc-app M3-backend Plan B design** merged (PR #13), §2 marked shipped.
- **ohm-rfc `main`**: ROADMAP Phase G + CLAUDE.md stub pushed. Pin **unchanged
at 0.31.5** (OHM not deployed on the multi-project stack — see below).
@@ -127,10 +131,25 @@ now-unblocked frontier).
Covered this slice by Vitest (11) + backend redirect tests. Plan B's design
names the Tier-1 registry seed as its first task (unblocks both e2e gaps).
## Update — v0.37.0 (Plan B 2/2 read) shipped
After v0.36.0, continued (Stop hook + operator "keep going") and shipped
**rfc-app v0.37.0 — per-project RFC serving (read path)**: scoped
`/api/projects/{pid}/rfcs[/{slug}]` endpoints behind the §22.5 gate; the cache
mirror (`refresh_meta_repo`) now loops over every project's `content_repo`
stamping `project_id` (`_upsert_cached_rfc` gained the arg); frontend reads
scoped (`listRFCs(pid)`/`getRFC(pid,slug)`, Catalog+RFCView); the M3-frontend
`NotServedPlaceholder` guard removed. New `test_project_scoped_serving.py`
proves catalog scoping + entry isolation + gated 404. PR #15 merged, tagged,
mirrored. **A second project's corpus now renders under `/p/<id>/` — step (1)
is functionally achieved for reading.** Write path (propose/PR/graduate) +
default-id re-stamp remain (non-default project is read-only; no live impact —
no 2nd project in prod). ohm-rfc ROADMAP Phase G + memory updated.
## Next-session prompt
```
/executing-plans Execute M3-backend Plan B (2/2) per rfc-app/docs/superpowers/specs/2026-06-04-m3-backend-planb-design.md §1 + §3–§5 (§2 PK rebuilds already shipped v0.36.0). Make a 2nd project's corpus actually serve+render. First task: seed a Tier-1 registry repo + projects.yaml and set REGISTRY_REPO in testing/.env.tier1 (unblocks M3-frontend + Plan B Playwright e2e). Then: default-project-id re-stamp (§22.13 step 1, via the reconciler) + per-project RFC serving (path-scoped /api/projects/{pid}/rfcs… endpoints, per-project cache/bot/webhook dispatch over each content_repo, scoped frontend api calls, REMOVE the M3-frontend NotServedPlaceholder guard). Ship rfc-app v0.37.0. Read memory multi-project-program.md + ohm-rfc ROADMAP Phase G first. Do NOT do the OHM live cutover without operator go-ahead.
/executing-plans Execute the §22 Plan B write-path + re-stamp slice (target rfc-app v0.38.0). Read path (per-project serving) shipped v0.37.0; PK rebuilds v0.36.0. Now: (1) scope the WRITE path by project — propose/branch/PR/graduation endpoints under /api/projects/{pid}/… and per-project cache/bot/webhook dispatch over each content_repo (today they still target the default, so a non-default project is read-only); (2) the default-project-id re-stamp (default → config slug, §22.13 step 1, via the reconciler); (3) seed a Tier-1 registry repo + projects.yaml + set REGISTRY_REPO in testing/.env.tier1 to unblock the deferred Playwright e2e. Then M4 (acceptance) + M5 (the bdd surface — ecomm-enabling). Read memory multi-project-program.md + ohm-rfc ROADMAP Phase G first. Do NOT do the OHM live cutover without operator go-ahead.
```
## Operator plate (needs you)