AI, decoded

Who reviews the code when AI writes most of it?

A human still owns the merge, but the review cannot stay a line-by-line read of the diff. Generation stopped being the constraint the moment background agents could open pull requests unattended, and the teams keeping up moved the check that decides into the test harness.

· Chain of Thought

AI CodingAI EngineeringAI Evaluation & Reliability

A struck-through LGTM rubber stamp beside a tall pile of pull requests, over AMD's Anush Elangovan's line from episode 56: testing is the code review.

1. The constraint moved downstream

Graphite co-founder Greg Foster traces the arc from autocomplete to chat to agents in the terminal, and then to the shape people have started calling background agents: you message one on Slack or GitHub, wait a couple of hours, and a pull request comes back. His framing is that this is the self-driving version rather than highway autopilot. Once generation runs unattended, the queue forms at review, and review was already the slow step.

2. Human review was unreliable before agents arrived

Foster is blunt that review quality has always depended on who is reviewing and how much attention they are paying, with “LGTM” as the failure mode. Agents make that worse from both ends: there are more pull requests, and models are not concise, so the diffs are longer. A process that already leaked at human volume does not hold at agent volume.

3. Tests become the surface you actually review

AMD’s Anush Elangovan runs 10 to 12 agents in parallel and burned 6.5 billion tokens in a week, and his rule predates any of it: 80% of your time goes to tests, and the test framework exists before the first line of code. Under that discipline the harness is what certifies the change, and the diff becomes evidence rather than the gate. It is the move evaluation already made for models: you stop reading outputs one at a time and build something that checks them.

4. Review the boundary, not every line

Elangovan’s agents run inside a contained, geo-distributed rig on his own network, and what he reviews is what enters and leaves that enclosure. That is the practical shape of the human-in-the-loop checkpoint when volume makes per-line reading impossible: pick the boundary where a mistake becomes expensive, and put the human there. Everything inside the boundary is the harness’s job.

Why it matters

The instinct when agent output floods the queue is to read faster. That does not scale, and it converts review into a rubber stamp with extra steps. Decide instead what your tests must prove and where a human sign-off changes the outcome, then let the agents fill the space between.

Where code review moves when agents write the code Before: agents send more pull requests with longer diffs into one human reading line by line, so the queue forms at review and it slides into LGTM. After: agents work inside an enclosure whose wall is the test harness, which certifies each change; the diff is evidence rather than the gate, and the human signs off at the boundary where changes enter and leave. Where the review moves Generation runs unattended. Put the check where a mistake becomes expensive. BEFORE · READ EVERY LINE agent agent agent LGTM More pull requests, longer diffs, one reader. The queue forms at review, and review slides into a rubber stamp. AFTER · REVIEW THE BOUNDARY test harness agent agent agent agent Inside: the harness certifies each change. The diff is evidence. Human sign-off at the boundary Review what enters and leaves the enclosure, where a mistake becomes expensive. Decide what the tests must prove, then where a human sign-off changes the outcome. Graphite’s Greg Foster, ep 40: message a background agent, wait a couple of hours, and a pull request comes back. AMD’s Anush Elangovan, ep 56: 80% of your time on tests, and the test framework exists before the first line of code.
Once generation runs unattended, move the check that decides into the test harness and put the human where a mistake becomes expensive. The 80% rule is Anush Elangovan’s, from episode 56. Download the image

Hear it from the guest

“Maybe like no human has ever read this code before. There's like a bot that just generated it. And now I'm the first person ever reading it.”
“Testing is the code review and testing is kind of the gate of your sandbox. If you have a complaint about anything in the box, fix the sandbox, right?”

Quotes lightly edited to remove filler words.

From the conversation

This explainer is drawn from these episodes — each carries its full transcript.

Concepts in this explainer

Human in the LoopTokenization