diff --git a/ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-31.md b/ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-46.md similarity index 74% rename from ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-31.md rename to ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-46.md index e55fb01..2eeb5ec 100644 --- a/ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-31.md +++ b/ohm/0071/SESSION-0071.0-TRANSCRIPT-2026-06-04T05-24--2026-06-04T06-46.md @@ -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//`, 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//` — 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)