How we think

The Session Review

When a PR lands wrong, the diff tells you what happened. The session that produced it tells you why - and which part of the loop to improve.

AI-augmented work produces two reviewable artifacts, and most teams only review one of them. The PR is the artifact everyone knows: the diff, reviewed line by line, every cycle. The second artifact is the session - the full conversation that produced the diff. When a PR turns out to carry a problem, we review both. The diff shows what went wrong. The session shows why, and why is where the fix lives.

We call this the session review. It is not scheduled and it is not ceremony - it is triggered, the way a postmortem is: a PR hit something off, so we replay the session that built it and locate the moment the problem entered.

Three doors

The point of the replay is attribution - locating where the improvement lives. A problem that reached a PR entered through one of three doors, and each door points at a different change:

  • The ask. Underspecified, missing context, or direction changed mid-session and the earlier constraint was never restated. The model built what was asked. What improves: the ask itself, the context feed, or the rules file.
  • The output. Good ask, good context, wrong result - a real hallucination, a misapplied pattern, an invented API. What improves: the working discipline for that area - smaller steps, closer review, lower autonomy (the dial from the Three Disciplines).
  • The review. The mistake was visible in the diff, and review approved it anyway. What improves: the cadence - the cycle was too large, attention was spent, the diff mixed restructuring with behavior (the scoping argument in Make the Change Easy).

Without attribution, every miss collapses into the same verdict - "the AI got it wrong" - and the same non-change: trust it less, review harder, adjust nothing specific. Attribution points the change at the actual door.

The pattern hiding inside the review door

Session replays keep surfacing one pattern that deserves its own name, because it looks like an output problem until you watch it happen. The model flagged the issue. The flag is right there in the transcript - a caveat about the edge case, a note that an assumption needed confirming. The human never registered it.

The mechanism is exhaustion. A verbose model buries every signal in restatement, hedging, and self-protective qualifiers. A reader who has scrolled three walls of text arrives at the fourth with their stance already changed: skimming, skeptical, looking for the end. That stance is rational - most of what they skipped really was padding - but it costs them the one line that mattered. The model said it. The session proves it said it. And the team logged the outcome as "the AI never told us."

This is why attribution needs the transcript, and it is why the improvement here is not "review harder." Reviewing harder against walls of text is asking attention to beat volume; volume wins. The fix is upstream, in the rules file: verbosity discipline - answer-then-stop, doubt stated up front rather than as a trailing caveat - is not a style preference. It is review infrastructure. A flag the reader cannot miss is worth ten flags buried in qualifier paragraphs (the rules are in A Working AGENTS.md).

The practice

The mechanics are deliberately light:

  • Trigger: a PR finding - a bug, a wrong pattern, a missed requirement. Session reviews are responses, never a standing meeting.
  • Replay: walk the transcript to the moment the problem entered. It is usually findable in minutes - sessions are short when the cadence is right.
  • Attribute: the ask, the output, or the review. Be honest about the exhaustion pattern - if the model flagged it and the flag drowned, the improvement belongs to the review door with a verbosity root cause, and the edit goes in the rules file, not on the reviewer.
  • Change one thing: the output of a session review is an edit - a rule added, a step size capped, an autonomy level dropped for that area. An attribution that changes nothing was a blame exercise.

The edits compound the same way cleanup passes do: recurring session findings become written rules, and the rules become persistent context for every future session (the loop in The Stabilization Pass). Several rules in our own file have a session review behind them - "no decision is made until I confirm it" exists because replays showed options being presented in the grammar of decisions, and downstream work proceeding on a choice nobody made.

Review the work, not just the output

PR review treats the model as a black box that emits diffs. Session review treats the working relationship itself as improvable - the asks, the context, the rules, the cadence, and the reading. A team running session reviews has a transcript that shows exactly where the loop leaks - which turns 'is the AI good' from an opinion into a measurement.

Also read

Delivery Maturity for AI EnablementMake the Change Easy
See AI Dev Team EnablementLet's Talk

Don't take our word for it - ask ChatGPT what it thinks of this piece.