Use independent reviewers
Have agents form separate assessments and surface disagreement before a change is trusted.
Trade-off: Independent reviewers may still share blind spots.
Who verifies combined outcomes, evaluates risks, and decides what can ship?
Passing tests on isolated changes is not the same as trusting the integrated system. Independent judgment and progressive rollout address different risks.
Have agents form separate assessments and surface disagreement before a change is trusted.
Trade-off: Independent reviewers may still share blind spots.
Evaluate the behavior of new and existing versions before promotion.
Trade-off: A judge is only as good as the behavior it measures.
Control rollout and observe live behavior rather than treating deployment as a single irreversible switch.
Trade-off: Safer rollouts depend on useful production signals.
The comparison: independent critique finds different defects; canaries reveal production behavior; neither replaces specifying what good means.
WHAT TO WATCHActionable issues unique to additional reviewers.
airbnb.tech · 1. File Validation and Refactor Steps
“The step-based approach also made it simple to run migrations on hundreds of files concurrently”
Planning that removes the coordination problem: each test file is its own unit with its own validation gates, so nothing shares state. 75% of target files migrated in four hours, though some long-tail files needed 50 to 100 retries.
github.blog · Agent pull requests are already saturating review bandwidth
“Throughput has scaled exponentially. Human review capacity hasn’t. The gap is widening.”
Copilot code review has done more than 60 million reviews, and over one in five code reviews on GitHub now involve an agent.
generalintelligencecompany.com
“If your engineer is able to manage five simple tasks, two manageable tasks, and one complex task at a time, your two engineer code review system now requires them to review ten simple tasks (theirs and others), four manageable tasks, and two complex tasks.”
Their engineers averaged 20 PRs a day, and their answer was to drop the second reviewer. Paxos went the other way and keeps two human reviewers on agent PRs.
engineering.zalando.com · Risk-based PR approval
“Each PR is evaluated for its rollout risk: low, medium, high. 33% of our PRs are low-risk and are auto-approved by the bot. The author of the PR can thus choose to merge the PR, which in our case reduced PR lead time by 20-40% (when compared with all PRs).”
Grading PRs by risk keeps human review for the changes that need it. Some teams also agreed to cap PR size after agents made PRs grow.
engineering.atspotify.com · Fleet Updates
“This year, an automated dependency upgrade passed our checks, but still failed in production, impacting end users. We are responding by strengthening safeguards, expanding rollback capacity, and scheduling automated changes during owning teams’ working hours.”
Scheduling as a mitigation: when automated changes land is tied to when the humans who own the code are around to catch a failure.
engineering.atspotify.com · What the data tells us
“the volume of change increased faster than some of our verification controls could adapt.”
Merged changes more than doubled in a year, from about 8,100 to 17,000 a month. Spotify did not find AI-written code to be a material direct cause of incidents. The risk was the volume.
thedailydeveloper.substack.com
“The reality: Your agents spend more time resolving merge conflicts than writing code.”
“In March I capped myself at two parallel AI coding agents. Now I run a dozen, and the real bottleneck moved from writing code to reviewing it.”
engineering.atspotify.com · Using LLMs in the verification loops
“some agents were a bit too “ambitious”, trying to solve problems that weren’t strictly in their prompt, like refactoring code or disabling flaky tests.”
Scope creep across a fleet of agents. Spotify added an LLM judge that compares each diff with the prompt and blocks changes that go beyond it.
engineering.atspotify.com · How things fail
“The background agent produces a PR that passes CI but is functionally incorrect. This is the most serious error, as it erodes trust in our automation. When performing changes over thousands of components, these changes are hard to spot in reviews.”
Their answer is to verify before the PR exists. The agent runs every relevant verifier through Claude Code’s stop hook, and if one fails, the PR is never opened.
youtube.com · Angie Jones · from 13:08
“Engineers are now tripling, quadrupling the number of PRs that they’re producing, but the PRs are stuck waiting for code reviews, right?”
Codex review on every repository, plus an agent that fixes what Codex flags and commits to the PR. She says it is not a solved problem. Quoted from YouTube’s auto-generated captions.
youtube.com · Uday Kiran Medisetty and Adam Huda, Uber · from 13:51
“it’s going to stop at just creating a draft PR and it’s not going to push it to CI yet.”
Minion validates the change in the agent loop first, “to prevent a lot of extra load coming on to CI”. More than 70% of Uber’s PRs now come from local or cloud agents. Quoted from YouTube’s auto-generated captions.
newsletter.pragmaticengineer.com · Transcript, 41:53
“So every pull request at Anthropic is code reviewed by [Claude] code. And that actually catches maybe like 80% of bugs, something like this. And it’s the first round of kind of code review.”
An engineer always does the second pass. Parallel review agents are followed by deduplicating agents that filter false positives, and review comments that keep recurring become lint rules. Machine transcript.
youtube.com · Thomas Dohmke · from 16:22
“now you have your backlog in your pull requests. And that’s the bottleneck now because you can’t review all of that. And then there are going to be agents that review all that code and auto merge and auto deploy it, and what you get is the Homer Simpson car.”
In the same session, Atlassian’s CTO reports PRs per engineer up 89%. Speakers are inferred from what they say; quoted from YouTube’s auto-generated captions.
youtube.com · Eric Zakariasson, Cursor · from 27:55
“we were blocked on merging the PR we needed someone else to um to review it for us and maybe they were in a different time zone perhaps. So what we started doing was building this agentic code owner thing”
CODEOWNERS was right about 80% of the time and a bottleneck the rest. The agent approves low-risk PRs. Quoted from YouTube’s auto-generated captions.
youtube.com · Robert Erez, Octopus Deploy · from 59:07
“any sort of scenario where you want that AI agent to kind of validate what it’s done, you’re essentially talking about ephemeral environments, even if it’s not exposed to people”
The old pattern was a few shared test environments, one per tester, with people coordinating who had the system. Agents that check their own work need environments that are created and torn down per change. Quoted from YouTube’s auto-generated captions.
youtube.com · Maggie Appleton, GitHub · from 5:20
“And also coordination debts. This is when you get really hairy merge conflicts because agents will touch in the same files or developers even doing duplicated work because they both picked up a thing and tried to finish it in one day.”
Her other line from the talk: “Agreeing on what to build is the new bottleneck.” Quoted from YouTube’s auto-generated captions.
github.com · Issue #640, Verification Breakdown - The Root Cause
“Agents self-report "success" without mandatory verification”
A maintainer's warning about how one false claim of success passes through a chain of agents. Its three-agent example and 89% failure figure are illustrations, not a measured incident. Still open.
youtube.com · Walden Yan, Cognition · from 45:53
“I think we found that the state-of-the-art in December was you could probably run this for about two weeks. By the end of those two weeks, you’d find that, hey, you want to like change a color of a button. Well, turns out this button is implemented in like 10 different places”
An internal experiment: agents building on each other’s work with auto-merge and no code review. The speaker is inferred from context; quoted from YouTube’s auto-generated captions.
simonwillison.net
“AI-generated code needs to be reviewed, which means the natural bottleneck on all of this is how fast I can review the results.”
youtube.com · Ryan Lopopolo, OpenAI · from 24:58
“We invoke a dollar land skill and that coaches code X to push the PR, wait for human and agent reviewers, wait for CI to be green, fix the flakes if there are any, merge upstream if the PR comes into conflict, wait for everything to pass, put it in the merge queue, deal with flakes until it’s in main.”
The whole landing loop handed to the agent. “Dollar land” is the $land skill and “code X” is Codex in YouTube’s auto-generated captions.
youtube.com · Ryan Lopopolo, OpenAI · from 37:04
“with each engineer producing three to five PRs per day, even on a team of three, merge conflicts were super miserable, right? Because these PRs tended to be pretty big, we were working on the same parts of the code base.”
Two fixes: restructure the code so less of it overlaps, and keep PRs open for less time. PRs stayed open waiting for human review, so a review agent now runs on every push and blocks a merge on serious findings. Quoted from YouTube’s auto-generated captions.
openai.com · Throughput changes the merge philosophy
“In a system where agent throughput far exceeds human attention, corrections are cheap, and waiting is expensive.”
The repository runs with minimal blocking merge gates and short-lived pull requests, and handles test flakes with follow-up runs. The opposite bet to Stripe’s cap on CI rounds.
openai.com · Increasing application legibility
“As code throughput increased, our bottleneck became human QA capacity.”
The fix was to make the app bootable per worktree, with an ephemeral logs, metrics and traces stack, so Codex could run and check one instance per change itself.
mergify.com
“The honest summary is that I made my own output cheaper partly by making my teammates’ review more expensive.”
atlassian.com
“And while developers can now generate code and PRs faster than ever, we still only have a fixed number of senior engineers able to review them.”
Median time from PR to merge had passed three days, with an average 18-hour wait for the first review comment. The fix was an AI first reviewer on every PR.
ona.com · The problem: the review queue
“Our team averages 10.8 PRs per engineer per week, 2.5x the 90th percentile according to DX benchmarks. But every one of those PRs still needed a human to look at it, and the review queue became the constraint.”
Six objective criteria define low risk, and engineers cannot self-classify. An agent may approve, but a person always merges. Median time to first approval fell from 2h49m to under 5 minutes.
youtube.com · Brian Scanlan, Intercom · from 20:39
“like our CI melted we had to fix that”
After doubling PR throughput, Intercom says code review is its current bottleneck. 17.6% of PRs are approved automatically, an approver tuned on past data and human labels. A skill fixes flaky specs across hundreds of thousands of tests. Quoted from YouTube’s auto-generated captions.
cognition.com · Automated Code Review
“As we ship more code with agents, the bottleneck shifted from writing code to reviewing it.”
Merged Devin PRs went from 154 in Cognition’s best week of 2025 to 659. Their answers are their own products (Devin Review, autofix loops and a daily audit of merged PRs for drift), so read this as a vendor’s account.
arxiv.org · VI. Joda time to Java time migration
“The continuous availability of code reviewers is also not guaranteed all the time, so we need to only migrate parts of the codebase where we have bandwidth to land the changes.”
Reviewer capacity used as a scheduling input. Work is split into chunks that can be reviewed separately, sharded by owner, and aimed at the parts of the codebase whose reviewers have time.
arxiv.org · VIII-D. Landing the changes: a human process
“We needed to slow down some of the migration work to avoid overwhelming the teams that had to do the reviews”
In the JUnit3 to JUnit4 migration (5,359 files in three months), Google deliberately capped how many changes it generated each week, because reviewers, not generation, set the pace.
medium.com · The three failures I wanted Temporal to stop
“Completion is fenced too: Beads accepts a receipt only when the work ID, generation, claim token, and Workflow identity still match.”
Fencing tokens borrowed from distributed systems, applied to agent work. She is careful to say two of the three fixes still run in shadow and the third in a scoped canary, so this is a design, not a proven guarantee.
re-cinq.com · Transcript, turn starting 02:00
“Obliterate like about 40% of that. It was just scorched it, right? All the fences. We only kept like 14 out of like 100 plus fences.”
His agents had kept adding gates until "nobody could do anything". Safety checks that agents write for themselves pile up into a throughput problem of their own. Quoted from the page's machine-generated transcript.
builders.abnormal.ai · Share one environment, override one service
“A redirect only works if every consumer of the config layer honors it, and the ones that don’t fail silently, because a working connection to the wrong database looks exactly like a working connection. We shipped two consumers that quietly ignored ours.”
Isolation that leaks fails silently. They added a capture agent that checks the connections each test actually makes against the service’s declared manifest.
paxos.com · Zero-touch green PRs
“Opening a PR is not the finish line. A green CI run is.”
When CI fails, Hoplites dispatches a follow-up fix job with the failing checks and logs attached. Agent PRs keep the two-human review rule. About 15% of Paxos’s merged PRs start with a hoplite.
paxos.com
“Across all four, the same patterns showed up: Slack as the universal entry point, pre-warmed ephemeral sandboxes, async fire-and-forget that produces PRs, human review as the merge gate, directory-scoped context files (CLAUDE.md / AGENTS.md), bounded CI retries, and MCP as the tool-integration standard.”
The four are Stripe’s Minions, Ramp’s Inspect, Spotify’s Honk and Paxos’s own Hoplites. A useful checklist of what company agent factories have converged on.
julien.danjou.info · What the queue does not fix
“Green is not coherent. Ten agent PRs can each pass CI alone, pass again as a batch, and still be a mess together: three flavors of the same helper, two designs pulling in opposite directions, a thousand lines no human read. A merge queue keeps main buildable. It does not keep main good.”
From a merge-queue vendor’s CEO, which he discloses. He argues queues must speculate, batch and bisect at agent volume, and that flaky tests break the bisection.
stripe.dev · How do minions work?
“Since CI runs cost tokens, compute, and time, we only have at most two rounds of CI.”
A hard cap instead of letting agents retry until green. After the second push, the branch goes back to a human. Flaky tests that CI detects become tickets a minion can pick up.
youtube.com · Nicole Forsgren · from 2:14
“There were a handful of people probably managing a security review process or a launch process or a deployment process or, you know, sometimes reviews were a little slow and they got backed up. Well, now we just threw gas on the fire”
Release steps such as picking candidate builds and cherry-picks were always manual and human-sized. Quoted from YouTube’s auto-generated captions.
youtube.com · Vijaye Raji, OpenAI · from 8:22
“What’s going to happen is like there’s going to be more uh code being written which means that code reviews will become the bottleneck and then after code reviews uh integrations and deployment CI/CD will become the bottleneck.”
Quoted from YouTube’s auto-generated captions.
github.com · Issue #1709
“A convoy of 5 implementation beads produces 5 separate runs, each walking the full formula: implement, review, check architecture, verify coverage. That means 5 separate reviews that each see only their own fragment”
The proposal: fan out the implementation, then review the whole convoy as one artifact. It's a proposal, not a report of a broken feature.
infoq.com · The Biggest Tool - Standardization
“We want to get rid of the 20% of our codebase that looks and behaves differently to the rest of our codebase. If we do that, our code becomes extremely predictable. It becomes much easier to write our prompts, and also to review our code.”
Standardization as a concurrency tool: when every component looks the same, one fleet-wide change and its review scale across all of them.
infoq.com · The New Bottleneck - PR Review
“We were so happy to announce that we had 1,000 merged PRs in 3 months. We were over the top. Today, we do this in 10 days, and this number keeps going up. What is the result of this? It’s a bunch of PRs to review. This is becoming the new bottleneck.”
Their fixes so far: review time expectations, closing stale PRs, a PR inbox, letting the migration owner approve, and more auto-merge. Which PRs are safe to auto-merge is, in their words, not fully answered.
github.com · Issue #209, Problem
“Retries restart from a moving HEAD, dependent members can miss predecessor source, independent outputs reach review without integration, and approval can detach from the published commit.”
Tie review to the exact commit that ships, and invalidate the approval when a fix changes that commit.
github.com · Capability Brain and Governed Implementation
“Ruflo is the coordination ledger and policy decision point. Claude Code executes code, tests, commands, and file changes. A Ruflo coordination call records work; it does not perform the implementation.”
The project's own answer to the reports of swarms that did nothing. These are policies in a file, not proof they're enforced.
github.com · Issue #1748, What we found — per expectation (G5)
“Zero phases completed. Zero output.”
The swarm commands reported success on a three-phase task, while a single Claude Code subagent finished all three in about 45 seconds. The maintainer accepted the tool-wiring bug and merged fixes the same day.
github.com · Issue #1514, The Architectural Gap
“But the wire connecting agent_spawn → LLM provider → task execution is missing. This isn't a bug in one tool — it's a structural gap across the entire orchestration layer.”
An audit of v3.5.51. The maintainer fixed the hardcoded metrics it found (PR #1535) and disputed other points. The 99% headline is the auditor's claim, not a measurement.
github.com · Issue #3290, Deep Dive Findings
“calculateRequiredVotes() derives the quorum threshold from state.workers.length, so a single caller could cross any strategy's threshold (raft/bft/quorum alike) by voting under fabricated identities — a Sybil attack on consensus.”
Shown in tests, not by an attacker or by agents colluding. Agent votes only mean something when identity is checked. Fixed by PR #3291; a follow-up (#3338, PR #3339) closed the same gap in sibling operations in October 2026.
youtube.com · Gergely Orosz · from 37:26
“Amazon has has made this change uh that it now requires a senior engineer to review any AI generated change because they realize the junior engineers will just say looks good to me and it causes an issue.”
According to the Financial Times, Amazon saw a run of incidents with a high blast radius involving AI-assisted changes. Quoted from YouTube’s auto-generated captions.
github.com · Issue #1397, introduction
“The state-tracking fix from this issue was correctly applied — task_assign now transitions tasks to in_progress. However, agents never execute the assigned work.”
Seven agents reported as spawned, none did anything, and no file appeared. Closed as a duplicate of #1423, which PR #1435 fixed in March 2026. This shows v3.5.42, not later releases.
every.to
“When 10 of them finished simultaneously, I had 10 results to evaluate without enough context to know which ones I could trust. AI agents don’t have a speed limit, but the person managing them still does.”
After agent teams and lead-agent orchestration, he moved to specialized folders, each one an agent with its own context, and a dispatch layer that routes work between them.
youtube.com · Ty Smith and Anshu Chada, Uber · from 19:44
“we put a lot of work into the to smart assignments with code inbox so that we try to find the most relevant person to review the code both from a ownership and compliance perspective, but also the history of how that person was working, uh their time zone availability, their calendar availability”
Code Inbox gathers PRs from many background agents into one queue, scores each for risk and blast radius, and tracks review SLOs. Quoted from YouTube’s auto-generated captions.
newsletter.pragmaticengineer.com · Transcript, 55:12
“So first thing that we did was we took a whole bunch of like simple CI jobs that used to run once you create the PR and we moved it to inner loop and we kept all of this behind one single command”
Linting, coverage, build and template rules now run inside the agent loop, behind one validate command, before a PR exists. Uber added self-healing CI as well. Machine transcript.
uber.com
“Reviewers are overloaded with the increasing volume of code from AI-assisted code development, and have limited time to identify subtle bugs, security issues, or consistently enforce best practices.”
uReview reviews over 90% of the roughly 65,000 diffs Uber lands each week. Its main lesson is that precision matters more than volume: once reviewers see too many false positives, they ignore the bot.
newsletter.pragmaticengineer.com · 2. Triage by “blast radius” & choose an approach
“About a month ago, we found ourselves with 60 open PRs for a team of five. They had been accumulating for a few weeks and we all had the sudden realization we were looking at two days of just code review.”
They switched to risk-based review: only changes to the public API or MCP, auth, the design system, non-additive schema changes or agent skills need a human, enforced with a GitHub label. Merged PRs went from 80 to 154 a week. Gergely reports Anthropic and OpenAI triage the same way.