Three-agent caucus before opening a design ticket
A solo design pick ships a brittle ticket. A small jury forces you to surface the hard rule, spot when "labeling problem" is really a data gap, and converge to ready instead of refining.
When to convene
Caucus is for design questions with real divergence, where the goal is a ready ticket. Skip it for one-line facts (one agent), pure execution (just do it), or where there's only one sane option.
Composition: two advocates + one skeptic
Two advocates pick majority-wins and call it consensus. Add an impartial chair/skeptic whose job is failure modes and a decision criterion. Three is convention, not doctrine — two advocates + one chair works; one advocate + one skeptic works; three advocates doesn't.
The three prompts share one SCENARIO
Each agent gets the same verified facts (IDs, code-line refs, observed outcomes). Letting each agent self-research drifts the facts and you can't synthesize. Then each gets a distinct lens and a boundary:
SCENARIO (verified): ...
CONTEXT (read these files, these are the related issues, decision-maker's steer): ...
YOUR LENS: [extend-X | separate-track | skeptic/chair]
BOUNDARY: read-only, no code, ≤500 words, return VERDICT line.
Use VERDICT as the last line so synthesis can grep it. Pick lens names that frame the choice (extend-#122 advocate, separate-track advocate, skeptic/chair) — the framing shapes the output.
Run the three concurrently in background; wait for all three before synthesizing. Sequential loses the wall-clock and the parallel disagreement.
Synthesize
- Consensus → hard rule. Whatever all three agree on goes in as a non-negotiable constraint, not a soft preference.
- Divergence → chair's criterion + compatibility points. The skeptic's job is to name when each advocate breaks. Often the advocates are compatible once you apply the criterion (e.g. fallback rule + quarantine path, gated by data-first verification).
- Lock → ready. The whole point of the caucus is to converge. If you converged, open
readyand release the lock. Don't re-refine.
Traps
- Treating caucus as solution. Three agents return positions; you synthesize. Letting them agree with each other is a fragile consensus.
- No skeptic. Two advocates ship majority-wins.
- No shared SCENARIO. Facts diverge, synthesis collapses.
- No VERDICT line. Agent writes an essay, you can't grep.
- Caucus for execution. Locating a bug, writing a doc, picking a flag value — none of these need a jury.
- "Three" as dogma. Two advocates + one chair is the minimum useful shape. Three advocates is the maximum useless shape.
The synthesis rule that matters most: when the chair says "this is a data problem disguised as a labeling problem," that's the reframe — verify the data first, then design the fallback. Without the skeptic, you'd have built a clever rule on top of an incomplete export and shipped proxy labels.