deadeye routes each subagent task to the cheapest model tier that can still do it. We measured what that's worth — in real billed dollars, graded by a test the model never saw.
18 runs · 6 tasks × 3 tiers (haiku · sonnet · opus) · real total_cost_usd
| Task | Band | haiku | sonnet | opus | Cheapest that passed |
|---|---|---|---|---|---|
| clamp | mech | $0.026PASS | $0.110PASS | $0.160PASS | haiku |
| wordwrap | std | $0.046PASS | $0.230PASS | $0.331PASS | haiku |
| csv | std | $0.060PASS | $0.329PASS | $0.204PASS | haiku |
| semver | hard | $0.055PASS | $0.279PASS | $0.265PASS | haiku |
| expr-eval | hard | $0.050FAIL | $0.294FAIL | $0.407FAIL* | opus |
| counter | hard | $0.034PASS | $0.186PASS | $0.311PASS | haiku |
A "saving" is fake if the cheap model fails — you re-run on opus and pay twice. So every run measures both cost and quality, and a saving counts only when the cheaper tier actually cleared the task.
git archive HEAD into a fresh temp dir — runs can't contaminate each other.
claude -p --model <tier> writes the actual code. DEADEYE=off — raw model cost.
A hidden go test the model never saw runs against its output. Pass or fail.
Billed total_cost_usd + tokens from the run's JSON. Nothing estimated.
The recursive expression evaluator (operator precedence, unary minus, error handling) failed on
haiku and sonnet, and opus was borderline
— it failed one trial and passed on re-run (the *). This is exactly the task routing
must send up. The roll-up keeps it on opus and claims no saving for it.
The whole thesis in one row: route the easy common case down, keep the hard frontier case up.
Correct output costs about 6× more on opus. deadeye routes it down.
← back to deadeyeA second, separate benchmark. deadeye reviewed 24 real pull requests it had never seen — each one shipping a bug the project later repaired in a follow-up. That fix is the answer key, and deadeye never saw it.
24 PRs · reviewed cold on the flagship tier · graded against the shipped fix · precision adversarially re-verified in source
The shape matters more than the headline. deadeye is strongest exactly on the bugs a diff-only reviewer misses — the cross-file permission regression that needs you to open the callee or read the migration. It caught every authorization bug in the set. It's weakest on concurrency races — cold-reading a data race off a diff is hard, and the number says so.
Beyond the 24 seeded bugs, it surfaced 17 more real issues on the same PRs — at the cost of that single false positive.
New weak-class lenses —
sibling-branch asymmetry, a dropped condition predicate, type-identity edges (a str subclass,
null vs undefined), borrowed-state mutation, and the async await
that never resolves. On a fresh held-out A/B — 15 new regression PRs,
none from this set, each reviewed cold old-rubric vs new and graded against the shipped fix — recall lifted
4/15 → 6/15 with zero regressions, both gains verified in source.
Concurrency races remain the known soft spot.
Each PR introduced a bug the project later fixed in a follow-up commit. deadeye reviewed the introducing PR cold — diff and source only, no fix, no comments. A finding counted as a catch only when an independent grader confirmed it matched what the fix changed; anything ambiguous was scored a miss. Precision was checked separately: every one of the 31 findings was re-read in source by an adversarial pass whose only job was to refute it.
Held-out by construction, graded against real, public git history.
61% of held-out bugs caught cold, at 97% precision — every finding proven in source.
← back to deadeye