The TIER Model Report — Edition 1#

Reports · Edition 1 (2026-07)

Corrections#

Corrected · 11 corrections · · errata revision 1

Edition pin (revision:SHA-256): 2026-07=1:ec6197406c9a11cfccc9b28b5e9fb0d2ee2f732c1a4c9a844f95b3957aaacf71

Errata JSON · Correction manifest

Download the correction manifest and errata, then run these checks in the folder you saved them to:

shasum -a 256 MANIFEST.v1.json
shasum -a 256 ERRATA.v1.json

The manifest's SHA-256 must equal ec6197406c9a11cfccc9b28b5e9fb0d2ee2f732c1a4c9a844f95b3957aaacf71 above. The errata's SHA-256 must equal the manifest's errata.sha256. The public kit includes these revision 1 files alongside later corrections; consult its ERRATA.md for the current revision and verification workflow. The manifest's predecessor.sha256 equals shasum -a 256 MANIFEST.json in the kit's editions/2026-07/; this check ties the corrections to the published kit. This pin is published here outside the kit; matching hashes check bytes against this value and do not authenticate the publisher.

Historical case study with errata. Read these corrections before the original findings below. Dates are editorial correction dates.

  1. 2026-07-C01: editions/2026-07/REPORT.md, Method / verification and cost tables; PROTOCOL.md §1 and §4.3, capture-parity claim. ·

    Claude costs are derived from deduplicated Claude Code usage logs. Their completeness against independent provider accounting remains unvalidated, including for the subscription routes used here. Missing usage would understate those costs. Codex costs use logged cumulative counters; those counters do not independently establish complete capture. If the logs undercount, costs are understated, TIER scores read high, and Claude looks relatively cheaper in cross-vendor comparisons. Accounting consistency and reproducibility from captured evidence are the properties checked; capture parity against independent provider accounting is not proven. No historical cost multiplier or measured error bound is established.

    editions/2026-07/REPORT.md · score.py · token_evidence.py · PROTOCOL.md

  2. 2026-07-C02: editions/2026-07/REPORT.md, How each model worked (output already includes reasoning) and per-run output headings. ·

    Claude Code 2.1.218 logs carry no thinking breakdown. Anthropic documents thinking as billed output, but inclusion in these archived logs has not been independently checked. We price the recorded output count without adding an inferred thinking count.

    editions/2026-07/REPORT.md · claude-code/opus/orgsync/rep1/stamp.json · claude-code/opus/orgsync/rep1/session.jsonl · score.py · docs/en/build-with-claude/extended-thinking

  3. 2026-07-C03: editions/2026-07/REPORT.md, The finding / What this edition does and does not show, cross-vendor interpretation. ·

    Each result is a model in its own vendor's CLI; this edition cannot separate model from tool. The experimental unit is the complete model-tool configuration, including effort settings, tool permissions, caching policy and billing route. Cross-vendor cost comparisons describe only the tested configurations and tasks; they do not isolate model efficiency or establish a purchasing recommendation. Effort settings were not recorded for Edition 1. Every GPT cell was cheaper than every passing Claude cell on each task; a tool or vendor effect could produce that pattern. October configuration and cache-share measurements must not be backdated to July.

    editions/2026-07/REPORT.md · editions/2026-07/metrics.csv · claude-code/opus/orgsync/rep1/stamp.json · codex/gpt-5.6-sol/orgsync/rep1/stamp.json

  4. 2026-07-C04: editions/2026-07/REPORT.md, The finding:14-18, claimed top-of-order inversion. ·

    Opus had the higher observed mean cost on orgsync, but its run range overlaps Fable's; three runs do not establish a stable ordering. For the two-sided exact permutation test of the difference in mean cost, with three runs per model, the observed p-value is 0.30 and the minimum achievable p-value is 0.10. This does not establish equivalence. The duration/cronspec orderings survive descriptively: their observed run ranges do not overlap for any model pair. Range separation is an editorial condition, not a significance criterion; sample means and table sorting do not establish stable population ordering. Independence of July runs has not been established; the permutation p-value is a conditional calculation under that assumption.

    editions/2026-07/REPORT.md · editions/2026-07/metrics.csv

  5. 2026-07-C05: editions/2026-07/REPORT.md, admission rule / orgsync failure finding, calibration selection. ·

    The three Edition 1 failures in this comparison are the calibration runs that admitted orgsync to service, at $0.527148, $0.563410 and $0.465123. They were reused as scored runs, not fresh held-out observations. The probability that the admission-selected panel contained a failure was 1 by construction. The Edition 2 successor passed this already published task; this comparison shows that the successor passed, does not measure how much the model line improved, and is not evidence that the task separates models. Fresh replicates do not make a calibration-selected task held out.

    editions/2026-07/REPORT.md · editions/2026-07/metrics.csv · editions/2026-10/REPORT.md · TASKS.md

  6. 2026-07-C06: editions/2026-07/REPORT.md, Method / Known limitations; PROTOCOL.md §4.1 and §9, preregistration claims. ·

    Historical exceptions and amendments are not prospective preregistration. Edition 1 reused calibration failures and missed §5.6 escrow and a judge-hash publication deadline. Original manifests and run bytes remain historical evidence. No enforced prospective lock or independent anchor is demonstrated by the published artifacts; future commitment/deviation enforcement is separate work, not a property conferred on this edition by this erratum.

    editions/2026-07/REPORT.md · PROTOCOL.md · TASKS.md

  7. 2026-07-C07: editions/2026-07/REPORT.md, Method, independent judge; PROTOCOL.md §5.4 hidden/never sees claims. ·

    These are operator-written acceptance tests, with commitment timing and prior-publication limitations disclosed. Independent means separate from the submitted program, not independent authorship or independent validation. Hidden at an invocation does not mean previously unseen: orgsync prompt and judge were public from 2026-07-23, before October scoring. Duration remained active with a public judge, and cronspec had a public judge without a recorded reveal event. Public availability establishes an opportunity for prior exposure, not proof of training inclusion. No paired unpublished constants-variant contamination control was demonstrated for any scored task. Published-task passes are historical task/configuration observations, not held-out capability evidence.

    editions/2026-07/REPORT.md · TASKS.md · acceptance_orgsync.py · acceptance_cronspec.py · acceptance_test.py

  8. 2026-07-C08: editions/2026-07/REPORT.md, How to read the tables, TIER column. ·

    The benchmark's TIER column is fixed task-difficulty points per $1,000 of captured AI usage priced at list rates. It differs from the product's TIER, which uses merged-work outcome points and its own eligibility and observed-quality rules. A benchmark acceptance is not a merged pull request; the values are not comparable with a product score. This is an observational ratio, not a causal estimate of AI productivity, value or return.

    editions/2026-07/REPORT.md · editions/2026-10/REPORT.md · PROTOCOL.md

  9. 2026-07-C09: editions/2026-07/REPORT.md, dispersion and reliability; PROTOCOL.md §4.1 leading-indicator claim. ·

    Dispersion as a leading indicator of the failure edge is an unvalidated hypothesis, not an established predictive relationship. Three costs per cell are descriptive observations, not a calibrated uncertainty interval or evidence of long-run reliability. In Edition 2, GLM 5.3 Flash had 46.2% dispersion and passed all three runs; that does not validate or refute a predictive rule. Shared cache state can invalidate independence assumptions. The October first-call cache observation was not a July independence measurement; no effective sample size or direction of variance error is established for July.

    editions/2026-07/REPORT.md · editions/2026-07/metrics.csv · editions/2026-10/REPORT.md · PROTOCOL.md

  10. 2026-07-C10: editions/2026-07/REPORT.md, verification instructions / Method and Stamp. ·

    Default verification checks hashes, recorded usage/cost derivations and the implemented numeric table comparisons; it executes no submissions. A successful check does not establish every narrative fact, complete usage capture, judge validity, or production quality. Missing required artifacts or unavailable judges can be reported as SKIP while verification exits 0; a zero exit code alone does not mean every submission was rejudged. No third-party clean-rejudge receipt has been established. These editions are historical case studies with errata; no claim to reproduce the Model Report yourself or to independently re-execute its model runs is made.

    editions/2026-07/REPORT.md · verify.py · TASKS.md

  11. 2026-07-C11: editions/2026-07/REPORT.md, evidence preparation / commitment and hash guarantees. ·

    A reader without the original logs cannot prove their pre-redaction hashes from the redacted kit. Matching current hashes establishes consistency with the shipped bytes, not historical custody or commitment timing. Wall time rests on harness receipts. TASKS.md records that §5.6 escrow was not met, no independently anchored timestamp proof exists, and orgsync rep1's judge hash reached the ledger 4m34s after its first verdict. Commit history and post-judgment stamps cannot retroactively supply the missing pre-result guarantee. These limitations remain attached to both editions; this dated correction supplies neither an external timestamp nor a prospective commitment gate.

    editions/2026-07/REPORT.md · TASKS.md · verify.py · editions/2026-10/EVIDENCE-MANIFEST.jsonl

2026-07 · seven models · three tasks · 63 runs · $53.4657 at list rates · 60 accepted / 3 not


Pencil drawing: seven numbered robots race over three hurdles marked Easy, Medium and Integration. Robot 7 sits puzzled beside the knocked-down Integration bar while the others clear it. A young engineer points at a clipboard titled “Cost per finished job” for an older executive. Caption: “Three jobs, three heights. We price the finished work, not the attempt.”

The finding#

Cost per accepted outcome varied 24× on the easy task, 22× on the medium one, and 36× on the integration task. Six of seven models produced accepted work on all three. One did not produce a single accepted outcome on the integration task and therefore has no score for it — not a low score.

The relative cost order changed on orgsync. On duration and cronspec the cheapest-to-dearest ordering was identical, model for model. On orgsync it inverted at the top: claude-opus-4-8 became the most expensive per accepted outcome, passing claude-fable-5, which had been dearest on both earlier tasks.

The judges test specific assertions. On these tasks, the dearer passing models met the same judge assertions at up to 36 times the price.

Terms used#

Anchor Set — frozen tasks re-run to track cost and catch regressions.

dispersion — the sample standard deviation of run costs within a model–task cell, divided by their mean and expressed as a percentage. The sample calculation uses one fewer than the number of runs as its denominator.

EASY-floor — the easy task kept active at full replication to track cost and variation; it is exempt from saturation-based graduation.

escrow — a commitment to the next edition's frontier task and judge hashes before the current edition's results exist, with an independently anchored timestamp.

flipped-verdict negative control — a test that reverses a recorded verdict and checks that verification rejects the mismatch.

judge — the task's acceptance-test program.

judge hash — the judge file's SHA-256 fingerprint.

panel consensus B — the three-specialist decision panel's unanimous recommendation to publish Edition 1 after mechanical re-judgment and public-submission export fixes, disclosing the limitations that cannot be fixed.


Known limitations#

We publish Edition 1 under R-2026-10-13-3 (publish after mechanical fixes, disclose unfixable limitations) (2026-10-13, panel consensus B), with these limitations disclosed rather than claiming they can be repaired:

  • §5.6 escrow was not met. We consumed our own escrow: orgsync/v1 became this edition's task. Edition 2 has since run, so the required commitment before results cannot be satisfied retroactively (#5).
  • No unforgeable timestamp anchor exists for any task. Our commitments rest on commit history alone, not an independently anchored timestamp proof.
  • orgsync rep1's judge hash was published 4m34s after its first verdict (#4). The stamped hash matches the revealed judge; the ledger ordering guarantee was not met for that run.
  • The duration judge (acceptance_test.py) is public while duration remains an active EASY-floor task. Its answer key can contaminate future runs.
  • The cronspec/v2 judge became public without a recorded reveal event. Graduation was recorded on 2026-10-13; we cannot backdate the missing reveal.

How to read the tables#

TIER = points / (cost / $1,000)      HIGHER is better  ↑ (higher is better)
E[$/accepted] = cost / accepted       LOWER is better  ↓ (lower is better)

The difficulty → weight mapping is a protocol choice, not something derived from data (PROTOCOL §7a, locked). TIER's weight scale is defined over merged pull requests, and a benchmark task is not one. This mapping is fixed across editions and is printed in every report that publishes a TIER score:

task difficulty weight scale point
easy 1.0 s
medium 3.0 m
integration 5.0 l

NO SCORE is not a low score. With no accepted outcomes, cost per accepted outcome is undefined. The cell is never rendered as a large number, a zero, or a blank.


Results#

EASY — duration (weight 1.0)#

Parse and format human-readable duration strings against a stated spec.

model outcome TIER ↑ (higher is better) E[$/accepted] ↓ (lower is better) run-to-run range dispersion
gpt-5.6-luna 3/3 33,140 $0.0302 $0.0292 – $0.0312 3.4%
gpt-5.6-terra 3/3 13,838 $0.0723 $0.0638 – $0.0803 11.4%
gpt-5.6-sol 3/3 6,272 $0.1594 $0.1461 – $0.1700 7.7%
claude-haiku-4-5 3/3 4,941 $0.2024 $0.1944 – $0.2097 3.8%
claude-sonnet-5 3/3 3,533 $0.2831 $0.2793 – $0.2906 2.3%
claude-opus-4-8 3/3 2,607 $0.3836 $0.3751 – $0.3942 2.5%
claude-fable-5 3/3 1,379 $0.7253 $0.6958 – $0.7433 3.6%

Spread 24.04×. Verdict: cost floor holding — does NOT graduate. All seven models passing is the designed outcome here, not a saturation signal: PROTOCOL §3.3 exempts the EASY tier from the band precisely because everyone is supposed to pass it. duration stays active at full N every edition, which is what keeps the dispersion error bar on the one number this tier exists to publish.

MEDIUM — cronspec (weight 3.0)#

Parse and evaluate cron expressions against a stated spec, including edge cases.

model outcome TIER ↑ (higher is better) E[$/accepted] ↓ (lower is better) run-to-run range dispersion
gpt-5.6-luna 3/3 33,353 $0.0899 $0.0811 – $0.0985 9.7%
gpt-5.6-terra 3/3 22,175 $0.1353 $0.1234 – $0.1484 9.3%
gpt-5.6-sol 3/3 12,530 $0.2394 $0.2316 – $0.2440 2.9%
claude-haiku-4-5 3/3 6,876 $0.4363 $0.3253 – $0.5640 27.6%
claude-sonnet-5 3/3 2,862 $1.0482 $0.9964 – $1.1106 5.5%
claude-opus-4-8 3/3 2,358 $1.2723 $1.1656 – $1.4406 11.6%
claude-fable-5 3/3 1,509 $1.9877 $1.8750 – $2.0758 5.2%

Spread 22.10×. Verdict: saturated — all seven models passed every run, so the §3.3 trigger is met. cronspec/v2 graduated to the Anchor Set on 2026-10-13, recorded in the append-only Task Ledger. Its judge was already public on tiermetric/model-bench without a recorded reveal event; we do not backdate a §5.4 reveal.

INTEGRATION — orgsync (weight 5.0)#

Complete a partially built tool inside an existing codebase by reconciling two services that disagree, under pagination, rate limits and error paths.

model outcome TIER ↑ (higher is better) E[$/accepted] ↓ (lower is better) run-to-run range dispersion
gpt-5.6-luna 3/3 45,724 $0.1094 $0.0989 – $0.1232 11.4%
gpt-5.6-terra 3/3 17,727 $0.2820 $0.2480 – $0.3322 15.7%
gpt-5.6-sol 3/3 8,730 $0.5728 $0.5625 – $0.5913 2.8%
claude-haiku-4-5 0/3 NO SCORE NO SCORE — —
claude-sonnet-5 3/3 2,627 $1.9035 $1.6603 – $2.1910 14.1%
claude-opus-4-8 3/3 1,264 $3.9542 $3.1607 – $4.4309 17.5%
claude-fable-5 3/3 1,464 $3.4161 $2.9127 – $4.1220 18.4%

Spread 36.16× across the six models that scored. Verdict: saturated (6 of 7 perfect) — under §3.3 a task is saturated when all but at most one roster model passes every one of its runs. orgsync graduated to the Anchor Set on 2026-07-23 with its prompt, judge and design artifacts revealed, each re-verified against the recorded SHA-256. The judge-hash publication ordering exception for rep1 is disclosed above and in PROTOCOL §3.4.1.

claude-haiku-4-5 failed all three replicates on the same single assertion — A9.file_summary (TestA09Idempotent.test_second_run), the run-invariance check: a second invocation must not re-post work the first already completed. Its own test suite returned OK on all three runs. This specific deficit repeated in every recorded calibration run: one model, one assertion, three times, while everything the model wrote to check itself passed. It is also the reason this task was admitted to service at all. See below.


How each model worked#

This section was added on 2026-10-13, derived from the unchanged July bundles, and changes no published Edition 1 number.

Recorded environment. From the bundles’ stamp.json files only:

field recorded value
machine / OS / architecture Darwin 25.5.0 arm64 / Apple M5 Max
CLI versions 2.1.218 (Claude Code); codex-cli 0.145.0
dates (UTC) 2026-07-22; 2026-07-23
machine load not recorded
concurrency not recorded
network conditions / vendor load not recorded
effort settings not recorded

Wall time depends on the machine and network, is shown for context, and is never used to rank.

Each task is shown separately, in manifest roster order. Summaries give the median and full observed range per run on that task. E[$/accepted] retains the cost of failed runs; zero accepted outcomes mean NO SCORE. There is no combined or cross-task score.

For Claude Code, model calls / responses come from tokens.api_calls. The count is checked against the session’s usage records, with repeated message IDs counted once. For Codex, the count comes from cumulative token_count records, with adjacent identical usage snapshots counted once using the shared Edition 2 derivation. This measures model responses; it does not establish HTTP request counts. The CSV records the method for each run.

Wall time comes from each run’s result.json.wall_seconds. Token usage is recalculated from the archived session log, and list cost from that bundle’s pinned price snapshot. Billed tokens include each cache read. Output already includes reasoning; adding it separately would double-count it. Unknown reasoning is shown as not reported and left empty in metrics.csv, as in Edition 2. Bundle paths in the CSV are relative to the repository or archive root.

Six-decimal derived versus recorded list costs differ for claude-code/opus/cronspec/rep1: derived $1.165633, recorded $1.165634.

At this head, python3 verify.py reports 366 checks: 366 PASS · 0 FAIL · 0 SKIP and python3 verify.py --rejudge reports 429 checks: 429 PASS · 0 FAIL · 0 SKIP; these counts include the checks this section adds, and the earlier 342-check figure is the count before this section existed.

baseline — duration/v1#

model E[$/accepted] ↓ (lower is better) wall seconds median (range) model calls / responses median (range) billed tokens median (range)
claude-fable-5 $0.7253 54 (46 – 54) 4 (4 – 4) 133,337 (131,711 – 133,937)
claude-haiku-4-5 $0.2024 188 (173 – 195) 10 (10 – 11) 385,366 (374,250 – 427,896)
claude-opus-4-8 $0.3836 63 (57 – 65) 3 (3 – 4) 103,820 (103,463 – 133,847)
claude-sonnet-5 $0.2831 53 (50 – 56) 4 (4 – 5) 184,150 (183,963 – 226,401)
gpt-5.6-luna $0.0302 54 (54 – 55) 5 (5 – 5) 74,817 (74,183 – 74,894)
gpt-5.6-sol $0.1594 63 (52 – 64) 5 (5 – 5) 82,922 (80,697 – 84,313)
gpt-5.6-terra $0.0723 52 (47 – 54) 5 (4 – 5) 80,694 (64,229 – 81,349)
model rep outcome wall seconds model calls / responses uncached input cache read cache write output (incl. reasoning) of which reasoning all tokens billed list cost $
claude-fable-5 1 PASS 46 4 8 108,729 18,725 4,249 not reported 131,711 0.695759
claude-fable-5 2 PASS 54 4 8 109,599 19,429 4,901 not reported 133,937 0.743309
claude-fable-5 3 PASS 54 4 8 109,142 19,388 4,799 not reported 133,337 0.736932
claude-haiku-4-5 1 PASS 173 10 61 323,561 30,383 20,245 not reported 374,250 0.194408
claude-haiku-4-5 2 PASS 195 10 60 332,294 31,770 21,242 not reported 385,366 0.203039
claude-haiku-4-5 3 PASS 188 11 65 373,842 32,573 21,416 not reported 427,896 0.209675
claude-opus-4-8 1 PASS 65 4 8 108,632 19,357 5,850 not reported 133,847 0.394176
claude-opus-4-8 2 PASS 63 3 6 78,509 19,356 5,949 not reported 103,820 0.381570
claude-opus-4-8 3 PASS 57 3 6 78,448 19,294 5,715 not reported 103,463 0.375069
claude-sonnet-5 1 PASS 56 4 8 154,005 24,019 5,931 not reported 183,963 0.279305
claude-sonnet-5 2 PASS 53 5 10 196,327 24,370 5,694 not reported 226,401 0.290558
claude-sonnet-5 3 PASS 50 4 8 154,004 24,325 5,813 not reported 184,150 0.279370
gpt-5.6-luna 1 PASS 54 5 8,573 63,232 0 2,378 420 74,183 0.029164
gpt-5.6-luna 2 PASS 54 5 7,925 64,256 0 2,636 574 74,817 0.030167
gpt-5.6-luna 3 PASS 55 5 9,020 63,232 0 2,642 623 74,894 0.031195
gpt-5.6-sol 1 PASS 63 5 8,885 72,448 0 2,980 417 84,313 0.170049
gpt-5.6-sol 2 PASS 64 5 8,740 71,424 0 2,758 265 82,922 0.162152
gpt-5.6-sol 3 PASS 52 5 7,921 70,400 0 2,376 335 80,697 0.146085
gpt-5.6-terra 1 PASS 54 5 12,170 66,304 0 2,220 325 80,694 0.080301
gpt-5.6-terra 2 PASS 47 4 6,722 55,296 0 2,211 360 64,229 0.063794
gpt-5.6-terra 3 PASS 52 5 7,522 71,424 0 2,403 329 81,349 0.072706
Cost per accepted outcome — baseline Cost per accepted outcome — baseline in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: $0.7253; individual runs: $0.6958, $0.7433, $0.7369. claude-code · claude-haiku-4-5: $0.2024; individual runs: $0.1944, $0.2030, $0.2097. claude-code · claude-opus-4-8: $0.3836; individual runs: $0.3942, $0.3816, $0.3751. claude-code · claude-sonnet-5: $0.2831; individual runs: $0.2793, $0.2906, $0.2794. codex · gpt-5.6-luna: $0.0302; individual runs: $0.0292, $0.0302, $0.0312. codex · gpt-5.6-sol: $0.1594; individual runs: $0.1700, $0.1622, $0.1461. codex · gpt-5.6-terra: $0.0723; individual runs: $0.0803, $0.0638, $0.0727. Cost per accepted outcome — baseline $0.01 $0.10 $1 claude-code · claude-fable-5 Cost per accepted outcome: $0.7253 Run 1: $0.6958 Run 2: $0.7433 Run 3: $0.7369 $0.7253 claude-code · claude-haiku-4-5 Cost per accepted outcome: $0.2024 Run 1: $0.1944 Run 2: $0.2030 Run 3: $0.2097 $0.2024 claude-code · claude-opus-4-8 Cost per accepted outcome: $0.3836 Run 1: $0.3942 Run 2: $0.3816 Run 3: $0.3751 $0.3836 claude-code · claude-sonnet-5 Cost per accepted outcome: $0.2831 Run 1: $0.2793 Run 2: $0.2906 Run 3: $0.2794 $0.2831 codex · gpt-5.6-luna Cost per accepted outcome: $0.0302 Run 1: $0.0292 Run 2: $0.0302 Run 3: $0.0312 $0.0302 codex · gpt-5.6-sol Cost per accepted outcome: $0.1594 Run 1: $0.1700 Run 2: $0.1622 Run 3: $0.1461 $0.1594 codex · gpt-5.6-terra Cost per accepted outcome: $0.0723 Run 1: $0.0803 Run 2: $0.0638 Run 3: $0.0727 $0.0723 List-price USD · log scale Cost / accepted Individual runs
baseline — Markers: total list-price cost of all runs, including failed runs, ÷ accepted runs. Small dots: individual run costs. The axis uses a log scale.
Model calls / responses per run — baseline Model calls / responses per run — baseline in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: median 4, range 4–4 per run; model_calls_source: tokens.api_calls. claude-code · claude-haiku-4-5: median 10, range 10–11 per run; model_calls_source: tokens.api_calls. claude-code · claude-opus-4-8: median 3, range 3–4 per run; model_calls_source: tokens.api_calls. claude-code · claude-sonnet-5: median 4, range 4–5 per run; model_calls_source: tokens.api_calls. codex · gpt-5.6-luna: median 5, range 5–5 per run; model_calls_source: session.token_count records. codex · gpt-5.6-sol: median 5, range 5–5 per run; model_calls_source: session.token_count records. codex · gpt-5.6-terra: median 5, range 4–5 per run; model_calls_source: session.token_count records. Model calls / responses per run — baseline 0 5 10 15 claude-code · claude-fable-5 4 claude-code · claude-haiku-4-5 10 claude-code · claude-opus-4-8 3 claude-code · claude-sonnet-5 4 codex · gpt-5.6-luna 5 codex · gpt-5.6-sol 5 codex · gpt-5.6-terra 5 Calls / responses per run
baseline — Bars: median. Lines: lowest to highest run. Codex counts come from token_count records, as recorded in model_calls_source; they count responses, not HTTP requests.
Wall time per run (minutes) — baseline Wall time per run (minutes) — baseline in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: median 0.9 min, range 0.8 min–0.9 min per run. claude-code · claude-haiku-4-5: median 3.1 min, range 2.9 min–3.2 min per run. claude-code · claude-opus-4-8: median 1.1 min, range 0.9 min–1.1 min per run. claude-code · claude-sonnet-5: median 0.9 min, range 0.8 min–0.9 min per run. codex · gpt-5.6-luna: median 0.9 min, range 0.9 min–0.9 min per run. codex · gpt-5.6-sol: median 1.1 min, range 0.9 min–1.1 min per run. codex · gpt-5.6-terra: median 0.9 min, range 0.8 min–0.9 min per run. Wall time per run (minutes) — baseline 0 1 2 3 4 claude-code · claude-fable-5 0.9 min claude-code · claude-haiku-4-5 3.1 min claude-code · claude-opus-4-8 1.1 min claude-code · claude-sonnet-5 0.9 min codex · gpt-5.6-luna 0.9 min codex · gpt-5.6-sol 1.1 min codex · gpt-5.6-terra 0.9 min Minutes per run
baseline — Bars: median minutes per run. Lines: lowest to highest run. Wall time depends on the machine and network. It is shown for context and is never used to rank.
Billed tokens (average per run) — baseline Billed tokens (average per run) — baseline in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: 132,995 tokens average per run; uncached input 8, cache read 109,157, cache write 19,181, output 4,650. claude-code · claude-haiku-4-5: 395,837 tokens average per run; uncached input 62, cache read 343,232, cache write 31,575, output 20,968. claude-code · claude-opus-4-8: 113,710 tokens average per run; uncached input 7, cache read 88,530, cache write 19,336, output 5,838. claude-code · claude-sonnet-5: 198,171 tokens average per run; uncached input 9, cache read 168,112, cache write 24,238, output 5,813. codex · gpt-5.6-luna: 74,631 tokens average per run; uncached input 8,506, cache read 63,573, cache write 0, output 2,552. codex · gpt-5.6-sol: 82,644 tokens average per run; uncached input 8,515, cache read 71,424, cache write 0, output 2,705. codex · gpt-5.6-terra: 75,424 tokens average per run; uncached input 8,805, cache read 64,341, cache write 0, output 2,278. Billed tokens (average per run) — baseline 0 0.1M 0.2M 0.3M 0.4M claude-code · claude-fable-5 132,995 claude-code · claude-haiku-4-5 395,837 claude-code · claude-opus-4-8 113,710 claude-code · claude-sonnet-5 198,171 codex · gpt-5.6-luna 74,631 codex · gpt-5.6-sol 82,644 codex · gpt-5.6-terra 75,424 Tokens · average per run Uncached input Cache read Cache write Output
baseline — Segments: uncached input, cache read, cache write and output (including reasoning).

cronspec — cronspec/v2#

model E[$/accepted] ↓ (lower is better) wall seconds median (range) model calls / responses median (range) billed tokens median (range)
claude-fable-5 $1.9877 217 (199 – 248) 4 (4 – 6) 211,817 (200,272 – 300,046)
claude-haiku-4-5 $0.4363 364 (283 – 552) 21 (17 – 24) 1,269,499 (838,443 – 1,272,981)
claude-opus-4-8 $1.2723 259 (234 – 279) 10 (7 – 13) 518,446 (351,036 – 712,249)
claude-sonnet-5 $1.0482 311 (282 – 327) 10 (10 – 10) 751,630 (738,392 – 787,971)
gpt-5.6-luna $0.0899 138 (130 – 147) 12 (8 – 17) 280,633 (167,640 – 350,354)
gpt-5.6-sol $0.2394 87 (85 – 92) 5 (5 – 6) 102,327 (102,056 – 123,068)
gpt-5.6-terra $0.1353 103 (100 – 105) 6 (6 – 8) 126,102 (124,386 – 173,152)
model rep outcome wall seconds model calls / responses uncached input cache read cache write output (incl. reasoning) of which reasoning all tokens billed list cost $
claude-fable-5 1 PASS 217 6 12 241,752 38,129 20,153 not reported 300,046 2.012102
claude-fable-5 2 PASS 199 4 8 143,071 37,593 19,600 not reported 200,272 1.875011
claude-fable-5 3 PASS 248 4 8 149,000 40,456 22,353 not reported 211,817 2.075850
claude-haiku-4-5 1 PASS 283 17 95 759,459 48,385 30,504 not reported 838,443 0.325331
claude-haiku-4-5 2 PASS 364 24 132 1,178,338 56,969 37,542 not reported 1,272,981 0.419614
claude-haiku-4-5 3 PASS 552 21 116 1,137,632 69,541 62,210 not reported 1,269,499 0.564011
claude-opus-4-8 1 PASS 259 7 14 284,077 43,340 23,605 not reported 351,036 1.165633
claude-opus-4-8 2 PASS 234 10 19 453,722 42,260 22,445 not reported 518,446 1.210681
claude-opus-4-8 3 PASS 279 13 25 640,158 45,415 26,651 not reported 712,249 1.440629
claude-sonnet-5 1 PASS 327 10 20 690,560 61,940 35,451 not reported 787,971 1.110633
claude-sonnet-5 2 PASS 311 10 20 660,145 59,185 32,280 not reported 751,630 1.037413
claude-sonnet-5 3 PASS 282 10 20 651,527 55,753 31,092 not reported 738,392 0.996416
gpt-5.6-luna 1 PASS 147 17 25,236 318,208 0 6,910 1,700 350,354 0.098517
gpt-5.6-luna 2 PASS 138 12 23,893 249,856 0 6,884 1,776 280,633 0.090183
gpt-5.6-luna 3 PASS 130 8 27,858 133,120 0 6,662 1,618 167,640 0.081142
gpt-5.6-sol 1 PASS 85 5 13,541 84,736 0 4,050 427 102,327 0.231573
gpt-5.6-sol 2 PASS 87 6 14,122 104,960 0 3,986 289 123,068 0.242670
gpt-5.6-sol 3 PASS 92 5 13,926 83,712 0 4,418 434 102,056 0.244026
gpt-5.6-terra 1 PASS 103 6 12,516 107,520 0 4,350 634 124,386 0.123420
gpt-5.6-terra 2 PASS 105 6 13,124 108,032 0 4,946 1,067 126,102 0.134008
gpt-5.6-terra 3 PASS 100 8 14,659 153,600 0 4,893 774 173,152 0.148443
Cost per accepted outcome — cronspec Cost per accepted outcome — cronspec in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: $1.9877; individual runs: $2.0121, $1.8750, $2.0758. claude-code · claude-haiku-4-5: $0.4363; individual runs: $0.3253, $0.4196, $0.5640. claude-code · claude-opus-4-8: $1.2723; individual runs: $1.1656, $1.2107, $1.4406. claude-code · claude-sonnet-5: $1.0482; individual runs: $1.1106, $1.0374, $0.9964. codex · gpt-5.6-luna: $0.0899; individual runs: $0.0985, $0.0902, $0.0811. codex · gpt-5.6-sol: $0.2394; individual runs: $0.2316, $0.2427, $0.2440. codex · gpt-5.6-terra: $0.1353; individual runs: $0.1234, $0.1340, $0.1484. Cost per accepted outcome — cronspec $0.01 $0.10 $1 $10 claude-code · claude-fable-5 Cost per accepted outcome: $1.9877 Run 1: $2.0121 Run 2: $1.8750 Run 3: $2.0758 $1.9877 claude-code · claude-haiku-4-5 Cost per accepted outcome: $0.4363 Run 1: $0.3253 Run 2: $0.4196 Run 3: $0.5640 $0.4363 claude-code · claude-opus-4-8 Cost per accepted outcome: $1.2723 Run 1: $1.1656 Run 2: $1.2107 Run 3: $1.4406 $1.2723 claude-code · claude-sonnet-5 Cost per accepted outcome: $1.0482 Run 1: $1.1106 Run 2: $1.0374 Run 3: $0.9964 $1.0482 codex · gpt-5.6-luna Cost per accepted outcome: $0.0899 Run 1: $0.0985 Run 2: $0.0902 Run 3: $0.0811 $0.0899 codex · gpt-5.6-sol Cost per accepted outcome: $0.2394 Run 1: $0.2316 Run 2: $0.2427 Run 3: $0.2440 $0.2394 codex · gpt-5.6-terra Cost per accepted outcome: $0.1353 Run 1: $0.1234 Run 2: $0.1340 Run 3: $0.1484 $0.1353 List-price USD · log scale Cost / accepted Individual runs
cronspec — Markers: total list-price cost of all runs, including failed runs, ÷ accepted runs. Small dots: individual run costs. The axis uses a log scale.
Model calls / responses per run — cronspec Model calls / responses per run — cronspec in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: median 4, range 4–6 per run; model_calls_source: tokens.api_calls. claude-code · claude-haiku-4-5: median 21, range 17–24 per run; model_calls_source: tokens.api_calls. claude-code · claude-opus-4-8: median 10, range 7–13 per run; model_calls_source: tokens.api_calls. claude-code · claude-sonnet-5: median 10, range 10–10 per run; model_calls_source: tokens.api_calls. codex · gpt-5.6-luna: median 12, range 8–17 per run; model_calls_source: session.token_count records. codex · gpt-5.6-sol: median 5, range 5–6 per run; model_calls_source: session.token_count records. codex · gpt-5.6-terra: median 6, range 6–8 per run; model_calls_source: session.token_count records. Model calls / responses per run — cronspec 0 10 20 30 claude-code · claude-fable-5 4 claude-code · claude-haiku-4-5 21 claude-code · claude-opus-4-8 10 claude-code · claude-sonnet-5 10 codex · gpt-5.6-luna 12 codex · gpt-5.6-sol 5 codex · gpt-5.6-terra 6 Calls / responses per run
cronspec — Bars: median. Lines: lowest to highest run. Codex counts come from token_count records, as recorded in model_calls_source; they count responses, not HTTP requests.
Wall time per run (minutes) — cronspec Wall time per run (minutes) — cronspec in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: median 3.6 min, range 3.3 min–4.1 min per run. claude-code · claude-haiku-4-5: median 6.1 min, range 4.7 min–9.2 min per run. claude-code · claude-opus-4-8: median 4.3 min, range 3.9 min–4.7 min per run. claude-code · claude-sonnet-5: median 5.2 min, range 4.7 min–5.5 min per run. codex · gpt-5.6-luna: median 2.3 min, range 2.2 min–2.5 min per run. codex · gpt-5.6-sol: median 1.4 min, range 1.4 min–1.5 min per run. codex · gpt-5.6-terra: median 1.7 min, range 1.7 min–1.8 min per run. Wall time per run (minutes) — cronspec 0 5 10 claude-code · claude-fable-5 3.6 min claude-code · claude-haiku-4-5 6.1 min claude-code · claude-opus-4-8 4.3 min claude-code · claude-sonnet-5 5.2 min codex · gpt-5.6-luna 2.3 min codex · gpt-5.6-sol 1.4 min codex · gpt-5.6-terra 1.7 min Minutes per run
cronspec — Bars: median minutes per run. Lines: lowest to highest run. Wall time depends on the machine and network. It is shown for context and is never used to rank.
Billed tokens (average per run) — cronspec Billed tokens (average per run) — cronspec in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: 237,378 tokens average per run; uncached input 9, cache read 177,941, cache write 38,726, output 20,702. claude-code · claude-haiku-4-5: 1,126,974 tokens average per run; uncached input 114, cache read 1,025,143, cache write 58,298, output 43,419. claude-code · claude-opus-4-8: 527,244 tokens average per run; uncached input 19, cache read 459,319, cache write 43,672, output 24,234. claude-code · claude-sonnet-5: 759,331 tokens average per run; uncached input 20, cache read 667,411, cache write 58,959, output 32,941. codex · gpt-5.6-luna: 266,209 tokens average per run; uncached input 25,662, cache read 233,728, cache write 0, output 6,819. codex · gpt-5.6-sol: 109,150 tokens average per run; uncached input 13,863, cache read 91,136, cache write 0, output 4,151. codex · gpt-5.6-terra: 141,213 tokens average per run; uncached input 13,433, cache read 123,051, cache write 0, output 4,730. Billed tokens (average per run) — cronspec 0 0.5M 1.0M 1.5M claude-code · claude-fable-5 237,378 claude-code · claude-haiku-4-5 1,126,974 claude-code · claude-opus-4-8 527,244 claude-code · claude-sonnet-5 759,331 codex · gpt-5.6-luna 266,209 codex · gpt-5.6-sol 109,150 codex · gpt-5.6-terra 141,213 Tokens · average per run Uncached input Cache read Cache write Output
cronspec — Segments: uncached input, cache read, cache write and output (including reasoning).

orgsync — orgsync/v1#

model E[$/accepted] ↓ (lower is better) wall seconds median (range) model calls / responses median (range) billed tokens median (range)
claude-fable-5 $3.4161 369 (309 – 501) 14 (12 – 16) 733,006 (683,803 – 1,007,514)
claude-haiku-4-5 NO SCORE 253 (244 – 261) 51 (50 – 59) 3,134,962 (2,560,248 – 3,142,646)
claude-opus-4-8 $3.9542 691 (594 – 796) 45 (29 – 45) 3,614,972 (2,102,751 – 3,691,113)
claude-sonnet-5 $1.9035 479 (463 – 521) 26 (26 – 30) 2,263,275 (2,044,001 – 2,910,257)
gpt-5.6-luna $0.1094 191 (179 – 195) 11 (11 – 12) 295,020 (285,385 – 315,568)
gpt-5.6-sol $0.5728 172 (167 – 189) 13 (12 – 13) 364,671 (356,010 – 383,173)
gpt-5.6-terra $0.2820 187 (135 – 190) 11 (9 – 20) 295,314 (227,449 – 547,314)
model rep outcome wall seconds model calls / responses uncached input cache read cache write output (incl. reasoning) of which reasoning all tokens billed list cost $
claude-fable-5 1 PASS 369 12 23 598,732 54,596 30,452 not reported 683,803 3.213482
claude-fable-5 2 PASS 501 16 248 903,639 65,514 38,113 not reported 1,007,514 4.122049
claude-fable-5 3 PASS 309 14 26 657,535 50,577 24,868 not reported 733,006 2.912735
claude-haiku-4-5 1 FAIL 244 59 336 3,061,543 61,059 19,708 not reported 3,142,646 0.527148
claude-haiku-4-5 2 FAIL 261 50 289 3,040,287 70,946 23,440 not reported 3,134,962 0.563410
claude-haiku-4-5 3 FAIL 253 51 296 2,480,879 59,542 19,531 not reported 2,560,248 0.465123
claude-opus-4-8 1 PASS 691 45 85 3,449,340 106,184 59,363 not reported 3,614,972 4.271010
claude-opus-4-8 2 PASS 594 29 55 1,963,459 86,817 52,420 not reported 2,102,751 3.160675
claude-opus-4-8 3 PASS 796 45 85 3,523,061 102,018 65,949 not reported 3,691,113 4.430861
claude-sonnet-5 1 PASS 479 26 52 1,924,328 79,056 40,565 not reported 2,044,001 1.660265
claude-sonnet-5 2 PASS 463 26 52 2,126,633 91,968 44,622 not reported 2,263,275 1.859284
claude-sonnet-5 3 PASS 521 30 60 2,760,145 98,663 51,389 not reported 2,910,257 2.191037
gpt-5.6-luna 1 PASS 195 11 29,244 257,280 0 8,496 2,642 295,020 0.105948
gpt-5.6-luna 2 PASS 191 12 47,133 260,096 0 8,339 2,650 315,568 0.123177
gpt-5.6-luna 3 PASS 179 11 26,335 251,136 0 7,914 2,443 285,385 0.098933
gpt-5.6-sol 1 PASS 172 13 34,706 322,304 0 7,661 1,372 364,671 0.564512
gpt-5.6-sol 2 PASS 189 12 33,815 313,344 0 8,851 1,090 356,010 0.591277
gpt-5.6-sol 3 PASS 167 13 30,405 344,832 0 7,936 715 383,173 0.562521
gpt-5.6-terra 1 PASS 135 9 40,130 180,480 0 6,839 1,520 227,449 0.248030
gpt-5.6-terra 2 PASS 187 11 25,284 260,864 0 9,166 1,756 295,314 0.265916
gpt-5.6-terra 3 PASS 190 20 29,666 508,928 0 8,720 2,255 547,314 0.332197
Cost per accepted outcome — orgsync Cost per accepted outcome — orgsync in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: $3.4161; individual runs: $3.2135, $4.1220, $2.9127. claude-code · claude-haiku-4-5: no accepted outcome; individual runs: $0.5271, $0.5634, $0.4651. claude-code · claude-opus-4-8: $3.9542; individual runs: $4.2710, $3.1607, $4.4309. claude-code · claude-sonnet-5: $1.9035; individual runs: $1.6603, $1.8593, $2.1910. codex · gpt-5.6-luna: $0.1094; individual runs: $0.1059, $0.1232, $0.0989. codex · gpt-5.6-sol: $0.5728; individual runs: $0.5645, $0.5913, $0.5625. codex · gpt-5.6-terra: $0.2820; individual runs: $0.2480, $0.2659, $0.3322. Cost per accepted outcome — orgsync $0.01 $0.10 $1 $10 claude-code · claude-fable-5 Cost per accepted outcome: $3.4161 Run 1: $3.2135 Run 2: $4.1220 Run 3: $2.9127 $3.4161 claude-code · claude-haiku-4-5 Run 1: $0.5271 Run 2: $0.5634 Run 3: $0.4651 no accepted outcome claude-code · claude-opus-4-8 Cost per accepted outcome: $3.9542 Run 1: $4.2710 Run 2: $3.1607 Run 3: $4.4309 $3.9542 claude-code · claude-sonnet-5 Cost per accepted outcome: $1.9035 Run 1: $1.6603 Run 2: $1.8593 Run 3: $2.1910 $1.9035 codex · gpt-5.6-luna Cost per accepted outcome: $0.1094 Run 1: $0.1059 Run 2: $0.1232 Run 3: $0.0989 $0.1094 codex · gpt-5.6-sol Cost per accepted outcome: $0.5728 Run 1: $0.5645 Run 2: $0.5913 Run 3: $0.5625 $0.5728 codex · gpt-5.6-terra Cost per accepted outcome: $0.2820 Run 1: $0.2480 Run 2: $0.2659 Run 3: $0.3322 $0.2820 List-price USD · log scale Cost / accepted Individual runs
orgsync — Markers: total list-price cost of all runs, including failed runs, ÷ accepted runs. Small dots: individual run costs. The axis uses a log scale.
Model calls / responses per run — orgsync Model calls / responses per run — orgsync in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: median 14, range 12–16 per run; model_calls_source: tokens.api_calls. claude-code · claude-haiku-4-5: median 51, range 50–59 per run; model_calls_source: tokens.api_calls. claude-code · claude-opus-4-8: median 45, range 29–45 per run; model_calls_source: tokens.api_calls. claude-code · claude-sonnet-5: median 26, range 26–30 per run; model_calls_source: tokens.api_calls. codex · gpt-5.6-luna: median 11, range 11–12 per run; model_calls_source: session.token_count records. codex · gpt-5.6-sol: median 13, range 12–13 per run; model_calls_source: session.token_count records. codex · gpt-5.6-terra: median 11, range 9–20 per run; model_calls_source: session.token_count records. Model calls / responses per run — orgsync 0 20 40 60 claude-code · claude-fable-5 14 claude-code · claude-haiku-4-5 51 claude-code · claude-opus-4-8 45 claude-code · claude-sonnet-5 26 codex · gpt-5.6-luna 11 codex · gpt-5.6-sol 13 codex · gpt-5.6-terra 11 Calls / responses per run
orgsync — Bars: median. Lines: lowest to highest run. Codex counts come from token_count records, as recorded in model_calls_source; they count responses, not HTTP requests.
Wall time per run (minutes) — orgsync Wall time per run (minutes) — orgsync in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: median 6.2 min, range 5.2 min–8.3 min per run. claude-code · claude-haiku-4-5: median 4.2 min, range 4.1 min–4.3 min per run. claude-code · claude-opus-4-8: median 11.5 min, range 9.9 min–13.3 min per run. claude-code · claude-sonnet-5: median 8.0 min, range 7.7 min–8.7 min per run. codex · gpt-5.6-luna: median 3.2 min, range 3.0 min–3.2 min per run. codex · gpt-5.6-sol: median 2.9 min, range 2.8 min–3.1 min per run. codex · gpt-5.6-terra: median 3.1 min, range 2.2 min–3.2 min per run. Wall time per run (minutes) — orgsync 0 5 10 15 claude-code · claude-fable-5 6.2 min claude-code · claude-haiku-4-5 4.2 min claude-code · claude-opus-4-8 11.5 min claude-code · claude-sonnet-5 8.0 min codex · gpt-5.6-luna 3.2 min codex · gpt-5.6-sol 2.9 min codex · gpt-5.6-terra 3.1 min Minutes per run
orgsync — Bars: median minutes per run. Lines: lowest to highest run. Wall time depends on the machine and network. It is shown for context and is never used to rank.
Billed tokens (average per run) — orgsync Billed tokens (average per run) — orgsync in manifest roster order; these task-scoped measurements do not establish a general model ranking. claude-code · claude-fable-5: 808,108 tokens average per run; uncached input 99, cache read 719,969, cache write 56,896, output 31,144. claude-code · claude-haiku-4-5: 2,945,952 tokens average per run; uncached input 307, cache read 2,860,903, cache write 63,849, output 20,893. claude-code · claude-opus-4-8: 3,136,279 tokens average per run; uncached input 75, cache read 2,978,620, cache write 98,340, output 59,244. claude-code · claude-sonnet-5: 2,405,844 tokens average per run; uncached input 55, cache read 2,270,369, cache write 89,896, output 45,525. codex · gpt-5.6-luna: 298,658 tokens average per run; uncached input 34,237, cache read 256,171, cache write 0, output 8,250. codex · gpt-5.6-sol: 367,951 tokens average per run; uncached input 32,975, cache read 326,827, cache write 0, output 8,149. codex · gpt-5.6-terra: 356,692 tokens average per run; uncached input 31,693, cache read 316,757, cache write 0, output 8,242. Billed tokens (average per run) — orgsync 0 1M 2M 3M 4M claude-code · claude-fable-5 808,108 claude-code · claude-haiku-4-5 2,945,952 claude-code · claude-opus-4-8 3,136,279 claude-code · claude-sonnet-5 2,405,844 codex · gpt-5.6-luna 298,658 codex · gpt-5.6-sol 367,951 codex · gpt-5.6-terra 356,692 Tokens · average per run Uncached input Cache read Cache write Output
orgsync — Segments: uncached input, cache read, cache write and output (including reasoning).

What this edition does and does not show#

Read these findings with their limits.

  1. orgsync. It produced the only failing model–task combination in 63 published runs: claude-haiku-4-5/orgsync. All three runs of that combination failed. The maintainers report that every other demonstrated failure in this repository came from a control arm written to fail. Control arms check the harness's behavior. This result shows the judge catching a real assertion violation in model-written work.

  2. The admission rule. This edition does not show that the benchmark discriminates between models. Under §3.4 a task is admitted to service only when at least one model fails it at calibration, and calibration/orgsync.cleared records claude-haiku-4-5's three failing runs — the same three runs, at the same costs, that §3.4.1 then promoted into this scored panel. The probability that this panel contained a failure was 1, by construction. Selection and inference rest on the same observation. The failure is real and the numbers are right, but the inference "the benchmark separates strong models from weak ones" is not available from it. orgsync separated one model on one assertion in the recorded calibration runs. Six of seven models passed every recorded run, meeting the saturation rule.

  3. Reliability. Three runs show all-fail or all-pass in this sample at N=3; claude-haiku-4-5/orgsync is an all-fail combination. They cannot establish long-run reliability or put a useful interval on an intermediate pass rate. No model in this edition had mixed results.

  4. Code quality. Accepted means the judge's assertions passed. Acceptance says nothing about code quality beyond those assertions.


What happens next#

orgsync is an anchor: frozen, never edited, and re-priced every edition from here as a longitudinal cost anchor and a regression tripwire. A newly released model failing it is worth reporting only if it replicates.

Edition 1 has no conformant escrowed successor. We consumed our own escrow, and Edition 2 has since run. §5.6 cannot be satisfied retroactively; publication proceeds under R-2026-10-13-3 with this limitation disclosed (#5).

We do not know whether the next task will discriminate. If every model passes it too, we would report that, because it tests the admission-rule limit directly.


Method, in brief#

  • Seven models, roster fixed in batch.sh before the first run: three OpenAI (gpt-5.6-luna, -terra, -sol) and four Anthropic (claude-haiku-4-5, -sonnet-5, -opus-4-8, -fable-5).
  • Three tasks, each with a precise specification; orgsync works inside an existing codebase.
  • N=3 per cell, declared in advance. No optional stopping.
  • An independent judge per task, its SHA-256 committed to the Task Ledger under commit-reveal. Every run's bundle records the judge hash it ran against.
  • Cost at published list rates, from a pinned rate table — never estimated, never a subscription price divided by usage.
  • Every run result here re-derives from results.jsonl plus the archived run bundles. Nothing is copied from a summary.

⚠️ One commit-reveal exception, disclosed: the orgsync judge's hash reached the Task Ledger 4m34s after claude-haiku-4-5/orgsync/rep1's verdict was known. The judge did not change — rep1's own stamp records the final judge hash and the file still hashes to it — but for that one run a reader must trust our stamp rather than the ledger's ordering. rep2 and rep3 met the hash-publication ordering requirement. The full timeline is in PROTOCOL §3.4.1.


Stamp#

field value
edition 2026-07, Edition 1
runs 63 (7 models × 3 tasks × N=3)
total spend $53.4657 (list rates)
outcomes 60 accepted · 3 not accepted (all claude-haiku-4-5/orgsync)
prices table v8, sha256 9ab9cba3fca5fef0…
tools Claude Code · Codex CLI
machine single laptop, Darwin arm64
verification verify.py --rejudge — 342 checks: 342 PASS · 0 FAIL · 0 SKIP (all 63 recorded verdicts reproduced)
protocol v1.2

Reproduce the verification: python3 verify.py for the default offline pass; python3 verify.py --rejudge also executes the revealed judges on disposable submission copies. No model CLI or keys are needed. --rejudge executes 63 model-written programs on your machine. Judges receive only PATH, LANG, LC_ALL, TARGET_DIR, PYTHONDONTWRITEBYTECODE and a temporary HOME. The verifier recalculates each run's cost from that bundle's own pinned rate snapshot, checks every judge hash, and — as of model-bench#3 — compares the tables in this document against the bundles: the run count, the total spend, the accepted/not split, and every per-cell E[$/accepted] and TIER score. A mismatch in any of these fields fails verification (mutation-tested against five planted edits).

An optional re-judge check added for model-bench#6 executes each revealed, stamp-matching judge on a temporary copy and compares its machine-readable PASS/FAIL verdict with the bundle's recorded outcome. A flipped-verdict negative control must exit non-zero; deleting the comparison makes that test fail. For orgsync, the original judge saw the run directory, while submission/ archived only root Python files. Under the operator's target ruling, we reconstruct that layout from submission/ plus the same bundle's archived orgsync/, config.json and tests/existing/. Nothing is supplied from another bundle or the live skeleton. Missing required archives cause the verifier to report SKIP and list the missing paths.

Latest re-judge summary (from the executed verifier):

RE-JUDGE 63 bundles · PASS 63 · FAIL 0 · SKIP 0

Cite this#

TIER Model Report, Edition 1 (2026-07). Source report dated (last change at the pinned commit).

Canonical URL
https://tiermetric.org/reports/2026-07
Price-table version
v8 · SHA-256 9ab9cba3fca5fef0b8e9eb7f62fe0496c7498a74a94e81e441a52ee66fd53eb0
Manifest SHA-256
6c6526497a0fab5d988c465ddab92303adcf52734abc007f148a5afa60e0de7f
Private source commit
a4efd382d6859410e9caeb64bac0ba82b971ec6f

Edition evidence in the public kit · Manifest · Results CSV · Data license (CC BY 4.0)

Rendered from the report source in the public evidence kit (public kit commit b5f880dcd2f6df549aaabb1eca6209c69d2be438; private source commit a4efd382d6859410e9caeb64bac0ba82b971ec6f) with TIER's renderer at cd7f6008b8b1a07cc683fdd2a4eb47b7710c4774. Site additions: dated corrections, refreshed kit citation links, repeated source limitations, expandable tables, heading links, arrow text equivalents, citation and navigation; illustrations added by the site. Charts use metrics.csv from the same source pin, in manifest roster order.