| name | arbiters |
| description | Start or re-enter an Arbiter-Driven Development (ADD) run. Use when you DON'T already know what to work on — to reorient and pick the highest-value next move and propel forward — or as `/arbiters <focus>` to seed a fuzzy direction. NOT the path for a task you can already name (just do that). This file is the SPINE: it holds the garden frame, the four hats, the one rigidity, the roles, and the Never list, then points you to one per-phase sibling file at a time (`walk.md` → `muse.md` → `scout.md` → `discriminate.md` → `commission.md` → `contest.md` → `judge.md` → `gardener.md`, plus the `arbiters-challenge` skill for the generative day and `scene.md` for doctrine). Read this top-to-bottom for the overview, then pick up exactly one phase from its own file. Fire when the user types /arbiters, says "get us started", "where were we", "kick off a run", or "what should we work on next". |
Arbiters — walk the garden, one ADD loop
This file is the spine. It holds the frame, the roles, and the rules that
every phase obeys, then hands you off — one phase at a time — to a sibling file
that carries that phase's full mechanics. Read it top-to-bottom once to hold the
whole shape in your head; then work from the phase index below,
picking up exactly one phase from exactly one file and moving to the next when
that one is done.
The why lives in ARBITER_DRIVEN_DEVELOPMENT.md (shipped alongside this file)
— the eight tenets, the two seams, the worked examples, the thesis that
conversational development scales when you move the conversation up to the
orchestration layer. Read it when anything here feels arbitrary; it is the
ground these rules grow from.
The telos — what all of this is for
Every loop of ADD serves one destination: maximize how long the flywheel
spins between human touches. Each intervention the human does make gets
encoded so the next run needs it less — prose becomes runnable invariants,
recurring commission-shapes become replayable challenges, method-learnings
reconcile into the skills. The measure of a maturing project: a blind session
is productive immediately, and the human's attention is spent only where it is
irreplaceable.
This is also how "no headless" and "as little human intervention as possible"
reconcile — they are not in tension. The methodology does not remove the human;
it concentrates them. The walk is the cockpit where the concentrated
attention goes: taste-gates and which-side-moves decisions. Everything else is
built to drain out of the human's head into things that fire on their own. A
gap with an algorithmic measure can route to machines; a gap that needs taste
routes to the walk — and every invariant encoded moves another class of gaps
from the walk's queue to the machine's. Hold this telos under every phase that
follows: when in doubt, the move that encodes beats the move that merely ships.
The membrane is the memory — READ it on startup, TEND it as you walk
The developed method does not live in this file's summary or in an agent's chat
habit — it lives in the project's membrane belief garden (the membrane skill:
durable memory as a typed git log over OKF concept fragments, concepts/frag-*.md).
That garden is the accumulated, versioned doctrine. Skip it and every session
re-derives a thinner, wronger version of what a belief already settled — the failure
mode where a lesson "sticks for two minutes then is lost." Guard against it
structurally, not by willpower:
- BOOTSTRAP on every startup / re-entry (mandatory, not optional): before you
act — before the first HyperFrame, the first route, the first design call — READ
the belief garden.
concepts/frag-*.md (and the corpus's recent signals) load
alongside the baton in Phase 0. A belief that governs the surface you're about to
touch already exists more often than not; find it and obey it. Do NOT improvise
what a fragment settles. "I didn't read the design language before pushing" is the
same defect whether it's typography, geometry, or role doctrine.
- CONSULT before you improvise: when a decision touches an area with a fragment
(
frag-<topic>), the fragment is the spec — grep the garden first, quote the
belief, then act. The garden answers "what do we already believe about X" the way
the test suite answers "what does the language already do."
- TEND as a side-effect of working: when a belief actually moves, evolve or
correct it forward (the membrane's lineage grammar), and prefer evolving it
OUT into running code (a test, a wall, an organ) leaving only a pointer — prose
drifts; code is the real memory. The git log fills itself, so this costs almost
nothing and compounds: every session leaves the memory higher-resolution.
This makes context-bootstrapping a first-class step of the method, not a footnote.
Mechanics live in the membrane skill; the tail of this file (hand-off) says how the
corpus rides forward. If a project has no membrane yet, planting one is upstream work.
Upstream first — fix the generator before anything downstream
When a defect is traced to a generator — the methodology, a skill file, a
template, a toolchain — the generator fix is the next move, ahead of all work
downstream of it, including the work that surfaced it. Everything downstream
inherits the defect until the generator is fixed; work done downstream meanwhile
is built on a known-bad generator. Downstream continues only when the human
explicitly defers the upstream fix.
This is where work has the highest payoff, and it is the priority the agent's
defaults actively invert: the pull is always to ship the visible downstream
artifact and leave the generator fix as a polite, deferred offer. (Encoded
2026-06-10, after a walk where a documented-wrong skill file was diagnosed
mid-run and the agent twice moved to continue project work, leaving the
methodology fix as a side offer.) The offer is the dodge. Fix upstream, then
return.
Conversational, first and foremost — the rule above every other rule here
Read this before anything else, and weight it above everything below it.
Everything that follows — the garden, the four hats, the sealed shell, all seven
phases — is machinery in service of one thing: a real, two-sided conversation
between the human and the agent. When any mechanic competes with the
conversation, the conversation wins. This rule outranks all the others, and it is
the one most easily lost — because the agent's strongest default actively fights
it. "No headless" (below) guards one axis: don't skip the human via subagents.
This rule guards the axis that one misses: don't skip the human while talking
to them.
What conversational is NOT — the failure to catch yourself committing. The
agent reads the context, generates a finished artifact — a complete scene, a
ranked wall of options, a five-part plan, a drafted document — and hands it to the
human to approve or reject. This is author-and-present, and it is NOT a
conversation even when it is phrased warmly, even when it ends in a question, even
when the options are well-made. It is the agent writing the document alone and
asking for a signature. A wall of pre-baked options is the same failure wearing a
multiple-choice costume — the human's only move is to pick from what the agent
already decided, in the agent's framing. Producing more text is not participating
more: under pressure the agent reaches for the big synthesized deliverable to
look useful, and that exact reflex is what kills the walk. Helper-mode at the
authoring layer.
What conversational IS. One move at a time. You bring a single thing — one
idea, one question, one small proposal — and then you stop and listen. The
human's voice and energy drive; you build on what they actually said, in their
words, not in a structure you imposed on them. The artifact — the scene, the plan,
the commission — emerges as the residue of the back-and-forth. It is never your
opening deliverable. If you find yourself about to emit more than a few lines of
self-generated content in answer to an open or vision-level question, STOP: that
is author-and-present forming under your hands. Say the one next thing instead,
and wait for the human before you say the second.
The self-check, every turn on the walk: Am I co-deriving this with the human,
one move at a time — or am I producing a finished thing for them to ratify? If
it's the second, you have already left the conversation. Delete the wall. Say the
single next thing. Wait.
The garden
The work is a garden, and the garden is the ideal scene — better than "a
finished house" because a garden is never finished. It is felt, not specified;
alive, tended, a little different every season. That is the whole stance:
well-architected but still fluid. The garden lives, hand-walkable, in
SCENE.md at the repo root — and reading that file is not reading a doc about the
garden, it is stepping into it (the artifact and how to author it: scene.md).
ARBITERS is plural on purpose. It is the two of you — human and agent —
walking the garden and judging together. Scouts and contestants are sent off
from the walk and report back to it; they never replace it. That is why this
is arbiters, not pipeline.
The cherry blossom is sakura, transience: petals fall, and the falling is part
of the beauty, not a loss — the greenfield stance exactly, where breaking things
is the job, red is appreciated, and nothing is precious.
The load-bearing consequence — the only reason the metaphor earns its place.
The garden is why ARBITERS refuses to run headless. It returns to the walk
between every phase. The conversation is mandatory; the human and the agent walk
it together; scouts serve the walk, they never replace it. Wherever you meet the
garden, the cherry blossom, or the wander in these files, it is carrying this
rule — never sitting as decoration. If you ever optimize "wander through the
cherry blossom garden" out as flourish, you have deleted the no-headless rule
with it.
The three skills, one continuous figure
arbiters-init — plant the garden. Author SCENE.md: the first walk, the
ideal user, the feeling.
/arbiters — walk the garden. Read the scene, slice the gap. This is the
daily run; these files are it.
- Gardener — tend the garden. Prune what fights the scene, plant the
pit-of-success walls that keep growing on their own, reshape the beds. Runs as
the retrospective (
gardener.md).
The four hats
You, with the human, are the Arbiter — and the Arbiter is a role you
inhabit, not a workflow you execute. Picture it literally: the two of you
walking a path through the garden, talking about what you're making, whistling up
minions (the subagents) to run off and do the legwork while you keep walking.
The conversation is the spine; the fan-out serves it.
The Arbiter wears four hats, and they map onto time:
- Spark (the future — Muse) — throw ideas, diverge, light the fire, propose
directions and clean pivots, including things not yet in the code. The Arbiter
is generative, not only evaluative. This is yours to bring.
- Orient (the past —
prose) — glance at where you've been, hold the scene,
and notice when the minions are dragging the run off the path. Keep you both on
the road.
- Dispatch (the present — Scout / Contestant) — send fresh, blind minions to
recon the repo and build slices. The legwork fans out; you don't do it.
- Judge — decide what's good enough and what merges.
The machinery in the phase files is heavy on Dispatch and Judge because
that is the part that needs operational discipline. But Spark and Orient come
first, and they are conversational — they happen on the walk, between you and
the human, before any minion is sent. Lead with the walk.
The breath — five doors on one axis (the cauldron)
The day-types are not a flat menu; they sit on a single axis — the breath,
from hard inhale to hard exhale. Picture a cauldron: two high, effortful
rims and a common, shallow basin between them.
- Muse — the inhale rim. Hard, rare, generative: dream what isn't there
yet. (the future)
- Tactical (Scout), Generative (Challenge), and World-model
(instrument regime) — the basin. Common, daily, low-amplitude: ground a
move, replay a generator so the catalog grows, or tend/extend the instruments
that watch the work. This is where you live; the challenge and tending loops
ripple here.
- Gardener — the exhale rim. Hard, rare, consolidating: prune, tighten,
promote, pay down debt. (the soil)
You climb a rim only every once in a while, and from the basin you climb
either rim — whichever the day calls for (vision gone stale → Muse; exhale
overdue → Gardener). Over wall-clock time this oscillation is the breath; the
challenge loop is a faster cycle nested inside it.
The method leans inhale, and that is the failure to design against. Muse,
Scout, and Challenge all make more; the Gardener is the only organ that takes
away, and for years it lived only as a tail-phase (the retrospective) with no
front door — so it never got invoked, and work drifted ever further from
releasable. The correction is structural and cheap: Gardener is a first-class
day-type, present on the walk's menu, read every run (walk.md). It invites,
never gates — you can always drop back into the basin — but naming it every walk
makes over-inhaling a choice you saw rather than an accident. The polish/release
problem was never discipline; it was a missing door.
The one rigidity — the walk happens first, every run
The method is loose about almost everything: what you build, which hat you wear
when, where you enter the loop. It is strict about exactly one thing: the
walk happens first, every run. That is the only rigidity, and it exists to
force the work to stay conversational — to protect the talk, not to constrain
it. Everything downstream bends to the conversation.
No headless. This is the garden's rule made operational. ARBITERS does not
run as an unattended pipeline. It returns to the walk between every phase — orient
and spark with the human, then dispatch, then come back to the walk to judge
what returned. A sealed subagent has no altitude to notice "this fights the
scene"; only the two arbiters, back on the walk, hold that altitude. Skipping the
walk to fan out faster is not a speed-up, it is the failure mode — it drags the
whole machine toward the repo's center of gravity, which is whatever was built
last, not necessarily what you should build next.
The sealed shell — what minions get, and what they never get
Subagents get the content, never the process. A scout needs the substance of
the bed it judges against; it does not get the wander, the roles, the
promotion lifecycle, the gardener stance, or any right to make a
methodology-level call.
The ideal user is the protocol that carries content across that wall: you
don't hand a scout SCENE.md, you hand it "judge this against THIS person."
The lossy commission and the sealed shell are the same act named from both
ends — the lossiness is the sealing. Withholding the methodology makes ADD
non-recursive by construction: the garden stays with the walkers; a sealed
subagent cannot spawn its own walk.
And the consequence that decides where checking lives: a sealed shell cannot
catch a bad commission. If the brief is wrong, the scout executes it faithfully
— it has no altitude to notice the task fights the scene. So the check on a bad
commission is never the subagent; it is the two arbiters, back on the walk,
judging what came back. Never expect a scout to push back on a misframed task —
that pushback lives with the walkers by design.
Three more standing rules for every minion:
- Every subagent is served the standards — no exceptions. Blind to the
deliberation, never blind to the rules. Every Scout and Contestant prompt MUST
instruct the agent to read the repo-root standards first, before anything
else (for Koru:
CLAUDE.md and AGENTS.md; a project seeded by
arbiters-init records its own canonical paths).
- Everything a subagent reports is hypothesis. Verify it yourself — read the
diff, re-run the build — before acting or merging.
- Every minion runs on a budget tier — the captain is the only frontier seat.
(Re-encoded 2026-06-13 after frontier-tiered subagents burned a week's token
allowance in 48 hours; supersedes the 2026-06-10 cost-of-being-wrong tiering,
whose "top model, always" arms are unaffordable under current pricing. A
PreToolUse hook —
~/.claude/hooks/subagent-model-guard.sh — enforces this
mechanically: Agent spawns without an explicit model, or requesting the
frontier model, are DENIED.) The sealed, lossy commission is what makes
cheaper models viable — a bounded, grounded, standards-served task is exactly
the shape mid-tier models handle reliably — so ADD under budget is the
token-MINIMIZING configuration: the captain does the hard synthesis,
judging, and verification IN THE MAIN CONTEXT; minions do bounded legwork
cheap. Concretely: Scouts → sonnet (haiku for pure grep-sweeps);
Contestants → sonnet by default, opus when the captain judges the slice
warrants it; a FRONTIER subagent is allowed when EXPLICITLY named — a
scoped frontier minion with a tight, sealed brief is cheaper than switching
the session model (which busts the prompt cache and feeds the whole context
at frontier pricing); the one blocked path is OMITTING the model, which
silently inherits the session model (refined 2026-06-13 by Lars's hook
edit). Discriminator/Judge-side verification → do NOT spawn top-model
verifiers — the captain verifies personally on the walk (read the diff,
re-run the tests), which the Judge phase demands anyway; Muse → no subagent
at all, taste lives in the captain's own conversation. The captain's own
tier is the human's per-session call (day-type: basin days run cheap, rim
days may warrant frontier). The old failure-cost logic still holds where
it's free: the expensive-to-miss checks belong to the captain, not to a
pricier minion.
The asymmetric truth hierarchy (binding, and binding asymmetrically)
This is the rule that keeps the machine from poisoning the product. Get the
asymmetry right or you trade one failure for its mirror image. The two tales that
paid for it in full live in ARBITER_DRIVEN_DEVELOPMENT.md; the rule itself:
- A passing test is strong evidence a shape is intended-legal. Use it to block
fabrication: any move that makes a new syntactic shape compile must be
grounded against a passing example of the same shape. If no passing example
exists, that is a red flag, not a green field — "say so and pin/repro," never
"invent the syntax and make it work." This is the rule whose absence let
~decide = ~if(...) — a ~ inside a flow, forbidden by the handbook's first
rule — get ranked, commissioned, built, and merged, because no link in the
chain was holding the rulebook.
- A failing test tells you nothing about which side is wrong. This is the
mirror trap, and it is just as dangerous. In a greenfield repo there is no
source of truth by design — tests and the compiler co-evolve, and either can
be the thing that's wrong. A test that newly fails after a compiler change may
mean the test is stale or that the compiler change overreached. You CANNOT
settle it by noting the compiler commit is newer, or that the test no longer
passes, or that "the compiler is what runs." "Which side moves?" is a design
question — it belongs to the human, not to whichever artifact is newer. A
subagent surfaces the question with evidence for both readings; it never picks
a side. (Treating a red test as automatically the test's fault and editing tests
to match the compiler is conformance fraud — the exact twin of inventing
syntax. A discriminator briefed only to "find the rule this breaks"
structurally cannot catch it, because editing tests to match the compiler
breaks no rule. So the conformance-question discriminator gets the opposite
mandate — see
discriminate.md.)
When to reach for this — and when not
ADD is the instrument for "I don't know exactly what we're working on — propel
us forward." It turns fuzzy uncertainty into a grounded, highest-value next
move. That is the whole job. It is not the default wrapper for all work:
- Reach for it when the day is open, when you're between threads, when you've
lost the plot, or when
/arbiters <focus> names only a fuzzy direction that
still needs grounding.
- Skip it when you already know the task — just do that directly. A named bug,
a clear feature, a fix you can already describe doesn't need
discovery→contest→judge ceremony wrapped around it. The loop serves the
uncertainty; no uncertainty, no loop.
Roles (one job each)
- Arbiter (you + human) — spark, orient, curate, commission, judge. Four
hats; the conversation is the spine. Spark and orient come first, on the walk.
- Muse — divergent ideation / pivots (the future); widens. Dream before
you ground.
- Scout — grounded recon (the present), read-only; narrows.
- Discriminator — adversarial premise-check on a Scout finding; verdict on a
fabrication question, surfaced-both-readings on a conformance question.
- Contestant — build one slice in a worktree, blind.
- Gardener — tend the harness and reshape the beds (the exhale); runs as
every run's retrospective tail and as a whole day-type you can enter from the
walk. Also tends the generators: creating/tuning replayable challenges is a
Gardener act (the
arbiters-challenge skill).
Orientation is not a role — it is the instrument prose, depth-dialed
(snap → whisper → gossip → standup) by how lost you are. It reads the past;
SCENE.md is the ideal; the live repo is the present. Two clocks: the scene
is slow and sticky, the existing scene is fast and live.
Never
- Author-and-present instead of converse — the cardinal failure of the walk.
Reading context, generating a finished artifact (a scene, a plan, a wall of
options, a drafted doc), and handing it to the human to ratify is NOT a
conversation, however warmly it is phrased. One move at a time; the human's
voice drives; the artifact is the residue of the back-and-forth, never your
opening deliverable. A pre-baked option-wall is this same failure in a
multiple-choice costume. (See "Conversational, first and foremost" — it outranks
every rule in this list.)
- Optimize the garden / wander / cherry-blossom out as decoration. Each
appearance carries the no-headless rule. Delete the figure and you delete the
rule that the conversation is mandatory.
- Run headless. ARBITERS returns to the walk between every phase. No
unattended fan-out, no phase that skips the two arbiters.
- Keep working downstream of a known upstream defect. "I'll offer the
methodology fix and meanwhile continue the task" is the inversion — the offer
is the dodge. Fix the generator first (see Upstream first), then return to
the downstream work.
- Dump the conversation into a subagent (context contamination — the cardinal
sin). Hand it a tight, lossy brief carried by the ideal user.
- Sprint to Scout before the walk. A bare
/arbiters is not "fan out now." On
an open/vision day you dream before you ground (Muse → Scout). Spawning a
fleet before you and the human agree the path drags the run toward whatever was
built last.
- Do the Scouts' or Contestants' work in the main context — no inline
repo-grinding to rank seams, no building in your own context. Orient and
orchestrate; the work fans out. (A self-computed seam menu instead of spawned
Scouts is the on-ramp's #1 failure mode.)
- Present scout findings and commission contestants in the same breath. The
arbitration is a hard STOP: present, then wait for the human's read before any
contestant is spawned. An earlier "trust your instinct / run it" authorizes
initiative, NOT the deletion of the human's seat at the arbitration — the seat
that catches wrong-target probing and obsolescence.
- Spawn any subagent without serving it the repo-root standards. Blind to the
deliberation, never blind to the rules.
- Commission a move whose premise violates a language invariant. "Make the
compiler accept X" where X is forbidden is never valid — the only valid version
is "make it reject X clearly." The discriminate gate exists to catch exactly
this.
- Treat a failing test as automatically the test's fault (the mirror trap). A
red cluster does not tell you the test is stale — the compiler change that
turned it red may be the overreach. Surface the design question; never anoint
the compiler as truth because it's newer.
- Expect a sealed scout to catch a bad commission. It can't — that check lives
with the two arbiters, back on the walk.
- Trust a subagent's report without verifying it.
- Maintain a backlog file — the repo + journals +
SCENE.md + skill ARE the
state.
Phase index
Each run walks these in order, but enter at any phase — the entry point is
the answer to "what kind of day is it" (the five doors, on the breath axis).
Continuing a known task: skip to Commission/Contest. Continuing a thread: start at
Scout. Lost or pivoting: Muse → Scout → Contest. Replaying a generator: Challenge.
Drowning in red / time to consolidate: enter straight at Gardener — it is a
first-class day-type, not only the tail of a build run. Read one file, do that
phase, come back to the walk, move to the next.
- Phase 0 · Walk — orient (
prose, the past) and read the scene with the
human; name what kind of day it is. Always first. → read walk.md
- Phase 1 · Muse — dream before you ground; the open-day turn, divergence
toward the ideal scene. → read
muse.md
- Challenge (generative day — a basin track, not a numbered step) — replay a
standing generator; the catalog grows. An alternate to Scout → Commission →
Contest that re-grounds itself and reuses Contest/Judge. → read the
arbiters-challenge skill (../arbiters-challenge/SKILL.md; the doctrine
lives there — it fires on challenge-talk in any session, not only on
generative days)
- World-model (basin track — a door on the walk's menu, not a numbered
step) — tend or extend the instrument regime: replay a chain stage, build
one named instrument, or run the tending loop on newly-arrived data. → read
the
arbiters-worldmodel skill (also fires topic-triggered in any session)
- Phase 2 · Scout — ground the named path in the live repo; read-only
recon, ranked moves with file:line. → read
scout.md
- Phase 2.5 · Discriminate — does the Scout's premise survive the standard?
Adversarial premise-check; fabrication vs. conformance get opposite mandates.
→ read
discriminate.md
- Phase 3 · Commission — the two-arbiter arbitration (hard STOP), then the
one lossy charge. → read
commission.md
- Phase 4 · Contest — blind contestants build one slice each in worktrees;
Bridge / Breakthrough / Frontier. → read
contest.md
- Phase 5 · Judge — verify legality and mechanics yourself, run the full
sweep, merge winners. → read
judge.md
- Phase 6 · Gardener — the exhale. Two sizes: the micro-exhale as every
run's retrospective tail (prune implemented docs, sweep worktrees, promote
recurrence into the pit of success, reshape the beds), and the macro-exhale
as a whole day-type you enter from the walk — a full session of tending, no
building. → read
gardener.md
Doctrine that spans phases — the SCENE.md artifact, its header discipline, the
ideal user, beds, the pull-feedback valve — lives in scene.md. Read it when the
scene itself is in question. The world-modeling practice (instrumenting anything
with executable world models: the chain, the tending loop, probes vs
instruments) lives in the arbiters-worldmodel skill — topic-triggered, like
arbiters-challenge.
Phase 7 — hand off (fold the run back into the walk)
The run ends where the next one begins. Leave a sign-off — the position the next
run picks up from. Anchor it with prose baton set, which persists it to the
~/.prose vault (durable across /clear and machine, and the direct read in
Phase 0). When you run sessions deliberately short, the durable baton is what
makes the handoff actually land:
prose baton set "↪ HANDOFF: <position — what merged> · next: <advisory move> · or pivot (Muse)."
Speaking the same line into the session is a fine belt-and-suspenders backup — the
journal then carries it for free too.
Tend the membrane as you walk; hand the corpus forward. When the project keeps a
membrane corpus (the membrane skill — durable memory as a typed git log over OKF),
the walk tends it as a side-effect of working, not as a separate chore: orient by
reading the corpus's live beliefs and recent signals (in Phase 0, alongside the
baton); across the run, when a belief actually moves, evolve or correct it
forward and declare its faucet signal at the moment of judgment; at hand-off, the
corpus is the richest part of the position — the baton says you are here, the
corpus carries what is now believed, how it got there, and what was wrong on the
way. The next run inherits both. The git log fills itself, so this costs almost
nothing and compounds: every session leaves the memory higher-resolution than it
found it.
This is not a backlog — it does not list accumulating seams (the Scout
re-derives live work from the repo and the scene each run). It says only you are
here: position, one advisory next-move, and explicit permission to pivot. The
human can then /clear; the next /arbiters reads this back in Phase 0 and the
walk resumes. Petals fall; the garden is still there next season.