AI massively increases code generation throughput
The throughput gains from AI coding assistants are not incremental. They are structural. A single engineer using Claude Code, Cursor, or Copilot can produce multi-file changesets in minutes that would take half a day to write manually. Devin and similar autonomous agents push this further — generating entire feature implementations from a task description while the engineer works on something else.
This is not a speculative future. Teams running AI-assisted development at scale today routinely report 5–50x increases in raw code output for well-scoped tasks. The variance depends on task complexity, but the direction is uniform: code generation is no longer the bottleneck.
PR workflows were designed for human coding velocity
Pull request review is a process designed around an implicit assumption: code arrives at roughly the pace a human can write it. One developer opens a PR. One or two reviewers read it. They leave comments. The author addresses them. The cycle takes hours to days, and the volume is manageable because human writing speed is the rate-limiting factor.
This assumption held for decades. Review processes, team structures, and engineering manager expectations were all calibrated to human throughput. A team of ten engineers might produce 15–30 meaningful PRs per week. Two or three senior reviewers could cover that load.
AI breaks this calibration entirely. The same team of ten engineers, each using an AI coding assistant, can produce 60–120 PRs per week. The code still needs review. The reviewers haven't multiplied.
Review quality degrades as AI output scales
Volume alone would be a problem. But the degradation is worse than linear, because AI-generated code is harder to review than human-written code in specific, compounding ways.
Plausible but wrong
AI-generated code is syntactically correct, compiles, and passes tests. It looks reasonable at a glance. But it lacks the institutional context that a human developer carries — the postmortem from last quarter, the verbal agreement about service boundaries, the naming convention that emerged from a Slack thread. The violations it introduces are subtle: a service reaching across a boundary via a shared utility, a new database table in a schema that was supposed to be read-only from that service, a dependency that was deprecated but not yet removed from the package registry.
These violations don't trigger linters or type checkers. They require a reviewer who understands the intent behind the architecture, not just the syntax. That reviewer's attention is exactly the resource that doesn't scale.
Reviewer fatigue accelerates
Cognitive load research is clear on this: review quality degrades sharply after the first 200–400 lines of code in a single session. When PR volume doubles or triples, reviewers either spend more hours reviewing (unsustainable) or review each PR less thoroughly (dangerous). In practice, most teams drift toward the second option without an explicit decision to do so.
The core problem: AI increases the numerator (code output) while the denominator (reviewer attention) stays fixed. The ratio doesn't just get worse — it degrades the quality of each individual review as fatigue compounds across the growing queue.
Architectural drift becomes probabilistic and cumulative
When review quality degrades, violations don't stop at the PR boundary. They merge. And once a violation is in the codebase, it becomes a pattern that the AI assistant will replicate — because it reads the codebase for context, and now the violation is the context.
This creates a feedback loop:
- AI generates code that subtly violates an architectural constraint
- Overwhelmed reviewer approves the PR (or misses the violation in a large diff)
- The violation merges into the default branch
- The AI assistant reads the updated codebase and treats the violation as precedent
- Future generations replicate and extend the violation
Drift under these conditions is not a risk to monitor. It is a statistical certainty that compounds with velocity. The faster you ship, the faster you drift — unless something intervenes before the code is written.
Manual review cannot be the sole governance layer
The intuitive response to this problem is to tighten review: require two approvals, mandate architect sign-off on structural changes, add checklists. Every engineering leader considers this first.
It doesn't work, for a reason that is structural rather than cultural. Tighter review requirements reduce velocity — which is precisely the benefit that AI-assisted development was supposed to deliver. You end up in a paradox: the faster AI generates code, the more review burden you add, until the review process itself becomes the bottleneck that negates the generation speed advantage.
Teams that have tried to solve this with AI-assisted review tools report partial improvement. Automated reviewers catch mechanical issues — type errors, unused imports, obvious anti-patterns. They cannot catch architectural violations that depend on decisions specific to your team, your services, and your constraints. That context is not in the training data and cannot be injected effectively at review time.
Governance must shift left into generation workflows
Security engineering faced a structurally identical problem a decade ago. When application development accelerated, security reviews at the end of the pipeline couldn't keep up with the volume of vulnerabilities reaching production. The response — shift-left security — moved checks earlier in the development lifecycle, catching issues before they accumulated.
Architectural governance is at the same inflection point. The answer is not better review. It is enforcement that operates before the AI agent writes the file — at generation time, not after the PR is opened.
Pre-generation enforcement means the AI assistant receives the relevant architectural constraints for the specific file and module it's about to modify, and those constraints are injected as structured rules rather than advisory context. A service boundary violation is blocked before the code is written. A deprecated dependency is never introduced. A naming convention is enforced at the moment of generation, not caught in review three days later.
The economics are straightforward: preventing a violation costs zero reviewer time. Catching one in review costs one or more review cycles. Fixing one after it has merged and been replicated costs a refactor.
The future stack: generation-time + PR-time + CI-time governance
The mature governance architecture for AI-assisted development is not a single layer. It is three layers operating in sequence, each catching what the previous layer missed:
This is the same defense-in-depth pattern that security engineering uses. It works because each layer is optimized for a different class of violation, and the most expensive layer (human review) only handles the subset of issues that truly require human judgment.
The key insight is that generation-time enforcement transforms review from an exhaustive governance process into a focused validation step. Reviewers stop policing architectural compliance and start evaluating design intent. The work becomes more interesting, less tedious, and dramatically more sustainable at AI-output volumes.
Architectural governance is becoming infrastructure
Logging was once a developer responsibility. Then it became infrastructure. Testing was once manual. Then it became automated. Security was once end-of-pipeline. Then it shifted left and became embedded in the development process.
Architectural governance is on the same trajectory. As AI coding assistants become the default way code is written, the constraints that govern that code must be embedded in the generation layer — not held in the heads of senior engineers who review PRs on Friday afternoons.
This is not a tooling convenience. It is an infrastructure requirement for any team that intends to maintain architectural coherence while shipping at AI-assisted velocity. The teams that treat governance as infrastructure will compound their speed advantage. The teams that rely solely on manual review will compound their architectural debt.
The math does not leave room for a middle path.