Measured · Study1views
kalanu index seed — IFEval — 13 harness setups
IFEval · 69 tasks · 11 harnesses · 4 models
Codex / gpt-5.4-mini leads the IFEval leaderboard.
Ranked leaderboard of agents under As published: cells ranked by the composite score — the pre-registered checks, then efficiency — codex / gpt-5.4-mini leads.
From the publisher
kalanu.ai index seed (owner-approved D4, 2026-10-03). The full IFEval corpus (69 tasks) run once through each of 13 agent harness setups at their default configuration (eleven harnesses on their default model plus two frontier rows: claude-code on claude-sonnet-5-5 and codex on gpt-6.1-sol), graded by the benchmark's own grader. One repeat per task. nanoclaw joins in a follow-up study once its runtime fix is live.
Abstract
Across 69 tasks over 13 harness/model cells in a leaderboard of agents under As published, runs cost a median of $0.01 (mean $0.01), used a median of 11.9k (mean 19.3k) tokens and took a median of 18.3s (mean 21.3s) of wall-clock each. The cells passed 84% of the pre-registered checks. Harness and model are NOT crossed in this matrix (13 cells over 11 harnesses and 4 models) — by-harness and by-model splits share cells, so never attribute an effect to one of them alone.
The result
aiderclaude-agent-sdkclaude-codecodexcontinuedeepagentsdeepseekevehermesopenclawopencode
Best setup: Codex / GPT-5.4 Mini (86.8 of 100)
- 1Codex / GPT-5.4 Mini86.8best
- 2Claude Agent SDK / Claude Haiku 4.584.0
- 3Claude Code / Claude Sonnet 5.579.1
- 4Codex / GPT-6.1 Sol78.8
- 5OpenClaw / Claude Haiku 4.577.9
- 6Claude Code / Claude Haiku 4.576.1
- 7DeepSeek Harness / Claude Haiku 4.571.9
- 8DeepAgents / Claude Haiku 4.570.9
- 9Aider / Claude Haiku 4.569.1
- 10Hermes / Claude Haiku 4.568.1
- 11eve / Claude Haiku 4.567.7
- 12opencode / Claude Haiku 4.562.8
- 13Continue / Claude Haiku 4.547.8
Overall score per cell, 0–100 points (not a pass rate): 75% evals (the deterministic checks carry the outcome share — no judge grades on this board) + 25% efficiency (cost · tokens · duration, vs the board's best agent). Absent components renormalize. Best at the top — the board's best setup is tagged.
Leaderboard
Cells ranked by the composite score — outcome (the lenses that graded) × efficiency — absolute values, no other group. Tokens, cost and duration are per-cell medians, the efficiency the score folds.
| # | Harness | Model | Score | Quality | Evals | Goal | Tokens | Cost | Duration | Runs |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Codex | GPT-5.4 Mini | 86.8 | − | 100% | − | 10.7k | $0.0029 | 14.5s | 69/69 |
| 2 | Claude Agent SDK | Claude Haiku 4.5 | 84.0 | − | 99% | − | 29.9k | $0.01 | 7.1s | 69/69 |
| 3 | Claude Code | Claude Sonnet 5.5 | 79.1 | − | 100% | − | 29.7k | $0.02 | 20.6s | 69/69 |
| 4 | Codex | GPT-6.1 Sol | 78.8 | − | 99% | − | 12.1k | $0.03 | 22.3s | 69/69 |
| 5 | OpenClaw | Claude Haiku 4.5 | 77.9 | − | 99% | − | 37.4k | $0.01 | 48.7s | 69/69 |
| 6 | Claude Code | Claude Haiku 4.5 | 76.1 | − | 94% | − | 34.7k | $0.01 | 18.3s | 69/69 |
| 7 | DeepSeek Harness | Claude Haiku 4.5 | 71.9 | − | 83% | − | 22.3k | $0.01 | 8.9s | 69/69 |
| 8 | DeepAgents | Claude Haiku 4.5 | 70.9 | − | 78% | − | 9k | $0.01 | 6.4s | 69/69 |
| 9 | Aider | Claude Haiku 4.5 | 69.1 | − | 71% | − | 2.7k | $0.0036 | 20.3s | 69/69 |
| 10 | Hermes | Claude Haiku 4.5 | 68.1 | − | 80% | − | 13.3k | $0.0036 | 30.4s | 69/69 |
| 11 | eve | Claude Haiku 4.5 | 67.7 | − | 75% | − | 8.5k | $0.01 | 7.7s | 69/69 |
| 12 | opencode | Claude Haiku 4.5 | 62.8 | − | 65% | − | 8.2k | $0.0021 | 18.3s | 69/69 |
| 13 | Continue | Claude Haiku 4.5 | 47.8 | − | 50% | − | 4.7k | $0.01 | 18.3s | 69/69 |
Quality × efficiency clusters — normalized per task
Every graded run, standardized WITHIN its task so difficulty cancels out: → right = fewer tokens than the field on the same task, ↑ up = higher quality index (85% deterministic checks passed + 15% outcome) than the field. The field pools every harness and model, so a setup's left–right position largely reflects its own token habits. Dots are runs; each harness logo is a harness × model × group centroid — hover it for the model and averages. Up-right wins.
4 runs not plotted (missing a grade or token count — infra failures included).
Every metric, per harness × model
Task completion
- Aider / Claude Haiku 4.5100%
- Claude Agent SDK / Claude Haiku 4.5100%
- Claude Code / Claude Haiku 4.5100%
- Codex / GPT-5.4 Mini100%
- Codex / GPT-6.1 Sol100%
- Continue / Claude Haiku 4.5100%
- DeepAgents / Claude Haiku 4.5100%
- DeepSeek Harness / Claude Haiku 4.5100%
- eve / Claude Haiku 4.5100%
- Hermes / Claude Haiku 4.5100%
- OpenClaw / Claude Haiku 4.5100%
- opencode / Claude Haiku 4.5100%
- Claude Code / Claude Sonnet 5.599%
Evals pass rate
- Claude Code / Claude Sonnet 5.5100%
- Codex / GPT-5.4 Mini100%
- Claude Agent SDK / Claude Haiku 4.599%
- Codex / GPT-6.1 Sol99%
- OpenClaw / Claude Haiku 4.599%
- Claude Code / Claude Haiku 4.594%
- DeepSeek Harness / Claude Haiku 4.583%
- Hermes / Claude Haiku 4.580%
- DeepAgents / Claude Haiku 4.578%
- eve / Claude Haiku 4.575%
- Aider / Claude Haiku 4.571%
- opencode / Claude Haiku 4.565%
- Continue / Claude Haiku 4.550%
Cost per run
- opencode / Claude Haiku 4.5$0.0021
- Codex / GPT-5.4 Mini$0.0029
- Aider / Claude Haiku 4.5$0.0036
- Hermes / Claude Haiku 4.5$0.0036
- DeepSeek Harness / Claude Haiku 4.5$0.01
- Continue / Claude Haiku 4.5$0.01
- OpenClaw / Claude Haiku 4.5$0.01
- Claude Agent SDK / Claude Haiku 4.5$0.01
- Claude Code / Claude Haiku 4.5$0.01
- eve / Claude Haiku 4.5$0.01
- DeepAgents / Claude Haiku 4.5$0.01
- Claude Code / Claude Sonnet 5.5$0.02
- Codex / GPT-6.1 Sol$0.03
Tokens per run
- Aider / Claude Haiku 4.52.7k
- Continue / Claude Haiku 4.54.7k
- opencode / Claude Haiku 4.58.2k
- eve / Claude Haiku 4.58.5k
- DeepAgents / Claude Haiku 4.59k
- Codex / GPT-5.4 Mini10.7k
- Codex / GPT-6.1 Sol12.1k
- Hermes / Claude Haiku 4.513.3k
- DeepSeek Harness / Claude Haiku 4.522.3k
- Claude Code / Claude Sonnet 5.529.7k
- Claude Agent SDK / Claude Haiku 4.529.9k
- Claude Code / Claude Haiku 4.534.7k
- OpenClaw / Claude Haiku 4.537.4k
Duration per run
- DeepAgents / Claude Haiku 4.56.4s
- Claude Agent SDK / Claude Haiku 4.57.1s
- eve / Claude Haiku 4.57.7s
- DeepSeek Harness / Claude Haiku 4.58.9s
- Codex / GPT-5.4 Mini14.5s
- Claude Code / Claude Haiku 4.518.3s
- Continue / Claude Haiku 4.518.3s
- opencode / Claude Haiku 4.518.3s
- Aider / Claude Haiku 4.520.3s
- Claude Code / Claude Sonnet 5.520.6s
- Codex / GPT-6.1 Sol22.3s
- Hermes / Claude Haiku 4.530.4s
- OpenClaw / Claude Haiku 4.548.7s
By harness, by model
By harness
By model
Task completion
By harness
- Aider100%
- Claude Agent SDK100%
- Codex100%
- Continue100%
- DeepAgents100%
- DeepSeek Harness100%
- eve100%
- Hermes100%
- OpenClaw100%
- opencode100%
- Claude Code99%
By model
- Claude Haiku 4.5100%
- GPT-5.4 Mini100%
- GPT-6.1 Sol100%
- Claude Sonnet 5.599%
Evals pass rate
By harness
- Codex99%
- Claude Agent SDK99%
- OpenClaw99%
- Claude Code97%
- DeepSeek Harness83%
- Hermes80%
- DeepAgents78%
- eve75%
- Aider71%
- opencode65%
- Continue50%
By model
- Claude Sonnet 5.5100%
- GPT-5.4 Mini100%
- GPT-6.1 Sol99%
- Claude Haiku 4.579%
Cost per run
By harness
- opencode$0.0021
- Aider$0.0036
- Hermes$0.0036
- DeepSeek Harness$0.01
- Continue$0.01
- OpenClaw$0.01
- Claude Agent SDK$0.01
- eve$0.01
- DeepAgents$0.01
- Claude Code$0.02
- Codex$0.02
By model
- GPT-5.4 Mini$0.0029
- Claude Haiku 4.5$0.01
- Claude Sonnet 5.5$0.02
- GPT-6.1 Sol$0.03
Tokens per run
By harness
- Aider2.7k
- Continue4.7k
- opencode8.2k
- eve8.5k
- DeepAgents9k
- Codex11.4k
- Hermes13.3k
- DeepSeek Harness22.3k
- Claude Agent SDK29.9k
- Claude Code32.2k
- OpenClaw37.4k
By model
- GPT-5.4 Mini10.7k
- Claude Haiku 4.511.2k
- GPT-6.1 Sol12.1k
- Claude Sonnet 5.529.7k
Duration per run
By harness
- DeepAgents6.4s
- Claude Agent SDK7.1s
- eve7.7s
- DeepSeek Harness8.9s
- Continue18.3s
- opencode18.3s
- Codex19.3s
- Claude Code19.5s
- Aider20.3s
- Hermes30.4s
- OpenClaw48.7s
By model
- GPT-5.4 Mini14.5s
- Claude Haiku 4.517.4s
- Claude Sonnet 5.520.6s
- GPT-6.1 Sol22.3s
Distributions
Every completed run is one dot — the spread the averages hide. Click a dot to replay that run's journey.
Cost per run
Token composition — average per run
Statistics
| Metric | Group | n | Mean | Median (pooled) | Min | Max | Std dev |
|---|---|---|---|---|---|---|---|
| Cost | As published | 894/897 | $0.01 | $0.01 | $0.0012 | $0.21 | $0.01 |
| Duration | As published | 897/897 | 21.3s | 18.3s | 716ms | 2m 24s | 15s |
| Total tokens | As published | 894/897 | 19.3k | 12.2k | 2.2k | 159.2k | 16.8k |
| Output tokens | As published | 894/897 | 726 | 446 | 0 | 16k | 1.2k |
| Cache-read tokens | As published | 894/897 | 14.3k | 10.1k | 0 | 148.7k | 16.7k |
| Cache-write tokens | As published | 894/897 | 1.4k | 366 | 0 | 22.7k | 2.1k |
| Turns | As published | 553/897 | 1.5 | 1 | 1 | 7 | 0.7 |
n = runs carrying the fact / completed runs in the group; every statistic runs over present facts only — a missing fact is never counted as 0. Std dev is the sample form (n−1), withheld below n = 2. Every figure here POOLS all runs. The typical-run figures in the abstract, the head-to-head decision and the per-setup panels take each task's median first and then the median across tasks, so a task that ran more often never outweighs one that ran once; the two medians can differ. A promise study's headline (“cut average tokens”) compares per-group means.
What each setup did
Derived from each run's recorded tool calls — not from a model's description of the run — and aggregated per setup, so a behavior seen across several runs is stated once with its rate. Open a finding to see the runs behind it, each linked to its journey at the step where it happened.
Aider · anthropic · Claude Haiku 4.5 · As published1 finding
- 45 of 69 runs · 45 completed
Claude Agent SDK · anthropic · Claude Haiku 4.5 · As published1 finding
- 61 of 69 runs · 61 completed
Claude Code · anthropic · Claude Haiku 4.5 · As published1 finding
- 64 of 69 runs · 64 completed
Claude Code · anthropic · Claude Sonnet 5.5 · As published1 finding
- 67 of 69 runs · 66 completed
Codex · openai · GPT-5.4 Mini · As published1 finding
- 63 of 69 runs · 63 completed
Codex · openai · GPT-6.1 Sol · As published1 finding
- 56 of 69 runs · 56 completed
Continue · anthropic · Claude Haiku 4.5 · As published1 finding
- 35 of 69 runs · 35 completed
DeepAgents · anthropic · Claude Haiku 4.5 · As published1 finding
- 26 of 69 runs · 26 completed
DeepSeek Harness · anthropic · Claude Haiku 4.5 · As published1 finding
- 29 of 69 runs · 29 completed
eve · anthropic · Claude Haiku 4.5 · As published1 finding
- 25 of 69 runs · 25 completed
Hermes · anthropic · Claude Haiku 4.5 · As published1 finding
- 51 of 69 runs · 51 completed
OpenClaw · anthropic · Claude Haiku 4.5 · As published1 finding
- 64 of 69 runs · 64 completed
opencode · anthropic · Claude Haiku 4.5 · As published1 finding
- 63 of 69 runs · 63 completed
Did each setup use its subject?
Read from each run's recorded steps. Runs on a harness whose evidence channel is not proven, and runs whose trace is incomplete, are not measured — never counted as unused.
- DeepSeek Harness · anthropic · Claude Haiku 4.5 · As published5 of 69 measured runs (7%)
Task text withheld
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Tasks
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Task text withheld — this benchmark is guarded and its tasks are not republished here.
Runs
Every run is inspectable — open one to replay the agent's journey step by step, with the analyst's read underneath.
Every run, filterable… of 897Show runsHide runs
| Harness | Model | Task | Completed | Quality | Evals | Tokens | Cost | Duration |
|---|
Loading runs…
Methodology
What each metric means
- Completed
- The run finished and the harness returned a response. It does NOT mean the answer was correct — a completed run can score zero on quality.
- Denominator: Terminal runs, excluding those killed by our own infrastructure.
- Quality index
- A composite used only in the quality x efficiency plot, built from whichever grader scored this study's runs — the judge's rubric, the pre-registered checks or the benchmark's own verdict — plus whether the run's own outcome was success. The map's caption names the grader and its weights.
- Denominator: Graded runs — runs the study's grader scored.
- Infra-excluded
- A run killed by our own infrastructure. It is a missing measurement, never a loss for the group, and is excluded from every rate denominator.
- Denominator: Reported as a count beside every affected panel.
- One group
- Every task runs once per harness × model cell — a leaderboard with no other group. The readout is absolute (quality, success, tokens, cost) and the cells are ranked into a leaderboard.
- Run budget and harness builds
- Each run had a wall-clock budget and ran on a recorded harness build — disclosed, never used to split a comparison: Aider: 8 min per run, 1 harness build; Claude Agent SDK: 8 min per run, 1 harness build; Claude Code: 30 min per run, 1 harness build; Codex: 30 min per run, 1 harness build; Continue: 8 min per run, 1 harness build; DeepAgents: 8 min per run, 1 harness build; DeepSeek Harness: 30 min per run, 1 harness build; eve: 8 min per run, 1 harness build; Hermes: 8 min per run, 1 harness build; OpenClaw: 30 min per run, 1 harness build; opencode: 30 min per run, 1 harness build.
- One run per task
- Every task ran once per cell, in one phrasing. Run-to-run variation is therefore not measured: a single task's difference can be one lucky or unlucky attempt. Every row of the reference table treats the TASKS as the unit: its intervals resample the tasks and its p-values come from a paired test over them, so they describe how much the result depends on which tasks were drawn — not how it would change if the same tasks were run again. With few tasks no difference can reach significance (five tasks cannot go below p = 1/16).
- Sample size
- 13 cells × 69 tasks × 1 group = 897 runs.