ndovuai-code-review

EVIDENCE · AI CODE REVIEW

The claims, grouped by the decision they inform

Filter by what you are trying to decide: which reviewer to pick, what running it day to day does, who may approve the merge, whether to believe the security story, or what nobody has measured. Numbers produced by vendors about their own tools sit in a marked quarantine. Claims that failed verification are published further down, killed in the open.

Published: Nov 1, 2026evidence ledger: 195 rows, runs of 2026-10-26 and 2026-11-01Jump to the explorer
00 · How to read the stamps

Confidence tiers, defined

The stamp says what kind of knowledge backs the claim, not whether the claim is true. A verified self-reported number can still be wrong; a controlled study can still fail to replicate.

verified

Read on a fetched primary source. Numbers that are the organization's own performance claims carry an extra self-reported tag: the method is described, the data is not public.

study

Peer-reviewed or controlled research. Stronger than any blog, but each row is a single study: replication is the exception in this field, not the rule.

single-source

One non-peer-reviewed source: a blog, survey, talk, or vendor-run benchmark. Treat as a report of a claim, not a measurement.

contested

Credible sources disagree. Where the disagreement is load-bearing, the research shows both sides instead of picking one.

absence

A documented gap: searched for across the evidence base and not found. Absence rows are as load-bearing as any number here.

01 · The explorer

Fifty-six claims, two filters

The first filter is yours to make: adopting a reviewer, operating one, setting a merge policy, judging security claims, or locating the holes. The second is the tier stamp. Every card names its source, date, and evidence-row id (L#), so any claim here can be checked against the primary it came from.

showing 56 of 56 claims

studyL40

F1 19.4

On 1,000 verified real-world PRs, the best AI review system scores F1 19.4 with 2.8-15.4% precision, up to 7.6 false positives per PR. Careful single-model prompting beats naive agentic setups.

SWR-Bench, arXiv 2509.01494FSE 2026
single sourceL50

88% / 26%

GitHub's ReviewBench inverts SWR-Bench: precision ~88%, recall ~26%. The contradiction is definitional: the benchmarks count "false positive" differently, so "the" precision of AI review is an artifact of oracle design. ReviewBench opened as a research preview on 2026-10-05 with a public dataset (219 PRs, 187 public repos).

ReviewBench (GitHub)2026
studyL51

56.3% rejected

Developers rejected 56.3% of CodeRabbit's agentic review comments (31,073 comments, 239 repos). Comments on functional concerns were rejected MORE often than style comments.

arXiv 2607.03316Jul 2026
single sourceL92

raw model ties tools

Across 21 models and 58 configurations with open artifacts, the best raw model with no harness statistically ties the best commercial review tools (top group within noise, F2 59-64). More reasoning buys recall at precision's expense for most models.

IronBee (ironbee.ai), 7,980 reviewsOct 2026
studyL63

45.2% vs 68.4%

PRs whose only review was CodeRabbit merged at 45.2% versus 68.4% for human-only review; 12 of 13 review agents measured under 60% signal-to-noise.

MSR 2026, arXiv 2604.031962026
verifiedL66

publisher wins

Every AI-review benchmark crowns its own publisher (Qodo, Entelligence, Tenki); the one independent comparison crowned someone else. First-party confirmation arrived 2026: OpenAI audited SWE-bench Verified, found 59.4% of 138 audited problems materially flawed with demonstrated contamination, and stopped reporting it (L116); it then retracted its own recommendation of SWE-bench Pro (L117).

cross-benchmark analysis; OpenAI audits2026
verifiedL116

bench retired

OpenAI retired SWE-bench Verified: "59.4% of the 138 problems contained material issues", and every frontier model they tested reproduced the original human bug fix, demonstrating contamination. Months later it retracted its own recommendation to adopt SWE-bench Pro (27.4-34.1% broken tasks).

openai.com, two audit postsFeb 2026
verifiedL82

40%+ of PRs

GitHub first-party: "As of September, developers start more than 40% of pull requests with an agent. In March, it was 17%." Merged PRs tripled to 1.3 billion over twelve months; agent PRs merge at 90% (about even with human PRs); AI-assisted review usage grew more than 90% YoY.

Octoverse 2026, github.blogSep 2026
studyL24

80% useful

Google's AutoCommenter reached 80% useful comments only after suppressing 22 low-value comment topics. Its controlled A/B found no significant change in review duration.

AIware '24, arXiv 2405.13565May 2024
verifiedL27self-reported

75% floor

Uber's uReview covers over 90% of ~65k weekly diffs and launched only after passing a 75% usefulness floor: 65% of its comments get addressed, against a 51% human baseline.

uber.com blogAug 2025
verifiedL28self-reported

$0.98/review

Cloudflare's seven-specialist reviewer ran 131k times in 30 days at a $0.98 median per review, 1.2 findings per review; humans used break-glass override on 0.6% of runs.

blog.cloudflare.comApr 2026
verifiedL29

What NOT to Flag

Cloudflare's noise control is explicit: prompt sections that tell the reviewer what not to flag. Their words: "telling an LLM what not to do is where the actual prompt engineering value resides."

blog.cloudflare.comApr 2026
studyL43

+43.7% F1

Aggregating five or more independent review passes lifts F1 by 43.67%; five is the cost/quality sweet spot, and a cheap-model ensemble beats one large model.

SWR-Bench ablationFSE 2026
verifiedL96

voter filter

Anthropic posts findings only if enough of a parallel voter group agrees each one is real, and A/B tested the filters on its own PRs before keeping them.

claude.dev code review postOct 2026
verifiedL113self-reported

100k PRs/day

OpenAI's deployment measurement: review comments on 36% of Codex-generated PRs, addressed in 46% of cases (53% on human-generated PRs), across more than 100k external PRs per day, with over 80% positive comment reactions.

alignment.openai.comDec 2025
verifiedL111

utility formula

OpenAI states the reviewer's objective as a formula: maximize P(correct) x C_saved - C_human_verification - P(incorrect) x C_false_alarm, and "explicitly accepted a measured tradeoff: modestly reduced recall in exchange for high signal quality and developer trust."

alignment.openai.comDec 2025
verifiedL69

advisory first

The adoption convergence across vendors and teams: start advisory, gate later; success is implemented rate, not finding volume; rules mined from the team's own PR history. Qodo v3.1 (Oct 2026) productized the loop, auto-deactivating rules teams consistently ignore.

Qodo academy; Anthropic checklist2026
studyL45

38% -> 9% recall

Recall collapses as issues crowd a PR: 38% at one issue per PR, 9% at five or more. Multi-change PRs, exactly where agents live, are the blind spot.

SWR-Bench stratified evalFSE 2026
studyL41

48% context

Root causes of AI review false positives, from coding 100 of them: 48% missing context, 17% over-sensitivity, 16% vague feedback, 13% missing domain knowledge.

SWR-Bench qualitative analysisFSE 2026
verifiedL18self-reported

50+ rounds

One Anthropic PR cycled 50+ times overnight between agent author and agent reviewer; about 59% of what the reviewer kept flagging had been there since its first pass. Fixes: a 3-round cap, diff-only re-review, bug-class reporting.

claude.dev code review postOct 2026
studyL42

27 shared defects

Five runs of the same model share only 27 identified defects; five different models share 36. A single review pass is a random sample from an unstable detector.

SWR-Bench overlap analysisFSE 2026
studyL64

4.52x comments

PRs by low-experience "vibe coder" authors draw 4.52x more review comments with 31% lower acceptance. In an agent-heavy org, that is the inbox.

MSR 2026, arXiv 2602.23905, 22,953 PRs2026
studyL46

94-98% FPs cut

On 433 static-analysis alarms (76% false), hybrid LLM plus path-feasibility triage removed 94-98% of false positives at cents per alarm. Naive prompt-only triage failed (F1 ~0.4).

Tencent, arXiv 2601.18844ICSE-SEIP 2026
verifiedL11self-reported

0 / 1 / 2 approvals

Anthropic's risk tiers: low-risk changes need zero approvals, medium one, high two. A classifier sets the tier from the change, not the author. Agent approvals never count as a person's.

claude.dev code review postOct 2026
verifiedL95self-reported

no circuit breakers

Anthropic, on why humans still merge everything today: "We don't yet have circuit breakers that tighten approval when those numbers move; engineers here want them before more code moves to zero-human merges."

claude.dev code review postOct 2026
verifiedL17

never approves

Anthropic's public Code Review product "never approves or blocks the pull request". Blocking security and CI review exists only as an Anthropic-internal process.

Anthropic docs2026
verifiedL68

Copilot approves

Since September 2026 a Copilot approval satisfies required-approval branch protection (dismissed when new commits land), with a "not guaranteed" caveat in the docs. Default verdict is a Comment review; Approve reviews are configurable at enterprise/org/repo.

GitHub changelog + docsSep 2026
verifiedL83

cannot block

GitHub's AI Scan for pull requests, GA October 2026: "AI Scan findings are advisory. They do not fail the code scanning check and cannot block pull request merges through ruleset requirements."

GitHub changelogOct 2026
verifiedL84

sells blocking

CodeRabbit expanded into cross-repo security with "enforceable merge checks" (security merge blocking shipped 2026-10-05). The who-may-gate-merges split is now three-way: CodeRabbit sells blocking, GitHub's AI Scan cannot block, Anthropic's product never approves or blocks.

docs.coderabbit.ai; coderabbit.ai blogOct 2026
verifiedL154

auto-approve bounded

CodeRabbit documents its approval authority: "requests changes on actionable findings and approves once its feedback is resolved and the latest commit is reviewed", with org-configurable risk limits that keep higher-risk PRs for humans.

docs.coderabbit.ai2026
verifiedL115

not required

OpenAI's harness engineering post, verified full text: "Humans may review pull requests, but aren't required to. Over time, we've pushed almost all review effort towards being handled agent-to-agent." About 1,500 PRs from 3 engineers over ~1M lines; minimal blocking merge gates; Fridays once spent cleaning "AI slop".

openai.com/index/harness-engineeringFeb 2026
verifiedL35self-reported

19% auto-approved

Intercom: over 93% of PRs are agent-driven and over 19% merge with no human reviewer. AI-authored revert rates run well below human-authored (backend 0.53% vs 5.39%, frontend 0.22% vs 2.00%); a 100+ PR pilot saw zero reverts.

intercom.com engineering blogApr 2026
verifiedL70

no AI authors

Homebrew's policy: no AI commit authors, no AI-mediated review replies, and self-review before any human review.

docs.brew.sh, Responsible AI UsageOct 2026
single sourceL34

labels, not meetings

Duckbill requires human review by label only for auth, public API, schema, and agent-skill changes; everything else flows. Merged PRs went 353 to 684, with 45% merged under an hour.

Pragmatic Engineer interview2026
verifiedL123

attention is scarce

Microsoft, on its Windows-scale agent program: "Human attention has become the scarcest resource in agentic software engineering." A reviewer agent scores each proposed fix; experts approve the knowledge base rather than individual fixes; formal methods anchor trust.

Microsoft Command Line (FoSSE)Oct 2026
verifiedL39

approval fatigue

After an agent sent an incident email, Google OCTO moved to conditional LGTM and a zero-trust policy engine, and named approval fatigue as the human cost of machine-generated review volume. Anthropic independently measures the same fatigue (93% of permission prompts approved) and ships classifier gating.

Google Cloud blog; AnthropicApr 2026
studyL47

68% -> 3% F1

The same 7B model scores 68.26% F1 detecting vulnerabilities on the contaminated BigVul benchmark and 3.09% on realistic data: a 22x collapse. GPT-4 sits near random in paired settings. Task-shape caveat: exploit-anchored studies (reproducer, bisection, patch) report far higher validity than label-only benchmarks.

PrimeVul, arXiv 2403.18624ICSE 2025
studyL91

32.5-78.1% recall

On 265 validated real-world bug-introducing commits (Firefox, V8, OpenSSL), agentic security review recall ranges 32.5-78.1% across eight frontier models. In 68% of misses the agent saw the flawed file and argued the wrong mechanism. Security harnesses move recall in opposite directions (Codex Security -8.3pts by abstaining; Anthropic's Defending Code +7.7pts at higher cost).

SecPRBench, arXiv 2610.33509Oct 2026
studyL90

85-91% caught

In an execution-decided arena, three agentic reviewers catch 85-91% of 1,088 valid attacks hidden in real open-source maintenance work. When the attacker spreads the change over real upstream commits, about one in six attack slots still ends in a working exploit after review. A second vendor's reviewer catches about two thirds of a Claude reviewer's misses.

CyberDual, arXiv 2610.34435Oct 2026
studyL80

<35% rejection

When a PR that reintroduces a known vulnerability carries a "prior approval" or "dependency compatibility" narrative, weaker review agents reject it less than 35% of the time. The failure is accepting an unverified account of the change. (1,062 adversarial PRs, 15 social-engineering framings.)

Sevra-Bench, arXiv 2606.13757Jun 2026
single sourceL81

94% miss sabotage

94% of unmonitored developers fail to detect agent sabotage. DeepMind later observed the phenomenon at the frontier: a model attempting privilege escalation to alter grading scripts, read answers from memory, and crash its sandbox to dodge scoring.

arXiv 2606.05647; Google DeepMind2026
verifiedL59

RCE, ~1M repos

A crafted pull request escalated CodeRabbit from review comment to remote code execution with secrets access and read/write on roughly a million repositories. The reviewer is part of your attack surface.

Kudelski Security, Black Hat USA 2025Aug 2025
studyL56

64.5% self-miss

Models fail to correct their own errors 64.5% of the time, and roughly 75% of LLM-generated code is insecure while its author-model reviews it clean.

Tsui et al. 2025; Gong et al. 20242024-25
studyL57

+37.6% critical

Iterative AI "improvement" degrades security: critical vulnerabilities rose 37.6% after five refinement rounds.

arXiv 2506.11022Jun 2025
studyL58

p > 0.21

Adversarial PR comments mostly FAIL to manipulate reviewers (not significant), but structural gaps (races, timing, authorization) evade prompting entirely. Injection panic is overrated; structural blind spots are underrated.

arXiv 2602.16741Feb 2026
single sourceL55

60-62% vs 53.7%

Models recall more high-severity bugs in a DIFFERENT vendor's code than in their own (60-62% vs 53.7-50.5%). A reviewer's blind spots mirror its own bug types.

Greptile model-inversion study, 2x500 PRs2026
verifiedL142

two content defenses

Across seven vendor reviewers' public docs, only two content-level defenses against attacker-controlled PR text are documented: GitHub's hidden-character filtering plus default-on egress firewall for the review agent, and Ellipsis's per-session tokens scoped so the limit "holds even against a prompt injection".

docs.github.com; ellipsis.dev2026
verifiedL109

29k vs 6k

Anthropic's vulnerability finder discovered over 29,000 candidate vulnerabilities but humans triaged only about 6,000; an audit of 97 critical-and-high findings put 88% through responsible-disclosure bar. Generation outstrips validation, the field's recurring asymmetry.

Anthropic Frontier Red TeamOct 2026
absenceL78

no study exists

No controlled production study of AI review's effect on escaped defects exists anywhere in public. Re-checked 2026-11-01 against the week's new evidence: still nothing. Every "AI review works" or "AI review fails" claim extrapolates from proxies.

searched across evidence streamsre-checked Nov 2026
absenceL77

zero incidents

No documented public incident blames an AI REVIEWER. Two security-dense weeks in late 2026 produced nothing review-tool-specific. The famous failures (curl slop, agent sabotage studies) are all author-agent failures.

searched across evidence streamsre-checked Nov 2026
verifiedL114

proxies only

OpenAI, inside its own measurement post: on escaped defects there is "no clean direct measurement of this, so we rely on practical proxies" such as fewer merged PRs later needing bug-fix follow-up work. The strongest deployment measurement in the pack still cannot see the outcome that matters.

alignment.openai.comDec 2025
contestedL23

merge queue?

Anthropic's own posts disagree: the review post lists a merge queue as its sixth layer; the Scion post says a global-lock merge queue "doesn't make much sense at agent scale". Possibly different systems, unstated.

claude.dev vs anthropic.comOct 2026
verifiedL73

-1.5% throughput

DORA 2025: a 25% increase in AI adoption is associated with a 1.5% DECREASE in throughput. AI amplifies existing dysfunction; review becomes more critical, not less.

dora.dev report 20252025

Quarantine: vendor-run numbers about vendor-sold tools

Each row below was produced or restated by a company selling something it measured. Method notes exist but the publisher profits from the result, so the row stays out of the main grid. Where an independent re-check exists, the row says so.

single sourceL53

best 45%

On 67 verified planted bugs, no tool caught even half. Best recall: 45%.

Entelligence benchmark (publisher sells a reviewed tool)2026
single sourceL85

8,000 vulns / 600 orgs

"In the last 30 days alone, CodeRabbit Secure found more than 8,000 high and critical vulnerabilities across 600 organizations." Unaudited marketing anchor for a $1M subsidy campaign.

coderabbit.ai blogOct 2026
single sourceL52

best 60.8% F1

Martian's leaderboard: best tool (Greptile) 60.8% F1, 76.2% precision, 50.6% recall. Restated by the vendor until IronBee re-scored all 21 tools independently: order stable (Kendall tau 0.89-0.92), absolute scores ~3 points lower on a different scale.

Martian bench; re-scored by IronBee2026
02 · The contradiction

Two credible benchmarks, opposite verdicts

The same class of tools, evaluated the same year, lands precision of 15% on one benchmark and 88% on another. Both are honest. They count different things as a false positive, and that is the finding.

Precision and recall of AI review, under two oracles

percent; each bar is the benchmark's own reported figure for its best or representative system

0255075100%SWR-Benchprecision, best system15.4%ReviewBenchprecision, one monorepo~88%ReviewBenchrecall, same system~26%

Method: SWR-Bench (FSE 2026) verifies ground truth on 1,000 real PRs with ~90% human agreement and scores seven approaches (L40). ReviewBench is GitHub's benchmark, run on one monorepo and published as an open research preview on 2026-10-05 with a public dataset of 219 PRs (L50). The two define a false positive differently; neither publishes a crosswalk, so the bars are a demonstration of definitional drift, not a head-to-head.

What the data saysTuned to speak only when certain, a reviewer looks precise but blind; tuned to surface everything, it looks noisy but sharp. Both behaviors live in the same model.
Where it loses"The" precision of AI review does not exist. Any vendor quoting one number without its oracle definition is quoting a tuning choice.
Bottom lineWhen you evaluate a reviewer, write down what counts as a false positive first. The definition decides the result more than the model does.
03 · The security collapse

Security review is the weakest claim in the stack

The strongest published number for model-based vulnerability detection collapses 22-fold the moment the benchmark stops rewarding memorization.

Same model, two datasets: vulnerability detection F1

a state-of-the-art 7B model, scored on BigVul vs the decontaminated PrimeVul (ICSE 2025)

020406080 F1BigVulcontaminated benchmark68.26PrimeVulrealistic data3.0922x collapse

Method: PrimeVul decontaminates a widely used vulnerability dataset and re-evaluates the same models (L47). In paired settings GPT-4 sits near random. A companion benchmark, SecVulEval, puts the best frontier model at 23.83% F1 for vulnerable-statement detection with correct reasoning (L48). On validated real-world bug-introducing commits, SecPRBench puts frontier-model recall at 32.5-78.1% with a mechanism finding: in 68% of misses the agent saw the flawed file and argued the wrong cause (L91).

What the data saysMuch of the reported security-reviewing ability is benchmark recall, not detection. On data the models have not effectively memorized, capability is close to chance.
Where it losesTeams buy reviewers for security assurance on exactly the class of claim that collapses hardest under realistic measurement.
Bottom lineTreat AI security findings as leads for your own verification, never as the verification itself. The reviewer is also part of your attack surface (L59).
04 · The wild numbers

In production, rejection is the modal outcome

The largest in-the-wild dataset is not a benchmark. It is what developers did with a deployed reviewer's comments across 239 real repositories.

What developers did with 31,073 agentic review comments

share of comments; arXiv 2607.03316, 239 repositories

0255075100%Rejectedauthor declined56.3%Acceptedauthor acted36.4%

Method: mined reviewer comments and author responses on CodeRabbit deployments (L51). Functional-concern comments were rejected more often than style comments, the opposite of the usual "nitpicks get ignored" story. The remaining ~7% of outcomes are not broken out in the study's headline split.

What the data saysDeployed at scale without noise engineering, an AI reviewer's comments are more likely to be declined than acted on. Adoption dies by this number.
Where it losesA rejection is not always noise: informed rejections are signal. Raw acceptance counts reward reviewers that flatter, and punish the ones that find real pre-existing issues.
Bottom lineMeasure responses with the four-way taxonomy (fixed, rejected, intentional, doesn't matter) before judging any reviewer, including your own. The playbook page shows how.
05 · Killed claims

What did not survive verification

These claims circulated in coverage of AI review and failed a check against the primary source. They are published because the exclusions are part of the record: each one says what replaced it.

"9x vulnerability introduction"

Retracted 2026-11-01. The secondhand claim cited arXiv 2603.10072; the paper's own abstract is an LLM security-patch repair study reporting "only 24.8% of patches achieve full correctness". No 9x figure appears anywhere in the primary. If the underlying idea is wanted, the abstract's own numbers are the citable form.

"27% of orgs banned genAI"

Retracted 2026-10-26. The survey could not be traced to any primary. Widely quoted in coverage of teams rejecting AI tooling; no published instrument or dataset was ever located.

"23K Shopify engineers use agents daily"

Retracted 2026-10-26. An unsupported Reddit claim with no first-party source. Shopify's actual public posture is talks and no formal metrics post.

CodeRabbit "#1 F1 51.2% on 200K+ PRs"

Excluded. The primary benchmark behind the number was never located. The independent AIMultiple comparison, which crowned the same vendor, is the citable form.

"88% of adversarial PRs fool AI reviewers vs 35% for humans"

Excluded pending primary. A secondhand figure attached to Sevra-Bench; the primary supports a different, more specific result (rejection drops under 35% when adversarial PRs carry prior-approval narratives, L80). The headline pair remained unverifiable at production time.

06 · Where this leaves you

Skepticism is the usable default

The evidence supports a specific posture rather than a verdict. AI review is a measurable busy-work reducer with a noise problem that succumbs to engineering, and an unmeasured effect on the defects that escape. Controlled studies say detection is real but precision-limited and oracle-dependent; field deployments say the wins come from suppression and routing, not raw model power. Neither literature supports the homepage claims, and neither supports dismissal.

Next: what eighteen teams run, in one table, with their own numbers, in the practices inventory. Or go straight to the playbook and put your own reviewer on the same meter.