Line-by-line review does not scale to agent output. Rachel Laycock’s point: if every line an agent writes waits for a senior engineer, the result is a new bottleneck, not a faster team.
Give each job a home
Review has been carrying too many jobs at once. Give each one a better home:
- Machine-checkable rules: tests, static analysis, security scanning and architecture checks gate every change.
- Design and learning: agree on the approach before implementation, through pairing or a short design session.
- Human review by exception: architectural shifts, security boundaries, a large blast radius, or unfamiliar critical code.
When agents open forty small pull requests a day, automated checks gate all forty, and the two that touch payment authorization get a named reviewer.
Test at the lowest level
Most checks belong where they are fast and precise. Add a test for every escaped defect at the lowest level that can catch it, and fix flaky tests instead of rerunning them. Check the checks, too: mutation testing shows whether a suite would notice a planted fault.
Make architecture rules testable
Link each important rule to its ADR and enforce it with a dependency check, contract test or schema validation. When domain code must not reference database infrastructure, a dependency check catches the new reference in the pull request and points the author to the rule. A green check proves only that the encoded checks passed. People still own tradeoffs, and every exception gets a reason, an owner and a review date.
Reviewing fewer lines only works if understanding lives somewhere else. Keep people close to the design, and watch escaped defects and rework.
Related: Linus and Ringelmann · Context engineering