6.2 KiB
SESSION-0008.0 — Payments doc → full concept-RFC corpus, seeded live on the OHM site
Date: 2026-06-01 Driver: Ben Stull + Claude (Opus 4.8) Repos touched: wiggleverse-ecomm-meta (RFC-ROADMAP + this record), ben/ohm-rfc (31 prose RFCs, pushed), wiggleverse/ohm-content (30 super-draft entries via the app + 7 withdrawals, pushed), rfc-app (read-only investigation)
Honesty note on this artifact. This is a session record authored by the assistant from the conversation — faithful as to decisions, sequence, and wrong turns, but not the raw byte-for-byte transcript. ecomm still has no transcript-dump tooling; records like this stand in, labeled as what they are.
Purpose
Start from the question "what OHM RFCs does the Payment Strategy doc imply?" and end with the full ethical-commerce concept corpus authored and live on the OHM site. Scope grew over the session from "the payments cluster" to "the whole vocabulary an ethical, human-first, still-sustainable platform needs," then to actually getting all of it onto ohm.wiggleverse.org.
What happened, in order
-
Mapped the payments doc to RFCs. Split into concept RFCs (Stored Value, Informed Consent, Settlement, Load, Discount/Reward, Breakage, Float, Closed-vs-Open-loop) and operational RFCs (load-rail policy, settlement-hold/fraud, channel-release, discount-at-spend), each anchored to the Human property it serves. Wrote these into
RFC-ROADMAP.mdin the meta repo; committed + pushed. Drafted authoring prompts for Stored Value + Informed Consent. -
Broadened to the full ethical-commerce concept set. On request, gave an ordered ~25-concept list (frame & actors → ethical spine → sustainability spine → commerce nouns → money cluster → governance), then stress-tested it and added the keystone that was missing: an explicit optimization target ("Human Flourishing") — the affirmative answer that replaces the silent "engagement," per OPERATIONAL-MODEL.md — plus Duty of Care/Vulnerability, Refund/Reversal, Trust & Safety, Reputation, No-Retroactive-Harm. Settled on 30 concept RFCs (RFC-0002..0032 in the first numbering).
-
Authored the corpus with a Workflow (62 subagents: 31 authors + 31 verifiers) into
ben/ohm-rfcas full ~2.5k-word prose RFCs; committed, mergedecomm-rfc-corpus→main, pushed (36329c0). -
Wrong turn discovered: that was the wrong surface for the website. The OHM site (ohm.wiggleverse.org = the
rfc-appproduct) does not renderben/ohm-rfcprose. It renders from a content repo (wiggleverse/ohm-content),rfcs/<slug>.md+ YAML frontmatter, via acached_rfcsDB synced by webhook/reconciler. Model facts: slug is the canonical id; integerRFC-NNNNonly at graduation; bot is the only git writer; lifecycle = propose → admin-merge → super-draft → develop body via PRs → graduate (active). So the git numbering was moot and the prose was in the wrong place (it's reusable later as bodies). -
Seeded all 30 onto the site via the app UI (Chrome MCP, logged in as Ben/OWNER). Proposed each (short "why" pitch as body), then merged each proposal — both gestures done by Claude with Ben's standing authorization. Wrong turn: the propose dialog's slug field strips hyphens on keystroke input, so the first 7 multi-word ones landed dash-less (
agencyantimanipulation, …). Switched toform_input(preserves dashes) for the rest. -
Re-proposed the 7 with correct slugs (
agency-anti-manipulation, …); merged them. Decided to keep the correct twins and retire the dash-less. -
Numbering discussion. Confirmed the RFC number is operator-chosen at graduation (
_suggest_next_rfc_id= max+1, stored in frontmatterid, not the DB row id). Decision: slug is canonical; RFC numbers optional. Drafted (did not run) a small rfc-app change to make graduation not require a number. -
Cleaned up the 7 dash-less duplicates. Investigated removal: a bare file delete does not drop an entry (the reconciler keeps the
cached_rfcsrow; noDELETEpath exists; the SPEC's entry-levelwithdrawendpoint is unimplemented). Then found the real situation — the 7 files had never actually been removed frommain(stillsuper-draft), which is why they kept showing. Clonedwiggleverse/ohm-content, setstate: withdrawnon the 7, pushed tomain(619adde). Webhook synced immediately; verified the 7 read "This RFC is withdrawn" and dropped off the lists while the dashed twins stayed live.
Decisions settled
- Slug is the canonical identifier; RFC numbers are optional/deferred.
state: withdrawnis the only working retire in rfc-app (deletion leaves a stale cached row; no entry-withdraw endpoint).- All 30 ecomm concepts live as super-drafts; full-body import and graduation are deferred to a later session.
Wrong turns (recorded honestly)
- Authored the corpus into
ben/ohm-rfcprose assuming it fed the site; the site iswiggleverse/ohm-content. Not wasted — the prose becomes the bodies. - Hyphen-stripping slug bug created 7 dash-less duplicates.
- Briefly mis-theorized the dupes persisted due to the cache-keeps-row
behavior; the actual cause was the files were never deleted from
main.
State at close
Live on ohm.wiggleverse.org: 30 ecomm concept RFCs (clean hyphenated
slugs) + pre-existing informed-consent, all super-drafts; Human
(RFC-0001) active; the 7 duplicates withdrawn (historical records). All three
repos clean and pushed. Local clone of the content repo left at
~/projects/wiggleverse/ohm-content.
Open / next session
- Import full RFC bodies (live entries hold short pitches; full prose is
in
ben/ohm-rfc) via Start-Contributing → PR → merge, then graduate. - Reconcile the pre-existing
informed-consentbody with the corpus. - Optional: run the drafted rfc-app change making graduation number-optional (slug-canonical).
- Operational RFCs (load-rail, settlement-hold, channel-release, discount-at-spend) still unwritten — they now have concepts to cite.