Skip to main content
Curtail

More bugs fixed

Curtail research · 63 models, 22 labs, updated 2026-08-29

The AFRL study measured this across 17 models in April to May 2026. These figures cover 63 models. Read the study as published.

Every model tested, on bugs fixed

63 models · 22 labs
Verdict
laguna-xs-2.10.709.70+1350%Poolside6
qwen3-coder-plus2.0011.8+488%Alibaba7
haiku-4.5 (Aug 2026)2.7014.5+437%44Anthropic20
minimax-m2.52.1010.9+427%MiniMax60
haiku-4.52.5012.8+413%44Anthropic60
seed-2.0-lite2.9014.7+408%ByteDance60
kat-coder-pro-v2.53.7017+364%Kuaishou5
nemotron-3-ultra3.0013.8+360%49Nvidia10
ling-2.6-1t1.607.00+338%InclusionAI10
qwen3.6-plus4.0016+300%55Alibaba7
ling-3.0-flash2.9011.3+294%51InclusionAI29
glm-5.14.5017.6+292%56Z.ai60
grok-4.20-0309-reasoning3.2012.3+284%xAI21
nemotron-3.5-lightning1.405.20+275%27Nvidia9
gpt-5.4-mini3.6013.2+267%56OpenAI10
kimi-k264.4016+261%62Moonshot13
step-3.7-flash3.4011+221%40StepFun60
grok-4.32.006.30+217%42xAI6
sonnet-55.5017.4+216%72Anthropic60
kimi-k2.7-code5.0015.7+213%61Moonshot6
deepseek-v4-pro5.3016.6+211%59DeepSeek8
qwen3-coder1.705.00+192%Alibaba15
solar-pro43.8010.6+179%53Upstage10
opus-4.67.0017.7+152%Anthropic6
glm-5.26.7016.6+150%69Z.ai39
qwen3.6-max-preview5.7013.8+144%Alibaba8
devstral-25.4013+142%31Mistral60
sonnet-4.67.3017.6+141%63Anthropic87
minimax-m37.3017.7+141%59MiniMax6
sakana-namazu5.0012+140%Sakana7
hy36.0014+133%59Tencent9
qwen3.7-max7.3016.7+127%66Alibaba6
mistral-medium-3.56.8015.4+127%47Mistral10
gpt-5.6-luna7.5016.8+123%71OpenAI60
deepseek-v4-flash-07317.8016.7+116%69DeepSeek22
opus-4.89.1017.9+96%74Anthropic60
deepseek-v4-flash3.807.00+84%56DeepSeek8
gemini-3-flash-preview9.6017.6+83%Google47
fugu-ultra10.218+77%Sakana10
gemini-3.1-pro-preview8.2014.5+76%69Google8
opus-4.710.617.8+67%74Anthropic84
longcat-2.06.7011+65%45Meituan6
inkling9.3015.3+64%52ThinkingMachines6
grok-4.511.218+60%72xAI8
fable-511.518+57%77Anthropic32
opus-511.918+52%78Anthropic60
gpt-5.6-terra1217.9+49%77OpenAI60
muse-spark-1.21217+42%72Meta6
kimi-k312.317+38%76Moonshot6
gpt-5.513.318+36%75OpenAI67
muse-spark-1.113.217.7+33%71Meta7
gpt-5.6-sol13.918+30%78OpenAI60
gpt-5.413.917.9+29%71OpenAI79
qwen3.8-max1517+13%72Alibaba6
gemini-2.5-flash5.305.60+6%Google15
grok-3-fast6.305.50−13%xAI21*
grok-3-mini2.001.70−14%xAI14*
grok-4-1-fast-non-reasoning1.300.30−75%xAI6*
gemini-3.5-flashdid not edit16.7N/A70Google6no baseline
gemini-3.6-flashdid not edit6.00N/A69Google13no baseline
gpt-oss-20bdid not editN/A21OpenAI9no baseline
grok-4.1-fastdid not editN/AxAI8no baseline
laguna-s-2.1did not edit10N/APoolside6no baseline

improved · * got worse · N/A: the model did not edit the file in the control run, so there is no baseline to compare against. Click a column to sort. Measured over 63 models, 22 labs, 1,431 agent-mode trials. Capability is the Artificial Analysis Coding Index, retrieved 2026-08-18, best listed configuration per model. It is not measured by us; it is here so the table can be sorted by how capable a model is. — means the model is not listed there.

How we tested.

ReGrade is a behavioral-diff context block your AI coding agent reads alongside its existing prompt. The block shows the agent how the new code's runtime behavior differs from the old, the way a human checks for regressions at code review. No model retraining. No changes to your build or CI pipeline.

How we measured it. At Curtail® we tested 63 AI models on one task: fix 18 real bugs in a working 300,000 line Python service. Every model ran that task twice. On the first run the model worked blind, the way a coding agent normally works today. On the second run we gave the model ReGrade's patented behavioral comparison, which runs the same live traffic against both versions of the service and shows the model exactly what its last changes did to the running system. 1,431 agent-mode trials across 63 AI models from 22 labs, US and non-US, from frontier flagships down to free tiers.

What counts as an AI coding hallucination. An unintended change, addition or deletion to working code the agent was never asked to modify. The code is not what hallucinates; the AI writing it is. We measure it by replaying the agent's patch against the original behavior and counting what changed that nobody requested, deduplicated to root causes so one mistake surfacing at nine call sites counts once.

63

AI models

22

labs

1,431

agent-mode trials

18

known bugs

300,000-line Python

codebase

-83%

AI coding hallucinations

🕵️ It catches what your tests can't.

Functional tests check status codes and required fields. They routinely miss the behavioral drift that actually breaks production: a CORS header that quietly changed, a list that's now an object, a timestamp format that broke a downstream consumer. ReGrade compares runtime behavior directly, so the agent sees the drift the test suite waved through.

35%

of AI patches that passed every functional test still silently broke behavior

191 of 548 test-passing patches, across 14 of 26 tasks

0 → 9

multi-file bug sites fixed, weaker models fixed 0 of 9 on their own

with ReGrade, agents clear all 9 sites of a cross-file regression

18

classes of silent drift planted, headers, encoding, ordering, response shape

the behavioral defects that pass type-checks, lint, and existing tests

Your test suite says “green.” ReGrade says “but the API’s behavior drifted.” That gap is exactly where production incidents come from.

Measured on BaxBench and the multi-site experiment in July 2026. These three figures come from that experiment rather than from the running corpus, so they do not move as more models are tested.

🔎 Better answers, and better detection.

Finding a bug is only half the job, a reviewer still has to understand and trust the fix. Even when a model already spots a regression, ReGrade’s behavioral evidence helps it explain exactly what changed and where.

more precise bug explanations on a production codebase (Ghost CMS)

explanation precision rose from 0.40 to 0.91

9 of 10

models explained the bug better on a 291,000-line codebase (NetBox)

+3.2 points on a 20-point rubric, even where the model already found it

The difference between “something looks off” and a root-cause a human can act on with confidence.

In collaboration with AFRL · figures as published

Distribution (A) Approved for public release; distribution is unlimited; AFRL-2026-3793, AUG 2026

Is it the evidence, or just the extra words?

The obvious objection to the whole study is that any five thousand tokens would help, and the behavioral report just happens to be five thousand tokens. So we pre-registered a test of exactly that: the same agents, the same bugs, but the report swapped for pseudo-random tokens of the same length, and again for unrelated source code of the same length.

Bugs fixed out of 18, by model and by what the agent was given
ModelNothingRandomSourceReGrade
Haiku 4.52.40.81.912.5
Sonnet 4.65.55.95.317.7
Opus 4.79.19.28.718.0
GPT-5.413.314.112.418.0
GPT-5.512.315.214.118.0

Bugs fixed out of 18, mean of ten trials per cell per arm.

The rescue does not survive the substitution. Padding of either kind lands within about a bug of no extra context at all, while the behavioral report lands eight bugs above it. All three pre-registered hypotheses reject at p below 1e-4.

  • +8.32 bugs against no extra context (95% CI 7.32 to 9.32)
  • +7.80 bugs against random tokens of the same length (95% CI 6.66 to 8.90)
  • +8.36 bugs against unrelated source of the same length (95% CI 7.40 to 9.30)

Two cells are worth reading closely. Haiku gets worse under random tokens than with nothing at all, 0.8 against 2.4, because noise costs it attention it does not have to spare. The OpenAI cells move the other way: GPT-5.5 gains from padding of either kind, 15.2 and 14.1 against a control of 12.3, so some of the lift there is volume rather than signal. The behavioral report still beats both, at 18.0.

Want ReGrade for your AI coding agent?

Drop the context block into your agent's prompt. No retraining. No CI changes.