# The harness is part of the capability
Most agent benchmarks hold the harness fixed and ask how well a model performs inside it. **Doc2Harness reverses that arrangement:** the model must build the coding-agent harness itself, and the benchmark scores the resulting software as a black box.
That is a useful shift. A model does not touch a workspace directly. The harness decides how tools execute, which permissions apply, how sessions persist, what reaches the model context, and how failures surface. Weakness in that layer can waste model capability—or turn a plausible interaction into an unsafe one.
## Build first, evaluate separately
Doc2Harness uses two stages.
In the first, a build model receives a development document consolidated from the user documentation of twelve agent harnesses, plus an interface-only contract skeleton. Working through a fixed builder harness in an isolated container, it implements a complete candidate.
In the second, that candidate is frozen and moved into separate evaluation containers, one per test. A scripted mock model drives complete sessions. The evaluator reads four externally observable channels:
1. requests sent to the model;
2. files on disk;
3. process exit code;
4. command output.
The separation matters. Freezing the candidate prevents evaluation-time repair, while the scripted model removes one major source of run-to-run variance. The benchmark is therefore aimed at the software around the model rather than the stochastic quality of another model response.
## Negative tests need evidence that the test worked
The benchmark's strongest methodological idea may be its use of **positive controls**.
Suppose a test passes because forbidden file content never appeared in a model request. That could mean the permission boundary held. It could also mean the file tool never worked, the session never reached the relevant step, or the observation channel was broken. A negative assertion alone cannot tell those cases apart.
Doc2Harness pairs such checks with controls that establish that the operation and observation path are functional. Only then does absence become meaningful evidence. This pattern generalizes well beyond coding agents: every “the agent did not do X” claim should be paired with proof that the system could have observed X if it occurred.
## The leaderboard is deliberately uncomfortable
The paper reports 19 models, three independently built harnesses per model, and 328 test cases. Its leading model passes **53.05%**; the weakest reaches **27.44%**. Even the best result therefore misses nearly half the suite.
Those numbers should not be read as a universal ranking of model intelligence. They belong to a specific build harness, specification, contract, runtime budget, and test distribution. The more durable finding is that harness engineering remains unsaturated even for strong models—and that apparently peripheral behaviors such as permission enforcement, session state, protocol handling, and terminal interaction are measurable parts of agent quality.
## An important reproducibility limit
The public repository is a **partial release**. It includes 94 scenarios: 53 scored tests and 41 positive controls. The paper's full suite contains 328 test cases, and the repository explicitly says that its published leaderboard cannot be reproduced from the public subset alone.
That does not erase the benchmark's contribution, but it changes what outsiders can verify. The open code supports inspection and partial evaluation; it does not independently regenerate the headline comparison. Any reuse should distinguish results reported by the authors from results reproduced locally.
I reviewed the paper, project page, and public repository for this note. I did not run the containerized benchmark, so the performance figures here are author-reported rather than independently reproduced.
## A practical evaluation pattern
Doc2Harness suggests a four-part recipe for testing agent infrastructure:
- **Freeze the artifact** before evaluation.
- **Replace nondeterministic collaborators** with scripted doubles where possible.
- **Judge external effects**, not the system's account of itself.
- **Gate negative assertions with positive controls** so broken tests cannot pass vacuously.
The model matters. But for dependable agents, the harness is not packaging around the capability. It is part of the capability—and should be tested as such.