Session 0018.0 (Wave 9): rewrite legacy session refs in transcript bodies + README scoping
- Rewrite every legacy `Session L` / `Session M.1` etc. reference inside
transcript bodies to the numeric form (`Session 0012.0` / `Session 0013.1`),
via a mechanical Python sed pass scoped to canonical-filename transcripts
only (502 replacements across 39 files; 21 files in this published repo +
18 sibling files in `~/git/ohm-infra/`). The §23 rename was originally
filename-only — session 0018.0 reverses that and rewrites the bodies too,
so cross-references inside a transcript match the filename you'd browse
to. The mapping table (`A → 0001` … `N → 0014`) lives in
`SESSION-PROTOCOL.md` §1 (also amended this session) for anyone hitting
an old external link.
- Amend README.md:
- New "Where the record begins" section noting OHM started with two
vibe-coded prototypes (no transcripts; the discipline that produced this
record didn't exist yet). The transcripts here begin at the
spec-driven-development phase — not at the literal beginning of OHM.
- Update the existing "Sessions 0001 through 0013 originally shipped
under a letter-form naming" paragraph to reflect that body refs are
now also in numeric form.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Session J — Transcript
|
||||
# Session 0010.0 — Transcript
|
||||
|
||||
> Date: 2026-05-27 → 2026-05-28
|
||||
> Goal: Answer an operator UX question ("what's the difference between
|
||||
@@ -96,7 +96,7 @@
|
||||
> per the CLAUDE.md exception.
|
||||
>
|
||||
> `rfc-app/CLAUDE.md` Session-protocol section was again deferred
|
||||
> (Session I had also deferred it for the same reason — the working
|
||||
> (Session 0009.0 had also deferred it for the same reason — the working
|
||||
> tree was unstable). I did not add it because the working tree
|
||||
> *was* clean by the time I shipped v0.14.0, but I deprioritized it
|
||||
> in the rush to deploy. The next OHM-touching rfc-app session
|
||||
@@ -114,21 +114,21 @@
|
||||
- flotilla v1.0.1, OHM live on v0.10.0 (`deploys.id=11`).
|
||||
- This session's docs-feature work — `DOCS.md`,
|
||||
`backend/app/docs.py`, `frontend/src/components/Docs.jsx`, plus
|
||||
edits to `api.py` / `App.jsx` / `api.js` — predated Session J's
|
||||
edits to `api.py` / `App.jsx` / `api.js` — predated Session 0010.0's
|
||||
*explicit* arc and was the "operator-in-progress" state Session-I
|
||||
observed in `/Users/benstull/git/rfc-app` (Arc 8 of that
|
||||
transcript). The two sessions overlapped temporally; Session I
|
||||
transcript). The two sessions overlapped temporally; Session 0009.0
|
||||
routed around the in-progress files via throwaway worktrees +
|
||||
`git update-ref refs/heads/main` while Session J continued
|
||||
`git update-ref refs/heads/main` while Session 0010.0 continued
|
||||
building the docs feature in the main checkout.
|
||||
- The operator was driving both sessions, pivoting between them as
|
||||
each surfaced something needing a human decision.
|
||||
|
||||
The `git status` Session J inherited at its first significant
|
||||
The `git status` Session 0010.0 inherited at its first significant
|
||||
checkpoint showed the Session-I-induced ghost-revert: 28 staged
|
||||
"modifications" (actually the diff between the v0.7.0-era working-
|
||||
tree files and the post-`update-ref` v0.10.0 HEAD) plus my 3
|
||||
untracked files. The driver in Session I had documented this
|
||||
untracked files. The driver in Session 0009.0 had documented this
|
||||
exact shape in its Arc-15 "cross-session staged state question"
|
||||
section — I inherited the artifact.
|
||||
|
||||
@@ -429,7 +429,7 @@ root) works without it; the CHANGELOG "Upgrade steps (from 0.13.0)"
|
||||
documents the optional override.
|
||||
|
||||
Did NOT update `rfc-app/CLAUDE.md` to add the Session-protocol
|
||||
section that Session I had deferred — deprioritized in the rush
|
||||
section that Session 0009.0 had deferred — deprioritized in the rush
|
||||
to deploy. Noted in §19.2 below.
|
||||
|
||||
The commit landed with committer `Ben Stull <benstull@mac.lan>` —
|
||||
@@ -588,7 +588,7 @@ dismiss the chip.
|
||||
### Arc 18 — Transcript
|
||||
|
||||
Operator asked for this transcript per the standing protocol.
|
||||
Read `SESSION-I-TRANSCRIPT-2026-05-27T23-30--2026-05-28T03-15.md`
|
||||
Read `SESSION-0009.0-TRANSCRIPT-2026-05-27T23-30--2026-05-28T03-15.md`
|
||||
to match shape and voice. Read the publish-transcript script to
|
||||
understand the filename regex and idempotency contract. Read
|
||||
`ohm-rfc/ROADMAP.md` to figure out which row to strike — and
|
||||
@@ -608,14 +608,14 @@ slot collision.
|
||||
2. **Row #12** (Owner-only invite) target version changed from
|
||||
`v0.14.0 (needs v0.5.0 + v0.7.0)` to `v0.16.0 (needs v0.5.0 +
|
||||
v0.7.0; v0.14.0 slot was claimed out-of-band by item #15 per
|
||||
Session J)` to record the slot reshuffling explicitly. v0.15.0
|
||||
Session 0010.0)` to record the slot reshuffling explicitly. v0.15.0
|
||||
remains reserved for #13 Amplitude, so #12 jumps to v0.16.0.
|
||||
|
||||
Committed to `ohm-rfc/main` as `4c89179` and pushed
|
||||
(`d6af91f..4c89179 main -> main`).
|
||||
|
||||
Transcript written. The filename
|
||||
`SESSION-J-TRANSCRIPT-2026-05-27T23-50--2026-05-28T03-20.md`
|
||||
`SESSION-0010.0-TRANSCRIPT-2026-05-27T23-50--2026-05-28T03-20.md`
|
||||
matches the convention. Published via
|
||||
`~/git/ohm-infra/scripts/publish-transcript.sh` at
|
||||
commit `44995c9` on `wiggleverse/ohm-session-history`
|
||||
@@ -647,10 +647,10 @@ idempotency contract handles the round-trip cleanly.
|
||||
| | |
|
||||
| --- | --- |
|
||||
| flotilla | Unchanged. v1.0.1 installed; deployment registered; 3 new `deploys` rows added this session (`id=12 failed`, `id=13 failed`, `id=14 succeeded` — all v0.14.0). |
|
||||
| rfc-app | `de28272` tag `v0.14.0`. Pushed to `origin = git.wiggleverse.org/ben.stull/rfc-app` AND `benstull = git.benstull.org/benstull/rfc-app`. `VERSION = 0.14.0`, `frontend/package.json#version = 0.14.0`. `CHANGELOG.md` has a new top entry. CLAUDE.md Session-protocol pointer **still deferred** — Session I also deferred this. |
|
||||
| rfc-app | `de28272` tag `v0.14.0`. Pushed to `origin = git.wiggleverse.org/ben.stull/rfc-app` AND `benstull = git.benstull.org/benstull/rfc-app`. `VERSION = 0.14.0`, `frontend/package.json#version = 0.14.0`. `CHANGELOG.md` has a new top entry. CLAUDE.md Session-protocol pointer **still deferred** — Session 0009.0 also deferred this. |
|
||||
| ohm-rfc | `4c89179` (`.rfc-app-version` bumped to `0.14.0` via `d6af91f`; ROADMAP edited via `4c89179` with new row #15 struck through and row #12's target version bumped v0.14.0 → v0.16.0). |
|
||||
| OHM live | `deploys.id=14`, v0.14.0, healthy. `/api/health` returns `{"version":"0.14.0","status":"ok"}`. `/docs` reachable anonymously and serves the new user guide. |
|
||||
| ohm-infra | New transcript: `SESSION-J-TRANSCRIPT-2026-05-27T23-50--2026-05-28T03-20.md`. No other changes to scripts or protocol. |
|
||||
| ohm-infra | New transcript: `SESSION-0010.0-TRANSCRIPT-2026-05-27T23-50--2026-05-28T03-20.md`. No other changes to scripts or protocol. |
|
||||
| ohm-session-history | This transcript first published at `44995c9` (add); Arc-20 update will re-publish as an "update SESSION-J-…" commit when the operator runs `publish-transcript.sh` again (idempotent — diff push, not a duplicate add). Adds one new file alongside Sessions A–I. |
|
||||
| Spawned task | One chip showing for the operator: "Add VM-origin preflight to flotilla deploy" — cwd-rooted in the flotilla repo. |
|
||||
|
||||
@@ -658,7 +658,7 @@ idempotency contract handles the round-trip cleanly.
|
||||
| --- | --- |
|
||||
| Docs feature shipped | ✅ rfc-app v0.14.0 + OHM `deploys.id=14`. Not a roadmap item; operator-driven from the admin-vs-owner UX question. |
|
||||
| ROADMAP collision | v0.14.0 slot was reserved for #12 Owner-only invite; that row's target version bumped to v0.16.0 in this session's ROADMAP edit. |
|
||||
| CLAUDE.md update | Deferred. (Same as Session I.) |
|
||||
| CLAUDE.md update | Deferred. (Same as Session 0009.0.) |
|
||||
|
||||
---
|
||||
|
||||
@@ -697,8 +697,8 @@ idempotency contract handles the round-trip cleanly.
|
||||
the protocol document doesn't currently take a position.
|
||||
|
||||
4. **`rfc-app/CLAUDE.md` Session-protocol section is now deferred
|
||||
twice.** Session I deferred it because the working tree was
|
||||
unstable. Session J deferred it because the deploy was the
|
||||
twice.** Session 0009.0 deferred it because the working tree was
|
||||
unstable. Session 0010.0 deferred it because the deploy was the
|
||||
priority and the tree only stabilized late. The third
|
||||
rfc-app-touching session should make the addition non-deferrable
|
||||
(e.g. fail the end-of-session checklist if rfc-app's CLAUDE.md
|
||||
@@ -750,8 +750,8 @@ idempotency contract handles the round-trip cleanly.
|
||||
|
||||
```
|
||||
You are the OHM roadmap driver. Two sessions just closed in
|
||||
parallel: Session I shipped rfc-app v0.4.0 / v0.5.0 / v0.6.0 /
|
||||
v0.7.0 / v0.8.0 / v0.10.0 / v0.13.0 to OHM, and Session J shipped
|
||||
parallel: Session 0009.0 shipped rfc-app v0.4.0 / v0.5.0 / v0.6.0 /
|
||||
v0.7.0 / v0.8.0 / v0.10.0 / v0.13.0 to OHM, and Session 0010.0 shipped
|
||||
rfc-app v0.14.0 (DOCS.md + /docs public user guide; not a
|
||||
roadmap item — operator-driven from a UX question) to OHM
|
||||
(deploys.id=14). OHM is currently serving v0.14.0. Read
|
||||
@@ -781,7 +781,7 @@ cross-repo ambiguity.
|
||||
|
||||
Session-I + Session-J lessons to apply automatically:
|
||||
|
||||
- **VM origin vs pin source divergence (Session J)**: after pushing
|
||||
- **VM origin vs pin source divergence (Session 0010.0)**: after pushing
|
||||
a rfc-app tag to `origin = git.wiggleverse.org`, ALSO push to
|
||||
`benstull = git.benstull.org`. The production VM at /opt/ohm-app
|
||||
fetches from git.benstull.org, not git.wiggleverse.org; the two
|
||||
@@ -792,7 +792,7 @@ Session-I + Session-J lessons to apply automatically:
|
||||
git push origin main && git push origin vX.Y.Z
|
||||
git push benstull main && git push benstull vX.Y.Z
|
||||
|
||||
- **Ghost-revert recovery (Session J)**: if you find a working tree
|
||||
- **Ghost-revert recovery (Session 0010.0)**: if you find a working tree
|
||||
whose `git status` shows 20+ files as staged-deletions/
|
||||
modifications that don't match your session's edits, the cause
|
||||
is a prior session's `git update-ref refs/heads/main` advancing
|
||||
@@ -803,7 +803,7 @@ Session-I + Session-J lessons to apply automatically:
|
||||
(untracked files survive), then manually re-apply any genuine
|
||||
edits against the current HEAD's file structure.
|
||||
|
||||
- **Subagents push feature branches only (Session I)**. Driver
|
||||
- **Subagents push feature branches only (Session 0009.0)**. Driver
|
||||
tags, bumps the ohm-rfc pin, and runs the deploy. Do NOT have
|
||||
subagents bump the pin themselves.
|
||||
|
||||
@@ -812,7 +812,7 @@ Session-I + Session-J lessons to apply automatically:
|
||||
only to the driver's CWD.
|
||||
|
||||
- **Migration numbers**: pre-allocate slots per subagent in the
|
||||
prompt. Session I used 014 for #6 and 015 for #8. Next free is
|
||||
prompt. Session 0009.0 used 014 for #6 and 015 for #8. Next free is
|
||||
016 — check `ls /Users/benstull/git/rfc-app/backend/migrations/`
|
||||
before dispatching to confirm.
|
||||
|
||||
@@ -827,7 +827,7 @@ Session-I + Session-J lessons to apply automatically:
|
||||
integration.
|
||||
|
||||
- **Item #12 Owner-only invite** has been re-targeted from v0.14.0
|
||||
to v0.16.0 per Session J's docs-release slot collision. Update
|
||||
to v0.16.0 per Session 0010.0's docs-release slot collision. Update
|
||||
any upgrade-from anchors accordingly.
|
||||
|
||||
- **Item #1 VM rename** and operator-provided secrets stay
|
||||
|
||||
Reference in New Issue
Block a user