Tīrtha Bench: the data coders need · tool calling · updated Oct 18, 2026

Every model we have tool-call tested, ranked only where the test was the same

Accuracy by task type, speed, tokens and cost per right answer, with every raw row kept. Each card holds models that ran the same test and were scored the same way. A model's place on one card says nothing about a model that only appears on another.

68models tested
749result rows, Jun 12 to Oct 18
8most models on one shared test
38models with only one test

The bottom line · 8 models on the same 800 tasks and 120 traps

What only a shared test showssame tasks · same scorer

Same model, different hosts: gpt-oss-120b

4 hosts, 14.1 points apart on the same 800 tasks. Most of the gap is parallel calls: Cerebras, Groq, DeepInfra scored 0% on the 200 tasks that need several calls at once.

CerebrasCerebras: 63.9%63.9%GroqGroq: 66.4%66.4%DeepInfraDeepInfra: 66.6%66.6%TogetherTogether: 78.0%78.0%

Same model, different hosts: Llama 3.3 70B

2 hosts, 23.9 points apart on the same 800 tasks. Most of the gap is parallel calls: SambaNova scored 0% on the 200 tasks that need several calls at once.

SambaNovaSambaNova: 69.5%69.5%DeepInfraDeepInfra: 93.4%93.4%

Price per right answer, not sticker price

Dollars per 1,000 correct tool calls: 65x between the highest and the lowest.

Claude Opus 5.5Claude Opus 5.5: $5.63$5.63Claude Sonnet 5Claude Sonnet 5: $3.14$3.14Muse Spark OpenMuse Spark Open: $1.99$1.99Grok 4.5Grok 4.5: $1.53$1.53Grok 4.7Grok 4.7: $1.50$1.50GPT-5.2 CodexGPT-5.2 Codex: $1.31$1.31GPT-5.1 CodexGPT-5.1 Codex: $1.10$1.10gpt-oss-120bgpt-oss-120b: $0.17$0.17DeepSeek V4.1 FlashDeepSeek V4.1 Flash: $0.09$0.09

Version to version: DeepSeek V4 Flash to V4.1 Flash 1017

Same overall score (92.0% vs 91.6%), far fewer traps fallen for. Oct 18, both on DeepInfra.

V4 Flash trapsV4 Flash traps: 73.3%73.3%V4.1 Flash trapsV4.1 Flash traps: 88.3%88.3%V4 Flash parallelV4 Flash parallel: 85.5%85.5%V4.1 Flash parallelV4.1 Flash parallel: 89.5%89.5%

Checked by an outside run

An outside tester re-ran our 800 requests on his own machine with Berkeley's official checker (Oct 18): within 3 tasks.

Our run, Gemma 4 26BOur run, Gemma 4 26B: 91.0%91.0%Outside run, sameOutside run, same: 90.6%90.6%
What the numbers mean
Accuracy
Share of tasks where the model made the right tool call with the right arguments, scored by our harness. Only compare models that ran the same test.
Traps
Tasks where no tool fits or a decoy is offered. Passing means holding back instead of calling something wrong. Higher is safer.
Cost per right answer
What the whole run cost at the vendor's list price, divided by the number of right answers. It folds price and accuracy into one number a buyer can use.
Typical speed
Median seconds per call: half of calls were faster.
VOID
A run that broke its own pre-registered rules. We keep it and mark it, and never count it as a score.
Level pricing
How Tīrtha is priced: each request is billed at the level that served it (Base, Plus or Max) plus a margin. The margin shown is proposed and under review.

We publish misses and VOID runs on our own product too.

What the data says

  1. 1

    The top is a tie.

    On the 800-task test, opus-5.5, grok-4.7 and sonnet-5 land within 0.3 points of each other. The bottom of the same table, gpt-5.1, is at 81%. The leaders are interchangeable; the tail is not.

    opus-5.595.4%
    grok-4.795.4%
    sonnet-595.1%
    tirtha93.6%
    grok-4.593.4%
    muse-spark-open93.2%
    gpt-5.290.4%
    gpt-5.180.6%
    See the data →
  2. 2

    Paying more did not buy accuracy.

    grok-4.7 got 95.7% right at $0.0015 per right answer. opus-5.5 cost 3.8 times as much per right answer and scored 94.0%.

    grok-4.7$0.0015
    sonnet-5$0.0031
    opus-5.5$0.0056
    grok-4.5$0.0015
    gpt-5.2-codex$0.0013
    gpt-5.1-codex$0.0010
    See the data →
  3. 3

    A low-cost open model kept pace.

    On parallel tool calls, open-weight qwen3-235b scored 95.7% against sonnet-4.5's 95.5%, and each right answer cost about 71 times less.

    qwen3-235b95.7%
    sonnet-4.595.5%
    qwen3-coder-480b91.3%
    See the data →
  4. 4

    Some models break on one shape.

    gpt-oss-120b scores 66% overall but 2% when a task needs several calls at once. An average hides that; the per-shape tables show it.

    overall66%
    parallel2%
    See the data →
  5. 5

    No test has seen most of them yet.

    68 models have tool-calling results, but the widest shared test covers 8. Next: one standard suite run on every model, so they all land on one table.

    See the data →
The whole picture: accuracy against priceEach dot is one model's best scored run where cost per right answer was logged; tap a dot or a name to open that model. The low-cost open models sit far left at the same height as the frontier. Tīrtha is shown at its proposed level pricing.

Swipe the chart sideways to see every model.

  • Meta
  • Anthropic
  • OpenAI
  • xAI
  • Qwen (Alibaba)
  • Z.ai (GLM)
  • Tīrtha (ours)
Best bang for the buckAccuracy divided by cost per right answer, on the same runs as the chart above, scaled so the best is 100. Top five, plus our two products wherever they land (rank of 15 on the left). Tīrtha is priced at its proposed level pricing.
  1. 1
    qwen3-235b95.7% at $0.00007 per right answer
    100
  2. 2
    qwen3-coder-480b91.3% at $0.00024 per right answer
    27
  3. 3
    Tīrtha93.6% at $0.00076 per right answer · our product (measured the same way)
    9
  4. 4
    gpt-5.1-codex81.8% at $0.0010 per right answer
    6
  5. 5
    gpt-5.2-codex89.9% at $0.0013 per right answer
    5
  6. 13
    Tīrtha Frontier96.6% at $0.0037 per right answer · our product (measured the same way)
    2

The 8 models on one shared test800 tasks · 120 traps · same scorer

Sorted by accuracy; tap a header to sort by it. Every model here ran the identical tasks, so this is the one table where every column compares like with like. Hover a label for the rule that gave it.

ModelAccuracyCost / rightSpeedTrapsBest forCaveat
opus-5.595.4%$0.00562.07 s102 of 120Best overallBest workhorsenone
grok-4.795.4%$0.00151.55 s117 of 120Best overallnone
sonnet-595.1%$0.00312.84 s113 of 120no labelnone
Tīrtha ours93.6%$0.000760.92 s119 of 120Best valueBest trap-spotterour product, measured the same way; level pricing (proposed); run 2026-10-17, most ran 2026-09-25
grok-4.593.4%$0.00151.85 s118 of 120no labelnone
muse-spark-open93.2%$0.00205.51 s108 of 120no labelrun 2026-10-17, most ran 2026-09-25
gpt-5.2-codex90.4%$0.00132.46 s104 of 120no labeloverall weighted from its task-type rows
gpt-5.1-codex80.6%$0.00112.40 s108 of 120no labeloverall weighted from its task-type rows; drops to 61.0% on parallel calls
Rank by task typeThe 8 models on the shared 800-task test, ranked within each task type (1 is best). Follow a line to see where a model rises or falls; a tie shares a rank number. Hover a dot for the score.
Single callSeveral toolsParallel callsTrapssonnet-5, single call: 97.5% (1 of 8)1sonnet-5, several tools: 93.5% (4 of 8)4sonnet-5, parallel calls: 92.0% (4 of 8)4sonnet-5, traps: 94.2% (4 of 8)4sonnet-5sonnet-5opus-5.5, single call: 97.0% (3 of 8)3opus-5.5, several tools: 94.0% (2 of 8)2opus-5.5, parallel calls: 93.5% (1 of 8)1opus-5.5, traps: 85.0% (8 of 8)8opus-5.5opus-5.5gpt-5.1-codex, single call: 86.8% (8 of 8)8gpt-5.1-codex, several tools: 88.0% (8 of 8)8gpt-5.1-codex, parallel calls: 61.0% (8 of 8)8gpt-5.1-codex, traps: 90.0% (5 of 8)5gpt-5.1-codexgpt-5.1-codexgpt-5.2-codex, single call: 92.5% (7 of 8)7gpt-5.2-codex, several tools: 89.0% (7 of 8)7gpt-5.2-codex, parallel calls: 87.5% (7 of 8)7gpt-5.2-codex, traps: 86.7% (7 of 8)7gpt-5.2-codexgpt-5.2-codexgrok-4.5, single call: 94.0% (5 of 8)5grok-4.5, several tools: 93.5% (4 of 8)4grok-4.5, parallel calls: 92.0% (4 of 8)4grok-4.5, traps: 98.3% (2 of 8)2grok-4.5grok-4.5grok-4.7, single call: 97.5% (1 of 8)1grok-4.7, several tools: 94.0% (2 of 8)2grok-4.7, parallel calls: 92.5% (3 of 8)3grok-4.7, traps: 97.5% (3 of 8)3grok-4.7grok-4.7muse-spark-open, single call: 95.2% (4 of 8)4muse-spark-open, several tools: 93.0% (6 of 8)6muse-spark-open, parallel calls: 89.5% (6 of 8)6muse-spark-open, traps: 90.0% (5 of 8)5muse-spark-openmuse-spark-openTīrtha, single call: 93.5% (6 of 8)6Tīrtha, several tools: 94.5% (1 of 8)1Tīrtha, parallel calls: 93.0% (2 of 8)2Tīrtha, traps: 99.2% (1 of 8)1TīrthaTīrtha

Single, several, parallelsame 800 tasks · same scorer

Parallel calls means one request that needs several tool calls at once, like checking the weather in three cities. Every model drops there, and it is where they separate most: one fell to 61%. Speed is the typical seconds per call (half of calls were faster), with the slow end in brackets; shorter bar is faster. Tokens out is the average answer length, thinking included. Cost per right answer is the comparable money number: each vendor counts tokens its own way, so token counts are a guide to how much a model talks, not a price. Sorted by parallel.

ModelSingle callSeveral toolsParallel callsSpeed (slow end)Tokens out$ / right answerTraps
opus-5.597.0%94.0%93.5%2.1s (3.97s)146 (6 think)$0.0056102/120
Tīrtha93.5%94.5%93.0%0.9s (1.73s)68$0.00076 level price119/120
grok-4.797.5%94.0%92.5%1.6s (2.77s)86 (50 think)$0.0015117/120
sonnet-597.5%93.5%92.0%2.8s (4.18s)163 (15 think)$0.0031113/120
grok-4.594.0%93.5%92.0%1.9s (3.29s)115 (75 think)$0.0015118/120
muse-spark-open95.2%93.0%89.5%5.5s (13.16s)254 (117 think)$0.0020108/120
gpt-5.2-codex92.5%89.0%87.5%2.5s (5.54s)64 (12 think)$0.0013104/120
gpt-5.1-codex86.8%88.0%61.0%2.4s (4.72s)69 (36 think)$0.0011108/120

The outlined row is Tīrtha itself (Base, checked, escalating to Plus), run Oct 17 through api.tirtha.ai on the same 800 tasks. Against bars Grok sealed before the run it was the fastest here and best on traps, and lower cost per right answer than Sonnet 5 ($0.0017 vs $0.0031), but not as accurate as Sonnet 5 overall (93.6% vs 95.1%), mostly on single calls; parallel and several tools are within noise of Sonnet. Its accuracy is its Base model's: the checker sent 9 calls up (all then right) and caught none of the 51 wrong answers. Its cost is shown at level pricing: each request billed at its own level's measured cost plus a 70% margin (proposed, under review).

Standard tool-calling (BFCL)13 tests

Can the model pick the right tool and fill its arguments? Public BFCL tasks, scored by our harness.

Frontier sweep BFCL (unpinned, OpenRouter)

BFCL accuracy · 8 models · 2026-07-30

  1. 1sonnet-5n=200OpenRouter (unpinned)98.0%
  2. 2opus-5n=200OpenRouter (unpinned)96.5%
  3. 3gemini-3.6-flashn=200OpenRouter (unpinned)96.5%
  4. 4inklingn=200OpenRouter (unpinned)95.0%
  5. 5grok-4.5n=200OpenRouter (unpinned)94.5%
  6. 6gpt-5.6-terran=200OpenRouter (unpinned)88.5%
  7. 7soln=200OpenRouter (unpinned)86.0%
  8. 8kimi-k3n=200OpenRouter (unpinned)71.0%

800 BFCL tasks by task type (same tasks, same scorer)

accuracy, parallel calls · 8 models · 2026-10-17

  1. 1opus-5.5$0.0056/right answer2.07sn=200n/a93.5%
  2. 2tirtha0.92sn=200api.tirtha.ai93.0%
  3. 3grok-4.7$0.0015/right answer1.55sn=200n/a92.5%
  4. 4sonnet-5$0.0031/right answer2.84sn=200n/a92.0%
  5. 5grok-4.5$0.0015/right answer1.85sn=200n/a92.0%
  6. 6muse-spark-open$0.0020/right answer5.51sn=200n/a89.5%
  7. 7gpt-5.2-codex$0.0013/right answer2.46sn=200n/a87.5%
  8. 8gpt-5.1-codex$0.0011/right answer2.40sn=200n/a61.0%

800 BFCL tasks by task type (same tasks, same scorer)

accuracy, several tools to choose from · 8 models · 2026-10-17

  1. 1tirtha0.92sn=200api.tirtha.ai94.5%
  2. 2opus-5.5$0.0056/right answer2.07sn=200n/a94.0%
  3. 3grok-4.7$0.0015/right answer1.55sn=200n/a94.0%
  4. 4sonnet-5$0.0031/right answer2.84sn=200n/a93.5%
  5. 5grok-4.5$0.0015/right answer1.85sn=200n/a93.5%
  6. 6muse-spark-open$0.0020/right answer5.51sn=200n/a93.0%
  7. 7gpt-5.2-codex$0.0013/right answer2.46sn=200n/a89.0%
  8. 8gpt-5.1-codex$0.0011/right answer2.40sn=200n/a88.0%

800 BFCL tasks by task type (same tasks, same scorer)

accuracy, single call · 8 models · 2026-10-17

  1. 1sonnet-5$0.0031/right answer2.84sn=400n/a97.5%
  2. 2grok-4.7$0.0015/right answer1.55sn=400n/a97.5%
  3. 3opus-5.5$0.0056/right answer2.07sn=400n/a97.0%
  4. 4muse-spark-open$0.0020/right answer5.51sn=400n/a95.2%
  5. 5grok-4.5$0.0015/right answer1.85sn=400n/a94.0%
  6. 6tirtha0.92sn=400api.tirtha.ai93.5%
  7. 7gpt-5.2-codex$0.0013/right answer2.46sn=400n/a92.5%
  8. 8gpt-5.1-codex$0.0011/right answer2.40sn=400n/a86.8%

BFCL v4 competitor comparison

accuracy (our harness) · 8 models · 2026-07-16

  1. 1sonnet-4.5n=800OpenRouter95.9%
  2. 2sonnet-5n=800OpenRouter95.1%
  3. 3tirthan=800OpenRouter94.0%
  4. 4qwen3-codern=800OpenRouter93.6%
  5. 5deepseek-chatn=800OpenRouter93.0%
  6. 6glm-4.7-flashn=800OpenRouter92.9%
  7. 7deepseek-v4-flashn=800OpenRouter91.0%
  8. 8glm-5.2n=800OpenRouter88.0%

Frontier tool-calling 6 arms N=800

accuracy · 8 models · 2026-10-17

  1. 1opus-5.5n=800pinned95.4%
  2. 2grok-4.7n=800pinned95.4%
  3. 3sonnet-5n=800pinned95.1%
  4. 4tirtha$0.00076/right answer0.92sn=800api.tirtha.ai93.6%
  5. 5grok-4.5n=800pinned93.4%
  6. 6muse-spark-open$0.0020/right answer5.52sn=800OpenRouter→Together93.2%
  7. 7gpt-5.2n=800pinned90.4%
  8. 8gpt-5.1n=800pinned80.6%

Frontier tool-calling BFCL full n=800

accuracy · 6 models · 2026-09-25

  1. 1opus-5.5n=800n/a95.4%
  2. 2grok-4.7n=800n/a95.4%
  3. 3sonnet-5n=800n/a95.1%
  4. 4grok-4.5n=800n/a93.4%
  5. 5gpt-5.2n=800n/a90.4%
  6. 6gpt-5.1-codexn=800n/a80.6%

Frontier refresh BFCL v4 pinned arms

accuracy (our harness) · 5 models · 2026-08-06

  1. 1qwen3-coder1.44sn=800DeepInfra95.2%
  2. 2deepseek-v4-flash2.01sn=800DeepInfra93.4%
  3. 3qwen3.8-max3.70sn=800Alibaba93.0%
  4. 4qwen3.7-flash3.69sn=800Alibaba92.6%
  5. 5gpt-oss-120b0.36sn=800Cerebras64.0%

Escalation ladder rungs on BFCL 2400 + traps

accuracy bfcl-parallel · 3 models · 2026-09-23

  1. 1qwen3-235b$0.00007/right answer3.56sn=600DeepInfra95.7%
  2. 2sonnet-4.5$0.0049/right answer5.99sn=600Bedrock95.5%
  3. 3qwen3-coder-480b$0.00024/right answer0.87sn=600DeepInfra91.3%

Drafter candidates: tool accuracy vs generation rate

BFCL overall accuracy · 3 models · 2026-07-29

  1. 1qwen3-235bn=800Nebius95.5%
  2. 2qwen3-coder-480bn=800DeepInfra95.2%
  3. 3gpt-oss-120bn=800Cerebras65.8%

Drafter candidates: tool accuracy vs generation rate

BFCL parallel accuracy · 3 models · 2026-07-29

  1. 1qwen3-coder-480bn=?DeepInfra92.0%
  2. 2qwen3-235bn=?Nebius92.0%
  3. 3gpt-oss-120bn=?Cerebras2.0%

Cascade vs arms vs oracle on HumanEval+ / BFCL

BFCL accuracy · 3 models · 2026-08-16

  1. 1sonnet-4.52.27sn=800Amazon Bedrock96.0%
  2. 2gemini-3.7-flash1.88sn=800Google94.6%
  3. 3grok-4.32.29sn=800xAI93.4%

Frontier refresh benchmark, BFCL-parallel

BFCL-parallel accuracy · 3 models · 2026-07-30

  1. 1qwen3-coder1.44sn=200n/a92.5%
  2. 2deepseek-v4-flash2.01sn=200n/a90.5%
  3. 3gpt-oss-120b0.36sn=200n/a0.0%

Trap tests6 tests

Does it hold back when no tool fits, or call a decoy anyway? Higher is safer.

800 BFCL tasks by task type (same tasks, same scorer)

trap success (all calls scored) · 8 models · 2026-10-17

  1. 1tirtha0.92sn=120api.tirtha.ai99.2%
  2. 2grok-4.5$0.0015/right answer1.85sn=120n/a98.3%
  3. 3grok-4.7$0.0015/right answer1.55sn=120n/a97.5%
  4. 4sonnet-5$0.0031/right answer2.84sn=120n/a94.2%
  5. 5gpt-5.1-codex$0.0011/right answer2.40sn=120n/a90.0%
  6. 6muse-spark-open$0.0020/right answer5.51sn=120n/a90.0%
  7. 7gpt-5.2-codex$0.0013/right answer2.46sn=120n/a86.7%
  8. 8opus-5.5$0.0056/right answer2.07sn=120n/a85.0%

Frontier tool-call pilot run 2: bootstrap CIs

accuracy · 6 models · 2026-09-24

  1. 1sonnet-4.5n=220n/a98.6%
  2. 2grok-4.5n=220n/a97.7%
  3. 3grok-4.7n=220n/a97.7%
  4. 4gpt-5.2n=220n/a97.3%
  5. 5opusn=220n/a96.8%
  6. 6gpt-5.1n=220n/a94.5%

Frontier pilot trap scores, artifact shapes removed

trap score · 6 models · 2026-09-24

  1. 1sonnet-5n=100n/a100.0%
  2. 2gpt-5.2n=100n/a100.0%
  3. 3gpt-5.1n=100n/a99.0%
  4. 4grok-4.5n=100n/a99.0%
  5. 5opus-5.5n=100n/a96.0%
  6. 6grok-4.7n=100n/a96.0%

Value rung per task shape: code vs tools

trap accuracy · 5 models · 2026-07-27

  1. 1sonnet-4.5n=40n/a100.0%
  2. 2glm-4.7$0.0033/right answer3.97sn=40n/a100.0%
  3. 3glm-5.2$0.0033/right answer3.15sn=40n/a92.5%
  4. 4gpt-5.1-codex-mini$0.0026/right answer2.79sn=40n/a82.5%
  5. 5qwen3-235bn=40n/a75.0%

Trap set per shape (frontier refresh arms)

trap success · 5 models · 2026-08-06

  1. 1qwen3-coder1.44sn=50n/a100.0%
  2. 2qwen3.7-flash3.69sn=50n/a100.0%
  3. 3deepseek-v4-flash2.01sn=50n/a100.0%
  4. 4qwen3.8-max3.70sn=50n/a100.0%
  5. 5gpt-oss-120b0.36sn=50n/a98.0%

Drafter candidates: tool accuracy vs generation rate

trap accuracy · 3 models · 2026-07-29

  1. 1qwen3-coder-480bn=40DeepInfra100.0%
  2. 2qwen3-235bn=40Nebius87.5%
  3. 3gpt-oss-120bn=40Cerebras75.0%

Cost and value1 tests

Right answers per run where cost was logged, so price can be read against accuracy.

Offline cost per correct tool call

correct (outcome==success) · 6 models · 2026-10-10

  1. 1grok-4.7$0.0015/right answern=920OpenRouter95.7%
  2. 2sonnet-5$0.0031/right answern=920OpenRouter95.0%
  3. 3opus-5.5$0.0056/right answern=920OpenRouter94.0%
  4. 4grok-4.5$0.0015/right answern=920OpenRouter94.0%
  5. 5gpt-5.2-codex$0.0013/right answern=920OpenRouter89.9%
  6. 6gpt-5.1-codex$0.0010/right answern=920OpenRouter81.8%

Other tool tests4 tests

Narrower runs: drafter candidates, the mistake atlas, cascade arms.

Mistake atlas: first-call tool accuracy across families

success rate (answered denominator) · 5 models · 2026-10-09

  1. 1deepseek-v4-flashn=?Together100.0%
  2. 2glm-5.3-flashn=?Together91.7%
  3. 3qwen3.5-9bn=?Together91.3%
  4. 4gpt-oss-120bn=?Together88.3%
  5. 5llama-4-scout-17b-16en=?Together70.0%

Value rung per task shape: code vs tools

accuracy · 3 models · 2026-07-26

  1. 1sonnet-4.5n=42n/a73.8%
  2. 2gpt-oss-120bn=42n/a61.9%
  3. 3qwen3-235bn=42n/a57.1%

Value rung per task shape: code vs tools

success · 3 models · 2026-07-26

  1. 1sonnet-4.5n=200n/a97.5%
  2. 2qwen3-235bn=200n/a92.5%
  3. 3gpt-oss-120bn=200n/a84.5%

Value rung per task shape: code vs tools

tool accuracy · 3 models · 2026-07-27

  1. 1glm-5.2$0.0033/right answer3.15sn=200n/a97.5%
  2. 2gpt-5.1-codex-mini$0.0026/right answer2.79sn=200n/a95.5%
  3. 3glm-4.7$0.0033/right answer3.97sn=200n/a93.5%

Decision modelsyes/no checkers · Sep 26 to Oct 18

A decision model does not write the tool call. It reads one and answers a yes/no question with a probability, P(yes). We use Microsoft-Decision-1 that way, as the model layer of our tool-call checker: plain code checks the facts first, then the decision model gets one clear-cut question. These numbers are not on the same scale as the accuracy cards above. Each number shows its ledger row id.

Same 80 checks (muse-round)Wrong calls let throughRight calls wrongly blockedSent up$ / checkSpeed (median, all 3 asks)
1. typesafe/jev-1.13
decision model · TypeSafe via OpenRouter
0 of 600 of 2075%$0.000110.26s hosted
2. gpt-oss-120b
chat model as checker · Cerebras
0 of 600 of 2075%$0.00150.55s hosted
3. muse-glimmer-30b
chat model as checker · DeepInfra
0 of 600 of 2075%$0.00273.67s hosted
4. x-ai/grok-4.5
chat model as checker · xAI via OpenRouter
0 of 600 of 2075%$0.00604.56s hosted
5. openai/gpt-5.6-luna
chat model as checker · OpenAI via OpenRouter
0 of 603 of 2079%$0.0007742.48s hosted
6. openai/gpt-oss-safeguard-20b
chat model as checker · Groq via OpenRouter
0 of 604 of 2080%$0.0004410.99s hosted
7. Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo
chat model as checker · DeepInfra
0 of 606 of 2082%$0.00046112.99s hosted
8. deepseek-ai/DeepSeek-V4-Flash
chat model as checker · DeepInfra
3 of 600 of 2071%$0.000112.58s hosted
9. microsoft/microsoft-decision-1
decision model · Azure via OpenRouter
3 of 603 of 2075%$0.0000790.40s hosted
10. openai/gpt-6-luna-decisions
decision model · OpenAI via OpenRouter
3 of 604 of 2076%$0.0001960.31s hosted
11. Qwen/Qwen3-235B-A22B-Instruct-2507 descriptive-only
chat model as checker · DeepInfra
4 of 584 of 2074%$0.0002732.38s hosted
12. openai/gpt-5.4-nano descriptive-only
chat model as checker · OpenAI via OpenRouter
4 of 5910 of 2082%$0.0005831.43s hosted
13. google/gemma-4-26B-A4B-it
chat model as checker · DeepInfra (hosted; local-able)
5 of 600 of 2069%$0.0001821.36s hosted
14. z-ai/glm-4.7-flash (reasoning off) descriptive-only
chat model as checker · Novita via OpenRouter
25 of 550 of 1642%$0.00065111.00s hosted

muse-round-2026-10-13, checker arm: 60 wrong calls and 20 right ones, the same checklist question asked 3 times, approved only if all 3 say yes. Ranked by wrong calls let through, then right calls wrongly blocked, then speed, then cost. The bar to beat was Decision-1 and GPT-6 Luna (decisions) at 3 of 60. Speeds marked hosted include the network and the host queue; nothing ranks higher for being local. An easy synthetic set, kept internal. Hover a number for its ledger row (70 rows, r1097 to r4447).

Scaled up to real traffic (Oct 18)

The checkers with a clean sheet on the 80 checks, run on the two real-traffic sets Decision-1 was measured on, with the same frozen labels. Bars were written blind by Grok before any call. Not like-for-like: the candidates got the 80-check checklist prompt; Decision-1 ran inside checker v2.7 (Set A) or on a bare question at a 0.95 bar (Set B). Approving at the default yes/no line, every candidate approved nearly everything and let through far more wrong calls than Decision-1.

Set A: 452 fresh ToolACE callsApprovedWrong among approved95% upper boundRight calls approvedPre-set bar
Microsoft-Decision-1 (baseline)
inside checker v2.7
2651 (0.38%)1.78%bar to match
openai/gpt-5.6-luna · all-341011 (2.68%)4.40%399 of 410FAIL
openai/gpt-5.6-luna · single41715 (3.60%)5.49%402 of 410FAIL
openai/gpt-oss-safeguard-20b · single40819 (4.66%)6.76%389 of 410FAIL
typesafe/jev-1.13 · all-342521 (4.94%)7.04%404 of 410FAIL
typesafe/jev-1.13 · single42621 (4.93%)7.02%405 of 410FAIL
typesafe/jev-1.13 · mean3>=0.95 (D1 Set-B rule, descriptive) descriptive-only3423 (0.88%)2.25%339 of 410descriptive
Set B: 900 calibration callsApprovedWrong among approved95% upper boundRight calls approvedPre-set bar
Microsoft-Decision-1 (baseline)
bare question, mean P(yes) of 3 ≥ 0.95
67411 (1.63%)2.69%bar to match
openai/gpt-5.6-luna · single86333 (3.82%)5.08%830 of 845FAIL
typesafe/jev-1.13 · all-386438 (4.40%)5.73%826 of 845FAIL
typesafe/jev-1.13 · single86638 (4.39%)5.71%828 of 845FAIL
typesafe/jev-1.13 · mean3>=0.95 (D1 Set-B rule, descriptive) descriptive-only6528 (1.23%)2.20%644 of 845descriptive

Microsoft-Decision-1

microsoft/microsoft-decision-1 · Azure via OpenRouter · Oct 10 to 14

Returns P(yes) for one yes/no question. Inside checker v2.7 it asks about coverage, tool choice and each argument; any doubt sends the call up to a stronger model.

  • Checker v2.7 on 452 fresh ToolACE calls, Oct 12
  • Approved265 of 452 (58.6%)r0871, r3774
  • Wrong among approved1 of 265 (0.38%)r0877, r3775 · 95% upper bound 1.78%
  • Sent up for a stronger model187 of 452 (41.4%)r0872, r3776
  • Right calls sent up anyway146 of 452 (32.3%)r0874, r3777 · 117 of the 146 were UNSURE (r0880)
  • Can it set its own approve bar? Oct 14, pre-registered
  • Approved at P(yes) of 0.95 or more674 of 900r3881
  • Wrong among those approved11 of 674 (1.63%)r3882, r3883 · 95% upper bound 2.69% (r3884)
  • VerdictFAILr3880 · the bar needed 1% or less, so no threshold was certified and every call still goes up
  • Clear-cut checks, speed and cost, Oct 10
  • Verdict flips on clear-cut tool checks0 of 120r2036
  • Median time per call303 msr0370 · p90 398 ms, 775 calls, exploratory
  • Spend for those 775 calls$0.024r0369

Not deterministic. Six byte-identical requests came back between 0.999089 and 0.99929 (r0811). Across two runs the same question moved by up to 0.37, and about 1% of verdicts crossed the 0.9 approve bar (FINDING-decision1-is-not-deterministic-2026-10-11). A gate on one call near the bar can flip on a retry, so we say "steadier", never "deterministic".

Give it a fact, not a judgement. Asked a judgement ("is this note relevant?"), identical requests differed by a median 0.0069 and up to 0.166, and that gate was voided (r0662). With a fact from code in front of it, a matched pair scored 0.93 vs 0.15, as it should (r0672, n=2). FINDING-decision-models-want-a-fact-not-a-judgement-2026-10-10.

Labels. The Oct 12 run was labelled by GPT-6.1 Sol on low effort, which disagreed with careful labels about 5.7% of the time, and used one corpus (ToolACE). Many right calls go UNSURE, and that is where the cost sits.

GPT-6 Luna (decisions)

openai/gpt-6-luna-decisions · Oct 13

A decisions mode of GPT-6 Luna, tried as a swap for Decision-1 in the same checker seat.

  • Checker arm, muse-round, Oct 13 (80 checks)
  • Wrong calls let through3 of 60r1107 · 95% upper bound 12.4%
  • Right calls approved16 of 20r1108
  • Sent up76%r1109 · 61 of 80
  • Cost per check$0.00020r1110 · about 2.5x Decision-1 on the same checks
  • Median time per check0.31 sr1111

Small and easy. 80 checks on a synthetic set, bar missed, internal only. Its Oct 12 bake-off rows are VOID (the judge prompt saw the expected calls), so they are left out here.

Jev-1.13

typesafe/jev-1.13 · TypeSafe via OpenRouter · Oct 18

A decision model from TypeSafe: returns P(yes) for one yes/no question, like Decision-1. Re-run Oct 18 on the exact 80 checks Decision-1 and GPT-6 Luna (decisions) took, same checklist, same 3 asks, same scoring.

  • Checker arm, muse-round, re-run Oct 18 (80 checks)
  • Wrong calls let through0 of 60r4393 · Decision-1 let through 3 (r1102); 95% upper bound 4.9%
  • Right calls approved20 of 20r4394 · Decision-1 approved 17
  • Sent up75%r4395 · exactly the 60 wrong calls
  • Cost per check$0.00011r4396 · 3 asks; Decision-1 $0.000079
  • Median time per check0.27 sr4397 · hosted
  • Oct 12 bake-off (VOID run, kept for the record)
  • Median time per check322 msr0961

Small and easy. 80 synthetic checks, internal only. The Oct 12 bake-off was voided for reasons that were ours, not Jev's (another arm's prompt saw the expected calls, and one arm had missing answers), so this is its first clean comparison.

Laya

Jev-style decision model · run locally · Sep 26

Local, so its speed is a local-machine number; that alone does not help production. Its one test was a different job: deciding whether a hook's note was useful or noise, not checking tool calls.

  • Hook gate, zero-shot, Sep 26
  • Useful vs noise (AUROC, 0.5 is chance)0.471r1654 · n=29, CI about plus or minus 0.2
  • Median time per decision168 msr1654

No better than chance on this job, on a small sample. Fast because it runs on our own machine.

Not on the checker test yet (Oct 18). The laya package is not installed in any environment on this Mac (only its weights are cached), so it could not be run on the 80 checks without installing something (r4449).

Tests per modelevery model in one place →

No single test covers most of these models yet. A standard suite run on every one of them would put them all on one card.

Source: Tirtha results ledger (ALL-RESULTS-2026-10-14.json). VOID runs left out. Scores are pass rates as stored; tests differ in difficulty, so never compare across cards. Trap scores before 2026-09-24 read only the first call, so a served decoy could still pass. Cost is per right answer where the run logged it, else per task; time is median seconds per call. VOID runs are left out of the ranked cards; the Decision models section shows one VOID run's speed and cost, marked. Row ids (r0000) point into the ledger. Logos: simple-icons (CC0) where one exists, else a monogram.