boringoperator WO authoring
Every codex WO for ~/Code/boringoperator follows this contract:
-
FIRST LINE of every prompt: "Read dev-docs/wo-context-pack.md at the repo root FIRST — it is binding context (mission, laws, dialect, loop, hygiene)." Never re-paste pack content into prompts; reference it. Add ONLY:
- the lane's goal in one paragraph
- verified defects/evidence (file:line, DB audit results) — never vibes
- lane-specific constraints (files owned by other unmerged waves, migration number claimed after checking main AND open branches, gates that stay off)
- the proof contract and output shape
-
Builder lanes: terra ultra, fresh worktree, npm ci first. Reviewer lanes: sol, high for product surfaces, xhigh when migrations/custody in scope; sol writes REVIEW-.md and is the only one who touches it.
-
Fix rounds: reference the review file by name, quote nothing that the review already states — "read Round N in full" + clear-condition list.
-
After every lane lands: Claude live-films, records the design verdict, then dispatches sol. Merge order: one train at a time; capability-map conflicts resolve by regeneration on the merged tree; hosted migrations apply BEFORE app deploys that read them.
-
SIMPLICITY COUNTERWEIGHT (James, Sep 1): codex tends to overengineer. Every builder WO carries the context pack's "Solution style" section as binding; when reviewing terra's output, treat unrequested abstraction, knobs, layers, or breadth as findings to strip, not bonuses. Ask of every diff: is there a smaller true change?
-
WO IS A FILE (Sep 1): every WO lives at dev-docs/wo-.md and is committed to main BEFORE dispatch; "ready to dispatch" in memory alone is not ready (the readback-truth WO had to be re-derived from scratch). Evidence rows the WO cites go to dev-docs/evidence/-.json.
-
EVIDENCE-FIRST DIAGNOSIS (Sep 1): before a root-cause lane, Claude pulls the hosted rows read-only (Management API
database/queryas postgres, wrapped inbegin; set transaction read only; …; commit;; token = keychain "Supabase CLI" go-keyring-base64 decoded) and states in the WO what is VERIFIED, what is NOT a defect, and what is NOT evidence. Two of three checkpointed hypotheses were wrong on the readback lane; a codex lane dispatched on them would have chased phantoms. When live provider reads are needed, D0 of the lane = a read-only diagnostic script Claude runs with creds — codex never sees creds. -
MERGE TRAIN READS THE WORKTREE, NOT MEMORY: migration list, conflict dry-run (
git merge-tree --write-tree --name-only main <branch>), and the recovery drill on the MERGED chain (main's newer migrations + the branch's have never been applied together). Design verdict gates the merge alongside sol's; the merge itself is mechanical → Sonnet seat, Fable reviews the merge diff and pushes. -
Zoom-out check before dispatching any lane: does this serve the mission (finished work, one gesture, Main Street)? Is it dollar-ranked? Is it class-1 (ceremony) or product-speed (no ceremony)? Would James call it overengineering?
-
LESSONS COMPOUND IN THE PACK (James, Sep 2): after every certification, distill any NEW blocker class into dev-docs/wo-context-pack.md "Standing lessons" (binding; builders report against it, reviewers attack it first). A lesson that lives only in Claude's memory never reaches a lane. Keep the list short; retire items that stop recurring.
-
READ RESULTS BEFORE STAMPING: assert
gh pr view --json state== MERGED before any "merged" record line or worktree removal; stamps fromdate -u; one proof run per worktree at a time; nevercodex exec resume --lastwith parallel lanes. -
LOOP V3 (James, Sep 3 — binding; see
ship-laneskill and repo dev-docs/loop-v3.md): classify the lane A/B/C first and never mix; ONE review pass with a checklist (sol once for A, design once on frames for B, none for C), ONE fix, merge; residue → the weekly punch batch; activation is supervised-first; ship through scripts/train.sh → verify--live.sh → scripts/activate-flag.sh; done = live on DD with a receipt. Every WO uses dev-docs/wo-template.md. The "after every lane lands: film → design → sol" sentence in item 4 is superseded by this item. -
SEAT BRIEFS (Sep 4): every builder/reviewer brief says "no watcher or monitor will wake you; poll yourself (sleep 30, bounded to 40 min)". Three seats stalled on armed watchers in one night.
-
DESIGN VERDICTS (Sep 4): the design seat writes into the main checkout; the driver commits the verdict file immediately ([skip ci]) — an untracked file there makes the deploy guards refuse (dirty tree) and cost a redeploy tonight.


