Skip to main content
Curtail

More bugs fixed

Ongoing

In our ongoing testing, ReGrade helps AI coding agents fix 133% more bugs.

Measured on the typical model, across 68 models from 22 labs. 65 of the 67 we scored fixed more silent regressions with ReGrade.

Curtail research · 68 models, 22 labs, updated 2026-09-18

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

Every model tested, on bugs fixed

67 models · 21 labs
Bug Fixes
Verdict
qwen3-coder-plus2.0011.8+488%Alibaba7
laguna-xs-2.11.8010.3+474%Poolside30
haiku-4.5 (Aug 2026)2.7014.5+437%Anthropic20
minimax-m2.52.1010.9+427%MiniMax60
haiku-4.52.5012.8+413%Anthropic60
seed-2.0-lite2.9014.7+408%ByteDance60
nemotron-3-ultra3.0013.8+360%Nvidia10
ling-2.6-1t1.607.00+338%InclusionAI10
qwen3.6-plus4.0016+300%Alibaba7
grok-4-1-fast-non-reasoning2.509.70+295%xAI21
ling-3.0-flash2.9011.3+294%InclusionAI29
glm-5.14.5017.6+292%Z.ai60
grok-4.20-0309-reasoning3.2012.3+284%xAI21
nemotron-3.5-lightning1.405.30+281%Nvidia8
gpt-5.4-mini3.6013.2+267%OpenAI10
kimi-k264.4016+261%Moonshot13
deepseek-v4-flash-07314.8016.7+252%DeepSeek22
step-3.7-flash3.4011+221%StepFun60
grok-4.32.006.30+217%xAI6
sonnet-55.5017.4+216%Anthropic60
kimi-k2.7-code5.0015.7+213%Moonshot6
deepseek-v4-pro5.3016.6+211%DeepSeek8
qwen3-coder1.705.00+192%Alibaba15
solar-pro43.8010.6+179%Upstage10
opus-4.67.0017.7+152%Anthropic6
glm-5.26.7016.6+150%Z.ai39
qwen3.6-max-preview5.7013.8+144%Alibaba8
devstral-25.4013+142%Mistral60
sonnet-4.67.3017.6+141%Anthropic87
minimax-m37.3017.7+141%MiniMax6
sakana-namazu5.0012+140%Sakana7
hy36.0014+133%Tencent9
mistral-medium-3.56.4014.9+133%Mistral20
qwen3.7-max7.3016.7+127%Alibaba6
gpt-5.6-luna7.5016.8+123%OpenAI60
deepseek-v4-pro-08136.8013.6+100%DeepSeek30
opus-4.89.1017.9+96%Anthropic60
glm-5.38.7016.3+89%Z.ai6
deepseek-v4-flash3.807.00+84%DeepSeek8
gemini-3-flash-preview9.6017.6+83%Google47
fugu-ultra10.218+77%Sakana10
gemini-3.1-pro-preview8.2014.5+76%Google8
opus-4.710.617.8+67%Anthropic84
longcat-2.06.7011+65%Meituan6
inkling9.3015.3+64%ThinkingMachines6
grok-4.511.218+60%xAI8
fable-511.518+57%Anthropic32
muse-spark-1.311.417.8+56%Meta10
hy4-preview11.317.7+56%Tencent6
opus-511.918+52%Anthropic60
gpt-5.6-terra1217.9+49%OpenAI60
fable5112.718+42%Anthropic6
muse-spark-1.21217+42%Meta6
qwen3.8-max-090212.617.6+40%Alibaba10
kimi-k312.317+38%Moonshot6
gpt-5.513.318+36%OpenAI67
muse-spark-1.113.217.7+33%Meta7
gpt-5.6-sol13.918+30%OpenAI60
gpt-5.413.917.9+29%OpenAI79
gpt-6-astra1518+20%OpenAI6
gemini-2.5-flash5.305.60+6%Google15
grok-3-mini1.901.900%xAI16no change
grok-3-fast6.305.50−13%xAI21*
gemini-3.5-flashdid not edit16.7N/AGoogle6no baseline
gemini-3.6-flashdid not edit8.20N/AGoogle11no baseline
gpt-oss-20bdid not edit3.80N/AOpenAI10no 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 68 models, 22 labs, 1,571 agent-mode trials. Bug fixes are unaided (mean bugs fixed across the model's control-arm trials) and aided (the same average over the treatment trials), so the table can be sorted by how capable a model is on its own and by how far it gets with help. Both are our own measurement from the same trials as the rest of this table, not a third party's score. — means the model sits below the trial floor, so no figure is published for it.

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 68 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,571 agent-mode trials across 68 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. Each change is traced back to the edit that caused it, by removing one edit at a time and replaying, so one mistake surfacing at nine call sites counts once.

68

AI models

22

labs

1,571

agent-mode trials

18

known bugs

300,000-line Python

codebase

-73%

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 model 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 models 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 models 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.

Get more fixed from the agents you already run.

65 of the 67 models we scored fixed more silent regressions with ReGrade, on the traffic a team already has.