Model Fusion
Effort: heavy — a full panel drafting in parallel plus an independent judge (and optional writer); spend it on hard builds and fixes that ship, never on one-line changes. Removes: betting the change on a single model's draft, and the rework when that one draft is wrong.
Many independent voices beat one voice. A panel of models drafts the same task in
parallel. A judge (a model that wrote none of the drafts) picks or merges the best.
The winner is then checked against what was actually asked.
When to run it
- Any substantial build, fix, or uplift where quality matters more than speed.
- When you want a specific pair of independent graders, not blind trust in one model.
- NOT for trivial one-line changes. Make the direct change and verify it.
The three stages
1. Panel — drafts in parallel
- Send the same task, with the same context, to every panel model at once.
- Each drafter works alone. No drafter sees another's work.
- A drafter that errors, times out, or returns blank is logged and dropped.
It never kills the round. Log the drop loudly — never swallow it.
- Collect every non-empty candidate.
2. Judge — an outsider picks and merges
- Before judging, run a cheap mechanical gate on each candidate: does it apply
cleanly? Does it parse? Run the probe on a throwaway copy, never the live tree.
Candidates that fail the gate are out before the judge sees them.
- Two judge shapes — pick one per config:
- Synthesis: the judge analyzes every candidate (strengths, defects, conflicts),
then a separate writer model composes the final answer from that analysis.
Writer and judge are different roles; keep them different models when you can.
- Selection: the judge picks the single best candidate that passed the gate.
Cheaper. Use it when merging adds nothing.
- If the judge or writer is unavailable, degrade LOUDLY to selection over the same
candidates. Never waste the panel silently; never pretend synthesis happened.
- If no candidate survives the gate, append the best error to the prompt and rerun
the panel — bounded, at most 2 repair rounds. On exhaustion return failure with
the full error list. Never return an empty or no-op result as success.
3. Validate — check the winner against intent
- Re-read the original ask. Does the winner do what was asked — all of it, and
nothing it wasn't asked to do?
- Check semantic correctness, style fit with the surrounding code, and that it
still applies cleanly.
- Low confidence is surfaced as an escalation flag, not hidden. Then prove it the
normal way: failing test first, green, live behavior. A merged draft that never
ran is a guess.
The ladder
- Fusion's rung shape: a wide panel of cheap models at the bottom, tighter panels and
tighter output budgets climbing up — a misconfigured rung fails loud at load time.
- Config format, roles-not-names, and live-probe resolution all belong to
fleet-ladder.
Hard rules — break one and the skill failed
- Builder never judges. The judge authored no candidate. The final grader is a
different model (ideally a different family) from whoever built the winner.
- No hardcoded model names at any call site. Roles in code, models in config.
- No silent degradation. Dropped drafters, judge fallback, gate failures, and
exhaustion are all loud. An ungradeable result never passes by default.
- Bounded repair. Panel reruns have a hard cap. Exhaustion is a loud failure,
not an infinite loop.
- Green tests alone are not done. The winner is proven on live behavior.
Works well with
- fleet-ladder — resolve which models are up before the panel fires.
- blind-tribunal — the fail-closed grading court when the primary grader dies.
- red-first — the failing test that the winning draft must turn green.
- blind-eval — keep-or-revert taste gate when no test can decide.
1---2name: model-fusion3description: Use when one model's answer is not trustworthy enough — a hard build, fix, or design where you want several models to compete and an independent judge to pick. A panel drafts in parallel, a judge merges the winner, the result is validated against the original intent. Trigger words: fusion, panel, judge, multi-model, ensemble, draft and merge, builder not grader.4license: MIT5---67# Model Fusion8**Effort:** heavy — a full panel drafting in parallel plus an independent judge (and optional writer); spend it on hard builds and fixes that ship, never on one-line changes. Removes: betting the change on a single model's draft, and the rework when that one draft is wrong.910Many independent voices beat one voice. A panel of models drafts the same task in11parallel. A judge (a model that wrote none of the drafts) picks or merges the best.12The winner is then checked against what was actually asked.1314## When to run it1516- Any substantial build, fix, or uplift where quality matters more than speed.17- When you want a specific pair of independent graders, not blind trust in one model.18- NOT for trivial one-line changes. Make the direct change and verify it.1920## The three stages2122### 1. Panel — drafts in parallel23241. Send the same task, with the same context, to every panel model at once.252. Each drafter works alone. No drafter sees another's work.263. A drafter that errors, times out, or returns blank is logged and dropped.27 It never kills the round. Log the drop loudly — never swallow it.284. Collect every non-empty candidate.2930### 2. Judge — an outsider picks and merges31321. Before judging, run a cheap mechanical gate on each candidate: does it apply33 cleanly? Does it parse? Run the probe on a throwaway copy, never the live tree.34 Candidates that fail the gate are out before the judge sees them.352. Two judge shapes — pick one per config:36 - **Synthesis:** the judge analyzes every candidate (strengths, defects, conflicts),37 then a separate writer model composes the final answer from that analysis.38 Writer and judge are different roles; keep them different models when you can.39 - **Selection:** the judge picks the single best candidate that passed the gate.40 Cheaper. Use it when merging adds nothing.413. If the judge or writer is unavailable, degrade LOUDLY to selection over the same42 candidates. Never waste the panel silently; never pretend synthesis happened.434. If no candidate survives the gate, append the best error to the prompt and rerun44 the panel — bounded, at most 2 repair rounds. On exhaustion return failure with45 the full error list. Never return an empty or no-op result as success.4647### 3. Validate — check the winner against intent48491. Re-read the original ask. Does the winner do what was asked — all of it, and50 nothing it wasn't asked to do?512. Check semantic correctness, style fit with the surrounding code, and that it52 still applies cleanly.533. Low confidence is surfaced as an escalation flag, not hidden. Then prove it the54 normal way: failing test first, green, live behavior. A merged draft that never55 ran is a guess.5657## The ladder5859- Fusion's rung shape: a wide panel of cheap models at the bottom, tighter panels and60 tighter output budgets climbing up — a misconfigured rung fails loud at load time.61- Config format, roles-not-names, and live-probe resolution all belong to62 [fleet-ladder](../fleet-ladder/SKILL.md).6364## Hard rules — break one and the skill failed6566- **Builder never judges.** The judge authored no candidate. The final grader is a67 different model (ideally a different family) from whoever built the winner.68- **No hardcoded model names** at any call site. Roles in code, models in config.69- **No silent degradation.** Dropped drafters, judge fallback, gate failures, and70 exhaustion are all loud. An ungradeable result never passes by default.71- **Bounded repair.** Panel reruns have a hard cap. Exhaustion is a loud failure,72 not an infinite loop.73- **Green tests alone are not done.** The winner is proven on live behavior.7475## Works well with7677- [fleet-ladder](../fleet-ladder/SKILL.md) — resolve which models are up before the panel fires.78- [blind-tribunal](../blind-tribunal/SKILL.md) — the fail-closed grading court when the primary grader dies.79- [red-first](../red-first/SKILL.md) — the failing test that the winning draft must turn green.80- [blind-eval](../blind-eval/SKILL.md) — keep-or-revert taste gate when no test can decide.