Executed in Session 0014.0 (= legacy "Session N"), 2026-05-28. The session-protocol naming convention switched from alphabetical letters (SESSION-A through SESSION-M, plus SESSION-M.1/M.2/M.3 subsessions) to zero-padded 4-digit session numbers with a subagent ordinal suffix (SESSION-0001.0 through SESSION-0013.0, plus SESSION-0013.1/.2/.3). Rationale: alphabetical ordering breaks down after Z (does AA sort before B in a filesystem? a glob?), and the convention doesn't generalize to deeper structure. The numeric form addresses both, and the explicit `.0` for the main driver transcript makes the parent-vs- subagent distinction visible at first glance. Mapping (all 16 transcripts): A → 0001.0 B → 0002.0 C → 0003.0 D → 0004.0 E → 0005.0 F → 0006.0 G → 0007.0 H → 0008.0 I → 0009.0 J → 0010.0 K → 0011.0 L → 0012.0 M → 0013.0 M.1 → 0013.1 M.2 → 0013.2 M.3 → 0013.3 This commit uses `git mv` for each rename so Gitea's rename detection records each as a file-was-renamed event rather than file-was-deleted- and-recreated. The transcript bodies are NOT rewritten — they still read "Session I" / "Session M.1" / etc. internally; the body's session reference and the filename's numeric form are both authoritative. Readers map back via the table above. External references to the old paths (e.g. wiggleverse/ohm-session-history/SESSION-I-TRANSCRIPT-…md) will 404 after this rename. The audit trail is in this git log; readers who care can trace. No redirect tombstones were added. The publish-transcript.sh validator was extended to accept both the numeric form (binding from 0014.0 onward) AND the legacy letter form (so renamed-old-files remain re-publishable if their content is later corrected). See ohm-infra/scripts/publish-transcript.sh and ohm-infra/SESSION-PROTOCOL.md §1 (binding spec) for the new convention. Session 0014.0 is the first session to ship under the new naming end-to-end. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ohm-session-history
Full Claude Code session transcripts from the build of the
Open Human Model — including the
infrastructure work that preceded it (Session A: the git.benstull.org
personal-Gitea buildout) and every OHM session since.
What this is
OHM is built in the open in the literal sense. Every build session has a full transcript that captures decisions, friction, dead ends, and the reasoning behind each settlement — the cleaned-up post-hoc version is not what you find here.
These transcripts are the artifact, not a polished retelling. They include the gestures that worked and the ones that did not, the mistakes and their recoveries, the §19.2 candidates surfaced and deferred, and the running thread of "what did the operator and the agent actually do with each other this turn." If you came here looking for documentation, you will be disappointed; this is closer to a flight recorder.
What's in the repo
Filenames carry the session's PST start and end times as ISO datetimes
with colons replaced by dashes for filesystem compatibility:
SESSION-<letter>-TRANSCRIPT-<start>--<end>.md where each datetime is
YYYY-MM-DDTHH-MM. PST is implied.
| Session | Window (PST) | Topic |
|---|---|---|
| A | 2026-05-25 15:00 → 17:01 | Stood up git.benstull.org — personal Gitea on GCP, end-to-end. Predates OHM. Included for continuity; the OHM-specific work begins with Session B. |
| B | 2026-05-25 19:30 → 21:30 | First OHM deployment — rfc-app brought up against the Wiggleverse content repo. |
| C | 2026-05-27 06:00 → 09:44 | rfc-app 0.3.0 release + first OHM upgrade. |
| D | 2026-05-27 15:30 → 16:47 | (See file for topic header.) |
| E | 2026-05-27 17:00 → 18:40 | (See file for topic header.) |
| F | 2026-05-27 19:00 → 19:21 | (See file for topic header.) |
| G | 2026-05-27 19:30 → 19:45 | (See file for topic header.) |
| H | 2026-05-27 20:00 → 22:40 | Shipped ohm-rfc-app-flotilla v1.0.0 — the operator CLI for OHM deploys. |
| I | 2026-05-27 23:30 → 2026-05-28 03:15 | Three waves shipped via parallel forked subagents: rfc-app v0.4.0 → v0.13.0 (skipping vacant slots). First autonomous-driver session. |
How transcripts get added
The pattern at the end of each session is: the driver writes
SESSION-<letter>-TRANSCRIPT-<start>--<end>.md to ~/git/ohm-infra/
locally, the operator reviews, then a one-line script publishes to
this repo:
~/git/ohm-infra/scripts/publish-transcript.sh \
SESSION-J-TRANSCRIPT-2026-05-28T04-00--2026-05-28T06-30.md
The script is idempotent: re-running on an already-published transcript
no-ops; re-running on an updated transcript pushes the diff with a
commit message of the form update SESSION-J-TRANSCRIPT-…md.
What this repo is not
- Not a place to discuss OHM. Discussion lives on ohm.wiggleverse.org itself, per its PR-less per-RFC discussion surface (added in rfc-app v0.5.0). Issues on this repo will likely go unanswered; the work is the corpus.
- Not the canonical spec. That lives in
rfc-app/SPEC.mdandohm-rfc-app-flotilla/SPEC.mdon the respective repos underwiggleverse/. Transcripts reference spec sections; the spec is authoritative when the two disagree. - Not a curated retelling. No redaction has been applied beyond
the audit pass documented in
ohm-infra/TRANSCRIPT-PUBLISHING-PLAN.md(kept private). If a transcript contains a wrong turn, the wrong turn stays in. If it contains an operator quirk or a self-correction, those stay too.
Related repos
wiggleverse/ohm-rfc— the OHM content repo (RFCs, deployment pin, roadmap).ben.stull/rfc-app— the framework code OHM runs.wiggleverse/ohm-rfc-app-flotilla— the operator CLI for OHM deploys.
License
CC BY 4.0. Copy, modify, redistribute freely; credit the author. Same license as the OHM content repo.