Benchmarking Framework
How experiments are designed so that each one changes exactly one variable.
Principle
Every benchmark compares a baseline and a treatment that differ in exactly one variable. Everything else is held constant and recorded.
Controllable variables
| Variable | Example values | Typical question |
|---|---|---|
| Harness | Claude Code · Codex · other | Does the harness matter for the same model? |
| Model | Sonnet · Opus | Is the larger model worth the cost? |
| Workflow | Vanilla · MDLC workflow | Does a structured workflow improve outcomes? |
| Rigor version | Rigor v1 · Rigor v2 | Did the new rigor level help? |
| Skills | none · skill set A | Do reusable skills reduce effort? |
| Policy | permissive · strict | What does stricter policy cost? |
| Tools | MCP set A · set B | Which tools help? |
Protocol
- State the research question and the single variable being changed.
- Freeze the task set, seeds and all other configuration; record them in the experiment page.
- Run n trials per arm (report n).
- Score with the metrics in the evaluation matrix.
- Report deltas against baseline, with variance, failure modes and limitations.
- Propose the next experiment.
If more than one variable changed, the result is labelled exploratory and is not added to the results register as a controlled comparison.
Naming
Experiments are numbered B-001, B-002, … and saved as benchmarks/b001-short-slug.html from the experiment template.