# Builder/Adversary example — minimal-prompt variant Same as [`../builder-adversary`](../builder-adversary/) in every way that matters — Builder + Adversary loop pair, phase machine, `claim(`/`review(` git handoff, `machine-docs/` coordination, cold verification — but the **role + kickoff prompts are compressed to minimal tokens**, keeping every load-bearing rule (the commit-prefix handoff, the `machine-docs/` file rule, the `WHAT+HOW+EXPECTED+WHERE=STATUS / WHY=JOURNAL` anti-anchoring contract, and the `WAITING-UNTIL` liveness protocol). Why: the prompts are sent to the agents on every kickoff, so trimming them trims tokens. Config and plans are unchanged from the original (they aren't part of the prompt). See the original's README for the full explanation of the pattern, how to run it, and the work-repo isolation model — the commands are identical, just `--config` this directory's `agents.toml`. ```bash python3 ../../agents.py status --config agents.toml python3 ../../agents.py up --config agents.toml # needs `claude` on PATH ``` ## How small? `prompts/builder.md` and `prompts/adversary.md` here are roughly **half to a third** the size of the originals, with the same rules stated tersely. The separate **`agent-orchestrator-benchmark`** repo runs a head-to-head: the same task built independently by this variant and the original (both on Sonnet), with token counts for each — confirming the minimal prompts still get the job done and quantifying the savings.