docs/reproducibility.md
Static HTML generated from the repository markdown.
NixBench is built to make benchmark runs inspectable, but full reproducibility still depends on the agent, model, machine, and task corpus version.
Static HTML generated from the repository markdown.
NixBench is built to make benchmark runs inspectable, but full reproducibility still depends on the agent, model, machine, and task corpus version.
For each task, the harness records:
The aggregate run writes results/<run-id>/summary.json. Repeated runs additionally checkpoint results/studies/<study-id>/summary.json after every valid trial, including per-trial outcomes and 95% Student's t intervals for tasks passed, score rate, total agent time, and seconds per task. Non-timeout agent process errors stop a study instead of becoming benchmark failures.
When publishing or comparing results, record:
The bundled tasks are mostly deterministic because evaluators use local Nix evaluation and fake builders. Agent behavior is not deterministic unless the agent and model expose a reliable deterministic mode.
For serious comparisons, use run-all --trials 5 or more and report:
Changing a task prompt, starter, evaluator, or reference solution changes the benchmark. Treat corpus changes as benchmark-version changes.
Suggested policy:
The hidden evaluator is intentionally outside the copied workdir. Do not give the agent paths to tasks/<id>/tests/check.sh. Do not include hidden assertions in prompt.md.
For public leaderboards, use a private hidden corpus in addition to the public corpus.