Harness health
Did every run measure what it claims?
A score says how a run went. It does not say whether the architecture it is filed under actually ran. Every run carries a list of checks that say so, and a run that fails one is excluded from every ranking and counted here instead.
- Runs
- 900
- in this run set, every model
- Ranked
- 900
- design verified, no API loss
- Excluded: fidelity
- 0
- the design did not run as designed
- Excluded: API
- 0
- lost to the API after retries
- Retried
- 16
- needed a second attempt
Which designs lost runs
An exclusion is the harness failing the design, not the design failing the task: a planner that returned no plan, a proposer that started without its tools. It is counted against the harness, and the run is left out so that it cannot flatter or sink the architecture it was filed under.
- Single150 ranked of 150
- Plan-execute150 ranked of 150
- Orchestrator-workers150 ranked of 150
- Plan-execute-verify150 ranked of 150
- Propose-select150 ranked of 150
- Gated-execute150 ranked of 150
Every check, and how often it held
The runner’s own checks apply to every architecture. Each architecture adds checks that say what running as designed means for it.
The runner’s checks, on every run
No API failures
harness.apiNo model call failed at the API.
900/900 100%Builtin tools
harness.builtin-toolsA check recorded with the run.
900/900 100%Every call ended
harness.calls-endedEvery call ended with a result, or was stopped by the run's own limits.
900/900 100%No harness tool denied
harness.harness-toolsThe sandbox guard never denied a harness tool, nor a tool the session itself offered.
900/900 100%Judge answered
harness.judgeAt least one grading call returned a usable verdict.
108/108 100%Tool servers connected
harness.mcp-connectedEvery tool server the harness gave a call was connected when the session started.
900/900 100%No foreign tool servers
harness.mcp-hermeticNo call loaded a tool server the harness did not give it.
900/900 100%No silent fallbacks
harness.not-degradedNo phase fell back on a default (an empty plan, a default winner) instead of its output.
900/900 100%Run completed
harness.run-completedThe environment was built, the architecture returned and grading finished, none of them throwing.
900/900 100%Structured replies arrived
harness.structured-outputEvery call that asked for structured output and ran to the end got it.
900/900 100%
Each call was shown the right tools
single.toolsThe agent was shown exactly the task’s tools, none missing and none extra.
150/150 100%
The plan was a plan
plan-execute.planThe planner’s reply was read through its schema and held at least one step.
150/150 100%Each call was shown the right tools
plan-execute.toolsThe planner was shown no tools and the executor the task’s full toolset.
150/150 100%
The task was decomposed
orchestrator-workers.decompositionThe orchestrator’s reply was read through its schema and held at least one subtask.
150/150 100%The fan-out happened
orchestrator-workers.fan-outEvery subtask got a worker, every worker ran, and the recorded subagent count matches.
150/150 100%The synthesis wrote the answer
orchestrator-workers.synthesisThe final answer came from the synthesis call, not from a worker’s report standing in for it.
150/150 100%Each call was shown the right tools
orchestrator-workers.toolsThe orchestrator and the synthesis were shown no tools and every worker the task’s full toolset.
150/150 100%
The plan was a plan
plan-execute-verify.planThe planner’s reply was read through its schema and held at least one step.
150/150 100%Every verdict was read
plan-execute-verify.verdictsEvery review round ended with a verdict read from the schema reply, not a default.
150/150 100%The loop did what its verdicts said
plan-execute-verify.loopEvery verdict that called for a revision got one, and nothing was revised without such a verdict.
150/150 100%Each call was shown the right tools
plan-execute-verify.toolsThe planner was shown no tools, the verifier the read-only ones, and the executor and reviser the full toolset.
150/150 100%
All three proposers ran
propose-select.proposalsThree proposers ran in parallel, each from its own angle, and none was starved while another ran.
150/150 100%The selector chose
propose-select.selectionThe selector picked a proposal by a valid number, read from its schema reply and not a default.
150/150 100%Each call was shown the right tools
propose-select.toolsEach proposer was shown the read-only tools, the selector none, and the executor the full toolset.
150/150 100%
Every state change was reviewed
gated-execute.reviewedEvery call that changed the world had been allowed by a review before it ran, counted from the world’s own journal.
150/150 100%Every decision was read
gated-execute.decisionsEvery review that ran to its end gave its decision through the schema; an unreadable one is a denial.
150/150 100%Each call was shown the right tools
gated-execute.toolsThe executor was shown the task’s full toolset and each reviewer the read-only tools.
150/150 100%
The runs that were left out
No run failed a check. Every recorded run was ranked, except as noted below.
Provenance of the numbers on this page
- run set
- scaffold-or-scale-v1
- models
- Haiku 4.5, Sonnet 5.5, Opus 5.5
- effort
- high
- repeats
- 2
- fixtures
- replay
- runs
- 900 / 900
- strategy cost
- $354.44
- judge cost
- $9.19
- wall clock
- 9h 48m
- git
- fce5807b2d
Cost excludes judge calls, which are tracked separately so a scoring model never flatters or penalises an architecture. Every figure on this site is read from results/ at build time.