{"slug": "code-review-has-changed-the-contract-needs-to-change-too", "title": "Code Review Has Changed. The Contract Needs to Change Too.", "summary": "Code review is shifting from defect detection to evaluating whether a change is the optimal solution, as AI tools make code generation cheaper and increase the volume of code reaching review. According to the article, some companies are making human PR reviews optional on their monorepos, using auto approvers that classify risk and approve certain PRs without human review. The new goal of code review is for the author to convince the reviewer that the chosen solution is optimal, which is especially important for AI-generated code that may look plausible but not be well understood.", "body_md": "# Code Review Has Changed. The Contract Needs to Change Too.\n\nFor years, code review has been one of the core rituals of software engineering. A developer writes code and opens a pull request. Another developer reads the diff, looks for bugs, checks the tests, questions the abstractions, and decides whether the change is safe to merge.\n\nThat workflow made sense when writing code was a scarce resource in software development. But coding is no longer scarce. AI tools have made it dramatically cheaper to produce code, which means developers can generate larger changes faster. Agents can pick up a task, write a feature, add tests, and open a PR with very little human implementation work.\n\nThe volume of code reaching review is increasing, but the number of senior engineers available to review it has not increased accordingly. The bottleneck has moved. It used to be writing code; now it’s verifying code. However, most teams are still treating code review like nothing has changed.\n\n**The Industry Is Already Moving**\n\nSome companies are making human PR reviews optional on their own monorepos. Their auto approver reads a diff, classifies risk, and approves certain PRs without a human reviewer ever looking at the code.\n\nThat sounds extreme - and it should. But the interesting part is not that humans disappeared. Reviews still need security checks, CODEOWNERS for sensitive paths, stale approval detection, evaluation data, and a culture where engineers still own what gets merged. The human checkpoints moved to a different part of the system.\n\nThat’s the shift. The question is no longer, “Can every line of code be reviewed by a human?” The better question is: “Which changes actually require human judgment?”\n\n**Review Is Not Just Defect Detection**\n\nAI has not eliminated the need for code review; it simply changed its objective.\n\nThe old model treated review primarily as defect detection. The reviewer’s job was to find mistakes in another person’s implementation: a missing edge case, a broken assumption, a test gap, a strange abstraction, or a hidden performance issue.\n\nThat work still matters, but it cannot be the whole job anymore. Models are already good at finding mechanical issues: missing null checks, inconsistent naming, unhandled error paths, test gaps, and violations of local conventions. Sometimes they’re even too good at it.\n\nOne of my senior engineers described his first pass on a PR as a basic sanity check: Is this change likely to introduce something breaking? Does this architecture make sense? Is this a maintainable solution?\n\nIf he has time, he will proceed to pull the branch down and run his own review. He almost always finds something, but the findings are increasingly nitpicky. It’s an exercise that might be useful, but it’s certainly not the highest value use of senior engineering judgment.\n\nThe greatest value of a human review is deciding whether an incoming change is the optimal solution, or if it should happen at all.\n\n**The New Goal of Code Review**\n\nHere is the definition I keep coming back to: **The goal of code review is for the author to convince the reviewer that the chosen solution is the optimal solution for the problem.**\n\nThat framing changes the review contract. The author’s job is not just to submit code, it’s to make the problem, the solution, the tradeoffs, and the confidence level legible. The reviewer’s job is to decide whether the change makes sense in the broader context of the system.\n\nThis matters even more when AI is involved. AI-generated code can look plausible without being well understood. It can follow local patterns, pass tests, and satisfy the narrow prompt it was given.\n\nBut “looks right” is not the same as “is right.” An AI model will build to spec, which means that one of the most important human jobs is making sure the spec makes sense in the first place.\n\n**Start With the Problem**\n\nBefore a reviewer can evaluate a diff, they need to understand the problem. What is this PR trying to solve? Why does it matter? What constraints shaped the work? What was intentionally left out?\n\nWithout that context, the reviewer is forced to reverse engineer intent from code. That workflow was already inefficient back when humans actually wrote every line. With AI-generated code, it becomes more dangerous, because there may be less human intent embedded in the implementation than the diff suggests.\n\nOnce the reviewer understands the problem, they can evaluate the chosen solution. What approach did the author choose? What alternatives were considered? Why this one? What assumptions does it rely on? What areas are risky?\n\nThis is where code review becomes less about correctness and more about judgment. A solution can be technically correct and still be wrong for the team. It might introduce a new pattern where an existing one should have been used. It might add a dependency the team does not want to maintain. It might make the broader system harder to reason about.\n\nThese are not always things a model can determine from the diff alone. They require system context, product context, team memory, and taste. That is why human review still matters.\n\n**The Reviewer’s Real Question**\n\nA good senior engineer does not only ask, “Can this work?” They ask, “Will we regret this?”\n\nThat is the question modern code review needs to center on. As code gets cheaper to produce, the cost of bad decisions goes up. A large, messy, almost correct PR can now be generated quickly. But reviewing it, understanding it, debugging it, and living with it still costs the team real time.\n\nThe danger is not that AI writes obviously terrible code. The danger is that AI writes code that is good enough to merge, but not good enough to own. That is where teams get into trouble. Reviewers start skimming, and authors assume that passing tests means the PR is fine. Everyone feels pressure to preserve velocity. The path of least resistance becomes rubber stamping.\n\nThat is not a code quality problem - it’s an operating model problem.\n\n**The New Code Review Contract**\n\nOpening a PR should no longer mean, “I wrote the code. Please check it.” It should mean, “I believe this is the right solution. Here is the evidence.”\n\nA good PR description should answer a few basic questions. What problem does this solve? Why is this the right approach? What alternatives were considered? What areas are risky? How was this tested? What should the reviewer focus on?\n\nModern code review should also be risk-based. Routine changes can be handled with small PRs, strong tests, automation, and AI-first-pass review. Architectural changes need slower human review. Sensitive changes - like billing, auth, permissions, data deletion, migrations, infrastructure, and security boundaries - need the deepest review.\n\nThe reviewer is no longer just a defect finder, they’re a validator of judgment. The author is no longer just a code submitter - they are also responsible for explaining why their solution is the right one. The tools are no longer just autocomplete, they are part of the verification system.\n\nWhen those roles are clear, review can get better. The author owns intent. The reviewer owns judgment. The tools provide leverage.\n\nThe main question isn’t whether one human can find mistakes in another human’s code, but whether the team can maintain a shared understanding of the system while the volume of code increases. Because the bottleneck in software development is not typing code - and hasn’t been for some time now. It’s understanding whether the code should exist at all.\n\nCode review has changed. Now the contract has to change too.", "url": "https://wpnews.pro/news/code-review-has-changed-the-contract-needs-to-change-too", "canonical_source": "https://blog.kilo.ai/p/code-review-has-changed-the-contract", "published_at": "2026-08-03 21:03:23+00:00", "updated_at": "2026-08-03 21:31:16.036209+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents"], "entities": [], "alternates": {"html": "https://wpnews.pro/news/code-review-has-changed-the-contract-needs-to-change-too", "markdown": "https://wpnews.pro/news/code-review-has-changed-the-contract-needs-to-change-too.md", "text": "https://wpnews.pro/news/code-review-has-changed-the-contract-needs-to-change-too.txt", "jsonld": "https://wpnews.pro/news/code-review-has-changed-the-contract-needs-to-change-too.jsonld"}}