Code Review as a Principal-Agent Problem
- title
- Code Review as a Principal-Agent Problem
- type
- concept
- summary
- Why review-then-commit relied on cheaply-inferable effort signals from contributors; how agents collapse that signal and what it means for review processes
- tags
- software-engineering, code-review, agentic-coding
- created
- 2026-05-10
- updated
- 2026-05-10
Code review (in the review-then-commit sense — Apache 1990s, Google 2000s, GitHub PR 2010s) is a low-trust collaboration mechanism: a contributor proposes a change, a reviewer LGTMs it, the change lands. It works for teams beyond the two-pizza size and for OSS for a single reason: the reviewer can cheaply infer the contributor's effort by reading the diff. The diff is testimony.
When the contributor is an agent driven by a human typing two sentences, that signal collapses. The reviewer can no longer tell whether the contributor:
- Understood the constraints
- Considered alternatives
- Tested edge cases
- Spent thirty seconds or three days
This is the standard principal-agent problem (Wikipedia) — the principal (reviewer) can't observe the agent's (contributor's) effort, and effort costs fall on the principal. Before agents the imbalance was bounded; after agents it's unbounded.
The visible failure modes:
- OSS slop PRs — agents generate plausible PRs at zero contributor cost; maintainers burn out responding
- Internal review queues — companies that mandate review can't extract agent productivity gains because review bandwidth becomes the binding constraint
- Reviewer-as-prompter — reviewers realize they could re-prompt the agent themselves faster than reading the contributor's output
Process responses crawshaw-agent-principal-agent catalogs:
- Small high-trust team, no second reviewer — human-prompts-agent + human-reviews + human-deploys. Works because the principal is the agent. Requires investing in integration/e2e/agent-driven test machinery.
- Pre-2005 Microsoft model — independent teams, QA-driven sync, no mandated review-before-commit. Worked at scale but low-trust BigCos won't reach for it.
- The OSS retrofit — replace "send PR" with "send prompt + feedback loop"; see i-dont-want-your-prs for Ciężarkiewicz's version.
The unresolved problem is large-company low-trust environments. There is no known process that gets review out of the bottleneck position there; reviewer bandwidth ceilings + doubled review = agents producing little net productivity gain. This is part of no-silver-bullet-llms's thesis from a different angle.
Adjacent: contributor-poker (Cro's frame: bet on the contributor not the contents of the PR — itself a response to the same effort-inference collapse), skill-atrophy-supervision-paradox (the supervisor-side problem).