Code Review Automation Fixed the Wrong Problem

· Tomosu AI ·

8 min read Original article ↗

Code review automation was supposed to make review faster. The 2026 numbers say the opposite happened.

Faros AI's telemetry across 22,000 developers found that median time remaining in code review is up 441.5% year over year, and pull requests merged without any review, human or automated, are up 31.3%. Reviewers aren't approving faster because a bot is helping. They're skipping the step entirely, because there's too much to look at.

WHAT HAPPENED WHILE REVIEW GOT AUTOMATED +441.5% Median time remaining in code review Year over year. Not the time to write the change — the time it sits waiting on a human. FAROS AI · 22,000 DEVELOPERS +31.3% PRs merged with no review at all Not human, not automated. The step didn't get faster. It got skipped. FAROS AI · 22,000 DEVELOPERS

Two numbers moving in the same direction. A queue that long stops being a queue — people start routing around it.

That's the part "code review automation" tends to skip over when it's used as a selling point. Automating a comment is not the same as automating a review.

What automation actually does today

Most of what gets called code review automation falls into a few buckets.

01

Static analysis and linting

Catching syntax issues and style violations before a human opens the diff.

02

AI generated review comments

Tools like Augment and Qodo reading a pull request and leaving suggestions the way a human reviewer would.

03

Merge gate checks

Pass or fail rules wired into CI that block a merge on measurable conditions like test coverage or a security scan.

All three are useful. None of them touch the actual constraint, which is a person deciding whether a change is safe to ship.

THREE LAYERS, ONE UNTOUCHED CONSTRAINT Static analysis & linting syntax, style — solved, genuinely AI generated comments more text next to the diff Merge gate checks measurable pass / fail conditions The pull request plus everything the layers added THE CONSTRAINT A person deciding whether this change is safe to ship. Unchanged by all three. Every layer adds to what the reviewer has to read. None of them shortens the decision.

The automation is real and it works. It just lands upstream of the step that was actually holding things up.

Why the bottleneck moved instead of disappearing

LinearB's analysis of 8.1 million pull requests across 4,800 teams shows where the time actually went. Pull requests written with AI assistance run about two and a half times larger than ones without it, over 400 lines at the 75th percentile versus 157 lines. Bigger diffs take longer to reason about, so reviewer pickup time on AI assisted work runs more than 16 hours on average, against roughly 200 minutes for unassisted work. Measured a month out, only 32.7% of AI assisted pull requests have merged, compared with 84.5% of the rest.

8.1M PULL REQUESTS, 4,800 TEAMS AI assisted Unassisted PR size, 75th percentile lines changed — lower is easier to review 400+ 157 Reviewer pickup time average wait before anyone looks 16h+ ~200 min Merged within one month higher is better — this one flips 32.7% 84.5% 2.5× the diff, 5× the wait, half the merge rate — the work moved, it didn't disappear

AI-assisted pull requests are written faster and finished slower. The saving lands on the author's side of the wall; the cost lands on the reviewer's.

Code got faster to write. Review didn't get faster to do. The queue moved from the keyboard to the reviewer's desk, and automated comments on a 400 line diff don't shrink the diff, they just add more text to read alongside it.

Automating the comment isn't automating the review

A review comment answers "what's wrong with this line." A review decision answers "should this ship, and what happens if it's wrong." Those are different jobs, and most code review automation is built for the first one.

TWO DIFFERENT JOBS, ONE FEATURE NAME THE REVIEW COMMENT "What's wrong with this line?" Mechanical. Local to the diff. Missing null check, duplicated logic, style violation. Automated well today. THE REVIEW DECISION "Should this ship, and what if it's wrong?" Requires reach. What does this touch, how far does a failure travel, has this boundary broken before. Still on the senior engineer.

The left column is a solved problem. The right column is the one the queue is made of — and it is the one most "code review automation" doesn't claim, but is sold as if it does.

The first job is mechanical and automation handles it well: flag the missing null check, point out the duplicated logic, catch the style violation. The second job requires knowing what the change actually touches. Whether it sits under a shared authentication boundary used by 300 other call sites, or a single screen nobody depends on. Faros calls the result of skipping that judgment the "senior engineer tax": the people best equipped to catch a subtle, high reach defect are the ones stuck reviewing the most volume, because the mechanical layer cleared everything else through first.

What automation would need to fix the actual bottleneck

Not more comments. A way to tell which of the pull requests waiting in that 16 hour queue actually need a senior engineer's attention, and which are safe to clear without one. A defect's reach is invisible to a diff; a three line change to a shared boundary carries more risk than a 300 line change to a leaf component, and no amount of comment generation on either one tells a reviewer which is which. Pre-screening and review are already different jobs; the tools that help are the ones that keep them separate instead of dressing up the first as a replacement for the second.

LINE COUNT RANKS THESE BACKWARDS SHARED AUTH BOUNDARY Diff size 3 lines Call sites reached if it's wrong 300 Needs the senior engineer LEAF COMPONENT Diff size 300 lines Call sites reached if it's wrong 1 Safe to clear without one

A queue sorted by diff size puts the 300-line leaf change ahead of the 3-line boundary change. Reach is the variable that inverts the order — and it isn't in the diff.

That's the layer Tomosu is built to sit in. Not another comment generator competing for the reviewer's attention, but a way to know, before a human opens the diff, whether this is one of the changes that actually needs their judgment. Which changes have broken before is a matter of record, not intuition — and it's the record that tells you where the judgment belongs.

Frequently asked questions

What is code review automation?

Code review automation covers three broad categories: static analysis and linting that catch syntax and style issues before a human opens the diff, AI-generated review comments that read a pull request and leave suggestions the way a human reviewer would, and merge-gate checks wired into CI that pass or fail a change on measurable conditions like test coverage or a security scan.

Did code review automation make review faster?

The 2026 data says no. Faros AI's telemetry across 22,000 developers found median time remaining in code review up 441.5% year over year, and pull requests merged without any review, human or automated, up 31.3%. Reviewers are not approving faster; they are skipping the step because there is too much to look at.

Why are AI-assisted pull requests slower to merge?

LinearB's analysis of 8.1 million pull requests across 4,800 teams found AI-assisted pull requests run about two and a half times larger — over 400 lines at the 75th percentile versus 157. Reviewer pickup time on that work averages more than 16 hours against roughly 200 minutes for unassisted work, and a month out only 32.7% of AI-assisted pull requests have merged compared with 84.5% of the rest.

What is the difference between a review comment and a review decision?

A review comment answers what is wrong with this line. A review decision answers whether the change should ship and what happens if it is wrong. The first is mechanical and automates well. The second requires knowing what the change touches — whether it sits under a shared boundary used by hundreds of call sites or a single screen nobody depends on.


Tomosu builds merge-gate governance infrastructure that reads the whole codebase to tell you which pull requests in the queue actually need a senior engineer — by reach, not by line count. If your review queue is growing faster than your reviewers, we are opening a small design partner cohort. Book a call →