Blog · Field notes

Watching AI write code changed how I review it

Cold diffs are the worst way to review AI-written code. The trajectory that produced the diff tells you where to actually look.

By Omer Ercan, Founder · July 21, 2026 · 5 min read

The cold diff problem

Reviewing human code comes with context for free. You know who wrote it, you saw their questions in the channel, you remember the design argument from Tuesday. Reviewing agent code, the way most people do it, strips all of that away: a several-hundred-line diff lands in front of you, cold, and every line claims the same amount of your suspicion.

Flat suspicion does not scale. Read everything carefully and you have reintroduced the work you delegated. Skim everything equally and you will miss the one place that mattered. What review needs is a prior: something that tells you where the risk concentrated before you read a single line. It turns out the agent hands you that prior for free, and most workflows throw it away. It is the trajectory: the sequence of things the agent did on the way to the diff.

What a trajectory tells you

After months of watching agents work all day in the room, I trust a few signals enough to steer review time by them.

What it read before editing. An agent that opened the callers, the tests and the type definitions before touching a function usually wrote a compatible change. An agent that edited a file it never read around is the diff equivalent of a stranger rearranging your kitchen. Read those hunks first.

Whether it ran anything. A change that was followed by the build, the tests, or an actual run of the app arrives half-verified. A change followed by nothing arrives as a hypothesis. The vibe coding habit of judging by behavior only works if something, agent or human, actually exercised the behavior.

How many retries it took. A clean single pass usually means the task fit the agent. A pileup of retries, reverts and re-edits in one area is a flashing sign saying "the model was confused here". The final diff may look calm; the path to it was not, and the path is the truth. Confusion clusters, and bugs live where the confusion was.

Where the edits went relative to the brief. Files outside the stated scope get read with a different posture, because unrequested changes are where agent risk hides: the helpfully modernized helper, the quietly loosened test, the config flag that silenced a warning instead of a cause.

Review as triage, not archaeology

So my review flow inverted. I no longer start with the diff. I start with the trajectory: what did it read, what did it run, where did it struggle, did it stay in its lane. That takes a minute and sorts the diff into skim, read, and interrogate piles. Checkpoints make this practical, because each task's work sits in its own reviewable slice with its own trail, instead of one end-of-day mudslide.

Watching the work happen live, robots at desks, drawer pulls on big reads, red monitors on failed commands, means half of the triage happened ambiently before review even starts. I usually know which lane had a rough afternoon before I open a single diff, the way a manager knows which desk to walk to. The room is honest about it too: the monitors in The Termi Protocol only show typing when a real edit is streaming, because a visibility tool that decorates is a visibility tool you learn to ignore.

None of this replaces reading code. It replaces reading code uniformly. Attention is the scarce resource in an agent workflow; the trajectory is the cheapest honest signal for where to spend it. Review the process, then review the code where the process was shaky. It is how good tech leads always reviewed people. The people just got faster.

See the trajectory, not just the diff

Every file read, command and edit, live at each agent's desk, with checkpoints that slice review into honest pieces.

Omer Ercan

Founder of The Termi Protocol. Shipped mobile apps and games with 500,000+ downloads before going all in on AI agent tooling. Runs Claude Code, Codex and Gemini CLI side by side, daily. GitHub · LinkedIn