add 0037/SESSION-0037.0-TRANSCRIPT-2026-05-28T23-20--2026-05-29T02-27.md + replace placeholder/variant SESSION-0037.0-TRANSCRIPT-2026-05-28T23-20--2026-05-29T00-12.md
This commit is contained in:
@@ -1,238 +0,0 @@
|
||||
# Session 0037.0 — Transcript
|
||||
|
||||
> Date: 2026-05-28 → 2026-05-29 (spanned midnight, PST implied)
|
||||
> Goal: Operator-driven philosophy session — pressure-test the OHM
|
||||
> thesis, then capture the architecture it produced as deployment
|
||||
> content. No rfc-app release.
|
||||
>
|
||||
> Outcome: **Two `ohm-rfc` content docs shipped + deployed to OHM.**
|
||||
> `PHILOSOPHY.md` reframed off the model-training story onto
|
||||
> "software is built operationalizing OHM concepts"; new
|
||||
> `OPERATIONAL-MODEL.md` captures the concept→mechanic operational
|
||||
> layer + its governance. Live at https://ohm.wiggleverse.org/api/philosophy.
|
||||
> No version bump (content, not framework).
|
||||
>
|
||||
> Notes:
|
||||
> - This session did **not** run the start-gesture claim; ID 0037 was
|
||||
> claimed at session end (the §83/§7 fallback). Start time is
|
||||
> **approximate** (best estimate from the conversation + the content
|
||||
> commit at 2026-05-29T00-05).
|
||||
> - A **parallel session (0036.0)** pushed a ROADMAP-reconcile commit
|
||||
> onto `ben.stull/ohm-rfc` main on top of this session's content
|
||||
> commit; the fast-forward was clean (no conflict).
|
||||
|
||||
---
|
||||
|
||||
## Pre-session state
|
||||
|
||||
- **OHM live**: rfc-app v0.29.0, deploys.id=40, healthy
|
||||
(`/api/health` → `{"version":"0.29.0","status":"ok"}`).
|
||||
- **ohm-rfc pin** (`.rfc-app-version`): 0.29.0.
|
||||
- **ohm-rfc HEAD** at session open: `02d22fe` (ROADMAP #18 flotilla
|
||||
v1.3.0 webhook verb, Session 0035.0). Working tree clean.
|
||||
- **Live `/api/philosophy`**: served the original `PHILOSOPHY.md`
|
||||
("Large language models work brilliantly with programming
|
||||
languages…") — the model-training-framed version.
|
||||
- The operator opened with a roadmap question, which became an
|
||||
extended design conversation about what OHM is *for*.
|
||||
|
||||
---
|
||||
|
||||
## Turn-by-turn arc
|
||||
|
||||
### Arc 1 — Roadmap status read
|
||||
|
||||
Operator asked "what's left in the roadmap." Read `ohm-rfc/ROADMAP.md`
|
||||
(2245 lines) end-to-end + the version-targets table. Reported: the
|
||||
Phase A–E feature arc (#1–#16) is shipped; what remains is a tail —
|
||||
#22 (pro-consent copy, waiting on operator-drafted + counsel-reviewed
|
||||
text), #21 Part A (Amplitude audit, waiting on real-world data),
|
||||
#18/#20 ops follow-throughs (bounce wiring, DMARC ramp), the
|
||||
naming-alignment arc (#33, plus #34 to formally close), and two
|
||||
screenshot-gated polish slices (#31b, #25-followup). Flagged that the
|
||||
#27/v0.24.0 row read stale against the 0.29.0 pin (it has since been
|
||||
reconciled — see Arc 5's note on the parallel 0036.0 commit).
|
||||
|
||||
### Arc 2 — "Is OHM a good idea?" → the thesis
|
||||
|
||||
Operator asked for a genuine opinion, then supplied the thesis: an
|
||||
**ethical social and content platform** ("wiggling through the
|
||||
world") where interaction and machine-use serve the humans involved,
|
||||
and where **defining the concepts** (informed consent, etc.) drives
|
||||
the engagement model. Pressure-tested it: the real insight is that
|
||||
existing platforms run on *implicit* definitions ("engagement =
|
||||
clicks") and that's the source of harm; making the definitions
|
||||
explicit and prior to the mechanics is the principled move. Pushed on
|
||||
three risks: (1) the gap between a definition and a mechanic is where
|
||||
the difficulty/harm lives; (2) left-brain/right-brain is a
|
||||
credibility liability if treated as load-bearing; (3) governance —
|
||||
who defines, and the self-selection of RFC-writers.
|
||||
|
||||
### Arc 3 — Operational RFCs (the architecture crystallizes)
|
||||
|
||||
Operator: "we also need RFCs for the operational model, not just
|
||||
concepts." This closed the gap from Arc 2. Settled the shape:
|
||||
**two RFC kinds** — concept RFCs (declarative contract) and
|
||||
operational RFCs (mechanic, must cite the concept it serves, carries
|
||||
a validation/sunset clause). Traceability makes "is this ethical?"
|
||||
checkable. Then operator: "these are specs for mechanics, but people
|
||||
collaborate on them — not 'XYZ PM owns the spec.'" Settled the
|
||||
governance edge: collaboration ≠ unowned; the real artifact is the
|
||||
**ratification procedure**; the concept layer is the spine that keeps
|
||||
disputes from being bikeshedding; keep accountability locatable
|
||||
(distributed authorship + recorded ratification). Open question left
|
||||
deliberately: the tie-break when two co-authors both argue their
|
||||
mechanic serves the concept.
|
||||
|
||||
### Arc 4 — Capturing it as docs
|
||||
|
||||
Operator asked whether to add this beside the philosophy doc or weave
|
||||
it in. Recommended **separate doc + one-line bridge** (different
|
||||
altitude, different maturity, introduces a second RFC kind). Wrote
|
||||
`ohm-rfc/OPERATIONAL-MODEL.md` and added a forward-pointer inside
|
||||
`PHILOSOPHY.md`'s "How the framework operationalizes this" section.
|
||||
Operator then made two corrections that reshaped `PHILOSOPHY.md`
|
||||
itself:
|
||||
1. "It's not just models trained on OHM — software is *built using*
|
||||
OHM concepts." Added a "Two ways a system can consume OHM"
|
||||
section to `OPERATIONAL-MODEL.md` naming software-construction as
|
||||
load-bearing, model-grounding as the bonus.
|
||||
2. "We shouldn't talk about model training here at all." Confirmed
|
||||
scope via question → "drop training, keep co-authoring." Rewrote
|
||||
`PHILOSOPHY.md`: opening, three-panel diagram, "asymmetry",
|
||||
"code's dictionary", and the humility note recast from
|
||||
"models trained on OHM → wiser output" to "software built on
|
||||
undefined human concepts → harm; define them so software is built
|
||||
right." **Kept verbatim**: the human+machine co-authoring
|
||||
mechanism, the POSIX/IETF/HTTP standards analogy, the three-part
|
||||
definition (meaning/relationships/protocol), the close.
|
||||
|
||||
### Arc 5 — Commit + deploy
|
||||
|
||||
Committed both docs to `ohm-rfc` main (`9a4277c`), pushed to `origin`
|
||||
(`ben/ohm-rfc`, a Gitea redirect to `ben.stull/ohm-rfc` — same repo;
|
||||
the username was renamed). Then traced the **actual content-deploy
|
||||
path**, which is non-obvious:
|
||||
|
||||
- `PHILOSOPHY.md` is deployment-side rich content read from a **VM
|
||||
file** (`PHILOSOPHY_PATH=/opt/ohm-rfc-app/meta-content/PHILOSOPHY.md`),
|
||||
**not** baked by `flotilla deploy` (nothing in flotilla syncs
|
||||
`meta-content/`; deploy only pulls rfc-app code at the pin).
|
||||
- The VM's `meta-content` is a clone of `ben.stull/ohm-rfc`, but it
|
||||
was **frozen at an ancient commit** (`eae9dc5`, pin 0.2.1 era) —
|
||||
never pulled since early bootstrap. Working tree clean on `main`.
|
||||
- `git pull --ff-only` on the VM clone (as `ohm-rfc-app`, via IAP SSH)
|
||||
fast-forwarded it. It landed on `6cf7e41` — **a parallel session
|
||||
0036.0 had pushed a ROADMAP reconcile on top of `9a4277c`**; clean
|
||||
FF, my content included underneath.
|
||||
- The backend caches `PHILOSOPHY.md` in-process (`philosophy.load()`
|
||||
fills a module `_cache`; `refresh()` exists but **nothing calls
|
||||
it** — the "periodic re-read" in the docstring is not wired). So a
|
||||
pull alone didn't update the live API. **Restarted
|
||||
`ohm-rfc-app.service`** (targeted, not a full `flotilla deploy`,
|
||||
since deploy wouldn't touch `meta-content`).
|
||||
- Verified: `/api/health` → 0.29.0 ok; `/api/philosophy` now serves
|
||||
the rewritten philosophy ("Software that touches programming
|
||||
concepts works…").
|
||||
|
||||
---
|
||||
|
||||
## Cut state (end of session)
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| ohm-rfc | `9a4277c` (this session's content) — now under remote tip `6cf7e41` (0036.0's ROADMAP reconcile FF'd on top). Pushed to `origin`/`ben.stull`. |
|
||||
| ohm-rfc local checkout | behind remote by 0036.0's commit (not pulled locally — parallel session active; see plate). |
|
||||
| OHM live | deploys.id=40, v0.29.0, healthy. `meta-content` clone advanced `eae9dc5`→`6cf7e41`; `ohm-rfc-app.service` restarted. |
|
||||
| ohm-rfc pin | 0.29.0 (unchanged — content-only session). |
|
||||
| /api/philosophy | ✅ serving the rewritten `PHILOSOPHY.md`. |
|
||||
|
||||
| Item | Status |
|
||||
| --- | --- |
|
||||
| `PHILOSOPHY.md` reframe (de-model-training) | ✅ shipped + deployed (no version) |
|
||||
| `OPERATIONAL-MODEL.md` new doc | ✅ shipped to repo + VM; ⚠️ not surfaced on-site (no route serves it; the `./OPERATIONAL-MODEL.md` link in the rendered philosophy will 404) |
|
||||
|
||||
---
|
||||
|
||||
## §19.2 candidates surfaced
|
||||
|
||||
1. **`meta-content` is not synced by any gesture.** The VM's
|
||||
`/opt/ohm-rfc-app/meta-content` clone had drifted ~27 minor
|
||||
versions behind `ben.stull/ohm-rfc` and was only updated tonight by
|
||||
a hand `git pull`. There is no flotilla verb, deploy phase, or hook
|
||||
that refreshes deployment rich content. Candidate: a
|
||||
`flotilla content sync <deployment>` verb (pull meta-content +
|
||||
restart, or hit a refresh endpoint), so `PHILOSOPHY.md`/`DOCS.md`
|
||||
edits don't require a manual IAP-SSH `git pull` + `systemctl
|
||||
restart`.
|
||||
2. **`philosophy.refresh()` / `docs.refresh()` are dead code.** The
|
||||
in-process cache is only cleared by process restart; the documented
|
||||
"reconciler sweep calls `force=True`" has no caller. Either wire a
|
||||
periodic refresh (so content edits go live on a cadence without a
|
||||
restart) or delete the dead `refresh()` + fix the docstring. A
|
||||
`POST /api/philosophy/refresh` (owner-gated) would let #1's verb
|
||||
avoid a full service restart.
|
||||
3. **`OPERATIONAL-MODEL.md` has no on-site home.** Only
|
||||
`PHILOSOPHY.md` (and `DOCS.md`) have read routes. The new sibling
|
||||
doc's intra-philosophy link 404s in the rendered page. Candidate:
|
||||
a generic meta-content doc route, or fold the operational-model
|
||||
content into the `/docs` surface, or add it to the SPEC-style doc
|
||||
browser shipped in #30.
|
||||
4. **Repo-identity drift bit again (relates to #33).** `ben/ohm-rfc`
|
||||
vs `ben.stull/ohm-rfc` (redirect, OK) and the overlay's
|
||||
`META_REPO=ohm-meta` (a *third* repo, `wiggleverse/ohm-meta`, whose
|
||||
`PHILOSOPHY.md` differs and is unused because the `PHILOSOPHY_PATH`
|
||||
file override wins). The naming-alignment arc (#33) should resolve
|
||||
which repo is canonical for deployment content and retire the
|
||||
unused `ohm-meta` path or make it the real source.
|
||||
|
||||
---
|
||||
|
||||
## What lands on the operator's plate
|
||||
|
||||
1. **Read the two docs** — `ohm-rfc/PHILOSOPHY.md` (rewritten) and
|
||||
`ohm-rfc/OPERATIONAL-MODEL.md` (new). The philosophy is live; the
|
||||
operational-model doc is the design capture of tonight's
|
||||
conversation. Pull `ohm-rfc` locally to get `6cf7e41` (the local
|
||||
checkout is behind by 0036.0's commit).
|
||||
2. **Decide if `OPERATIONAL-MODEL.md` should be surfaced on-site**
|
||||
(§19.2 candidate 3) — today it's repo + VM only.
|
||||
3. **The open governance tie-break** (Arc 3) is unanswered by design
|
||||
— "when two co-authors both argue their mechanic serves the cited
|
||||
concept, what breaks the tie?" The answer *is* the platform's
|
||||
governance model and should be settled consciously, likely as the
|
||||
first operational RFC.
|
||||
4. **left-brain/right-brain caution** (Arc 2): hold as a frame under
|
||||
test, not a poured foundation, or it undercuts the rigor pitch.
|
||||
|
||||
---
|
||||
|
||||
## Prompt the operator can paste into the next Claude Code session
|
||||
|
||||
```
|
||||
You are an OHM driver session. Reserve your own session ID
|
||||
(~/git/ohm-infra/scripts/claim-session-id.sh --start <now>) — the number
|
||||
is advisory. Read ohm-rfc/ROADMAP.md + its "Operating instructions" block.
|
||||
|
||||
Recent context (Session 0037.0, 2026-05-28→29): a content-only session
|
||||
rewrote ohm-rfc/PHILOSOPHY.md off the model-training framing onto
|
||||
"software is built operationalizing OHM concepts," and added a new
|
||||
ohm-rfc/OPERATIONAL-MODEL.md capturing the concept→mechanic operational
|
||||
layer + its governance. Both are committed (9a4277c, under remote tip
|
||||
6cf7e41 after parallel session 0036.0's ROADMAP reconcile) and the
|
||||
philosophy is LIVE (pulled the VM meta-content clone + restarted
|
||||
ohm-rfc-app.service). OHM is on v0.29.0, deploys.id=40, healthy.
|
||||
|
||||
Deployment-content gotcha worth fixing: PHILOSOPHY.md/DOCS.md are served
|
||||
from the VM's /opt/ohm-rfc-app/meta-content git clone, which NO gesture
|
||||
syncs — it had drifted to a 0.2.1-era commit. The backend caches the
|
||||
file in-process and refresh() is never called, so updating content needs
|
||||
a hand `git -C meta-content pull` + `systemctl restart ohm-rfc-app`
|
||||
(via IAP SSH). Consider a `flotilla content sync` verb (§19.2 candidate).
|
||||
|
||||
Open roadmap tail: #22 (pro-consent copy, needs operator+counsel text),
|
||||
#21 Part A (Amplitude audit, needs real-world data), #18/#20 ops
|
||||
follow-throughs (bounce wiring, DMARC ramp), #33/#34 naming alignment,
|
||||
#31b + #25-followup (screenshot-gated polish). No core features remain.
|
||||
Pick one, or ask the operator what's next.
|
||||
```
|
||||
@@ -0,0 +1,261 @@
|
||||
# Session 0037.0 — Transcript
|
||||
|
||||
> Date: 2026-05-28 → 2026-05-29 (spanned midnight, PST implied)
|
||||
> Goal: Operator-driven philosophy session that grew into shipping
|
||||
> content + a framework doc release. No rfc-app feature code change.
|
||||
>
|
||||
> Outcome: **Three things shipped + deployed to OHM.**
|
||||
> (1) `ohm-rfc/PHILOSOPHY.md` reframed off the model-training story onto
|
||||
> "software is built operationalizing OHM concepts"; new
|
||||
> `ohm-rfc/OPERATIONAL-MODEL.md` capturing the concept→mechanic
|
||||
> operational layer + its governance.
|
||||
> (2) `OPERATIONAL-MODEL.md` surfaced on-site at
|
||||
> `/docs/specs/operational-model` (deploys.id=41) via the existing
|
||||
> configurable specs surface — no rfc-app code change.
|
||||
> (3) `rfc-app v0.30.0` — the user guide (`DOCS.md`, `/docs/user-guide`)
|
||||
> brought back in sync with the shipped app after ~23 versions of drift
|
||||
> (deploys.id=42). Pin 0.29.0 → 0.30.0.
|
||||
>
|
||||
> Notes:
|
||||
> - This session did **not** run the start-gesture claim; ID 0037 was
|
||||
> claimed at session end (the §83/§7 fallback). Start time is
|
||||
> **approximate**.
|
||||
> - **Re-finalized** (this is the second publish). The first publish
|
||||
> covered Arcs 1–5 (the philosophy doc work); Arcs 6–7 + the v0.30.0
|
||||
> release landed after and are folded in here.
|
||||
> - The shared-checkout / parallel-session hazard recurred (Arc 6) — a
|
||||
> concurrent session's uncommitted `ROADMAP.md` blocked a pull; handled
|
||||
> per the worktree-for-parallel-git discipline.
|
||||
|
||||
---
|
||||
|
||||
## Pre-session state
|
||||
|
||||
- **OHM live**: rfc-app v0.29.0, deploys.id=40, healthy.
|
||||
- **ohm-rfc pin**: 0.29.0. **ohm-rfc HEAD**: `02d22fe` (Session 0035.0).
|
||||
- **Live `/api/philosophy`**: the original model-training-framed
|
||||
`PHILOSOPHY.md`.
|
||||
- The operator opened with a roadmap question that became an extended
|
||||
design conversation about what OHM is *for*.
|
||||
|
||||
---
|
||||
|
||||
## Turn-by-turn arc
|
||||
|
||||
### Arc 1 — Roadmap status read
|
||||
|
||||
Read `ROADMAP.md` end-to-end; reported the Phase A–E feature arc
|
||||
(#1–#16) shipped and the remaining tail (#22 consent copy, #21A
|
||||
Amplitude audit, #18/#20 ops, #33/#34 naming, #31b/#25 polish). Flagged
|
||||
the #27/v0.24.0 row as reading stale against the 0.29.0 pin.
|
||||
|
||||
### Arc 2 — "Is OHM a good idea?" → the thesis
|
||||
|
||||
Operator supplied the thesis: an **ethical social and content platform**
|
||||
("wiggling through the world") where defining the concepts (informed
|
||||
consent, etc.) drives the engagement model. Pressure-tested it: the real
|
||||
insight is that existing platforms run on *implicit* definitions
|
||||
("engagement = clicks") and that's the source of harm. Pushed on three
|
||||
risks: the definition→mechanic gap, left/right-brain as a credibility
|
||||
liability, and the who-defines governance/legitimacy problem.
|
||||
|
||||
### Arc 3 — Operational RFCs (the architecture crystallizes)
|
||||
|
||||
Operator: "we also need RFCs for the operational model, not just
|
||||
concepts." Settled the shape: **two RFC kinds** — concept (declarative
|
||||
contract) and operational (mechanic; must cite the concept it serves;
|
||||
carries a validation/sunset clause). Traceability makes "is this
|
||||
ethical?" checkable. Then the governance edge: collaboration ≠ unowned;
|
||||
the real artifact is the **ratification procedure**; the concept layer is
|
||||
the spine; keep accountability locatable. Left open deliberately: the
|
||||
tie-break when two co-authors both argue their mechanic serves the
|
||||
concept.
|
||||
|
||||
### Arc 4 — Capturing it as docs
|
||||
|
||||
Recommended a **separate doc + one-line bridge** over weaving in. Wrote
|
||||
`OPERATIONAL-MODEL.md` + a forward-pointer in `PHILOSOPHY.md`. Two
|
||||
operator corrections reshaped `PHILOSOPHY.md`: (1) "software is *built
|
||||
using* OHM concepts, not just models trained on it" → added the
|
||||
"Two ways a system can consume OHM" section; (2) "drop model training
|
||||
entirely" → confirmed scope ("drop training, keep co-authoring") and
|
||||
rewrote the opening, three-panel diagram, asymmetry, code's-dictionary,
|
||||
and humility note. Kept verbatim: the human+machine co-authoring
|
||||
mechanism and the POSIX/IETF/HTTP analogy.
|
||||
|
||||
### Arc 5 — Commit + deploy of the philosophy reframe
|
||||
|
||||
Committed both docs (`9a4277c`), pushed `origin`. Traced the non-obvious
|
||||
content-deploy path: `PHILOSOPHY.md` is served from the VM file at
|
||||
`PHILOSOPHY_PATH=/opt/ohm-rfc-app/meta-content/PHILOSOPHY.md` (a clone of
|
||||
`ben.stull/ohm-rfc`), **not** baked by `flotilla deploy`. The clone was
|
||||
frozen at an ancient commit (`eae9dc5`, pin 0.2.1 era) and never pulled.
|
||||
`git pull --ff-only` on the VM (IAP SSH) fast-forwarded it (landing on
|
||||
`6cf7e41` — parallel session 0036.0's ROADMAP reconcile sat on top of my
|
||||
commit). The backend caches the file (`philosophy.load()`; `refresh()`
|
||||
exists but is **never called**), so a restart was needed —
|
||||
`systemctl restart ohm-rfc-app.service`. Verified `/api/philosophy`
|
||||
served the rewrite. *(First transcript publish happened here.)*
|
||||
|
||||
### Arc 6 — Operational model on the live site (deploys.id=41)
|
||||
|
||||
Operator: "add operational model to the live site." Found the clean path
|
||||
with **no rfc-app code change**: the `/docs/specs/<name>` surface
|
||||
(`backend/app/docs_specs.py`, from roadmap #30) renders arbitrary
|
||||
markdown fetched at runtime from a Gitea raw URL, configured by the
|
||||
`OHM_DOCS_SPECS` overlay var (default = rfc-app SPEC + flotilla SPEC).
|
||||
|
||||
Hit the **shared-checkout hazard**: the `ohm-rfc` checkout had a parallel
|
||||
session's uncommitted `ROADMAP.md` (its new item #35, operator RFC
|
||||
authoring). Set up an isolated worktree for the one-file philosophy-link
|
||||
fix, then the operator said "hang tight while that session finishes" —
|
||||
cleaned up the worktree and **paused**. Once the operator confirmed the
|
||||
other session pushed, resumed on the now-clean checkout:
|
||||
- Fixed the `PHILOSOPHY.md` forward-pointer from a relative
|
||||
`./OPERATIONAL-MODEL.md` (404s in the rendered page) to the route
|
||||
`/docs/specs/operational-model` (`d79ce46`); symmetric fix in
|
||||
`OPERATIONAL-MODEL.md` → `/philosophy` (`5861e9e`).
|
||||
- `flotilla overlay set OHM_DOCS_SPECS` = the two default SPECs + the
|
||||
operational-model entry (raw URL on `ben.stull/ohm-rfc`). Confirmed the
|
||||
JSON value round-trips correctly through flotilla's always-quoting
|
||||
`.env` materializer (`_escape_env_value`) + python-dotenv.
|
||||
- VM `meta-content` pull (for the philosophy link) + `flotilla deploy`
|
||||
(id=41, v0.29.0 redeploy materializing the new env + restart).
|
||||
- Verified: `/api/docs/specs/manifest` lists "OHM Operational Model";
|
||||
`/docs/specs/operational-model` serves the body; the philosophy link
|
||||
resolves.
|
||||
|
||||
### Arc 7 — User-guide drift review + rfc-app v0.30.0 (deploys.id=42)
|
||||
|
||||
Operator: "review the user guide and update anything if it's drifted."
|
||||
The framework user guide is `rfc-app/DOCS.md`, served at
|
||||
`/docs/user-guide` from the **deployed tag** (no `DOCS_PATH` override).
|
||||
Fanned out 3 read-only Explore agents over `rfc-app` (auth flow; propose
|
||||
+ contribute surfaces; roles/admin/notifications), each cited to code, to
|
||||
ground the rewrite and avoid trading old drift for new.
|
||||
|
||||
Finding: the guide is **mostly accurate** — roles, branches, PRs,
|
||||
graduation, AI-in-chat, and the full notifications system (inbox, badges,
|
||||
toasts, the four email categories, digest, quiet hours, watch states) are
|
||||
all genuinely shipped, not aspirational. Drift was concentrated:
|
||||
- **"Signing in"** still described the pre-OTC email *allowlist*. Rewrote
|
||||
for email + one-time-code (v0.7.0), optional passcode (v0.10.0),
|
||||
trust-device 30d (v0.11.0), optional Turnstile (v0.12.0, deployment-
|
||||
gated), and the beta-request → `pending` → admin-`granted` gate
|
||||
(v0.8.0), plus admin-create + invite-claim (v0.17.0). Allowlist is
|
||||
vestigial (empty by default).
|
||||
- **"Proposing a new RFC"**: four → five fields (optional use-case #26;
|
||||
AI tag-suggestion disclosure #27).
|
||||
- **"Roles & permissions"**: added the `pending` state.
|
||||
- New **"Invitations, cross-references, and contribution requests"**
|
||||
(#12 owner invites; #28 auto-link / create-RFC / ask-to-contribute).
|
||||
- New **"Privacy and cookies"** (#11 / #13).
|
||||
|
||||
Shipped as **rfc-app v0.30.0** (docs-only minor): `VERSION` +
|
||||
`frontend/package.json` bumped (lockfile `version` left at its existing
|
||||
stale 0.24.0 — `npm ci` checks the dep tree, not the project version, and
|
||||
prior releases did the same), CHANGELOG entry, commit `1558cc3`, tag
|
||||
`v0.30.0` pushed to **origin + benstull** (the VM deploys from the
|
||||
mirror). Pin `0.29.0 → 0.30.0` (`edf4a85`). `flotilla deploy` id=42,
|
||||
`/api/health` → 0.30.0. Verified the live guide reflects all sections and
|
||||
the stale allowlist text is gone.
|
||||
|
||||
---
|
||||
|
||||
## Cut state (end of session)
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| ohm-rfc | HEAD `edf4a85` (pin 0.30.0). Content commits this session: `9a4277c` (philosophy reframe + OPERATIONAL-MODEL.md), `d79ce46` + `5861e9e` (cross-link fixes). Pushed `origin`. |
|
||||
| rfc-app | **v0.30.0** (`1558cc3`) on main; tag pushed `origin` + `benstull`. Docs-only (DOCS.md + VERSION + package.json + CHANGELOG). |
|
||||
| OHM live | deploys.id=**42**, v0.30.0, healthy. (id=41 was the v0.29.0 redeploy that materialized the `OHM_DOCS_SPECS` env for the operational-model surface.) |
|
||||
| ohm-rfc pin | 0.30.0. |
|
||||
| /api/philosophy | rewritten philosophy + route cross-link. |
|
||||
| /docs/specs/operational-model | live ("OHM Operational Model"). |
|
||||
| /docs/user-guide | v0.30.0 updated guide. |
|
||||
|
||||
| Item | Status |
|
||||
| --- | --- |
|
||||
| PHILOSOPHY.md reframe + OPERATIONAL-MODEL.md | ✅ shipped + deployed (no version) |
|
||||
| OPERATIONAL-MODEL.md on-site (/docs/specs) | ✅ shipped + deployed (id=41) |
|
||||
| rfc-app v0.30.0 — user-guide drift sync | ✅ shipped + deployed (id=42) |
|
||||
|
||||
---
|
||||
|
||||
## §19.2 candidates surfaced
|
||||
|
||||
1. **`meta-content` is not synced by any gesture.** The VM's
|
||||
`/opt/ohm-rfc-app/meta-content` clone (source for `PHILOSOPHY_PATH`)
|
||||
had drifted ~27 minor versions and was only updated by a hand
|
||||
`git pull` this session. Candidate: a `flotilla content sync
|
||||
<deployment>` verb (pull meta-content + restart / hit a refresh
|
||||
endpoint).
|
||||
2. **`philosophy.refresh()` / `docs.refresh()` are dead code.** The
|
||||
in-process cache is only cleared by process restart; the documented
|
||||
"reconciler sweep calls `force=True`" has no caller. Wire a periodic
|
||||
refresh or delete the dead code + fix the docstring.
|
||||
3. **Two homes for deployment docs, two update mechanics.**
|
||||
`PHILOSOPHY.md` is served from the meta-content file (updates via
|
||||
meta-content pull + restart); `DOCS.md` is served from the **deployed
|
||||
rfc-app tag** (updates require a release + deploy, as v0.30.0 did).
|
||||
The generic `/docs/specs` surface (`OHM_DOCS_SPECS`) is a third path —
|
||||
runtime gitea-raw fetch with a 5-min TTL, no deploy needed. Worth a
|
||||
short note in DEPLOYMENTS.md so the next operator knows which lever
|
||||
updates which doc. (The operational-model doc rides `/docs/specs` and
|
||||
thus updates with no deploy — but lands under the "Specs" nav label,
|
||||
a slight semantic stretch; a dedicated companion route would need a
|
||||
framework code change.)
|
||||
4. **Shared-checkout / parallel-session hazard recurred** (Arc 6). A
|
||||
concurrent session's uncommitted `ROADMAP.md` blocked a pull;
|
||||
reinforces the worktree-for-parallel-git discipline for any hands-on
|
||||
git in the shared checkout while other sessions run.
|
||||
|
||||
---
|
||||
|
||||
## What lands on the operator's plate
|
||||
|
||||
1. **The open governance tie-break** (Arc 3) is unanswered by design —
|
||||
"when two co-authors both argue their mechanic serves the cited
|
||||
concept, what breaks the tie?" That answer *is* the platform's
|
||||
governance model; settle it consciously, likely as the first
|
||||
operational RFC.
|
||||
2. **left-brain/right-brain caution** (Arc 2): hold as a frame under
|
||||
test, not a poured foundation.
|
||||
3. **Roadmap item #35** (operator RFC authoring from a Claude Code
|
||||
session) was added to `ROADMAP.md` by a parallel session, not this
|
||||
one — noted here only so the cross-session record is coherent.
|
||||
4. Nothing else pending — all three deliverables shipped + verified.
|
||||
|
||||
---
|
||||
|
||||
## Prompt the operator can paste into the next Claude Code session
|
||||
|
||||
```
|
||||
You are an OHM driver session. Reserve your own session ID
|
||||
(~/git/ohm-infra/scripts/claim-session-id.sh --start <now>) — the number
|
||||
is advisory. Read ohm-rfc/ROADMAP.md + its "Operating instructions" block.
|
||||
|
||||
Recent context (Session 0037.0, 2026-05-28→29): a content + docs session.
|
||||
OHM is now on rfc-app v0.30.0 (deploys.id=42, healthy). Shipped:
|
||||
(1) ohm-rfc/PHILOSOPHY.md reframed off model-training onto "software is
|
||||
built operationalizing OHM concepts"; new ohm-rfc/OPERATIONAL-MODEL.md
|
||||
(concept→mechanic operational layer + governance), live at
|
||||
/docs/specs/operational-model; (2) rfc-app v0.30.0 — the /docs/user-guide
|
||||
(DOCS.md) brought back in sync with the shipped app (sign-in/OTC, propose
|
||||
use-case field, pending state, invitations, cross-references, privacy).
|
||||
|
||||
Deployment-content levers to know:
|
||||
- PHILOSOPHY.md → VM meta-content git clone (PHILOSOPHY_PATH); NO gesture
|
||||
syncs it (it had drifted to 0.2.1). Update = `git -C meta-content pull`
|
||||
+ `systemctl restart ohm-rfc-app` via IAP SSH. (§19.2: a `flotilla
|
||||
content sync` verb would fix this.)
|
||||
- DOCS.md → served from the deployed rfc-app tag; update = release+deploy.
|
||||
- /docs/specs/<name> → runtime gitea-raw fetch, configured by the
|
||||
OHM_DOCS_SPECS overlay, 5-min TTL, no deploy needed.
|
||||
|
||||
Open roadmap tail: #22 (consent copy, needs operator+counsel text), #21
|
||||
Part A (Amplitude audit, needs real-world data), #18/#20 ops follow-
|
||||
throughs, #33/#34 naming alignment, #31b + #25-followup polish, and the
|
||||
new #35 (operator RFC authoring). No core features remain. Pick one, or
|
||||
ask the operator what's next.
|
||||
```
|
||||
Reference in New Issue
Block a user