Skip to main content
Every tool fault is planted, and each check is a deterministic test of the answer or of the tool calls made. coding-agent is scored by running hidden tests, and a run fails if it edits a test or a file the task doesn’t need. Treat these results as a signal, because your own agents may behave differently. coding-agent edits an in-memory copy of its project. Its tests, including any code the model wrote, run in a temporary directory with an empty environment, under Node’s permission model. That blocks files outside the directory and child processes. Network access is blocked only on Node 25 or later, so run live benchmarks on Node 25 or in a sandbox of your own.

Run it

Live runs use free OpenRouter models unless you pass --model. These flags change what’s measured:

Reading the scoreboard

  • A new harness version comes from any change to the instructions, tool names or hooks.
  • noise is the spread in pass rate between repeats. A gain smaller than the noise isn’t evidence of anything.
  • A provider failure, such as a rate limit, counts as excluded and never as a failure. Results refuse to combine if a task’s input changed between runs.

Improve and replay

improve.ts runs improveAgent on one agent’s cases. replay.ts re-runs the harnesses it recorded.

Gate experiment

experiment.ts replays recorded editor outputs through four gates (A: none, B: the old gate, C: the current gate, D: the current gate with fallback), plus a no-op (N) and a planted regression (P). simulate.ts estimates the same rates offline from per-case pass rates. experiment.ts has no default model, so pass --model and --editor every time. Before arms N and P, it checks that each --holdout case passes 6/6 on the base, and exits with code 2 if one doesn’t. It replays only rows that ended in a proposal or kept the base. The proof run, in order:

Test it