<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anna</title>
    <description>The latest articles on DEV Community by Anna (@uss).</description>
    <link>https://dev.to/uss</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3368286%2F089f6f55-de17-4a4b-b1e9-e9a440045dc5.png</url>
      <title>DEV Community: Anna</title>
      <link>https://dev.to/uss</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uss"/>
    <language>en</language>
    <item>
      <title>Claude Code email-sharing reports: 6 checks for what your coding agent sends out in 2026</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Fri, 06 Nov 2026 20:47:44 +0000</pubDate>
      <link>https://dev.to/uss/claude-code-email-sharing-reports-6-checks-for-what-your-coding-agent-sends-out-6n0</link>
      <guid>https://dev.to/uss/claude-code-email-sharing-reports-6-checks-for-what-your-coding-agent-sends-out-6n0</guid>
      <description>&lt;p&gt;A coding agent can leave a clean diff and an uncomfortable privacy question behind it. Getting agent-generated code merged sooner with fewer rollbacks matters, but a request carrying personal information to a website needs a different control from PR review.&lt;/p&gt;

&lt;p&gt;I would separate those questions before trusting any coding agent with network access. For a high-velocity team, the practical starting point is small: know which identity the agent can reach, what it can send, and which boundary stops an unwanted request before execution.&lt;/p&gt;

&lt;p&gt;The Claude Code privacy reports make that distinction unusually concrete. Reading them as proof that every request contains an email would overstate the evidence. Reading them as a problem that ordinary PR review automatically catches would miss the boundary entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  A reported privacy failure is not the same as a universal header
&lt;/h2&gt;

&lt;p&gt;On November 5, a user opened &lt;a href="https://github.com/anthropics/claude-code/issues/107757" rel="noopener noreferrer"&gt;Claude Code issue #107757&lt;/a&gt;, alleging that the tool disclosed their email in web-request User-Agent headers without permission. The reporter also attributed an increase in scam emails to that disclosure.&lt;/p&gt;

&lt;p&gt;The report lists macOS and Claude Code 2.1.318. Other commenters describe similar concerns or tests of the safeguard. The reporter's exposure, the commenters' logs and any causal link between email-bearing requests and spam remain independently unverified here.&lt;/p&gt;

&lt;p&gt;A later &lt;a href="https://news.ycombinator.com/item?id=50388176" rel="noopener noreferrer"&gt;Hacker News comment from lydia_hallie&lt;/a&gt;, who says they work on Claude Code, acknowledges a mechanism: the account email was provided in model context, and the model sometimes inserted it into custom curl User-Agent headers as contact information.&lt;/p&gt;

&lt;p&gt;The commenter says the email will be removed from that context in an upcoming release. An announced change is not a verified shipped fix. The same comment acknowledges that a built-in safeguard does not cover every case, including a script the agent writes and runs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Custom requests versus the ordinary client header
&lt;/h3&gt;

&lt;p&gt;In the &lt;a href="https://news.ycombinator.com/item?id=50385272" rel="noopener noreferrer"&gt;surrounding HN discussion&lt;/a&gt;, eightysixfour posts a standard Claude Code header with no email. A normal client label and a custom header written for a particular task are different evidence.&lt;/p&gt;

&lt;p&gt;A clean standard header does not disprove the reported custom-request behavior. Conversely, a custom request containing an address does not establish that the networking layer automatically attaches that address to every request.&lt;/p&gt;

&lt;p&gt;The useful question is narrower: which information can a model place into a request it composes, and what requires approval before that request leaves?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check which identity the agent can reach&lt;/li&gt;
&lt;li&gt;Check every outbound route, including User-Agent&lt;/li&gt;
&lt;li&gt;Check scripts as well as visible shell commands&lt;/li&gt;
&lt;li&gt;Check the actual permission and network boundary&lt;/li&gt;
&lt;li&gt;Check the version and the safeguard's documented limits&lt;/li&gt;
&lt;li&gt;Check what the receiver and your evidence actually show&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Check which identity the agent can reach
&lt;/h2&gt;

&lt;p&gt;An account email in context is one source of identity. Repository history, author configuration, documentation and project files can supply others. Removing an account field may limit exposure without making the rest of the working environment anonymous.&lt;/p&gt;

&lt;p&gt;I would inventory identity sources by category, not copy actual personal values into an audit ticket. A record can say "personal account identity available" or "repository author identity available" without creating another address list.&lt;/p&gt;

&lt;p&gt;The distinction matters when a team uses separate work and personal identities. A request that legitimately needs an operator contact does not automatically need whichever address happens to be easiest for the model to find.&lt;/p&gt;

&lt;p&gt;An approved public contact address is a policy choice. The agent should not substitute a personal address when that contact is unavailable. A destination's request for contact details is information about its access requirements, not permission from the user to disclose identity.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Check every outbound route, including User-Agent
&lt;/h2&gt;

&lt;p&gt;User-Agent is a visible part of this report, but the privacy question is about the whole request. An address, project name or internal identifier can appear in a URL, another header, a request body or an uploaded file.&lt;/p&gt;

&lt;p&gt;A synthetic request can illustrate the review without using anyone's identity:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Destination: approved.example
User-Agent: research-client/1.0
Query: public search terms only
Body: none
Attached files: none
Contact identity: absent unless explicitly approved
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;HTTPS protects a request in transit. The receiving service still receives the headers and other request data addressed to it. A sensitive value is not private from the destination because the connection is encrypted.&lt;/p&gt;

&lt;p&gt;Project names deserve attention alongside email addresses. A generic client label and a label assembled from a confidential project title reveal different things, even when neither contains a personal address.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fydg0ns6fzfcj7u0mhf9d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fydg0ns6fzfcj7u0mhf9d.png" alt="A synthetic outbound request showing the places where identifying data can appear. HTTPS protects data in transit; the receiving site sees the request." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Check scripts as well as visible shell commands
&lt;/h2&gt;

&lt;p&gt;A shell invocation can look harmless because the request lives elsewhere. Reviewing only &lt;code&gt;python fetch.py&lt;/code&gt; says little about the headers, payload and file reads inside &lt;code&gt;fetch.py&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/anthropics/claude-code/blob/main/mods/privacy/README.md" rel="noopener noreferrer"&gt;official privacy-mod README&lt;/a&gt; explicitly lists scripts, files and runtime-computed values among its limitations. A command-text check is not equivalent to following every value through the program that command launches.&lt;/p&gt;

&lt;p&gt;For a proposed request, the relevant evidence includes the current script contents and the inputs the script will read. A previously approved script may behave differently after an edit or with a different environment.&lt;/p&gt;

&lt;p&gt;Approval should describe the action actually under consideration. Permission to retrieve public documentation is not blanket permission to run any newly generated helper that happens to retrieve documentation too.&lt;/p&gt;

&lt;p&gt;A trusted execution boundary should remain intact when a request is indirect. Moving the same data into a file or helper does not make the disclosure acceptable. An unexpected route is a reason to stop and inspect the request, not to search for a form the check misses.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Check the actual permission and network boundary
&lt;/h2&gt;

&lt;p&gt;A rule written in prose expresses intent. A permission decision controls an action. Network isolation constrains which connections can occur. Each layer answers a different question, and calling all three "guardrails" can hide important gaps.&lt;/p&gt;

&lt;p&gt;Anthropic's &lt;a href="https://code.claude.com/docs/en/security" rel="noopener noreferrer"&gt;security documentation&lt;/a&gt; distinguishes command-text deny rules from sandbox network isolation. The documentation also separates permission modes: a classifier reviewing an action is not the same mechanism as a person approving that action.&lt;/p&gt;

&lt;p&gt;A team should therefore know which mode is active and what an existing allow rule permits. An approval made earlier can affect later behavior; the presence of a permission system alone does not describe the effective policy.&lt;/p&gt;

&lt;p&gt;For sensitive work, I would pair limited accessible data with enforced destination restrictions and narrowly scoped credentials. The exact implementation depends on the host and execution environment, so a generic checklist should not promise that one setting covers every tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Check the version and the safeguard's documented limits
&lt;/h2&gt;

&lt;p&gt;In the issue, poteat describes &lt;code&gt;cc-plugin-privacy&lt;/code&gt; as enabled by default in 2.1.317 and later. Some commenters report the safeguard missing or not refusing their tests. The comments are reports, not independently verified tests.&lt;/p&gt;

&lt;p&gt;The official README describes a narrower check than a general personal-data filter. Certain shell tool inputs are refused when they contain the signed-in account address and name a User-Agent. The document describes text matching rather than parsing all possible request behavior.&lt;/p&gt;

&lt;p&gt;The HN acknowledgement describes a check that asks before certain calls. The README says matching calls are refused without a prompt. I would preserve that difference rather than combine the descriptions into a broader protection claim.&lt;/p&gt;

&lt;p&gt;The README also excludes web tools, addresses in other request locations, and several indirect forms. The document's own description is deliberately limited. A version containing the safeguard is not evidence that all outbound personal data is blocked.&lt;/p&gt;

&lt;p&gt;Version, enabled configuration and documented coverage belong in the same record. A future release announcement should remain an announcement until the actual release and behavior have been checked.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Check what the receiver and your evidence actually show
&lt;/h2&gt;

&lt;p&gt;A transcript can show a proposed command. A tool result can show that a command ran. Authorized destination logs may show a received request. None of those observations should silently stand in for the others.&lt;/p&gt;

&lt;p&gt;A failed request can still be worth investigating, but an intended header does not prove a particular server stored it. Equally, a successful command does not establish which information a downstream service retained or later used.&lt;/p&gt;

&lt;p&gt;For an authorized investigation, redacted local records and controlled destination logs are stronger than an agent's retrospective assurance. Real personal addresses and credentials do not belong in screenshots, public comments or a shared troubleshooting example.&lt;/p&gt;

&lt;p&gt;The spam allegation needs a separate causal chain. An inbox change can motivate investigation without proving the source. The evidence reviewed here does not establish that the reporter's scam emails came from the reported headers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose Qodo when outbound policy also needs enforceable code-review rules
&lt;/h2&gt;

&lt;p&gt;Qodo, the AI code review platform, belongs on the committed-change side of this problem. Qodo's PR review can flag request-building code and configuration against team rules. An ad hoc research request may leave no PR diff at all.&lt;/p&gt;

&lt;p&gt;Review before the PR helps bring feedback earlier. Cross-repo context, learning from the team and high-signal findings support the review of changes that span code and policy. None of those capabilities is a claim that Qodo observes every runtime request.&lt;/p&gt;

&lt;p&gt;High-velocity teams get the rule files they already have, checked on every PR, with setup in minutes and no new process. Enterprise engineering teams get one rule set across many repos and agents. Both need separate runtime controls for data that can leave before a PR exists.&lt;/p&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, Qodo is best at reviewing committed request-building code against a team's privacy rules.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep privacy-sensitive decisions with a person
&lt;/h3&gt;

&lt;p&gt;Review rules can make privacy expectations explicit: approved contact identities, allowed destinations and restrictions on uploading project files. Qodo's PR review checks committed changes against those rules on every PR; runtime enforcement remains separate.&lt;/p&gt;

&lt;p&gt;A reviewer still needs to assess exceptions and evidence outside the diff. Cross-repo context can help connect a shared request helper with its callers, but an ad hoc request may never appear in committed code.&lt;/p&gt;

&lt;p&gt;Qodo flags; your team decides. High-signal findings support a human review decision; outbound controls must act before sensitive data leaves the machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnvp4lcp1qy047eq4a70a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnvp4lcp1qy047eq4a70a.png" alt="Runtime privacy controls govern outgoing requests while code review assesses committed changes." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does Claude Code send my email to every website?
&lt;/h3&gt;

&lt;p&gt;The sources reviewed do not establish universal behavior. The HN acknowledgement describes the model sometimes inserting context email into custom requests. The original user's exposure and spam allegations remain independently unverified here.&lt;/p&gt;

&lt;h3&gt;
  
  
  What does cc-plugin-privacy actually block?
&lt;/h3&gt;

&lt;p&gt;The README describes certain shell inputs containing the account email and a User-Agent reference. The documented limits include indirect values and other request locations. A narrow check should not be described as a complete outbound privacy boundary.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can a PR review detect data sent during an agent session?
&lt;/h3&gt;

&lt;p&gt;A PR review can review committed code or attached evidence, not automatically reconstruct unrelated runtime traffic. Qodo's &lt;a href="https://www.qodo.ai/blog/ai-code-review/" rel="noopener noreferrer"&gt;AI code review guide&lt;/a&gt; covers the review layer; outbound enforcement remains a separate responsibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does an email-free User-Agent prove nothing sensitive left?
&lt;/h3&gt;

&lt;p&gt;No. Another header, query, body or attachment may carry information. A clean header establishes only what was absent from that header in the request observed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Has the reported behavior been linked to spam?
&lt;/h3&gt;

&lt;p&gt;The original reporter makes that connection, but the reviewed evidence does not independently establish causation. Keeping the allegation separate from the acknowledged mechanism makes the privacy analysis more useful, not less serious.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>codereview</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to Review AI-Generated Code in 2026: The 5 Decisions I Keep Human</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 04 Nov 2026 18:57:47 +0000</pubDate>
      <link>https://dev.to/uss/how-to-review-ai-generated-code-the-5-decisions-i-keep-human-39g0</link>
      <guid>https://dev.to/uss/how-to-review-ai-generated-code-the-5-decisions-i-keep-human-39g0</guid>
      <description>&lt;p&gt;Picture a team whose agents now read every line of every PR. Which parts of review should people still do by hand? My answer is five questions, none of them about typos, and everything else can go to a reviewer that runs earlier.&lt;/p&gt;

&lt;p&gt;Here's why the five stay with people. Developers say about 47% of their code is now fully written by agents, a self-reported average from a survey of 15,000+ developers built from bucket midpoints (JetBrains Research, Aug 26, 2026).&lt;/p&gt;

&lt;p&gt;Only 43% of developers are ready to fully delegate code review to AI, up from 33% a year earlier (JetBrains Research, Oct 19, 2026). The October results are reweighted and don't state a sample size, so read both numbers as direction, not precision.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Five Decisions
&lt;/h2&gt;

&lt;p&gt;Five decisions should stay with people:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Should this change exist at all?&lt;/li&gt;
&lt;li&gt;Does it fit the architecture?&lt;/li&gt;
&lt;li&gt;Is the risk acceptable?&lt;/li&gt;
&lt;li&gt;Can it be undone?&lt;/li&gt;
&lt;li&gt;Who says yes?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Teams whose agents open dozens of PRs a day need the same five decisions, made in minutes, not hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Numbers Say About How Much Code AI Writes
&lt;/h2&gt;

&lt;p&gt;The gap between writing and reviewing is the story. Agents write nearly half the code, and fewer than half of developers would hand over the review.&lt;/p&gt;

&lt;p&gt;In the August JetBrains data, about 38% of code is written with some AI help and about 27% fully by hand, alongside the 47% written by agents. The buckets are self-reported midpoints, so the shares add up to more than 100%.&lt;/p&gt;

&lt;p&gt;The October JetBrains data shows readiness to delegate climbing for writing work between April-June 2025 and May-July 2026. Readiness to delegate application logic rose from 18% to 50%, test writing from 50% to 75%, and refactoring from 38% to 60%.&lt;/p&gt;

&lt;p&gt;Review sits at 43%, and 54% aren't ready to delegate debugging. The same caveat applies, since the October results are reweighted and give no sample size.&lt;/p&gt;

&lt;p&gt;Qodo, the AI code review platform, found the same pattern in its own survey. 25.8% of developers and 26.0% of engineering leaders name reviewing and validating AI code as the main constraint on delivery, according to the &lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;Qodo State of AI Code Quality 2026&lt;/a&gt; (Censuswide, August 2026, self-reported).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Review Is the Step Developers Keep
&lt;/h2&gt;

&lt;p&gt;Review is where someone answers for the change. My read is that the 57% who aren't ready to delegate review aren't simply wary of the tools, because the gap reflects who carries the outcome when a change goes wrong.&lt;/p&gt;

&lt;p&gt;Reviewing AI code is also harder work. 36.4% of developers say reviewing takes the same time but more cognitive effort to spot hidden AI bugs, and 24.0% report lower trust in peer PRs because they don't know how much AI wrote, according to the same Qodo survey.&lt;/p&gt;

&lt;p&gt;The system that writes the code shouldn't be the one that decides whether the code ships. People don't need to read every line, though, and &lt;a href="https://www.qodo.ai/blog/human-reviews-were-never-the-safest-option/" rel="noopener noreferrer"&gt;human reviews were never the safest option&lt;/a&gt; on their own. Humans should keep the decisions, and hand the line-by-line reading to review that runs earlier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 1: Should This Change Exist at All?
&lt;/h2&gt;

&lt;p&gt;No reviewer can tell you the feature was the wrong bet. AI review can summarize what changed and check the change against the linked ticket's stated intent, when the author or agent provides that context.&lt;/p&gt;

&lt;p&gt;Scope, direction and taste stay human. One team at Anthropic that called its review bottleneck solved still kept human review for changes from outside the team, so someone asks "should we even do this?", according to the Claude Code team's Oct 15, 2026 post on solving code review (self-reported).&lt;/p&gt;

&lt;p&gt;Every later decision assumes the change is worth making. For the basics behind the question, see &lt;a href="https://dev.to/dev_barron/what-is-code-review-types-how-it-changed-and-ai-review-eck"&gt;what code review is&lt;/a&gt; and how AI changed it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 2: Does It Fit the Architecture?
&lt;/h2&gt;

&lt;p&gt;Once a change is worth making, the next question is where the change lives. Architecture sits in people's heads and in other repos, so a diff alone rarely answers.&lt;/p&gt;

&lt;p&gt;At PR review, cross-repo context can flag a change in one repo that breaks a consumer in another, and &lt;a href="https://www.qodo.ai/glossary/what-is-full-codebase-context-vs-diff-only-review/" rel="noopener noreferrer"&gt;full codebase context&lt;/a&gt; beats diff-only review. AI can point at the conflict.&lt;/p&gt;

&lt;p&gt;Whether the trade-off is worth it stays human. 38% of engineering leaders name keeping architecture consistent as one of their biggest quality and governance gaps, according to the same Qodo report, so the architecture fit call needs an owner who knows the system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 3: Is the Risk Acceptable?
&lt;/h2&gt;

&lt;p&gt;Architecture fit leads straight to risk. AI can rank risk; only the owner can accept it.&lt;/p&gt;

&lt;p&gt;AI review can put a severity on each finding and match review effort to the change. Qodo's default Auto mode, for example, picks a Fast, Balanced or Deep review for each PR. Route depth by blast radius, ownership and reversibility, so a config tweak and a payments change don't get the same pass.&lt;/p&gt;

&lt;p&gt;Accepting a known risk on security, data exposure or compliance paths stays human. 28.7% of engineering leaders name security vulnerabilities or compliance issues as one of their biggest quality gaps, according to the same Qodo survey. A &lt;a href="https://dev.to/dev_barron/secure-code-review-how-it-differs-from-everyday-code-review-with-a-checklist-43k4"&gt;secure code review&lt;/a&gt; still needs a person who signs off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 4: Can It Be Undone?
&lt;/h2&gt;

&lt;p&gt;Risk you can roll back is a different risk. Reversibility decides how much human attention a change deserves.&lt;/p&gt;

&lt;p&gt;AI review can flag breaking changes, migrations and public-API edits so they don't hide inside a large PR. 19.0% of developers say PRs are now larger and harder to parse, which leads to review fatigue, according to the same Qodo survey.&lt;/p&gt;

&lt;p&gt;Approving a one-way door, such as a schema migration, data deletion or a public contract change, stays human. A change you can revert in a minute can move on AI findings and a quick human glance. A change you can't revert deserves a slow, named review.&lt;/p&gt;

&lt;p&gt;Picture a hypothetical PR where an agent renames a column in a migration. AI review flags that a reporting job still reads the old name, and the finding is right. A person still decides between a two-step rename, a backfill, or waiting until the job's owner signs off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 5: Who Says Yes?
&lt;/h2&gt;

&lt;p&gt;Every decision above ends in approval, and approval is a person's name on the change. An agent's approval never counts as a person's, a rule the Claude Code team states in its Oct 15, 2026 post (self-reported).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; keeps approval with people. Qodo flags; your team decides what blocks the merge, through branch protection and required reviewers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.qodo.ai/glossary/what-is-codeowners-file/" rel="noopener noreferrer"&gt;CODEOWNERS files&lt;/a&gt; record who owns which path, so the right person says yes. The tool reports, and the owner approves.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Review AI-Generated Code So the Five Decisions Get Your Time
&lt;/h2&gt;

&lt;p&gt;With the five decisions named, the rest of review should happen before a person opens the PR, which is how &lt;a href="https://www.qodo.ai/academy/ai-code-review/" rel="noopener noreferrer"&gt;AI code review&lt;/a&gt; is meant to work. Move every mechanical catch earlier, so the human reads intent, not typos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fady7pza6leoklyv54qed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fady7pza6leoklyv54qed.png" alt="A funnel: agent writes, review before the PR, learned standards on the PR, five human decisions, merge" width="799" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Let Review Before the PR Take the Mechanical Catches
&lt;/h3&gt;

&lt;p&gt;Qodo's Agentic Toolbox lets a coding agent review its own local changes with the same engine as Qodo's PR review in your Git, through the CLI, the Codex and Claude Code plugins, or a Kiro Power.&lt;/p&gt;

&lt;p&gt;Dave compares the tools for that step in &lt;a href="https://dev.to/dev_barron/review-before-the-pr-7-tools-that-check-your-coding-agents-changes-before-it-opens-a-pull-request-5eck"&gt;Review Before the PR&lt;/a&gt;, so I'll stay on the human side here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let Learned Team Standards Carry the Repeat Calls
&lt;/h3&gt;

&lt;p&gt;On GitHub, GitLab and Azure DevOps, Qodo's rules detection agent learns only from review comments developers accepted and acted on. For orgs that started with Qodo since Sep 1, 2026, mined rules are auto-approved by default, and rules whose findings are rarely fixed switch off automatically unless locked.&lt;/p&gt;

&lt;h3&gt;
  
  
  Record the Human Call
&lt;/h3&gt;

&lt;p&gt;Dismiss reasons (False positive, Intentional, Fix later, Not specified) turn "ignored" into a recorded decision. The Previous reviews view shows each run, commit by commit, which is what &lt;a href="https://www.qodo.ai/glossary/what-is-governance-and-compliance-in-code-review/" rel="noopener noreferrer"&gt;governance and compliance&lt;/a&gt; teams ask for.&lt;/p&gt;

&lt;p&gt;Developers get fewer, higher-signal findings and a recorded reason when they disagree. Leaders get standards the team owns, applied the same way on every PR. A separate reviewer matters here too, for the reasons in Qodo's post on &lt;a href="https://www.qodo.ai/blog/why-your-ai-coding-agent-shouldnt-review-its-own-code-the-case-for-an-independent-verification-layer/" rel="noopener noreferrer"&gt;why your coding agent&lt;/a&gt; shouldn't review its own code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose Qodo When...
&lt;/h3&gt;

&lt;p&gt;Choose Qodo when your team wants the agent to fix mechanical issues before a person opens the PR.&lt;/p&gt;

&lt;p&gt;Choose Qodo when you want review standards learned from your own team's decisions.&lt;/p&gt;

&lt;p&gt;Choose Qodo when you need every dismissal reason and review run on record in one place, whichever Git provider hosts the PR.&lt;/p&gt;

&lt;p&gt;Both kinds of team get agent code merged sooner, with fewer rollbacks. Enterprise teams get one rule set across many repos and agents, reviews on five Git providers, single-tenant, on-prem and air-gapped options, and every finding logged and exportable.&lt;/p&gt;

&lt;p&gt;High-velocity teams keep the rule files they already have, such as AGENTS.md and CLAUDE.md, and Qodo checks them on every PR, with setup measured in minutes and no new process.&lt;/p&gt;

&lt;p&gt;Teams comparing the category can start with these &lt;a href="https://hub.qodo.ai/post/best-ai-code-governance-tools-enterprise/" rel="noopener noreferrer"&gt;AI code governance tools&lt;/a&gt; for enterprise teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turn Each Human Decision Into the Next Rule
&lt;/h2&gt;

&lt;p&gt;Every decision a person makes well once should become a standard the next review applies. Cache repeated judgment, so the system handles the repeat calls and senior engineers handle the new trade-offs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8b171r2vkluxie1sc8lh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8b171r2vkluxie1sc8lh.png" alt="A loop: human decision, dismiss reason or accepted comment, rule, next review" width="799" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The decisions that can't become rules are the five that stay human, starting with whether the change should exist at all. Track how long those five take with a few &lt;a href="https://dev.to/dev_barron/code-review-metrics-10-software-engineering-metrics-leaders-should-track-51k7"&gt;code review metrics&lt;/a&gt; leaders already watch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Five decisions stay human. A person decides whether the change should exist, whether it fits the architecture, whether the risk is acceptable, whether it can be undone, and who says yes.&lt;/p&gt;

&lt;p&gt;Everything else moves before the PR or into standards the team's own decisions taught the reviewer. The result is agent code merged sooner with fewer rollbacks, and a human part of review that stays small, fast and on record.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How do you review AI-generated code?
&lt;/h3&gt;

&lt;p&gt;Move mechanical checks before the PR, so a coding agent fixes them first. Keep the five human decisions for the PR, which cover whether the change should exist, architecture fit, risk, reversibility and approval.&lt;/p&gt;

&lt;h3&gt;
  
  
  What should a human still review in an AI-written PR?
&lt;/h3&gt;

&lt;p&gt;A person should still own intent, architecture fit, accepted risk, one-way changes and the final approval. AI review can flag issues in all five areas, but each decision needs a named owner.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can AI approve pull requests on its own?
&lt;/h3&gt;

&lt;p&gt;AI review can recommend an approval, but an agent's approval shouldn't count as a person's. Most teams are better served keeping a named human approver. Qodo flags; your team decides what blocks the merge, through branch protection and required reviewers.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much code is written by AI in 2026?
&lt;/h3&gt;

&lt;p&gt;Developers say about 47% of their code is fully written by agents, according to JetBrains Research (Aug 26, 2026). The figure is self-reported, from an IDE vendor's survey, and built from bucket midpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Qodo a test generation tool?
&lt;/h3&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, that makes it a strong fit for keeping the human review decision small, fast and on record.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>softwareengineering</category>
      <category>programming</category>
    </item>
    <item>
      <title>AI Code Review ROI in 2026: The Pilot Math I'd Run Before Building Our Own Reviewer</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 04 Nov 2026 18:52:02 +0000</pubDate>
      <link>https://dev.to/uss/ai-code-review-roi-the-pilot-math-id-run-before-building-our-own-reviewer-4jao</link>
      <guid>https://dev.to/uss/ai-code-review-roi-the-pilot-math-id-run-before-building-our-own-reviewer-4jao</guid>
      <description>&lt;p&gt;Cloudflare's in-house AI reviewer averaged $1.19 a review in its first 30 days, according to the Cloudflare blog (April 2026). Picture a platform team showing that number to leadership. Somebody will ask why anyone would pay a vendor, and the fair answer starts with what the dollar leaves out.&lt;/p&gt;

&lt;p&gt;So here's the math I'd run before either building or buying an AI code reviewer in 2026. You'll get a formula, a baseline to record, a sanity check against the published ROI models, and the build decision written out line by line.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Review is where the return is won or lost.&lt;/strong&gt; 26.0% of engineering leaders name reviewing and validating AI-generated code as their primary delivery constraint (State of AI Code Quality 2026 from Qodo, the AI code review platform, August 2026).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leaders can't show the return yet.&lt;/strong&gt; 89% of executives say AI increases speed, but only 6% are sure they have clear examples of organization-wide AI ROI (Atlassian State of Teams 2026, April 2026).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The formula is short.&lt;/strong&gt; Reviewer hours returned plus defects caught before merge, minus tool or build cost and triage time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A dollar a review isn't the whole cost.&lt;/strong&gt; Cloudflare's in-house reviewer averaged $1.19 a review, and someone still has to own prompts, evaluations and analytics (Cloudflare blog, April 2026).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why the Return Shows Up at Review
&lt;/h2&gt;

&lt;p&gt;AI output stalls in the review queue. A Harvard Business School working paper with Jellyfish data (January 2026, revised November 2026) found lines of code, commits and PRs all rose, while resolved Jira issues barely moved. The extra work piled up in review.&lt;/p&gt;

&lt;p&gt;When review is the constraint, a tool that speeds up writing adds to the queue. A tool that makes review cheaper and better is where the return lands.&lt;/p&gt;

&lt;p&gt;Leaders feel the gap, since 90.0% say they're confident reporting AI's impact to executives or the board, but only 45.0% can trace AI activity to code changes (Qodo, August 2026).&lt;/p&gt;

&lt;h2&gt;
  
  
  The Formula, in Three Steps
&lt;/h2&gt;

&lt;p&gt;I write the formula out in words so nobody can hide a variable.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Add up the return.&lt;/strong&gt; Reviewer hours returned at a loaded hourly cost, plus the value of defects caught before merge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add up the cost.&lt;/strong&gt; Tool or build cost, plus the time people spend triaging findings, false positives included.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subtract.&lt;/strong&gt; Divide by the cost if leadership wants a percentage.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuwkekbh7y1feyrmq3b20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuwkekbh7y1feyrmq3b20.png" alt="Diagram: a retro pixel equation card showing reviewer hours returned plus defects caught before merge, minus tool or build cost plus triage time, equals return" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Record a Baseline Before Anyone Turns the Tool On
&lt;/h2&gt;

&lt;p&gt;Pick two or three repositories that look like the rest of your codebase, and record three numbers for the month before the pilot.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Review wait.&lt;/strong&gt; Measure the time from PR opened to first human review.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time to merge.&lt;/strong&gt; Measure the time from PR opened to merged.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defects found after merge.&lt;/strong&gt; Count bugs traced back to a recent PR, from incident tickets or reverts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Skip the quiet internal tool with three PRs a month, and skip the one service everybody is afraid to touch. No clean pre-AI baseline? Use the month before the pilot anyway. Dave's list of &lt;a href="https://dev.to/dev_barron/code-review-metrics-10-software-engineering-metrics-leaders-should-track-51k7"&gt;code review metrics&lt;/a&gt; covers which numbers hold up as a baseline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Count Findings People Act On
&lt;/h2&gt;

&lt;p&gt;Comment counts make any reviewer look busy. What matters is how many findings led to a decision, and how many led to a code change.&lt;/p&gt;

&lt;p&gt;A tool with lots of findings and few accepted ones is costing you triage time, and the formula should show that. If accepted findings climb over the pilot weeks, developers are learning to trust the reviewer. If dismissals climb instead, tune the rules before anyone presents a number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Price Each Review From Billing Data
&lt;/h2&gt;

&lt;p&gt;Take what you spent in a billing period and divide by the reviews run in that period. Now you have a cost per review you can compare with a reviewer's hourly cost.&lt;/p&gt;

&lt;p&gt;Count re-reviews too. The average Cloudflare merge request got reviewed 2.7 times as engineers pushed fixes (Cloudflare blog, April 2026), so cost per PR can be a multiple of cost per review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sanity-Check Against the 2026 ROI Models
&lt;/h2&gt;

&lt;p&gt;Most published ROI figures are worked examples, and I use them as a sense check, never a promise.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Usage outran throughput.&lt;/strong&gt; AI usage rose 65% while median PR throughput rose about 8% across 400+ companies, and DX's 300% ROI example for a 200-person org rests on its own assumptions (DX, April-May 2026).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payback comes after a dip.&lt;/strong&gt; DORA's &lt;a href="https://dora.dev/ai/roi/report/" rel="noopener noreferrer"&gt;ROI report&lt;/a&gt; describes a J-curve, a planned dip driven partly by a verification tax, the time spent checking AI output, before payback within the first year (DORA, April 2026).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both point the same way, because usage alone doesn't pay and quality and review time decide the return.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build vs Buy: What the Dollar Leaves Out
&lt;/h2&gt;

&lt;p&gt;Cloudflare's write-up is the most detailed public account of an in-house build. In its first 30 days, the system ran 131,246 reviews across 48,095 merge requests, with a median review time of 3 minutes 39 seconds and a median cost of $0.98 (Cloudflare blog, April 2026).&lt;/p&gt;

&lt;p&gt;The first version was "exactly as noisy as you might expect," in the team's words. Fixing the noise took "What NOT to Flag" prompt sections, tiered models and a dedicated reviewer for AGENTS.md files. Even then, Cloudflare says its reviewers "regularly struggle with" architectural awareness and cross-system impact.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Hidden Line Items
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Duplicate findings.&lt;/strong&gt; Multi-persona reviewers repeat themselves, and cutting the repeats takes engineering time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt and rule upkeep.&lt;/strong&gt; Every new convention or false-positive pattern means a prompt change with an owner.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model upgrades.&lt;/strong&gt; A new model can change findings overnight, so each upgrade needs a regression check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluation.&lt;/strong&gt; Without a labeled collection of real bugs, nobody knows whether the reviewer got better or worse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Governance.&lt;/strong&gt; Leaders will ask for analytics, audit trails and per-team rules, and a script becomes a platform.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A homegrown reviewer often runs on the same model as the coding agent, so the two can share blind spots, and a bug can slip past both.&lt;/p&gt;

&lt;h3&gt;
  
  
  When I'd Build
&lt;/h3&gt;

&lt;p&gt;I'd build only when all three conditions hold, which are one Git provider and one CI system, a named team to own the reviewer, and needs that diff-level checks cover. Miss any of the three, and the hidden line items usually cost more than buying.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose Qodo When the Return Has to Be Traceable
&lt;/h2&gt;

&lt;p&gt;Qodo ships the context, analytics and upkeep a build has to recreate. Qodo runs as a reviewer separate from the agents writing the code, so the checker brings its own context and rules instead of the writer's session.&lt;/p&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, that focus matters most when leadership wants a review return traced from accepted findings to cost per review.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose Qodo When Review Spans Several Repositories
&lt;/h3&gt;

&lt;p&gt;Qodo reviews each PR with cross-repo context, using an indexed view of your repositories. Cross-repo findings flag a change that breaks code in a related repository, the exact gap Cloudflare names in its build.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose Qodo When You Want Rules Learned From Your Team
&lt;/h3&gt;

&lt;p&gt;On GitHub, GitLab and Azure DevOps, Qodo's rules detection agent turns review comments developers accepted into rules. Review presets (Recall, Precision, Velocity, Automation and Customization) let each team pick its trade-off, and teams can still write their unique checks as repository skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose Qodo When Leadership Wants High-Signal Data
&lt;/h3&gt;

&lt;p&gt;Qodo's code review analytics report PRs impacted, Accepted findings, High-severity acceptance rate and Median time to merge. Median time to merge has data from 29 September 2026 and isn't shown with a severity, category or type filter, so read it unfiltered.&lt;/p&gt;

&lt;p&gt;The billing page shows Reviews this period, which gives you cost per review directly. Qodo flags; your team decides what changes and what merges.&lt;/p&gt;

&lt;p&gt;Qodo can review before the PR as well, through the Agentic Toolbox, so many fixes land before a human opens the diff. Dave covers that step in &lt;a href="https://dev.to/dev_barron/review-before-the-pr-7-tools-that-check-your-coding-agents-changes-before-it-opens-a-pull-request-5eck"&gt;Review Before the PR&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who Gets What
&lt;/h3&gt;

&lt;p&gt;Every team gets the same outcome, agent code merged sooner with fewer rollbacks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise engineering teams&lt;/strong&gt; get one rule set across many repos and agents, exportable findings and a cost per review finance can audit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-velocity teams&lt;/strong&gt; keep the rule files they already have, and Qodo checks them on every PR, with setup measured in minutes and no prompts or eval suite to babysit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Pilot Sheet I'd Bring to the Budget Meeting
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Export the findings.&lt;/strong&gt; Export findings.csv from the analytics dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Count accepted findings.&lt;/strong&gt; Filter Attribution status for implemented (the finding led to a code change).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weight by severity.&lt;/strong&gt; Use the Action level column, where action_required means high severity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add time to merge.&lt;/strong&gt; Compare the dashboard median with your baseline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add the cost.&lt;/strong&gt; Divide the period's spend by reviews run.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxs4r4mufn1q55e7r6bjr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxs4r4mufn1q55e7r6bjr.png" alt="Diagram: a retro pixel flow of five cards from the findings export to accepted findings, severity, time to merge and cost per review, ending in the return formula card" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Accepted high-severity findings become defects caught before merge. A short survey of the pilot team supplies triage time, and the drop in time to merge supports reviewer hours returned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;AI code review ROI comes from the review step, so measure the review step. Record a baseline, count findings people act on, price each review from billing data, and write out every hidden line item before comparing a vendor invoice with a token bill.&lt;/p&gt;

&lt;p&gt;Build when you have one platform, an owner and diff-level needs. Otherwise, buy the reviewer and spend your engineers on the checks unique to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How do we measure ROI without a pre-AI baseline?
&lt;/h3&gt;

&lt;p&gt;Use the month before the pilot. The comparison you need is a reviewer with the tool against a reviewer without it, and Qodo's analytics and billing page give you accepted findings and cost per review from week one.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's a realistic payback period?
&lt;/h3&gt;

&lt;p&gt;Nobody has a 2026 benchmark for AI code review payback. DORA's illustrative calculator shows payback within the first year after a planned dip, so plan your own from pilot data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should we build our own AI reviewer?
&lt;/h3&gt;

&lt;p&gt;Build only with one platform, a team to own it and diff-level needs. Choose Qodo when review spans repositories or leadership needs a traceable return, because Qodo reviews with cross-repo context and carries the upkeep a build would own.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which metric matters most?
&lt;/h3&gt;

&lt;p&gt;The best metric is accepted findings weighted by severity. A finding that changed code and would have reached production is the clearest return, and Qodo reports the high-severity acceptance rate directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Qodo a test generation tool?
&lt;/h3&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, the ROI case is strongest on the review side, where accepted findings and cost per review are easy to trace.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>AI Code Governance Policy for Copilot, Cursor and Claude Code in 2026: One Rule, Three Agents</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 04 Nov 2026 18:46:29 +0000</pubDate>
      <link>https://dev.to/uss/ai-code-governance-policy-for-copilot-cursor-and-claude-code-3nij</link>
      <guid>https://dev.to/uss/ai-code-governance-policy-for-copilot-cursor-and-claude-code-3nij</guid>
      <description>&lt;p&gt;88% of software teams now use more than one AI coding assistant, and only 30% have full governance over adoption and oversight, according to Black Duck's State of AI-Powered Software Development report (March 2026). Most teams are running several agents under policies written for one.&lt;/p&gt;

&lt;p&gt;So what does an AI code governance policy look like when your team runs Copilot, Cursor and Claude Code at once? Here's the version I'd write today, built on the vendor controls you already pay for.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your policy has to name one rule list.&lt;/strong&gt; Copilot, Cursor and Claude Code each read their own instruction files, and each vendor's console manages its own agent's copy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Most teams already run several agents.&lt;/strong&gt; Teams run several agents, and few govern them fully (Black Duck, State of AI-Powered Software Development, March 2026).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leaders can't see what agents changed.&lt;/strong&gt; 38.3% of engineering leaders name visibility into what agents create or modify as a top governance gap (State of AI Code Quality 2026 from Qodo, the AI code review platform, Censuswide, August 2026, self-reported).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Put the policy check at the pull request.&lt;/strong&gt; Qodo checks every agent's PR against one rule list. Qodo flags; your team decides.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Refund Rule That Split Into Three
&lt;/h2&gt;

&lt;p&gt;Picture a payments team with one rule, "refunds use Money, never floats." Somebody copies the rule into &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;, a &lt;code&gt;.cursor/rules/&lt;/code&gt; file and &lt;code&gt;CLAUDE.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now picture someone, six weeks later, who edits the Cursor copy and forgets the other two. Each agent now writes refund code against its own version of the rule, and every admin panel stays green. Nobody can say which version of your standards a given PR met.&lt;/p&gt;

&lt;p&gt;Per-agent controls are good at their own job. Copilot's policies and content exclusion shape Copilot, Cursor's admin dashboard shapes Cursor, and Claude Code's managed settings shape Claude Code. None of them owns the policy across all three.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F806wsl20nwqw4beoldvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F806wsl20nwqw4beoldvy.png" alt="Diagram: the same refund rule shown in three agent files, three agents writing refund changes, and one shared review that checks all three against the rule" width="799" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Write the Policy as Three Decisions
&lt;/h2&gt;

&lt;p&gt;Governance rollouts tend to stall when they start as a product purchase. Governance works better as three questions, asked in order.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decision 1: Which Agents Are Approved
&lt;/h3&gt;

&lt;p&gt;Approve the agents people already use, and make the approved path the easy one. About one developer in five uses AI coding tools their employer hasn't approved (BairesDev Q3 2026 Dev Barometer, September 2026). A ban only pushes that use out of sight.&lt;/p&gt;

&lt;p&gt;Device management tools can inventory extensions and local agent sessions, and AI gateways can control model access and spend. Both stop short of the code, so neither shows which agent wrote the refund change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decision 2: Which Vendor Controls Are On
&lt;/h3&gt;

&lt;p&gt;Turn on every vendor's admin controls, and write down where each one stops. Here's how I'd describe the three, neutrally.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Copilot Business and Enterprise.&lt;/strong&gt; Admins get policies, content exclusion, audit logs and usage metrics for Copilot. Copilot code review can run on every PR through rulesets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cursor Enterprise admin controls.&lt;/strong&gt; Admins manage Privacy Mode, model access, an MCP allowlist and Team Rules inside Cursor. Bugbot reviews PRs with Team Rules and BUGBOT.md, and skips &lt;code&gt;.cursor/rules&lt;/code&gt; by default, loading those files only when BUGBOT.md links to them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code managed settings.&lt;/strong&gt; Admins decide permission rules and managed hooks on developer machines. Claude Code Review follows a base-branch REVIEW.md, as Dave covers in his post on &lt;a href="https://dev.to/dev_barron/claude-code-review-is-ga-what-a-base-branch-reviewmd-teaches-us-about-agent-standards-2eo"&gt;REVIEW.md and agent standards&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each reviewer here comes from the same vendor as one of the writing agents. For that agent's code, the reviewer can share the writer's assumptions, which is why the next decision matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decision 3: Who Checks Every Agent's Code
&lt;/h3&gt;

&lt;p&gt;Most policies skip the review decision, and the review decision is the only one that looks at the code. Only 41% of developers say virtually no AI-written code reaches production without a specific human review (BairesDev, September 2026).&lt;/p&gt;

&lt;p&gt;Developers already lean toward an outside checker. For security flaws in AI-generated code, 56% prefer a separate AI agent dedicated to security, against 30% who'd let the generating model check its own work, according to the same Black Duck report.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Policy Needs From a Reviewer
&lt;/h2&gt;

&lt;p&gt;I'd write five requirements into the policy, and test every tool against the refund rule.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Every agent at the PR.&lt;/strong&gt; Approved or not, every agent's code lands in a pull request.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One scoped rule list.&lt;/strong&gt; Rules come from the files agents already read, scoped to an org, repo or path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence per PR.&lt;/strong&gt; Leaders see which rules each PR met, plus what the team fixed or dismissed and why.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The same rules before the agent writes.&lt;/strong&gt; The refund change starts from the current rule.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runs where your code must stay.&lt;/strong&gt; The reviewer runs in the cloud, single-tenant or on-premises, on the Git providers you use.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Choose Qodo When Your Policy Needs One Rule List Across Agents
&lt;/h2&gt;

&lt;p&gt;Qodo reviews at the pull request, where every agent's code meets. Qodo reads the rule files your agents already use (AGENTS.md, CLAUDE.md, copilot-instructions.md and the files in Cursor's &lt;code&gt;.cursor/rules/&lt;/code&gt; folder) and &lt;a href="https://docs.qodo.ai/governance/rule-enforcement/building-review-standards" rel="noopener noreferrer"&gt;imports them into one list&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Rules apply globally, per Git organization, per repo or per path. A rule from &lt;code&gt;src/payments/AGENTS.md&lt;/code&gt; applies only under that folder.&lt;/p&gt;

&lt;p&gt;Each imported rule is scoped to the folder that holds its source file, so a root file covers its repo and a nested file covers its folder. Once imported, Qodo holds the shared list, so editing one agent's copy no longer forks the policy.&lt;/p&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, governance is where Qodo earns its place on a mixed-agent team, because the shared rule list lives in one spot.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Qodo Checks on Each PR
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Every agent's PR.&lt;/strong&gt; Qodo's PR review runs on GitHub, GitLab, Bitbucket, Azure DevOps and Gerrit, so code from an unapproved agent gets the same check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-repo context.&lt;/strong&gt; Qodo reviews the change against related repositories, so a refund change that breaks a consumer elsewhere gets a finding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rules learned from the team.&lt;/strong&gt; On GitHub, GitLab and Azure DevOps, Qodo's rules detection agent turns review comments developers accepted into rules. For orgs that started with Qodo since Sep 1, 2026, mined rules are auto-approved by default.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-signal findings.&lt;/strong&gt; Each finding links to the rule behind it, so the refund finding points straight at the Money rule.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Leaders Get as Evidence
&lt;/h3&gt;

&lt;p&gt;Findings get fixed or dismissed in the PR, and a &lt;a href="https://docs.qodo.ai/code-review/dismiss-a-finding" rel="noopener noreferrer"&gt;dismissal needs a reason&lt;/a&gt;, such as False positive, Intentional, Fix later or Not specified. Code review analytics break findings down by repository, PR author, severity, category and finding type.&lt;/p&gt;

&lt;p&gt;Rule analytics show Passed (no violations), Detected violations and Merged violations for the last 30 days, and the merged violations export as a CSV. Your branch protection and required reviewers still decide what merges.&lt;/p&gt;

&lt;h3&gt;
  
  
  Review Before the PR, Too
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://docs.qodo.ai/agentic-toolbox/agentic-toolbox-overview" rel="noopener noreferrer"&gt;Agentic Toolbox&lt;/a&gt; brings Qodo into the coding session through the CLI, the Claude Code and Codex plugins and a Kiro Power. Teams can also turn on Qodo's Get Rules skill, an opt-in research preview, to hand the relevant rules to the agent before it writes, and the PR check still runs afterwards.&lt;/p&gt;

&lt;p&gt;Dave compares this before-PR step across tools in &lt;a href="https://dev.to/dev_barron/review-before-the-pr-7-tools-that-check-your-coding-agents-changes-before-it-opens-a-pull-request-5eck"&gt;Review Before the PR&lt;/a&gt;, so I won't repeat his list here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who Gets What
&lt;/h3&gt;

&lt;p&gt;Every team gets the same outcome, agent code merged sooner with fewer rollbacks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise engineering teams&lt;/strong&gt; get one rule set across many repos and agents, single-tenant, on-premises and air-gapped options, and every finding logged and exportable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-velocity teams&lt;/strong&gt; keep the rule files they already have, and Qodo checks them on every PR, with setup measured in minutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Policy Template You Can Copy
&lt;/h2&gt;

&lt;p&gt;Here's the short version I'd paste into an internal wiki.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Approved agents.&lt;/strong&gt; List the approved agents, review the list quarterly, and keep the approved path easy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vendor controls.&lt;/strong&gt; Turn on each vendor's admin settings and note what each one covers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rule source of truth.&lt;/strong&gt; Keep one shared rule list, imported from agent files, with path scopes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review.&lt;/strong&gt; Give every PR an independent check against the shared list before human approval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence.&lt;/strong&gt; Require a reason for every dismissal, and have leaders review the analytics monthly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're picking tools for a Codex and Cursor setup specifically, my &lt;a href="https://dev.to/uss/best-ai-code-review-tools-for-teams-using-codex-and-cursor-ecb"&gt;Codex and Cursor roundup&lt;/a&gt; covers the review side tool by tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;An AI code governance policy for Copilot, Cursor and Claude Code comes down to three decisions in order. Approve the agents, turn on each vendor's controls, then put one independent check at the pull request.&lt;/p&gt;

&lt;p&gt;The refund rule only stays whole when one list holds it. Qodo flags the PR that followed a stale copy; your team decides what happens next.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What should an AI code governance policy cover?
&lt;/h3&gt;

&lt;p&gt;A good policy names the approved agents, the vendor controls you rely on, one rule list as the source of truth, an independent review on every PR, and how dismissals get recorded. Qodo covers the rule list, the PR review and the evidence across agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do vendor admin controls count as governance?
&lt;/h3&gt;

&lt;p&gt;Vendor admin controls govern their own agent well. Copilot's policies cover Copilot, and Cursor's dashboard covers Cursor. Each manages its own agent's rule copy, so the policy needs a shared check at the PR.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does Bugbot read .cursor/rules?
&lt;/h3&gt;

&lt;p&gt;Bugbot skips &lt;code&gt;.cursor/rules&lt;/code&gt; by default and loads them only when BUGBOT.md links them. Qodo reads the files in &lt;code&gt;.cursor/rules/&lt;/code&gt; when it imports rules into its shared list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can coding agents follow the same rules the review checks?
&lt;/h3&gt;

&lt;p&gt;Coding agents can follow the same rules when both draw on one list. Qodo's opt-in Get Rules skill, in research preview, loads the shared rules into a coding agent through the Agentic Toolbox, and Qodo's PR review checks the result.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Qodo a test generation tool?
&lt;/h3&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, the governance side is what mixed-agent teams need most, since the shared rule list and per-PR evidence live in one place.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>governance</category>
      <category>devops</category>
    </item>
    <item>
      <title>Best AI Code Review Tools for Teams Using Codex and Cursor in 2026</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Tue, 03 Nov 2026 17:23:27 +0000</pubDate>
      <link>https://dev.to/uss/best-ai-code-review-tools-for-teams-using-codex-and-cursor-ecb</link>
      <guid>https://dev.to/uss/best-ai-code-review-tools-for-teams-using-codex-and-cursor-ecb</guid>
      <description>&lt;p&gt;When a team's agents write most of the code, the review step decides how soon the team merges. Codex code review and Cursor Bugbot now review the output of the tools that wrote it, so a team running both agents ends up with two reviewers and two rule files.&lt;/p&gt;

&lt;p&gt;OpenAI &lt;a href="https://www.qodo.ai/blog/openai-git-pando-codex-code-review/" rel="noopener noreferrer"&gt;rebuilt its own Git backend, Pando&lt;/a&gt;, after Codex-driven pushes, merges and fetches pushed monorepo reliability at times below 90%. One engineer designed the architecture of Pando, and teams of agents implemented it, taking Pando from kick-off to production in 10 weeks, according to OpenAI's Nov 2, 2026 post on scaling Git at OpenAI.&lt;/p&gt;

&lt;p&gt;At that volume, review becomes the next bottleneck. 25.8% of developers name reviewing and validating AI-generated code as their primary delivery constraint, according to the &lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;Qodo State of AI Code Quality 2026&lt;/a&gt; (Censuswide, 500 US developers and 300 US leaders, August 2026, self-reported).&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Guide Covers
&lt;/h2&gt;

&lt;p&gt;Teams that run Codex and Cursor side by side see pull requests from both land in the same repos every day. Here is what this guide covers, in order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
How Codex code review works, locally and on GitHub&lt;/li&gt;
&lt;li&gt;
How Cursor code review works, before push and on the PR&lt;/li&gt;
&lt;li&gt;
A side-by-side table of four reviewers&lt;/li&gt;
&lt;li&gt;
The rule-file split between AGENTS.md and BUGBOT.md&lt;/li&gt;
&lt;li&gt;
What an outside reviewer adds for a mixed-agent team&lt;/li&gt;
&lt;li&gt;
How to test reviewers on your own PRs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;High-velocity teams feel the split first, because the Codex half and the Cursor half each get a different reviewer. Engineering orgs with both agents across many teams and repos feel it later and harder, because every repo grows its own copy of the review standards.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR: Which AI Code Review Tool Fits a Team Using Codex and Cursor
&lt;/h2&gt;

&lt;p&gt;Each bundled reviewer is strongest for the developers inside its own tool. An outside reviewer is the one that reads every PR from the whole team the same way. For the basics, see &lt;a href="https://www.qodo.ai/academy/ai-code-review/" rel="noopener noreferrer"&gt;how AI code review works&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Codex code review&lt;/strong&gt; runs &lt;code&gt;/review&lt;/code&gt; in your checkout and &lt;code&gt;@codex review&lt;/code&gt; on GitHub pull requests, with rules in AGENTS.md and a P0 and P1 focus on GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor code review&lt;/strong&gt; splits into Agent Review and &lt;code&gt;/review-bugbot&lt;/code&gt; before you push, then Bugbot on every PR update, with rules in BUGBOT.md.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Copilot code review&lt;/strong&gt; reviews in GitHub and in the major editors, with rules in Copilot's instruction files and AGENTS.md.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qodo&lt;/strong&gt;, the &lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;AI code review platform&lt;/a&gt;, is the independent review layer on every PR in your Git, whichever agent wrote the change, and Qodo's Agentic Toolbox runs the same review inside Codex before the PR exists. At OpenAI's volume, one standard across both agents matters more than a second opinion from the same tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Codex Code Review Works
&lt;/h2&gt;

&lt;p&gt;Codex reviews in two places with the same reviewer, in the terminal and on the PR, so the Codex half of a team gets one standard throughout.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local Review With &lt;code&gt;/review&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Codex's built-in &lt;code&gt;/review&lt;/code&gt; command reviews the changes in your Git checkout. In the CLI, you can review against a base branch, review uncommitted changes (staged, unstaged and untracked files), review a commit, or give custom review instructions.&lt;/p&gt;

&lt;p&gt;The app and IDE extension support the base-branch and uncommitted scopes. Codex reports prioritized findings without changing your working tree.&lt;/p&gt;

&lt;p&gt;The command appears only when the project sits inside a Git repository. Findings show up as inline comments in the review pane, and if you ask Codex to apply the fixes, your normal sandbox and approval settings apply.&lt;/p&gt;

&lt;h3&gt;
  
  
  PR Review With &lt;code&gt;@codex review&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;On GitHub, a developer mentions &lt;code&gt;@codex review&lt;/code&gt; in a PR comment, or the team turns on automatic reviews per repository. Codex posts a standard GitHub review, and on GitHub it flags only P0 and P1 issues, so comments stay on high-priority risks. GitLab merge request support is in preview.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# In your Codex session, inside a Git repo
/review
&amp;gt; Review against a base branch: main

# On a GitHub pull request
@codex review
@codex review for issues in the database migration
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A tight P0 and P1 focus keeps noise down on the PR. One reviewer in the terminal and on the PR keeps the Codex half of the team on one standard.&lt;/p&gt;

&lt;p&gt;After a review, a developer comments &lt;code&gt;@codex fix the P1 issue&lt;/code&gt;, and Codex starts a cloud chat with the PR as context and can push a fix back to the branch when it has permission. Finding and fix both stay inside Codex.&lt;/p&gt;

&lt;h3&gt;
  
  
  Writing Code Review Rules in AGENTS.md
&lt;/h3&gt;

&lt;p&gt;Codex searches the repo for AGENTS.md files and follows the code review rules in a &lt;code&gt;## Code Review Rules&lt;/code&gt; section. Root rules apply everywhere, and a nested AGENTS.md adds rules for the service below it, so each changed file carries only the guidance that covers it.&lt;/p&gt;

&lt;p&gt;Keep the rules short. Start with two or three rules, state the safe path for each, and leave mechanical checks in CI, as OpenAI's Codex docs advise. Review rules don't replace tests, branch protections or required approvals, the same docs add.&lt;/p&gt;

&lt;p&gt;The rules question gets harder once Cursor joins the repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Cursor Code Review Works: Agent Review Before Push, Bugbot on the PR
&lt;/h2&gt;

&lt;p&gt;Cursor splits review into a local layer and a PR layer that share one rules file, so the Cursor half of the team works from BUGBOT.md.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Review and &lt;code&gt;/review-bugbot&lt;/code&gt; Before You Push
&lt;/h3&gt;

&lt;p&gt;Cursor Agent Review reviews local changes inside Cursor, at Quick or Deep depth. The &lt;code&gt;/review-bugbot&lt;/code&gt; skill runs Bugbot from the agent before you push, and by default reviews every change on the branch against the base branch, committed and uncommitted. &lt;code&gt;/review-bugbot&lt;/code&gt; runs in Cursor 3.7 or later, at cursor.com/agents, and in the Cursor CLI.&lt;/p&gt;

&lt;p&gt;Local Bugbot reviews stay in sync with the PR. Cursor stores the patch ID of the reviewed diff, and when Bugbot on GitHub, GitLab or Bitbucket sees the same diff in a PR, Bugbot skips the repeat review and says so in a comment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bugbot on Every PR Update
&lt;/h3&gt;

&lt;p&gt;Bugbot reviews automatically on every PR update, or on demand when someone comments &lt;code&gt;cursor review&lt;/code&gt; or &lt;code&gt;bugbot run&lt;/code&gt;. Bugbot reads existing top-level and inline PR comments to avoid repeating feedback, and each finding comes with Fix in Cursor and Fix in Web links. By default, follow-up runs review only the changes since the previous review.&lt;/p&gt;

&lt;p&gt;Bugbot connects to GitHub (including Enterprise Server), GitLab (including self-hosted), Bitbucket (including Data Center), Azure DevOps Services and Cursor's own Origin. The Bugbot check concludes neutral by default when findings exist, and fails only when a team configures fail-on-unresolved.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor Bugbot Rules in BUGBOT.md
&lt;/h3&gt;

&lt;p&gt;Cursor Bugbot rules come from four places, merged in order: Team Rules from the dashboard, project &lt;code&gt;.cursor/BUGBOT.md&lt;/code&gt; files (nested files apply to the folders below them), learned rules and manual rules. Bugbot learns from merged or closed PRs, and &lt;code&gt;@cursor remember&lt;/code&gt; adds a learned rule inline.&lt;/p&gt;

&lt;p&gt;Project rules in &lt;code&gt;.cursor/rules/*.mdc&lt;/code&gt; don't apply to Bugbot runs, as Cursor's Bugbot docs state. A rule a developer wrote for Cursor's coding agent doesn't reach Cursor's reviewer unless someone copies it into BUGBOT.md.&lt;/p&gt;

&lt;h2&gt;
  
  
  Codex Code Review vs Cursor Bugbot vs Copilot: Side by Side
&lt;/h2&gt;

&lt;p&gt;For a team, the three bundled reviewers differ most on where rules live and which Git platforms they cover. Here is each on the same rows, with Qodo as the fourth column.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Codex code review&lt;/th&gt;
&lt;th&gt;Cursor Bugbot&lt;/th&gt;
&lt;th&gt;GitHub Copilot code review&lt;/th&gt;
&lt;th&gt;Qodo&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Trigger on PR&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;@codex review&lt;/code&gt;, automatic reviews&lt;/td&gt;
&lt;td&gt;Every PR update; &lt;code&gt;cursor review&lt;/code&gt;, &lt;code&gt;bugbot run&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Automatic per user, repo or org; manual request&lt;/td&gt;
&lt;td&gt;Automatic on PR open; &lt;code&gt;/agentic_review&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local review&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;/review&lt;/code&gt; in Codex&lt;/td&gt;
&lt;td&gt;Agent Review, &lt;code&gt;/review-bugbot&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;VS Code, Visual Studio, Xcode, JetBrains IDEs&lt;/td&gt;
&lt;td&gt;Agentic Toolbox: CLI &lt;code&gt;qodo review&lt;/code&gt;, plugins for Codex and Claude Code, a Kiro Power, MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rule file&lt;/td&gt;
&lt;td&gt;AGENTS.md &lt;code&gt;## Code Review Rules&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.cursor/BUGBOT.md&lt;/code&gt;, Team Rules, learned rules&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;, &lt;code&gt;*.instructions.md&lt;/code&gt;, AGENTS.md&lt;/td&gt;
&lt;td&gt;Imported repo files (AGENTS.md, CLAUDE.md, copilot-instructions.md, &lt;code&gt;.cursor/rules&lt;/code&gt;), plus learned rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Git platforms&lt;/td&gt;
&lt;td&gt;GitHub; GitLab in preview&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Bitbucket, Azure DevOps Services, Origin&lt;/td&gt;
&lt;td&gt;GitHub; Azure DevOps in public preview&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Bitbucket, Azure DevOps, Gerrit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fix loop&lt;/td&gt;
&lt;td&gt;&lt;code&gt;@codex fix&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fix in Cursor, Fix in Web, Autofix&lt;/td&gt;
&lt;td&gt;Suggested changes; hand-off to Copilot cloud agent (public preview)&lt;/td&gt;
&lt;td&gt;Follow-up reviews focus on your latest fixes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI or merge status&lt;/td&gt;
&lt;td&gt;Standard GitHub review&lt;/td&gt;
&lt;td&gt;Check is neutral by default; fails if configured&lt;/td&gt;
&lt;td&gt;Comment review by default; approvals off by default&lt;/td&gt;
&lt;td&gt;Advisory findings; your team decides what blocks the merge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Effort levels&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;review_model&lt;/code&gt; setting (CLI); GitHub reviews flag P0 and P1 only&lt;/td&gt;
&lt;td&gt;Low, Default, High, Smart&lt;/td&gt;
&lt;td&gt;Lite, Balanced (default), Max (public preview)&lt;/td&gt;
&lt;td&gt;Auto (default) picks Fast, Balanced or Deep&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pricing model&lt;/td&gt;
&lt;td&gt;Included in ChatGPT Plus, Pro, Business and Enterprise; GitHub reviews count as Code Review usage&lt;/td&gt;
&lt;td&gt;Usage-based&lt;/td&gt;
&lt;td&gt;AI credits per review&lt;/td&gt;
&lt;td&gt;Pro Team credit packs; Enterprise plans&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two vendor caveats support layering. Copilot won't spot every problem and its feedback should be supplemented with human review, as GitHub's Copilot docs note, and Codex review rules don't replace tests or required approvals, according to OpenAI's docs. For more on Copilot's reviewer, see this glossary entry on &lt;a href="https://www.qodo.ai/glossary/what-is-github-copilot-code-review/" rel="noopener noreferrer"&gt;GitHub Copilot code review&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  One Rulebook for a Team on Both Agents: AGENTS.md, BUGBOT.md and a Shared Review Layer
&lt;/h2&gt;

&lt;p&gt;The rule file one half of the team wrote for its reviewer is invisible to the other half's reviewer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where Each Reviewer Reads Its Rules
&lt;/h3&gt;

&lt;p&gt;Codex reads review rules from the &lt;code&gt;## Code Review Rules&lt;/code&gt; section of AGENTS.md. Bugbot reads BUGBOT.md and skips &lt;code&gt;.cursor/rules&lt;/code&gt; by default. Copilot reads copilot-instructions.md, &lt;code&gt;*.instructions.md&lt;/code&gt; and AGENTS.md. A team with both agents ends up with two or three rule files per repo, and the copies drift apart.&lt;/p&gt;

&lt;p&gt;Take one illustrative rule, "money values never use floats". The Codex half writes the rule into AGENTS.md, the Cursor half writes the rule into BUGBOT.md, and three months later only one copy covers the new refunds service. Both reviewers pass their own PRs, and the team's standard now depends on which agent opened the PR.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzdb7fh52f1j00ur81bc8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzdb7fh52f1j00ur81bc8.png" alt="Rule-file map: AGENTS.md feeds Codex and Copilot, BUGBOT.md feeds Bugbot, .cursor/rules feeds only Cursor's coding agent, and a shared review layer reads all of them, including .cursor/rules" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How Qodo Reads the Same Rule Files
&lt;/h3&gt;

&lt;p&gt;Qodo imports rules from repo files such as AGENTS.md, CLAUDE.md, copilot-instructions.md and the &lt;code&gt;.cursor/rules&lt;/code&gt; files that Bugbot skips by default.&lt;/p&gt;

&lt;p&gt;Since Qodo 3.2, teams choose which files and folders count as rule sources. Qodo's rules detection agent adds rules learned from review comments the team accepted and acted on, so the standards grow from your own decisions.&lt;/p&gt;

&lt;p&gt;Qodo's rules detection agent learns only from accepted comments that led to code changes, on GitHub, GitLab and Azure DevOps. Admins choose whether mined rules wait for approval. Enterprise teams get one rulebook scoped by folder and applied across Git organizations, instead of one file per agent per repo.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Practical Split for Mixed Teams
&lt;/h3&gt;

&lt;p&gt;One practical split keeps shared standards in AGENTS.md and Bugbot-only notes in BUGBOT.md. Codex and Copilot both read AGENTS.md, so the shared file covers two of the three reviewers. For the wider idea, see this glossary entry on &lt;a href="https://www.qodo.ai/glossary/what-is-agents-md-file/" rel="noopener noreferrer"&gt;AGENTS.md files&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Writing the rules well matters as much as where they live. A rule that names the safe path and the reason holds up across reviewers, and this guide to &lt;a href="https://www.qodo.ai/glossary/what-is-custom-rules-for-code-review/" rel="noopener noreferrer"&gt;custom review rules&lt;/a&gt; covers the patterns that work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Reviewer Should Sit Outside the Tool That Wrote the Code
&lt;/h2&gt;

&lt;p&gt;A reviewer bundled into the writing tool shares its context, and sometimes its blind spots. An outside reviewer reads every PR from the team the same way, whichever agent wrote it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Same Tool, Same Assumptions
&lt;/h3&gt;

&lt;p&gt;A second agent called "reviewer" can share the first agent's wrong assumption about the ticket. The system that generates code shouldn't decide whether the code ships, and you shouldn't review code with the same tool that wrote it. For the longer argument, see the case for an &lt;a href="https://www.qodo.ai/blog/why-your-ai-coding-agent-shouldnt-review-its-own-code-the-case-for-an-independent-verification-layer/" rel="noopener noreferrer"&gt;independent verification layer&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  For the Developers on Codex: Qodo's Agentic Toolbox Inside Codex
&lt;/h3&gt;

&lt;p&gt;Qodo's Agentic Toolbox runs the same review locally, through the CLI, as a plugin for Codex and Claude Code, as a Kiro Power, or through MCP. Qodo retired its IDE plugin on &lt;a href="https://docs.qodo.ai/qodo-ide-plugin-deprecation" rel="noopener noreferrer"&gt;Nov 1&lt;/a&gt;, so local review now runs through the Agentic Toolbox.&lt;/p&gt;

&lt;p&gt;Inside Codex, the Reviewer skill in Qodo's Agentic Toolbox reviews the agent's local changes with the same engine that will review the PR in your Git.&lt;/p&gt;

&lt;p&gt;Installing &lt;a href="https://docs.qodo.ai/agentic-toolbox/codex-plugin" rel="noopener noreferrer"&gt;Qodo's Codex plugin&lt;/a&gt; takes four steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open ChatGPT on Desktop and select Codex.&lt;/li&gt;
&lt;li&gt;Click Plugins in the left navigation bar.&lt;/li&gt;
&lt;li&gt;Type Qodo in the search field.&lt;/li&gt;
&lt;li&gt;Click + next to Qodo to install the plugin.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After installing, add Qodo's default instructions template to AGENTS.md, so Codex knows when to call the review. Developers who prefer the terminal can install the Agentic Toolbox with &lt;code&gt;curl -fsSL https://get.qodo.ai | sh&lt;/code&gt; (Node.js 20+) and run &lt;code&gt;qodo review&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Qodo's local review works on uncommitted and untracked changes, and only the base commit has to be on your Git provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  For the Developers on Cursor: Qodo in Your Git
&lt;/h3&gt;

&lt;p&gt;Whatever editor or agent wrote the change, Qodo reviews the pull request in GitHub, GitLab, Bitbucket, Azure DevOps or Gerrit. The Cursor half of the team needs nothing new in the editor, because the review runs where the PR lives.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Qodo's PR Review Reads
&lt;/h3&gt;

&lt;p&gt;Qodo's PR review reads cross-repo context, so a change in one repo that breaks a consumer in another repo gets flagged at PR review. PR history shows how the team handled similar findings before. Since Qodo 3.2, follow-up reviews focus on your latest fixes, and the first review of a PR is never narrowed.&lt;/p&gt;

&lt;p&gt;Context is where AI review still falls short for many teams. 38% of engineering leaders name keeping architecture consistent as one of their biggest quality and governance gaps, according to the same Qodo report. Qodo flags; your team decides what blocks the merge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmxyb2nbmui0h9rjpinz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmxyb2nbmui0h9rjpinz0.png" alt="Timeline: an agent writes code, Codex runs a local review, the PR opens, an independent PR review runs, and a person merges" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose Qodo When Your Team Runs Codex and Cursor Side by Side
&lt;/h2&gt;

&lt;p&gt;A team with two agents often has two rule files, and its PRs look fine inside each tool. Qodo gives every PR one standard and one reviewer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Signs Qodo Is the Right Pick
&lt;/h3&gt;

&lt;p&gt;Choose Qodo when your team runs Codex and Cursor side by side and wants one independent reviewer on every PR.&lt;/p&gt;

&lt;p&gt;Choose Qodo when you want your Codex developers' agents to check their changes with the same engine that will review the PR, before the PR exists.&lt;/p&gt;

&lt;p&gt;Choose Qodo when a change in one repo can break another and you want that break flagged at PR review.&lt;/p&gt;

&lt;p&gt;Choose Qodo when you want rules learned from your own team's accepted review comments, and fewer, higher-signal findings for everyone on the team.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Each Kind of Team Gets
&lt;/h3&gt;

&lt;p&gt;Both kinds of team get agent code merged sooner, with fewer rollbacks. High-velocity teams keep the rule files they already have, AGENTS.md for Codex and &lt;code&gt;.cursor/rules&lt;/code&gt; for Cursor, and Qodo checks them on every PR, with setup measured in minutes and no new process.&lt;/p&gt;

&lt;p&gt;Enterprise teams get one rulebook across many repos and both agents, reviews on GitHub, GitLab, Bitbucket, Azure DevOps and Gerrit, single-tenant, on-prem and air-gapped options, and every finding logged and exportable. For more options, see these &lt;a href="https://hub.qodo.ai/post/best-agentic-code-review-tools-enterprise-teams/" rel="noopener noreferrer"&gt;enterprise code review tools&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Qodo fits teams that need one independent review layer across Codex, Cursor and the five Git providers Qodo supports, because Qodo reviews the code both agents write against one rulebook, before the PR and on the PR. For the GitHub and GitLab view, see this list of &lt;a href="https://hub.qodo.ai/post/best-agentic-ai-code-reviewer-github-gitlab/" rel="noopener noreferrer"&gt;agentic AI code reviewers&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Your Team Can Test AI Code Reviewers on Its Own PRs
&lt;/h2&gt;

&lt;p&gt;A team should count fixed findings, not comments. A reviewer that leaves 40 comments and gets two fixed costs more attention than a reviewer that leaves five and gets four fixed.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Five-Step Test
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Pick 10 to 20 recent merged PRs from both Codex and Cursor developers, each with a known follow-up fix.&lt;/li&gt;
&lt;li&gt;Run each reviewer on the same PRs at a comparable effort level.&lt;/li&gt;
&lt;li&gt;Record findings a person would act on, findings the team would dismiss, and misses.&lt;/li&gt;
&lt;li&gt;Compare noise per PR across the reviewers.&lt;/li&gt;
&lt;li&gt;Check where each reviewer reads its rules, and whether one rule change reaches all of them.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Keep the Test Fair
&lt;/h3&gt;

&lt;p&gt;Qodo's fix loop optimization narrows follow-up reviews to your latest fixes. If you benchmark for maximum recall, Qodo's docs suggest switching the optimization off. Benchmarks are easy to misread, and this breakdown of &lt;a href="https://dev.to/dev_barron/best-ai-code-review-tools-by-false-positive-rate-what-the-benchmarks-actually-show-2e8l"&gt;AI review benchmarks&lt;/a&gt; shows what false-positive numbers do and don't mean.&lt;/p&gt;

&lt;p&gt;Edge cases deserve their own column in the test.&lt;/p&gt;

&lt;p&gt;36.4% of developers say reviewing AI-generated code now takes more cognitive effort to spot hidden AI bugs, according to the same Qodo survey, so seed a few PRs where the follow-up fix was an edge case. For how a review loop should end, see my notes on an &lt;a href="https://dev.to/uss/how-to-make-an-agentic-loop-converge-in-ai-code-review-4i1c"&gt;agentic review loop&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Codex reviews locally with &lt;code&gt;/review&lt;/code&gt; and on GitHub with &lt;code&gt;@codex review&lt;/code&gt;, reading rules from AGENTS.md. Cursor splits review into Agent Review before push and Bugbot on the PR, reading rules from BUGBOT.md.&lt;/p&gt;

&lt;p&gt;Copilot reviews in GitHub and the editor. Rule files don't carry across a mixed-agent team, so an outside reviewer gives every PR from the team the same standards. One reviewer and one rulebook on every PR means agent code from both halves of the team merges sooner, with fewer rollbacks.&lt;/p&gt;

&lt;p&gt;For the basics behind all four tools, start with &lt;a href="https://dev.to/dev_barron/what-is-code-review-types-how-it-changed-and-ai-review-eck"&gt;what code review is&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For a wider shortlist beyond Codex and Cursor, see these &lt;a href="https://dev.to/dev_barron/code-review-tools-6-worth-shortlisting-for-enterprise-teams-3d80"&gt;code review tools&lt;/a&gt; for enterprise teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What does Codex &lt;code&gt;/review&lt;/code&gt; check?
&lt;/h3&gt;

&lt;p&gt;In the CLI, Codex's &lt;code&gt;/review&lt;/code&gt; checks the changes in your Git checkout against a base branch, your uncommitted changes, a single commit, or custom instructions. Codex reports prioritized findings without changing your working tree.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Cursor Bugbot free?
&lt;/h3&gt;

&lt;p&gt;Bugbot bills by usage, under Cursor's May 2026 pricing update. Individual accounts draw first on included usage, then on prepaid credit, while teams bill from prepaid credit, and Cursor's pricing page lists current rates.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's the difference between Bugbot and Agent Review?
&lt;/h3&gt;

&lt;p&gt;Agent Review is a local review inside Cursor, at Quick or Deep depth. Bugbot reviews pull requests on every update and posts a CI status, and &lt;code&gt;/review-bugbot&lt;/code&gt; runs the same Bugbot review from the agent before you push.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can Codex review GitLab merge requests?
&lt;/h3&gt;

&lt;p&gt;GitLab merge request support in Codex code review is in preview. GitHub pull request review is generally available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does Qodo work with Cursor?
&lt;/h3&gt;

&lt;p&gt;Qodo reviews the pull request in GitHub, GitLab, Bitbucket, Azure DevOps or Gerrit, whatever editor or agent wrote the change. The Cursor half of a team gets Qodo's review on every PR with nothing new to install in the editor.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can one team use Codex and Cursor with the same review rules?
&lt;/h3&gt;

&lt;p&gt;Keep shared standards in AGENTS.md, which Codex and Copilot both read, and Bugbot-only notes in BUGBOT.md. Then add one outside reviewer on the PR that imports the repo's rule files, so every PR meets the same standard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Qodo a test generation tool?
&lt;/h3&gt;

&lt;p&gt;Qodo no longer offers test generation; it focuses on AI code review and code governance. In my experience, that makes it a strong fit for teams running Codex and Cursor side by side who want one independent reviewer on every pull request.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>codex</category>
      <category>cursor</category>
    </item>
    <item>
      <title>How AI Code Review Speeds Up Developer Onboarding and Learning</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 28 Oct 2026 22:01:45 +0000</pubDate>
      <link>https://dev.to/uss/how-ai-code-review-speeds-up-developer-onboarding-and-learning-o86</link>
      <guid>https://dev.to/uss/how-ai-code-review-speeds-up-developer-onboarding-and-learning-o86</guid>
      <description>&lt;p&gt;New hires learn most of a codebase from PR comments, and the seniors writing them are often a time zone away and repeat conventions nobody wrote down. I've sat on both sides of that review. AI code review that knows your rules shortens onboarding, as long as juniors keep thinking for themselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Most onboarding happens in PR comments.&lt;/strong&gt; New hires learn conventions from PR comments, and most early-career engineers in a 2026 survey already use LLMs daily (&lt;a href="https://arxiv.org/abs/2609.27973" rel="noopener noreferrer"&gt;arXiv 2609.27973&lt;/a&gt;, August 2026), so the question is whether their AI knows your codebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Diff-only review teaches the wrong lesson.&lt;/strong&gt; A new developer's real gap is project context, and a reviewer that only sees changed lines can't fill it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unwritten conventions need a source.&lt;/strong&gt; A reviewer that learns rules from your existing code and PR history can explain the conventions nobody documented.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; is my pick because it explains each finding against your own codebase and rules.&lt;/strong&gt; New developers learn your conventions on their first PRs and can ask Qodo why. Pick it when new hires join a codebase full of conventions nobody wrote down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Juniors still have to think.&lt;/strong&gt; AI review helps learning when juniors verify and ask for explanations, and hurts it when they click accept.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Code Review Is Where Developer Onboarding Really Happens
&lt;/h2&gt;

&lt;p&gt;Most onboarding docs cover the setup steps. They tell you how to clone the repo, run the tests and get access to staging. They rarely tell you why the payments service retries the way it does, or which helper the team uses instead of the obvious library.&lt;/p&gt;

&lt;p&gt;New developers learn that from PR comments. A senior writes "we don't call the database from handlers here, use the repository layer," and the newcomer learns a rule that lives in no document. Multiply that by every PR in the first month and you've described most of the actual onboarding.&lt;/p&gt;

&lt;p&gt;Seniors carry the mentoring load on top of their own work. Every hour a senior spends explaining naming rules is an hour they don't spend on design.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Case study:&lt;/strong&gt; LoopUp's senior engineers spent a large share of their time on PR review and mentoring before they added AI review (&lt;a href="https://www.qodo.ai/blog/how-loopup-automated-90-of-code-review-with-qodo/" rel="noopener noreferrer"&gt;Qodo case study&lt;/a&gt;, April 2026).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Distributed teams feel slow review more, because a reviewer six hours away turns every round of comments into a day and a first PR into a week-long wait. Qodo's roundup of the &lt;a href="https://hub.qodo.ai/post/best-code-review-tools-distributed-teams/" rel="noopener noreferrer"&gt;best code review tools for distributed teams&lt;/a&gt; covers tools built for that gap.&lt;/p&gt;

&lt;p&gt;New developers already learn with AI tools, and most early-career software engineers in a small survey use LLMs daily (arXiv 2609.27973, August 2026). Many developers picked up a new skill or language this year, and many of those learners used AI tools to do it (Stack Overflow Developer Survey, October 2026).&lt;/p&gt;

&lt;p&gt;For onboarding, what matters is whether the AI a new developer uses knows anything about your codebase, and that comes down to context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Full Codebase Context vs Diff-Only Review: Why It Decides What a New Developer Learns
&lt;/h2&gt;

&lt;p&gt;A diff shows the line that changed. The convention that line breaks usually lives somewhere else: in a shared helper, in a sibling service, or in a pattern the team settled on two years ago.&lt;/p&gt;

&lt;p&gt;A diff-only reviewer can tell a new developer that a function is long or that a variable name is unclear. The same reviewer can't tell them that the team already has a retry helper in the platform package, because the helper isn't in the diff.&lt;/p&gt;

&lt;p&gt;The glossary page on &lt;a href="https://www.qodo.ai/glossary/what-is-full-codebase-context-vs-diff-only-review/" rel="noopener noreferrer"&gt;full codebase context&lt;/a&gt; walks through the difference in more detail.&lt;/p&gt;

&lt;h3&gt;
  
  
  What a New Developer Learns From Each Reviewer
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What the new developer needs&lt;/th&gt;
&lt;th&gt;Diff-only reviewer&lt;/th&gt;
&lt;th&gt;Reviewer with full codebase context&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Is this line correct?&lt;/td&gt;
&lt;td&gt;Yes, within the diff&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Does a helper for this already exist?&lt;/td&gt;
&lt;td&gt;Can't see other files&lt;/td&gt;
&lt;td&gt;Points to the existing helper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Does this match how the team does it?&lt;/td&gt;
&lt;td&gt;Generic best practice&lt;/td&gt;
&lt;td&gt;The team's own rules and past PRs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What else does this change touch?&lt;/td&gt;
&lt;td&gt;Can't see callers&lt;/td&gt;
&lt;td&gt;Related files and services&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Why does the convention exist?&lt;/td&gt;
&lt;td&gt;No source to explain from&lt;/td&gt;
&lt;td&gt;Links the finding to the rule or code it came from&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The gap matters more in a large &lt;a href="https://www.qodo.ai/glossary/what-is-monolithic-architecture/" rel="noopener noreferrer"&gt;monolithic architecture&lt;/a&gt;, where one module quietly depends on five others. A new developer can't see those links yet, and a reviewer that can't see them either just confirms the newcomer's blind spot.&lt;/p&gt;

&lt;p&gt;For a new hire, almost every line is code they didn't write, which makes understanding it the whole job in week one. A &lt;a href="https://hub.qodo.ai/post/what-is-a-context-engine/" rel="noopener noreferrer"&gt;context engine&lt;/a&gt; closes that gap by indexing the whole codebase, so the reviewer sees the links the newcomer can't.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcz6wyj9hxud44kyqc5fm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcz6wyj9hxud44kyqc5fm.png" alt="Diagram: two retro pixel panels, the left showing a diff with one highlighted line, the right showing the same line connected to two related files and a team rule card" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Teams that build their own reviewers run into the same wall. Cloudflare's in-house reviewers see the diff and surrounding code but "regularly struggle with" architectural awareness and cross-system impact (Cloudflare blog, April 2026).&lt;/p&gt;

&lt;h2&gt;
  
  
  Codebase Onboarding: Learning Conventions Nobody Wrote Down
&lt;/h2&gt;

&lt;p&gt;Every team has conventions that live only in senior engineers' heads, and the hard question for any reviewer is how it learns those implicit patterns and which existing code counts as the right example.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where the Rules Come From
&lt;/h3&gt;

&lt;p&gt;Qodo builds its Review Standards from your codebase, your pull request history and your requirements, and once rules are turned on, every review agent applies them first. Rules come into Qodo three ways.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Manual rules.&lt;/strong&gt; A lead describes a rule in plain language in the portal, and Qodo turns it into a rule.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File-based rules.&lt;/strong&gt; Qodo imports rules from AGENTS.md, CLAUDE.md and other supported files, automatically on push.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rule Miner.&lt;/strong&gt; Qodo finds recurring review patterns in your PR history and turns them into rules. Rule Miner works on GitHub, GitLab and Azure DevOps, in multi-tenant and single-tenant deployments.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Depending on configuration, mined rules either go live or wait in a Pending tab for a lead to approve, and mined rules go live by default for organizations that started using Qodo since September 1, 2026.&lt;/p&gt;

&lt;p&gt;Here's the kind of rule I mean. Say the team logs everything through a shared logger with request IDs, and nobody ever wrote that down. A new developer adds a &lt;code&gt;print&lt;/code&gt; statement for debugging and forgets to remove it.&lt;/p&gt;

&lt;p&gt;With the rule in place, Qodo's finding tells the new developer that the team uses &lt;a href="https://www.qodo.ai/glossary/what-is-structured-logging/" rel="noopener noreferrer"&gt;structured logging&lt;/a&gt; through the shared logger, why request IDs matter for tracing, and which call to use instead. The senior doesn't have to type that comment for the fifth time this quarter.&lt;/p&gt;

&lt;p&gt;Team insight findings come from a team profile that reviews the pull request the way the most relevant teammates would. For a new developer, team insight findings are the closest thing to having the right senior read the PR before the senior actually does.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Qodo Speeds Up Ramp-Up Time on Every PR
&lt;/h2&gt;

&lt;p&gt;Ramp-up time is mostly the time a new developer spends finding context. Qodo shortens that search at a few points in the PR loop, and each point lines up with a question new developers ask.&lt;/p&gt;

&lt;p&gt;Qodo isn't focused on test generation, even though some authors still point to it as a key strength. In my experience, Qodo is best at AI code review and code governance for teams that want every new developer's PR reviewed against the conventions nobody wrote down.&lt;/p&gt;

&lt;p&gt;PR summaries come first. The &lt;code&gt;/agentic_describe&lt;/code&gt; command generates a structured summary of a pull request, so a new developer reviewing a teammate's PR can read what changed before reading the code.&lt;/p&gt;

&lt;p&gt;Findings come next. Every finding states what needs attention, why it matters and how to fix it, ranked by severity. The "why it matters" part is the onboarding part, because it turns a correction into a lesson.&lt;/p&gt;

&lt;p&gt;New developers often don't ask questions because they don't want to bother anyone. Qodo's PR chat lets them ask Qodo to explain a finding or answer a question about the PR, right in the PR thread, without waiting for a senior.&lt;/p&gt;

&lt;p&gt;For bigger questions, Codebase Wisdom in the Agentic Toolbox answers questions grounded in your organization's code, repository relationships and PR history. Onboarding to a new codebase is a listed use case, with example questions like "Explain the payments architecture" and "Where should I start if I'm working on authentication?"&lt;/p&gt;

&lt;p&gt;Codebase Wisdom runs through the CLI, MCP, and plugins for Claude Code, Codex and Kiro Power. Qodo's glossary page on &lt;a href="https://www.qodo.ai/glossary/what-is-claude-code-plugins/" rel="noopener noreferrer"&gt;Claude Code plugins&lt;/a&gt; covers how an agent loads tools like Codebase Wisdom. New developers can use the one that matches their editor and agent.&lt;/p&gt;

&lt;p&gt;Qodo's IDE plugin for VS Code, JetBrains IDEs and Visual Studio &lt;a href="https://docs.qodo.ai/qodo-ide-plugin-deprecation" rel="noopener noreferrer"&gt;was retired on November 1, 2026&lt;/a&gt;, so new developers bring Qodo into their editor through the Agentic Toolbox instead. Qodo's pull request review isn't affected.&lt;/p&gt;

&lt;p&gt;The Software Map gives a live view of the system across repositories, with dependencies, service relationships and contracts mapped automatically. For a new hire, a map like that beats a wiki diagram that someone drew last year.&lt;/p&gt;

&lt;p&gt;Leads see patterns, not people's mistakes. Qodo's analytics break findings down by repository, PR author, severity, category and finding type, and rule analytics show which rules fire most often.&lt;/p&gt;

&lt;p&gt;A lead can spot the finding types that come up most in each new hire's PRs, then pair the new hire with the right senior for an hour instead of repeating the same comment across ten PRs.&lt;/p&gt;

&lt;p&gt;Qodo is advisory throughout. Qodo comments on the PR, and the new developer and their human reviewer decide what to change and when to merge.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hands-On: A New Developer's First Week With Qodo
&lt;/h3&gt;

&lt;p&gt;Here's the first week I'd hand a new hire, built from Qodo's setup guides. Your team's version will differ, but the order holds up.&lt;/p&gt;

&lt;h4&gt;
  
  
  Day One: Install the Toolbox
&lt;/h4&gt;

&lt;p&gt;The Agentic Toolbox needs Node.js 20 or later. On macOS or Linux, install it and list the tools you have access to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://get.qodo.ai | sh
qodo tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On-prem teams get their own install command from the Home page in the Qodo portal. Once the tools are installed, the coding agent can call them as part of its workflow, and the new developer just asks questions in plain language.&lt;/p&gt;

&lt;h4&gt;
  
  
  Days Two and Three: Ask Before Touching Code
&lt;/h4&gt;

&lt;p&gt;Before the first ticket, the new developer asks the agent how the module they'll work on fits into the system. Good first questions are "How are these repositories connected?" and "Which services depend on the billing API?" The answers come from your code and PR history, so the newcomer reads real examples, not generic tutorials.&lt;/p&gt;

&lt;h4&gt;
  
  
  Days Four and Five: The First PR
&lt;/h4&gt;

&lt;p&gt;The first PR goes up, and Qodo reviews it. The new developer reads each finding, asks Qodo to explain anything unclear, and fixes what makes sense. The senior reviews after that, and spends their comments on the design question, not the logging rule.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbynr24993j1fnzh5vpzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbynr24993j1fnzh5vpzz.png" alt="Diagram: a retro pixel loop of four steps for a new developer's first week, ask the codebase, open the first PR, read and question each finding, then a senior reviews the design" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Weeks Two to Four: From Findings to Habits
&lt;/h4&gt;

&lt;p&gt;Over the next few weeks, the same findings should come up less often for the same person. If they keep coming up, that's a coaching conversation for the lead, and the analytics show which finding types to talk about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping Onboarding Docs Honest
&lt;/h2&gt;

&lt;p&gt;Stale docs mislead new hires and AI agents in the same way. Both read the README and AGENTS.md first, and both trust what they find there.&lt;/p&gt;

&lt;p&gt;Cloudflare's &lt;a href="https://blog.cloudflare.com/ai-code-review/" rel="noopener noreferrer"&gt;in-house review system&lt;/a&gt; includes a reviewer that checks whether a repo's AGENTS.md is still up to date, because those files go stale quickly (Cloudflare blog, April 2026). In Cloudflare's example, a team migrates from Jest to Vitest, forgets to update the instructions, and the AI keeps trying to write Jest tests.&lt;/p&gt;

&lt;p&gt;Qodo keeps review in step with the docs. Rules import from AGENTS.md and CLAUDE.md on every push, so when the team fixes the instruction file, review picks up the change. A new hire then gets findings that match the docs they just read.&lt;/p&gt;

&lt;p&gt;Qodo deactivates rules whose findings are rarely fixed, unless a lead locks them. A rule nobody follows any more stops generating comments, which keeps new hires from learning conventions the team already dropped.&lt;/p&gt;

&lt;p&gt;One habit helps on the human side. When a PR changes how the team does something, such as a new test framework or a new logger, the PR template can ask whether AGENTS.md or the README needs an update too. The next new hire then reads the current way, and so does every agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Juniors Keep Learning When AI Reviews Their Code
&lt;/h2&gt;

&lt;p&gt;AI review can make learning worse. A junior who accepts every finding without reading it learns to click, not to code.&lt;/p&gt;

&lt;p&gt;Junior developers who verify output before accepting it and ask the tool for explanations keep their AI use sustainable. Juniors who skip those steps end up with shallow learning, in a small interview study (arXiv 2607.24606, July 2026). The study is qualitative, but the pattern matches what I've seen on teams.&lt;/p&gt;

&lt;p&gt;Make every Qodo finding something the junior can explain, and treat asking Qodo why as part of the work.&lt;/p&gt;

&lt;p&gt;Leads can check this in one-on-ones. Ask the new hire to explain one finding they accepted that week and why the convention exists. If they can't, they accepted it without learning, and the next PR is a good place to slow down.&lt;/p&gt;

&lt;p&gt;Human reviewers drift as well. Repeat reviewers approved agent-authored PRs more often over several months, which suggests scrutiny can slip as people get used to the tool (arXiv 2606.22721, June 2026). Seniors reviewing juniors' AI-assisted PRs should keep asking the design questions.&lt;/p&gt;

&lt;p&gt;A junior's assistant-written PR still needs an independent reviewer. You shouldn't review code with the same tool that wrote it, because the reviewer inherits the writer's blind spots.&lt;/p&gt;

&lt;p&gt;Review built into an editor needs the same independent pass before merge. Qodo's glossary on &lt;a href="https://www.qodo.ai/glossary/what-is-windsurf-code-review/" rel="noopener noreferrer"&gt;Windsurf code review&lt;/a&gt; covers that setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Seniors Get Back
&lt;/h2&gt;

&lt;p&gt;The split I'd aim for is easy to describe. AI review takes naming, missing tests and known rule breaks, the comments seniors repeat most. Seniors keep design, architecture and the "should we build this at all" questions.&lt;/p&gt;

&lt;p&gt;DORA's March 2026 guidance on AI-assisted development points the same way, advising teams to give AI feedback to the author while they write the code (DORA Insights, March 2026). For a new hire, the findings then arrive while the code is still fresh in their head, and the senior opens a cleaner PR.&lt;/p&gt;

&lt;p&gt;Seniors get their best hours back, and new developers get two kinds of feedback: fast, specific findings on every PR, and slower, deeper conversations with a person. Qodo's guide to &lt;a href="https://www.qodo.ai/blog/code-review-best-practices/" rel="noopener noreferrer"&gt;code review best practices&lt;/a&gt; covers how to keep the human half of that split healthy.&lt;/p&gt;

&lt;p&gt;If you're rolling this out, start with one team that has a new hire starting soon. Import your AGENTS.md, let Rule Miner suggest rules where your platform supports it, and ask the seniors which comments they're tired of writing.&lt;/p&gt;

&lt;p&gt;The Academy lesson on &lt;a href="https://www.qodo.ai/academy/rolling-out-ai-code-review-enterprise/" rel="noopener noreferrer"&gt;AI code review rollout&lt;/a&gt; covers the steps after the pilot.&lt;/p&gt;

&lt;p&gt;Then watch the new hire's PRs. If the senior's comments shift from conventions to design, the setup is working.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can AI code review help new developers learn team conventions sooner?
&lt;/h3&gt;

&lt;p&gt;AI code review helps new developers learn conventions sooner when the reviewer knows them. A generic reviewer can only flag generic issues. Qodo applies rules imported from AGENTS.md and mined from PR history on GitHub, GitLab and Azure DevOps, and every finding explains why it matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does an AI reviewer pick up conventions nobody wrote down?
&lt;/h3&gt;

&lt;p&gt;An AI reviewer picks up unwritten conventions from your existing code and PR history. Qodo uses three routes: manual rules a lead writes, rules imported from files like AGENTS.md, and Rule Miner, which mines PR history on GitHub, GitLab and Azure DevOps. The &lt;a href="https://www.qodo.ai/glossary/what-is-developer-onboarding-through-code-review/" rel="noopener noreferrer"&gt;developer onboarding&lt;/a&gt; glossary page covers the idea in more depth.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will juniors lean on AI review instead of learning?
&lt;/h3&gt;

&lt;p&gt;Juniors lean on AI review instead of learning when nobody asks them to explain their changes. A July 2026 interview study found juniors who verify before accepting and ask for explanations keep learning (arXiv 2607.24606). Qodo's PR chat makes "explain why" one question away, so make it part of every first-month PR.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can an AI reviewer explain an unfamiliar part of the codebase?
&lt;/h3&gt;

&lt;p&gt;An AI reviewer can explain an unfamiliar part of the codebase when it answers from your own code. Qodo does that through PR chat on a specific finding and through Codebase Wisdom for broader questions, so the answers point to real files rather than general advice.&lt;/p&gt;

&lt;h3&gt;
  
  
  How should seniors' mentoring time change?
&lt;/h3&gt;

&lt;p&gt;Seniors should spend less time on repeated convention comments and more on design. A good sign is a senior commenting on approach, not formatting. Qodo's analytics show which finding types come up most in new hires' PRs, so seniors can coach the pattern once instead of commenting ten times.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Bitbucket AI Code Review: 3 Things I Didn't Expect</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 28 Oct 2026 22:01:32 +0000</pubDate>
      <link>https://dev.to/uss/bitbucket-ai-code-review-3-things-i-didnt-expect-34im</link>
      <guid>https://dev.to/uss/bitbucket-ai-code-review-3-things-i-didnt-expect-34im</guid>
      <description>&lt;p&gt;I expected Bitbucket AI code review to copy the GitHub story, and I hit three surprises instead. The first covers Bitbucket Data Center, the second Bitbucket Cloud, and the third both. I checked every claim below against vendor docs in October 2026, because the listicles I started with didn't agree with each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vendor listicles disagree on Data Center support.&lt;/strong&gt; Two 2026 listicles gave opposite answers for the same tool, so the vendor's own support table is the only source I trust.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Atlassian's reviewer bills the PR author.&lt;/strong&gt; Rovo Dev code review draws credits from the author's allocation, and Free plans cover about 2 to 8 reviews per user before reviews stop (Atlassian, October 2026).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bitbucket Data Center isn't going away in 2029.&lt;/strong&gt; Atlassian exempted Bitbucket from the March 28, 2029 Data Center end of life, so DC support is a long-term need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; is my pick because it reviews PRs on Bitbucket Cloud and Data Center, air-gapped included.&lt;/strong&gt; Qodo connects through one wizard, uses your own model endpoint and reviews code from any agent. Pick it when your team runs Data Center, or Cloud and Data Center side by side.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Bitbucket AI Code Review Tools I Compared
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
Qodo: best for teams on Bitbucket Cloud, Data Center or both&lt;/li&gt;
&lt;li&gt;
Rovo Dev code review: best for Atlassian Cloud teams that want review inside Rovo and keep PRs small&lt;/li&gt;
&lt;li&gt;
CodeRabbit: best for teams that want a hosted reviewer on Cloud or Data Center&lt;/li&gt;
&lt;li&gt;
A browser extension on a local model: best for individual reviewers on Data Center&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Bitbucket Cloud&lt;/th&gt;
&lt;th&gt;Bitbucket Data Center&lt;/th&gt;
&lt;th&gt;Who pays per review&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qodo&lt;/td&gt;
&lt;td&gt;Teams on Cloud, Data Center or both&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes, including on-prem and air-gapped&lt;/td&gt;
&lt;td&gt;Workspace credits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rovo Dev code review&lt;/td&gt;
&lt;td&gt;Atlassian Cloud teams that want review inside Rovo&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;The PR author's Rovo Dev credits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CodeRabbit&lt;/td&gt;
&lt;td&gt;A hosted reviewer on Cloud or Data Center&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes, through a bot user&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser extension (ThinkReview)&lt;/td&gt;
&lt;td&gt;Individual reviewers on Data Center&lt;/td&gt;
&lt;td&gt;Yes, with an API token&lt;/td&gt;
&lt;td&gt;Yes, with an HTTP access token&lt;/td&gt;
&lt;td&gt;The extension's review credits, or a local model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Surprise 1: The Lists Disagree on Who Supports Data Center
&lt;/h2&gt;

&lt;p&gt;My first search for Data Center support turned up two 2026 listicles from code review vendors. One said a tool supported Data Center, and the other said the same tool didn't. One of them still used Qodo's old name, so its research predated the rebrand.&lt;/p&gt;

&lt;p&gt;I went to the docs instead. Qodo's deployment table lists Bitbucket Data Center under multi-tenant, single-tenant, on-premises and air-gapped. Bitbucket Cloud runs multi-tenant and single-tenant, the two models a cloud product needs.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://www.qodo.ai/glossary/what-is-bitbucket-code-review/" rel="noopener noreferrer"&gt;Bitbucket code review&lt;/a&gt; tool either documents Data Center support on its own site or I treat it as unsupported until a vendor engineer shows me. Listicles are where I start, not where I decide.&lt;/p&gt;

&lt;p&gt;When the docs are vague, I'd ask the vendor three questions. Which Data Center versions do you test against? Does the reviewer run inside my network or call in from yours? Who creates the bot user? A vendor that answers all three in writing usually supports Data Center properly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsrqfzwfu4rmbjdjfifbb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsrqfzwfu4rmbjdjfifbb.png" alt="Diagram: two retro pixel columns labeled Bitbucket Cloud and Bitbucket Data Center, with four deployment mode chips; Cloud lights two chips and Data Center lights all four" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Surprise 2: Rovo Dev Code Review Runs on the Author's Credits
&lt;/h2&gt;

&lt;p&gt;Rovo Dev is Atlassian's AI agent, and code review is one of its jobs. I assumed a workspace would pay for reviews like build minutes. Credits come out of the PR author's allocation instead (Atlassian Rovo Dev activation page, October 2026), and that billing model changed five things I hadn't planned for.&lt;/p&gt;

&lt;h3&gt;
  
  
  What the Credit Model Means Day to Day
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Reviews stop when the author runs out.&lt;/strong&gt; Atlassian says reviews don't run if the author has no credits left, and only the author can trigger one manually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free plans cover a handful of reviews.&lt;/strong&gt; The rollout page lists 350 Rovo Dev credits per user on Free, which Atlassian describes as "about 2 to 8 code reviews per user".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard adds more credits.&lt;/strong&gt; Each Standard user gets 2,000 credits per month.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every commit can cost credits.&lt;/strong&gt; Atlassian suggests running reviews only when a PR is created, or on request, to cut credit usage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Big PRs may get nothing.&lt;/strong&gt; PRs with more than 10,000 changed lines, or repos over 20 GB, may get no comments.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcp5irkqpymnk8xrdltb8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcp5irkqpymnk8xrdltb8.png" alt="Diagram: a retro pixel coin meter above a pull request author, draining one coin per review, with a closed sign on the review desk once the meter reaches zero" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Atlassian's rollout page covers compliance too. Rovo Dev hasn't been externally audited for ISO 27001 and SOC 2 compliance yet, isn't HIPAA compliant and doesn't support data residency (Atlassian, October 2026). Regulated teams should read that page before a pilot.&lt;/p&gt;

&lt;p&gt;There's one more catch for me. Rovo Dev also writes code, and you shouldn't review code with the same tool that wrote it, because the reviewer inherits the writer's blind spots. In one study, models caught fewer injected errors when the review ran in the session that wrote the work (&lt;a href="https://arxiv.org/abs/2603.12123" rel="noopener noreferrer"&gt;arXiv 2603.12123&lt;/a&gt;, March 2026).&lt;/p&gt;

&lt;h2&gt;
  
  
  Surprise 3: Bitbucket Data Center Isn't Going Away
&lt;/h2&gt;

&lt;p&gt;I expected Data Center to vanish with the rest of Atlassian's Data Center line. Impacted products reach end of life on March 28, 2029, but Bitbucket and Bamboo Data Center will not (Atlassian Data Center end-of-life notice).&lt;/p&gt;

&lt;p&gt;Existing Data Center customers get a Hybrid License covering Data Center and Cloud from early 2027. Atlassian names compliance, data sovereignty and air-gapped requirements as reasons customers stay on Data Center. Security researchers describe the same limit for AI review, where source code can't be sent to an externally hosted model (&lt;a href="https://arxiv.org/abs/2610.27383" rel="noopener noreferrer"&gt;arXiv 2610.27383&lt;/a&gt;, October 2026).&lt;/p&gt;

&lt;p&gt;Atlassian also keeps building for agents on Data Center. Bitbucket Data Center 10.5.0, released on September 29, 2026, added a bundled server for the &lt;a href="https://modelcontextprotocol.io/specification/2026-07-28" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt;, and admins limit the tools it exposes with a whitelist file. A reviewer that only supports Cloud leaves those teams out for years.&lt;/p&gt;

&lt;p&gt;Data Center's long future changed the buying question for me. I'd planned to pick a Cloud-first reviewer and live with gaps until a migration. Now I'd pick a reviewer that treats Data Center as a first-class platform, because the hybrid license means some teams will run both for a long time.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Code Review on Bitbucket Data Center
&lt;/h2&gt;

&lt;p&gt;Data Center is where the reviewer choice gets hard, because the server sits inside your network. A hosted reviewer needs a way in for webhooks and a way out for comments. An on-prem reviewer runs next to Bitbucket and never leaves the building.&lt;/p&gt;

&lt;p&gt;Qodo handles both cases. The same Data Center wizard works for multi-tenant, single-tenant and on-premises deployments, and air-gapped installs forward model calls to your own OpenAI-compatible endpoint, so code never leaves the network. The &lt;a href="https://www.qodo.ai/glossary/what-is-air-gapped-code-review/" rel="noopener noreferrer"&gt;air-gapped code review&lt;/a&gt; setup is the one regulated Bitbucket shops tend to ask about.&lt;/p&gt;

&lt;p&gt;Regulated teams usually shortlist from &lt;a href="https://hub.qodo.ai/post/best-secure-code-review-tools-2026/" rel="noopener noreferrer"&gt;secure code review tools&lt;/a&gt; first, and Data Center support is the filter that shortens that list most.&lt;/p&gt;

&lt;p&gt;For the air-gapped route, the platform team installs Qodo on Kubernetes with a mirrored image bundle and points the bundled gateway at an internal model endpoint. Once that endpoint is configured, Qodo needs no outbound access to a public model API, and the Bitbucket connection itself runs through the same wizard below.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hands-On: Connecting Qodo to Bitbucket Data Center
&lt;/h3&gt;

&lt;p&gt;The wizard starts in the Qodo portal. In the Data Center docs I read, the flow looks short. You pick Bitbucket, then the self-hosted option, and Qodo asks how you want the bot account created. Configuration typically takes around five minutes, and on Data Center the new wizard brings Review Standards and findings with it.&lt;/p&gt;

&lt;h4&gt;
  
  
  Automatic Setup
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enter the server URL and an admin login.&lt;/strong&gt; Qodo uses the administrator credentials once to create a dedicated account, scope it to the projects you pick and configure webhooks, and discards them afterward.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose repositories.&lt;/strong&gt; Picking a project includes every repository in it, including ones added later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finish.&lt;/strong&gt; Qodo creates the &lt;code&gt;qodo-bot&lt;/code&gt; account, registers the webhooks and warns you before its token expires.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Manual Setup
&lt;/h4&gt;

&lt;p&gt;If my security team didn't want to hand admin credentials to any vendor, manual setup, which arrived in Qodo 3.0 on October 1, 2026, is the route I'd pick.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ask an admin for a dedicated user.&lt;/strong&gt; The username must contain &lt;code&gt;qodo&lt;/code&gt;, such as &lt;code&gt;svc-qodo&lt;/code&gt;, and the user needs write access to the projects Qodo should review.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enter that user's credentials and test the connection.&lt;/strong&gt; Qodo checks that the username contains &lt;code&gt;qodo&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create the webhook yourself.&lt;/strong&gt; In manual mode, you create the webhook for the chosen repositories in Bitbucket.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Works Differently on Bitbucket
&lt;/h2&gt;

&lt;p&gt;Qodo on Bitbucket runs the same review loop as on GitHub, with a few Bitbucket-specific touches worth knowing before the first PR. Reviews run on every push, and Qodo updates its findings as you commit fixes.&lt;/p&gt;

&lt;p&gt;Findings arrive in full as standard markdown, since Bitbucket has no collapsible sections, and older resolved findings move to the Qodo portal to keep long PRs readable.&lt;/p&gt;

&lt;p&gt;Two settings exist only on Bitbucket and Gerrit. One shows section titles inside each finding, and the other links each finding in the summary to its inline comment, which helps on long PRs.&lt;/p&gt;

&lt;p&gt;Jira works as ticket context, so Qodo can check a PR against the linked issue's &lt;a href="https://www.qodo.ai/glossary/what-is-acceptance-criteria/" rel="noopener noreferrer"&gt;acceptance criteria&lt;/a&gt;. Atlassian shops get review tied to the ticket, and the review commands, &lt;code&gt;/agentic_review&lt;/code&gt;, &lt;code&gt;/agentic_describe&lt;/code&gt; and &lt;code&gt;/ask&lt;/code&gt;, all work on Bitbucket the way they do elsewhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Check Before Installing Any Bitbucket AI Reviewer
&lt;/h2&gt;

&lt;p&gt;The three surprises gave me the first three checks, which are docs over listicles, who pays and where code goes. Reading the Data Center setup docs added setup permissions, and planning review across many teams added governance and independence. I'd run every Bitbucket AI reviewer through them, in this order.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cloud, Data Center or both, per the vendor's docs.&lt;/strong&gt; A listicle isn't evidence, so I look for the vendor's own support table.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who pays per review and what gets skipped.&lt;/strong&gt; Per-author credits, size limits and rate limits all decide which PRs get reviewed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where code and model calls go.&lt;/strong&gt; On Data Center, check whether the reviewer runs on-prem and whether it can use your own model endpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Setup permissions.&lt;/strong&gt; Note whether the tool needs admin credentials, a bot user, a webhook or an outbound tunnel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Governance across many repos.&lt;/strong&gt; Rules and findings should roll up across projects, not live in one repo's config.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Independence from your coding agent.&lt;/strong&gt; The reviewer shouldn't be the agent that wrote the change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The academy guide to the &lt;a href="https://www.qodo.ai/academy/best-ai-code-review-tools-for-bitbucket/" rel="noopener noreferrer"&gt;Bitbucket AI code review&lt;/a&gt; goes deeper on each check.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Evaluated
&lt;/h2&gt;

&lt;p&gt;I read each tool's own Bitbucket setup, billing and deployment docs in October 2026 and scored them against the six checks. "Not documented" means I couldn't find it in the vendor's public docs.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Check&lt;/th&gt;
&lt;th&gt;Qodo&lt;/th&gt;
&lt;th&gt;Rovo Dev code review&lt;/th&gt;
&lt;th&gt;CodeRabbit&lt;/th&gt;
&lt;th&gt;Browser extension&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cloud and Data Center&lt;/td&gt;
&lt;td&gt;Both&lt;/td&gt;
&lt;td&gt;Cloud&lt;/td&gt;
&lt;td&gt;Both&lt;/td&gt;
&lt;td&gt;Both&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who pays, what gets skipped&lt;/td&gt;
&lt;td&gt;Workspace credits with an optional monthly spending cap&lt;/td&gt;
&lt;td&gt;Author's credits; large PRs may be skipped&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;Review credits, or a local model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where code and model calls go&lt;/td&gt;
&lt;td&gt;Your network on-prem or air-gapped&lt;/td&gt;
&lt;td&gt;Atlassian cloud&lt;/td&gt;
&lt;td&gt;CodeRabbit cloud; reverse tunnel for private instances&lt;/td&gt;
&lt;td&gt;Your browser and local model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup permissions&lt;/td&gt;
&lt;td&gt;Admin once, or a qodo-named user plus webhook&lt;/td&gt;
&lt;td&gt;Repository connection in Rovo&lt;/td&gt;
&lt;td&gt;Bot user, HTTP access token, OAuth consumer&lt;/td&gt;
&lt;td&gt;Personal HTTP access token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance across repos&lt;/td&gt;
&lt;td&gt;Rules and findings on Cloud and Data Center&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Independent of the coding agent&lt;/td&gt;
&lt;td&gt;Yes, reviews code from any agent&lt;/td&gt;
&lt;td&gt;Same vendor as the agent&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Depends on the model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Qodo: Best for Teams on Bitbucket Cloud, Data Center or Both
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Qodo is a code review platform that reviews pull requests on Bitbucket Cloud and Bitbucket Data Center, along with GitHub, GitLab, Azure DevOps and Gerrit. On Data Center, Qodo runs multi-tenant, single-tenant, on-premises or air-gapped, which makes it my pick for Data Center teams that need on-prem or air-gapped review.&lt;/p&gt;

&lt;p&gt;Qodo isn't focused on test generation, even though some authors still point to it as a key strength. In my experience, Qodo is best at AI code review and code governance for teams reviewing PRs on Bitbucket Cloud and Data Center, air-gapped installs included.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One Data Center wizard.&lt;/strong&gt; Automatic setup uses admin credentials once, and manual setup works with an admin-created user and webhook.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Air-gapped Data Center.&lt;/strong&gt; The bundled gateway forwards model calls to your own OpenAI-compatible endpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jira ticket context.&lt;/strong&gt; Reviews can check PRs against the linked Jira issue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Governance across repositories.&lt;/strong&gt; Organization rules, findings and the Repositories page cover Bitbucket Cloud, and on Data Center the new wizard brings Review Standards, findings and the Repositories page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usage-based billing.&lt;/strong&gt; Workspace credits replace seats, with a 14-day trial and an optional spending cap.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Qodo's governance features are a big part of why it shows up among &lt;a href="https://hub.qodo.ai/post/best-agentic-code-review-tools-enterprise-teams/" rel="noopener noreferrer"&gt;agentic code review tools&lt;/a&gt; for enterprise teams. On Bitbucket Cloud, organization rules and organization-wide findings roll up across every repository, so leaders see one view of review across teams.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Qodo is best for teams that run Bitbucket Cloud, Data Center or both and want one reviewer for all of it. Pick Qodo when Data Center has to stay on-prem or air-gapped.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Qodo covered Cloud and Data Center down to air-gapped installs, with your own model endpoint and a reviewer separate from the coding agent. Data Center depth made Qodo my first pick.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Rovo Dev Code Review: Best for Atlassian Cloud Teams That Want Review Inside Rovo and Keep PRs Small
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Rovo Dev code review is Atlassian's AI reviewer for pull requests, and Rovo Dev works on Bitbucket and GitHub repositories connected to Rovo (Atlassian, October 2026).&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Author-paid credits.&lt;/strong&gt; Reviews draw from the PR author's Rovo Dev credits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Acceptance criteria checks.&lt;/strong&gt; Standard includes checks against the linked work item's acceptance criteria.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ten languages.&lt;/strong&gt; Atlassian lists support for ten programming languages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A workspace rate limit.&lt;/strong&gt; Atlassian cites about 10 PRs per minute per workspace.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Rovo Dev code review is best for Atlassian Cloud teams that want review inside Rovo and keep PRs small.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Rovo Dev runs inside Atlassian Cloud. The author-paid credits, the size limits, the missing audits listed on its rollout page and the same-vendor overlap with its coding agent kept it below Qodo for me.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. CodeRabbit: Best for Teams That Want a Hosted Reviewer on Cloud or Data Center
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;CodeRabbit is an AI PR reviewer that supports Bitbucket Cloud and Bitbucket Data Center. Data Center setup uses a bot user with an HTTP access token plus an OAuth consumer, with webhooks configured automatically.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Data Center through a bot user.&lt;/strong&gt; An admin creates the user, token and OAuth consumer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private instances through a tunnel.&lt;/strong&gt; A reverse tunnel serves Data Center servers that aren't reachable from the internet, and Bitbucket still sends webhooks to CodeRabbit over HTTPS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configuration in the repo.&lt;/strong&gt; Review behavior lives in &lt;code&gt;.coderabbit.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;CodeRabbit is best for teams on Bitbucket Cloud or a reachable Data Center server that want a hosted reviewer.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;CodeRabbit documents a bot-user setup for Data Center. In the hosted setup, review traffic leaves your network, so it doesn't fit the air-gapped teams Atlassian names as Data Center's audience. CodeRabbit's self-hosted overview lists a self-hosted option for Bitbucket Data Center on its Enterprise plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. A Browser Extension on a Local Model: Best for Individual Reviewers on Data Center
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;ThinkReview is a browser extension that reviews PRs in the page you're reading. ThinkReview works with Bitbucket Cloud through an API token and Data Center through an HTTP access token, and reviews can run through a local Ollama model.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Runs in your browser.&lt;/strong&gt; Nothing installs on a server, and you don't need an admin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local models.&lt;/strong&gt; Ollama keeps code on your machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal scope.&lt;/strong&gt; Each reviewer installs and configures it alone.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;A browser extension is best for one developer who wants a second opinion on Data Center PRs today.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;With a local model, the extension keeps code on your machine and needs no admin. Nothing rolls up across a team, so it can't cover the governance check.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Checking Data Center support in the vendor's docs, knowing who pays for each review and planning for Data Center past 2029 all point to the same answer. Qodo passed those checks on Cloud and Data Center, air-gapped included, as an independent reviewer. Pick Qodo when one reviewer has to cover every Bitbucket you run.&lt;/p&gt;

&lt;p&gt;Teams that also run GitHub or GitLab can compare options in our roundup of tools for &lt;a href="https://hub.qodo.ai/post/best-agentic-ai-code-reviewer-github-gitlab/" rel="noopener noreferrer"&gt;GitLab AI code review&lt;/a&gt;, where Qodo reviews with the same loop.&lt;/p&gt;

&lt;p&gt;Qodo's earlier post on &lt;a href="https://www.qodo.ai/blog/bitbucket-code-review/" rel="noopener noreferrer"&gt;Bitbucket code review&lt;/a&gt; covers the human side of the workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does AI code review work the same on Bitbucket Cloud and Data Center?
&lt;/h3&gt;

&lt;p&gt;AI code review works almost the same on Bitbucket Cloud and Data Center. Qodo reviews PRs on both with the same review commands and markdown comments. Data Center adds on-prem and air-gapped deployment, and wiki-based configuration stays a Cloud option.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I run AI code review on-prem or air-gapped with Bitbucket?
&lt;/h3&gt;

&lt;p&gt;You can run AI code review on-prem or air-gapped with Bitbucket Data Center. Qodo supports on-premises and air-gapped deployments for Bitbucket Data Center, with model calls going to your own endpoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does Rovo Dev cost?
&lt;/h3&gt;

&lt;p&gt;Rovo Dev includes 350 credits per user on Free, about 2 to 8 code reviews, and 2,000 credits per Standard user each month, and credits come from the PR author (Atlassian, October 2026). Qodo bills the workspace through credits instead, with an optional spending cap, so reviews don't stop when one author runs out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does AI code review work with Bitbucket Pipelines?
&lt;/h3&gt;

&lt;p&gt;AI code review works alongside Bitbucket Pipelines rather than inside it. Qodo reviews pull requests through webhooks, so it works the same whether you build with Bitbucket Pipelines, Jenkins or another CI system.&lt;/p&gt;

&lt;h3&gt;
  
  
  What permissions does a Bitbucket reviewer need?
&lt;/h3&gt;

&lt;p&gt;A Bitbucket reviewer needs either admin credentials once or a dedicated bot user. For Qodo on Data Center, that means admin credentials used once, or a user whose name contains &lt;code&gt;qodo&lt;/code&gt; with write access, plus a webhook an admin creates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which features differ from GitHub?
&lt;/h3&gt;

&lt;p&gt;On Bitbucket, Qodo comments use standard markdown, and two display settings exist only on Bitbucket and Gerrit.&lt;/p&gt;

&lt;p&gt;Inline comment severity thresholds, feedback on draft PRs, chat on code suggestions, Rule Miner and Relevance run on GitHub and GitLab, with draft-PR feedback and Rule Miner on Azure DevOps and severity thresholds on Gerrit, and none of them run on Bitbucket.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>bitbucket</category>
      <category>devops</category>
    </item>
    <item>
      <title>Best Automated Code Review Tools for Enterprise Engineering Teams in 2026</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Wed, 28 Oct 2026 20:04:33 +0000</pubDate>
      <link>https://dev.to/uss/best-automated-code-review-tools-for-enterprise-engineering-teams-5gm2</link>
      <guid>https://dev.to/uss/best-automated-code-review-tools-for-enterprise-engineering-teams-5gm2</guid>
      <description>&lt;p&gt;At enterprise scale, choosing automated code review tools stops being a bug-finding question and becomes a governance one. I spend a lot of my time with engineering orgs that run hundreds of repositories, and they need a reviewer that holds one rulebook, shows leaders what every team ships and traces a change across repositories. I ranked the tools I'd shortlist on exactly that.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Enterprise review is a governance problem as much as a bug-finding one: only 37.0% of surveyed engineering leaders report having policy enforcement that works across teams and repositories (&lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;Qodo, State of AI Code Quality 2026&lt;/a&gt;, August 2026).&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; ranks first because Qodo gives engineering leaders one view of review across every repository and Git organization, from org-wide rules to an Analytics dashboard and the Software Map.&lt;/li&gt;
&lt;li&gt;GitHub Copilot code review ships inside GitHub, but you shouldn't review code with the same tool that wrote it.&lt;/li&gt;
&lt;li&gt;SonarQube, Codacy and Snyk Code are rule-based scanners for static analysis, quality gates and security checks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Best Automated Code Review Tools for Enterprise Teams, Ranked
&lt;/h3&gt;

&lt;p&gt;Qodo and GitHub Copilot code review are AI reviewers, and SonarQube, Codacy and Snyk Code are rule-based scanners whose quality gates run in CI next to Qodo's advisory findings.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Qodo&lt;/li&gt;
&lt;li&gt;GitHub Copilot code review&lt;/li&gt;
&lt;li&gt;SonarQube&lt;/li&gt;
&lt;li&gt;Codacy&lt;/li&gt;
&lt;li&gt;Snyk Code&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Git platforms (per vendor docs)&lt;/th&gt;
&lt;th&gt;Starting price (Oct 2026)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qodo&lt;/td&gt;
&lt;td&gt;Engineering leaders who govern review across many repositories and Git organizations&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Bitbucket, Azure DevOps, Gerrit&lt;/td&gt;
&lt;td&gt;Custom Enterprise plans; Pro Team from $30 for 2,500 credits after a 14-day trial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Copilot code review&lt;/td&gt;
&lt;td&gt;An AI first pass inside GitHub, with an independent reviewer for the final check&lt;/td&gt;
&lt;td&gt;GitHub, Azure DevOps (public preview)&lt;/td&gt;
&lt;td&gt;Included in paid Copilot plans, plus Actions minutes on GitHub's runners&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SonarQube&lt;/td&gt;
&lt;td&gt;Deterministic quality gates in CI pipelines&lt;/td&gt;
&lt;td&gt;Major Git platforms and CI tools&lt;/td&gt;
&lt;td&gt;Team from $34 a month for up to 100k lines of code; Enterprise above 50 developers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codacy&lt;/td&gt;
&lt;td&gt;One static analysis configuration across groups of repositories&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Bitbucket&lt;/td&gt;
&lt;td&gt;$18 per developer a month, billed yearly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Snyk Code&lt;/td&gt;
&lt;td&gt;Security findings in code and dependencies from one vendor&lt;/td&gt;
&lt;td&gt;Native Git integrations; Snyk Broker for self-hosted Git on Enterprise&lt;/td&gt;
&lt;td&gt;Free, Team from $25 a month&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why Enterprise Code Review Breaks Past a Few Dozen Repositories
&lt;/h2&gt;

&lt;p&gt;Enterprise review fails in places a single-repo demo never shows you, and review itself has become a bottleneck: 26.0% of surveyed engineering leaders name reviewing and validating AI-generated code as their primary delivery constraint (&lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;Qodo, State of AI Code Quality 2026&lt;/a&gt;, August 2026).&lt;/p&gt;

&lt;h3&gt;
  
  
  Standards Drift When Every Team Configures Its Own Reviewer
&lt;/h3&gt;

&lt;p&gt;Standards drift once every team keeps its own review config, since a hundred repos then carry a hundred slightly different rule files. Platform teams want one shared version of &lt;a href="https://www.qodo.ai/glossary/what-is-org-wide-standards-enforcement/" rel="noopener noreferrer"&gt;org-wide standards&lt;/a&gt; with room for a stricter path in the payments code or a looser one in internal tooling. Per-repo config files make layered rules hard to audit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Leaders Lose Sight of What Gets Flagged and What Ships Anyway
&lt;/h3&gt;

&lt;p&gt;Visibility is what directors and VPs of Engineering ask me about most, because a bot comment on a pull request (PR) is invisible outside that PR. Leaders want to know which repositories ignore findings, which rules keep firing and which PR authors resolve issues before merge. Without that record, &lt;a href="https://www.qodo.ai/glossary/what-is-ai-code-governance/" rel="noopener noreferrer"&gt;AI code governance&lt;/a&gt; has no numbers behind it.&lt;/p&gt;

&lt;h3&gt;
  
  
  In a Multi-Repo System, a Change in One Repository Breaks a Service in Another
&lt;/h3&gt;

&lt;p&gt;Breakage across repository lines hurts most at scale, because no single PR contains the whole picture. A renamed field in a shared software development kit (SDK) passes every check in its own repo, and the consumer service fails after the next deploy. Most AI reviewers read the diff plus the repo it lives in, so the reviewer needs extra context, configured or discovered, before it can see the downstream caller.&lt;/p&gt;

&lt;p&gt;Drifting rule files, findings leaders never see and cross-repo breakage all happen outside the one PR a typical reviewer reads, so the fix has to work at the level of the whole organization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvlnd3n0vd9wwntsh6x8s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvlnd3n0vd9wwntsh6x8s.png" alt="Three places enterprise code review breaks: a renamed SDK field breaking a service in another repository, a hundred repositories with drifting rule files, and findings that never reach a leader's dashboard" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes a Great Automated Code Review Tool for Enterprise Teams
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Criteria for Enterprise Code Review, in Order of Weight
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Shared rules.&lt;/strong&gt; Rules live in one place and apply org-wide, per Git organization, per repo or per path, with admins approving changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leader visibility.&lt;/strong&gt; Leaders see findings and outcomes across repositories and PR authors without opening individual PRs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-repo context.&lt;/strong&gt; The reviewer reads related repositories, so a breaking change outside the diff still shows up on the PR.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Independence.&lt;/strong&gt; The reviewer is a separate system from the assistant or agent that wrote the change. You shouldn't review code with the same tool that wrote it, because a reviewer from the same tool shares the generator's assumptions and blind spots, and the gap widens as agents write more of the code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git coverage.&lt;/strong&gt; Review works on every provider and deployment model the org runs today, including self-hosted and air-gapped setups.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Qodo ranks first because Qodo gives leaders one place to define rules for every Git organization and one view of what happens to every finding, and governance and leader visibility are where Qodo pulls furthest ahead.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Evaluated the Tools
&lt;/h2&gt;

&lt;p&gt;I compared AI reviewers and code quality tools on shared rules, leader visibility, cross-repo context, independence and Git coverage, using each vendor's docs and pricing pages, checked between October 26 and 28, 2026. Qodo's own ranking of &lt;a href="https://hub.qodo.ai/post/best-agentic-code-review-tools-enterprise-teams/" rel="noopener noreferrer"&gt;agentic code review tools&lt;/a&gt; for enterprise teams goes deeper on the agent-based reviewers in this list.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Shared rules&lt;/th&gt;
&lt;th&gt;Leader visibility&lt;/th&gt;
&lt;th&gt;Cross-repo context&lt;/th&gt;
&lt;th&gt;Independence&lt;/th&gt;
&lt;th&gt;Git coverage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qodo&lt;/td&gt;
&lt;td&gt;Global, Git org, repo and path, with admin approval by default&lt;/td&gt;
&lt;td&gt;Analytics by repository and PR author, CSV export&lt;/td&gt;
&lt;td&gt;Discovered or defined relationships, across providers&lt;/td&gt;
&lt;td&gt;Separate reviewer&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Bitbucket, Azure DevOps, Gerrit; on-prem and air-gapped options&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Copilot code review&lt;/td&gt;
&lt;td&gt;Repository and organization custom instructions&lt;/td&gt;
&lt;td&gt;Usage metrics on PRs reviewed, time to merge and suggestions applied&lt;/td&gt;
&lt;td&gt;Repository context&lt;/td&gt;
&lt;td&gt;Shares a vendor with Copilot coding&lt;/td&gt;
&lt;td&gt;GitHub, Azure DevOps (public preview)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SonarQube&lt;/td&gt;
&lt;td&gt;Quality gates&lt;/td&gt;
&lt;td&gt;Portfolios on Enterprise&lt;/td&gt;
&lt;td&gt;Per project&lt;/td&gt;
&lt;td&gt;Separate analyzer&lt;/td&gt;
&lt;td&gt;Major Git platforms and CI tools&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codacy&lt;/td&gt;
&lt;td&gt;Up to 30 coding standards per org&lt;/td&gt;
&lt;td&gt;Trends across teams and projects&lt;/td&gt;
&lt;td&gt;Per repository&lt;/td&gt;
&lt;td&gt;Separate analyzer&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Bitbucket&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Snyk Code&lt;/td&gt;
&lt;td&gt;Security rules&lt;/td&gt;
&lt;td&gt;Issue tracking with Jira export&lt;/td&gt;
&lt;td&gt;Interfile, within a repo&lt;/td&gt;
&lt;td&gt;Separate analyzer&lt;/td&gt;
&lt;td&gt;Native Git integrations; Snyk Broker on Enterprise&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Automated Code Review Tools for Enterprise Teams, Reviewed
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Qodo: One View of Review Across Every Repository and Git Organization
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Qodo is the AI code review platform for organizations that run many repositories across more than one Git provider, built as quality control for the agentic software factory. Qodo gives leaders shared rules, visibility into every team and tracing across repositories from one place.&lt;/p&gt;

&lt;p&gt;Qodo isn't focused on test generation, even though some authors still point to it as a key strength. In my experience, Qodo is best at AI code review and code governance for enterprise teams that need one review standard across every repository and Git provider.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Shared rules.&lt;/strong&gt; Rules apply globally or to specific Git organizations, repositories and path patterns, so a payments org can run stricter rules than internal tooling, and members' new rules wait for admin approval by default (&lt;a href="https://docs.qodo.ai/governance/rule-enforcement/generate-and-manage-rules" rel="noopener noreferrer"&gt;rules docs&lt;/a&gt;). Git organization settings, added in Qodo 3.1, sit between workspace and repository settings (&lt;a href="https://docs.qodo.ai/configuration/portal-configuration" rel="noopener noreferrer"&gt;portal configuration docs&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leader visibility.&lt;/strong&gt; The Analytics dashboard, new in Qodo 3.0, shows finding activity and acceptance by repository and by PR author, with spreadsheet (CSV) export, and &lt;a href="https://docs.qodo.ai/governance/review-standards" rel="noopener noreferrer"&gt;Rules analytics&lt;/a&gt; shows which rules keep firing and how often issues get resolved, so leaders can track &lt;a href="https://www.qodo.ai/blog/code-quality-metrics-2026/" rel="noopener noreferrer"&gt;code quality metrics&lt;/a&gt; across the org without opening a single PR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cross-repo tracing.&lt;/strong&gt; The Software Map gives leaders a live view of the system across repositories, with dependencies, service relationships and contracts mapped automatically and updated with every pull request. Cross-repository review uses repository relationships, discovered automatically since Qodo 2.5 (June 30) and across the whole organization since Qodo 2.10, or defined by your team, to trace impact in both directions, even across Git providers, and a &lt;code&gt;Cross-repo&lt;/code&gt; finding links straight to the affected lines in the other repository.&lt;/p&gt;

&lt;p&gt;Every review draws on the full codebase, PR history, linked tickets and your org standards. Findings are advisory, so your branch protection rules still decide what merges. Qodo reviews PRs on GitHub, GitLab, Bitbucket, Azure DevOps and Gerrit, with multi-tenant, single-tenant and on-prem deployments, plus air-gapped options for self-managed providers.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Qodo gives engineering orgs with dozens to hundreds of repositories, more than one Git provider or a central platform team one standard and one view of review.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Qodo ranks first on shared rules, leader visibility and Git coverage, with org-level governance and leader visibility furthest ahead. On independence, Qodo reviews every PR as a separate system, whichever assistant or agent wrote the change.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Case study: LoopUp configured Qodo at the organization level across hundreds of repositories&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Configuring Qodo at the organization level across its GitHub repositories gave LoopUp one review setup for a platform of hundreds of repositories, with engineers in London, San Francisco and Jakarta. LoopUp says Qodo now does "about 90% of that initial review" before humans step in (&lt;a href="https://www.qodo.ai/blog/how-loopup-automated-90-of-code-review-with-qodo/" rel="noopener noreferrer"&gt;LoopUp case study&lt;/a&gt;, April 2026).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  2. GitHub Copilot Code Review: Review Built Into GitHub
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;GitHub Copilot code review is GitHub's AI reviewer for pull requests, available on all paid Copilot plans.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;p&gt;Admins can turn on automatic review so Copilot reviews every PR in a repository, and organizations can let members without a Copilot license request reviews, billed in AI credits. Reviews read repository and organization custom instructions plus agent skills.&lt;/p&gt;

&lt;p&gt;Reviews also use GitHub Actions minutes on GitHub's own runners, and if Actions is unavailable, reviews still run without the agentic features. Copilot code review works on GitHub.com, GitHub Mobile, the command line (CLI), the major IDEs and Azure DevOps in public preview.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Copilot code review suits GitHub-centered teams that want an AI first pass on every PR inside GitHub, with an independent reviewer for the final check.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;You shouldn't review code with the same tool that wrote it, and many teams use the same Copilot to write the code, so the independence criterion pulls Copilot down. Since April 2026, Copilot usage metrics track code review at enterprise, organization and repository level, covering PRs reviewed, time to merge and suggestions applied. The code review docs don't describe cross-repo context, and coverage stops at GitHub plus Azure DevOps in preview.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. SonarQube: Quality Gates Across 30+ Languages
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;SonarQube is a static analysis platform that checks every pull request for bugs, vulnerabilities and security hotspots across 30+ languages.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;p&gt;Quality gates check whether new code meets the bar you define, and the gate status can be reported to CI pipelines such as Jenkins and Azure Pipelines. AI Code Assurance combines project labels, a default quality gate and project badges for projects that contain AI-generated code. SonarQube Enterprise adds portfolios for organizations above 50 developers. Gitar AI Code Review is a separate Sonar plan.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;SonarQube suits enterprises that want deterministic, rule-based checks and quality gates in CI.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Portfolio reporting on Enterprise and broad CI support put SonarQube first among the rule-based scanners, though SonarQube rules match code patterns within one project.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Codacy: Shared Coding Standards Across Repositories
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Codacy is a code quality and security platform that runs automated static analysis on repositories and pull requests.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;p&gt;Coding standards apply the same tool and code pattern configuration to many repositories, up to 30 standards per organization. Gate policies define the quality bar for PRs, and the Team plan lists an AI Reviewer for pull requests plus trends across teams and projects. SSO and audit logs sit on the Business plan. Codacy connects to GitHub, GitLab and Bitbucket.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Codacy suits teams that want one static analysis configuration shared across groups of repositories.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Codacy applies one coding standard to many repositories, so shared rules is its highest criterion. Codacy docs don't describe tracing impact into related repositories, which puts Codacy second among the scanners.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Snyk Code: SAST in the IDE, CLI and PR
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Snyk Code is a static application security testing (SAST) tool that scans code in the editor (IDE), the CLI, PR checks and the API.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;p&gt;Interfile analysis is available for every language Snyk Code supports except Ruby. Snyk Broker connects Snyk to on-premises and private-network systems on Enterprise plans. Snyk Open Source covers dependencies on the same platform.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Snyk Code suits security teams that want code and dependency findings from one vendor.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Snyk Code focuses on security findings and sits next to an AI reviewer rather than in place of one. Security focus and per-repo scope put Snyk Code third among the scanners, and a wider comparison of &lt;a href="https://hub.qodo.ai/post/best-secure-code-review-tools-2026/" rel="noopener noreferrer"&gt;secure code review tools&lt;/a&gt; covers the security side of review in more depth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hands-On: Rolling Out Qodo Across a Git Organization
&lt;/h2&gt;

&lt;p&gt;Enterprise rollout is mostly configuration. For a structured pilot first, use Qodo's guide to &lt;a href="https://www.qodo.ai/academy/how-to-run-an-ai-code-review-poc/" rel="noopener noreferrer"&gt;run a proof of concept&lt;/a&gt; to scope the repositories and success criteria.&lt;/p&gt;

&lt;h3&gt;
  
  
  My Rollout Order for a Git Organization
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One review process for every provider.&lt;/strong&gt; Connect each Git provider your org uses through the Qodo installation wizard, from GitHub and GitLab to Bitbucket, Azure DevOps or Gerrit. Cross-repo review only sees repositories installed through the wizard, so reinstall any repository connected with an older method.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace defaults first, then Git organization overrides.&lt;/strong&gt; On the Configurations page, switch between Workspace, Git organization and Repository. Git organization settings override the workspace, and repository settings override both.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scoped rules.&lt;/strong&gt; Keep org-wide rules global, then limit stricter ones to the Git organizations, repositories or paths that need them, such as payments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics after the first week.&lt;/strong&gt; Open the Analytics dashboard by repository and by PR author to see which teams act on findings, then check Rules analytics on the Review Standards page to see which rules keep firing before you tighten anything.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;At enterprise scale, code review is a governance job: apply one rulebook, let leaders see what every team ships and trace a change across every repository. Qodo handles shared rules, leader visibility and cross-repo tracing as an independent reviewer across GitHub, GitLab, Bitbucket, Azure DevOps and Gerrit, which is why I'd start an enterprise shortlist with Qodo.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What are the best automated code review tools for enterprise engineering teams?
&lt;/h3&gt;

&lt;p&gt;The best automated code review tools for enterprise engineering teams combine shared rules, reporting for leaders and context across repositories. Qodo leads in 2026, with Git organization settings to govern rules, an Analytics dashboard for leader visibility, and the Software Map and cross-repo review to trace changes across repositories.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the best code quality tools for multi-repo environments?
&lt;/h3&gt;

&lt;p&gt;The best code quality tools for multi-repo environments share one configuration across repositories and see how repositories depend on each other. Codacy and SonarQube share static analysis settings across many repos. Qodo traces each change into the repositories that depend on it and applies the same scoped rules across them.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the best code quality tools for enterprise teams?
&lt;/h3&gt;

&lt;p&gt;The best code quality tools for enterprise teams pair a rule-based scanner with an AI reviewer that applies org-wide standards. SonarQube, Codacy and Snyk Code cover quality gates, static analysis and security findings in CI. Qodo adds the review layer, with rules scoped by Git organization, repository and path, and an Analytics dashboard that shows leaders how every team acts on findings.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the best automated code review tools for complex codebases?
&lt;/h3&gt;

&lt;p&gt;The best automated code review tools for complex codebases read beyond the diff, into the wider codebase, PR history and related services. Qodo draws on the full codebase, PR history, linked tickets and org standards for every review, and the Qodo Software Map shows how modules and services connect.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can an automated reviewer catch a breaking change in another repository?
&lt;/h3&gt;

&lt;p&gt;An automated reviewer can catch a breaking change in another repository when it knows how the repositories relate. Qodo discovers or accepts those relationships and raises a &lt;code&gt;Cross-repo&lt;/code&gt; finding that links to the affected lines.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why shouldn't a coding assistant review its own code?
&lt;/h3&gt;

&lt;p&gt;A coding assistant shouldn't review its own code because the reviewer then shares the generator's assumptions and blind spots. A separate reviewer brings its own context and rules to every PR, and Qodo reviews each change independently, whichever assistant or agent wrote it.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do enterprise teams keep the same review rules across hundreds of repositories?
&lt;/h3&gt;

&lt;p&gt;Enterprise teams keep the same review rules across hundreds of repositories by defining rules once and scoping overrides where needed. In Qodo, rules apply globally or to specific Git organizations, repositories and paths, members' rules wait for admin approval by default, and Git organization settings cover every repo in that organization.&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>ai</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>10 Best Tools to Catch Bugs in AI-Generated Code Before Merge (2026)</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Tue, 27 Oct 2026 00:58:57 +0000</pubDate>
      <link>https://dev.to/uss/10-best-tools-to-catch-bugs-in-ai-generated-code-before-merge-2026-2948</link>
      <guid>https://dev.to/uss/10-best-tools-to-catch-bugs-in-ai-generated-code-before-merge-2026-2948</guid>
      <description>&lt;p&gt;AI-written pull requests pass lint, types, scans and their own tests, so the bugs that reach main are logic flaws, missing edge cases and breaks outside the diff. I put a four-layer pre-merge pipeline in front of &lt;a href="https://www.qodo.ai/academy/ai-generated-code-in-enterprise/" rel="noopener noreferrer"&gt;AI-generated code&lt;/a&gt; and ranked 10 tools by the layer each one fills.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI-generated code fails where it looks finished.&lt;/strong&gt; The bugs that pass lint, types and scans are logic flaws, missing edge cases and breaks outside the diff.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The review you rely on is getting weaker.&lt;/strong&gt; 28.2% of developers say they care a lot about AI code quality but rely on their existing review to catch issues (&lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;State of AI Code Quality 2026&lt;/a&gt;, August 2026). &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Catch AI-generated bugs in four layers.&lt;/strong&gt; Deterministic checks and security scanners block the merge in CI (the automated checks on every push). Context-aware AI review and app tests find what needs intent or a running app.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; is my #1 because it checks whether AI code does what the ticket asks.&lt;/strong&gt; Qodo reads each change with your codebase, related repos, the linked ticket and your team's rules, before the pull request (PR) exists and on the PR.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The 10 Best Tools to Catch Bugs in AI-Generated Code Before Merge, by Layer
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
Qodo: logic, edge-case and cross-repo bugs (Layer 3)&lt;/li&gt;
&lt;li&gt;
Cursor Bugbot: AI PR review billed through a Cursor plan (Layer 3)&lt;/li&gt;
&lt;li&gt;
CodeRabbit: AI PR review with linked-repo context (Layer 3)&lt;/li&gt;
&lt;li&gt;
Augment Code: review inside a coding-agent platform (Layer 3)&lt;/li&gt;
&lt;li&gt;
SonarQube: rule-based quality gate in CI (Layers 1 and 2)&lt;/li&gt;
&lt;li&gt;
GitHub CodeQL: security queries in GitHub code scanning (Layer 2)&lt;/li&gt;
&lt;li&gt;
Semgrep: pattern rules you write (Layer 2)&lt;/li&gt;
&lt;li&gt;
Snyk Code: static application security testing (SAST) next to dependency scanning (Layer 2)&lt;/li&gt;
&lt;li&gt;
TestSprite: generated end-to-end tests (Layer 4)&lt;/li&gt;
&lt;li&gt;
Shiplight: browser tests stored as YAML files (Layer 4)&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Price as of October 2026&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qodo&lt;/td&gt;
&lt;td&gt;Context-aware AI review (CLI and PR)&lt;/td&gt;
&lt;td&gt;Teams merging agent-written PRs who need intent, rules and related repos checked before merge&lt;/td&gt;
&lt;td&gt;14-day free trial; Pro Team from $30 a month for 2,500 credits; Enterprise custom&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cursor Bugbot&lt;/td&gt;
&lt;td&gt;AI PR review&lt;/td&gt;
&lt;td&gt;Engineering groups that write in Cursor and want PR review on the same plan&lt;/td&gt;
&lt;td&gt;Usage-based on Cursor's Premium and higher plans, Teams and Enterprise&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CodeRabbit&lt;/td&gt;
&lt;td&gt;AI PR review&lt;/td&gt;
&lt;td&gt;Reviewers who want a walkthrough of each PR with linked issues and past PRs&lt;/td&gt;
&lt;td&gt;Essentials $24/user/month annual ($30 monthly); Team $48 annual ($60 monthly)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Augment Code&lt;/td&gt;
&lt;td&gt;AI PR review&lt;/td&gt;
&lt;td&gt;Organizations that run writing and review on one agent platform&lt;/td&gt;
&lt;td&gt;Standard $20/month flat for up to 50 seats&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SonarQube&lt;/td&gt;
&lt;td&gt;Deterministic quality gate&lt;/td&gt;
&lt;td&gt;Teams who want a rule-based quality gate in CI for 30+ languages&lt;/td&gt;
&lt;td&gt;Free tier; Team from $34/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub CodeQL&lt;/td&gt;
&lt;td&gt;Security scanner&lt;/td&gt;
&lt;td&gt;Security teams on GitHub who run vulnerability queries in code scanning&lt;/td&gt;
&lt;td&gt;Free on public repos; GitHub Code Security for private&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Semgrep&lt;/td&gt;
&lt;td&gt;Security scanner&lt;/td&gt;
&lt;td&gt;Security teams who write and test their own pattern rules&lt;/td&gt;
&lt;td&gt;Free up to 10 contributors; Teams $30/contributor/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Snyk Code&lt;/td&gt;
&lt;td&gt;Security scanner&lt;/td&gt;
&lt;td&gt;Security teams who want code and dependency findings from one vendor&lt;/td&gt;
&lt;td&gt;Free; Team $25/month for up to 10 developers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TestSprite&lt;/td&gt;
&lt;td&gt;App tests&lt;/td&gt;
&lt;td&gt;QA teams who want end-to-end tests generated against a staging app&lt;/td&gt;
&lt;td&gt;Free; Starter $19/month; Standard $39/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shiplight&lt;/td&gt;
&lt;td&gt;App tests&lt;/td&gt;
&lt;td&gt;Developers who want agent-written browser tests kept in the repo&lt;/td&gt;
&lt;td&gt;Free; Pro $60/month&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why Lint, Types and Scanners Miss AI-Written Bugs
&lt;/h2&gt;

&lt;p&gt;Most AI-written bugs that get through fall into three gaps your checks can't see.&lt;/p&gt;

&lt;h3&gt;
  
  
  Logic Flaws and Missing Edge Cases
&lt;/h3&gt;

&lt;p&gt;A coding agent writes code that matches the prompt, and the prompt rarely mentions the empty list or the retry that runs twice.&lt;/p&gt;

&lt;p&gt;Agent-written tests rarely catch the flaw either. Up to 17% of regression tests written by large language models (LLMs) for 145 merged PRs asserted the faulty behavior (&lt;a href="https://arxiv.org/abs/2610.11835" rel="noopener noreferrer"&gt;arXiv&lt;/a&gt;, October 2026).&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Changes From AI Refactors
&lt;/h3&gt;

&lt;p&gt;Agent PRs introduce potential &lt;a href="https://www.qodo.ai/glossary/what-is-breaking-change/" rel="noopener noreferrer"&gt;breaking changes&lt;/a&gt; less often than human ones overall, 3.45% against 7.40%, but in refactors, which touch shared code, the agent rate climbs to 6.72% (&lt;a href="https://arxiv.org/abs/2603.27524" rel="noopener noreferrer"&gt;Safer Builders, Risky Maintainers&lt;/a&gt;, Mining Software Repositories conference, MSR 2026).&lt;/p&gt;

&lt;p&gt;Agent PRs that reported top confidence still introduced potential breaking changes in 3.16% of commits. A renamed field in shared code passes every check in your repo and breaks a caller in another repo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Team Rules No Scanner Knows
&lt;/h3&gt;

&lt;p&gt;Every team has rules that live in nobody's linter, like "tenant ID on every query". Agents miss team rules too: only 34.6% of developers say their agents always follow organizational standards (&lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;State of AI Code Quality 2026&lt;/a&gt;, August 2026).&lt;/p&gt;

&lt;p&gt;The agent shouldn't be the last check on its own work. You shouldn't review code with the same tool that wrote it, because the same tool shares the agent's assumptions and misses the same edge cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two AI-Written PRs That Pass Every Check
&lt;/h2&gt;

&lt;h3&gt;
  
  
  PR 1: A Refund Helper With a Missing Edge Case
&lt;/h3&gt;

&lt;p&gt;An agent adds a refund helper (illustrative).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;refund&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;payment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;payments&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;   &lt;span class="c1"&gt;# IndexError when the order has no payments
&lt;/span&gt;    &lt;span class="n"&gt;payment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;refund&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;payment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# no guard if this payment was already refunded
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lint, types, the agent's happy-path test and the scanner all pass. The ticket says "refund the latest captured payment, once", and nothing in the diff checks either half.&lt;/p&gt;

&lt;h3&gt;
  
  
  PR 2: A Field Rename That Breaks Another Repo
&lt;/h3&gt;

&lt;p&gt;The agent renames a field in &lt;code&gt;payments-lib&lt;/code&gt; (illustrative).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt; class InvoiceSerializer:
&lt;span class="gd"&gt;-    amount_cents: int
&lt;/span&gt;&lt;span class="gi"&gt;+    amount: int
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;billing-service&lt;/code&gt;, in another repo, still reads &lt;code&gt;invoice.amount_cents&lt;/code&gt;, and every check in &lt;code&gt;payments-lib&lt;/code&gt; passes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4-Layer Pre-Merge Pipeline for AI-Generated Code
&lt;/h2&gt;

&lt;p&gt;My pipeline runs four layers, ordered by how deterministic each check is, and only the deterministic layers should block a merge on their own. The pipeline diagram shows that order, with the two blocking layers in CI. Layered review gets a longer write-up in Qodo's guide to &lt;a href="https://www.qodo.ai/blog/how-to-catch-ai-generated-bugs-with-layered-code-review/" rel="noopener noreferrer"&gt;layered code review&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmjnbw222dhflp4hqe9g1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmjnbw222dhflp4hqe9g1.png" alt="The 4-layer pre-merge pipeline for AI-generated code: deterministic checks and security scanners block the merge in CI, context-aware AI review posts findings the team resolves before merge, and tests run against the app" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 1: Deterministic Checks That Block the Merge
&lt;/h3&gt;

&lt;p&gt;Lint, type checks and unit tests give the same result every time, so make them required checks. The refund helper and the rename both pass Layer 1.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 2: Security Scanners and Their Limits
&lt;/h3&gt;

&lt;p&gt;SAST tools match known patterns such as injection or hardcoded secrets, so block on critical findings.&lt;/p&gt;

&lt;p&gt;Across 302.6k AI-authored commits in 6,299 GitHub repos, code smells made up 89.3% of the 484,366 issues those commits introduced, as flagged by ESLint, Pylint and Semgrep, against 6.0% correctness and 4.7% security issues (&lt;a href="https://arxiv.org/abs/2603.28592" rel="noopener noreferrer"&gt;Debt Behind the AI Boom&lt;/a&gt;, March 2026). The refund helper and the rename pass Layer 2 as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 3: Context-Aware AI Review Before Merge
&lt;/h3&gt;

&lt;p&gt;Context changes what an agent gets right. Giving a coding agent a dependency map between code and tests cut regressions from 6.08% to 1.82% on 100 tasks from SWE-bench Verified, a benchmark of real GitHub issues, while instructions alone pushed regressions to 9.94% (&lt;a href="https://arxiv.org/abs/2603.17973" rel="noopener noreferrer"&gt;TDAD&lt;/a&gt;, March 2026). Context-aware review brings codebase, ticket and rule context to the PR.&lt;/p&gt;

&lt;p&gt;The refund helper and the rename both show up at Layer 3: the ticket exposes the second refund, and knowing &lt;code&gt;billing-service&lt;/code&gt; exposes the stale &lt;code&gt;amount_cents&lt;/code&gt; read.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 4: End-to-End Tests Against the Running App
&lt;/h3&gt;

&lt;p&gt;End-to-end tests against staging catch what agent-written unit tests miss.&lt;/p&gt;

&lt;p&gt;The two-PR diagram walks both PRs through the layers: Layers 1 and 2 pass both, Layer 3 flags both, and Layer 4 catches a bug only if its flow is in the suite.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F275tsb4ee1pxxei0lm88.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F275tsb4ee1pxxei0lm88.png" alt="Two AI-written pull requests through the four layers: lint, types and tests pass on both, the scan finds nothing, context-aware review flags the missing guards in the refund helper and the renamed field breaking another repository, and layer 4 runs app tests on critical flows" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Making Sure Someone Reads AI Review Findings
&lt;/h2&gt;

&lt;p&gt;Layer 3 only works if someone reads the findings, and attention fades as agent PRs pile up. Across 11,429 reviews, repeat reviewers went from approving 30.1% of agent PRs to 36.8%, while their inline comments fell 22% (&lt;a href="https://arxiv.org/abs/2606.22721" rel="noopener noreferrer"&gt;Habituation at the Gate&lt;/a&gt;, June 2026).&lt;/p&gt;

&lt;p&gt;HiBob, an HR platform with 200+ developers, shipped a release that broke a most-used mobile flow for ten days. Qodo had flagged the error on the original PR, and the reviewers missed the feedback (&lt;a href="https://www.qodo.ai/blog/how-hibob-scales-engineering-velocity-without-sacrificing-quality/" rel="noopener noreferrer"&gt;HiBob case study&lt;/a&gt;, May 2026).&lt;/p&gt;

&lt;p&gt;HiBob's fix was a process step: the PR author now checks a box confirming they addressed Qodo's comments before a second human reviewer is assigned.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Context-Aware AI Reviewer Has to Do to Verify AI-Generated Pull Requests
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The reviewer reads the change with the rest of the codebase and related repos.&lt;/strong&gt; A related repo is where the &lt;code&gt;amount_cents&lt;/code&gt; rename breaks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The reviewer uses the ticket as context and checks your team's rules.&lt;/strong&gt; The ticket's "once" flags the second refund.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The reviewer runs before the PR exists.&lt;/strong&gt; The empty-list guard gets added while the change is still in the agent's context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The reviewer explains each finding and records dismissals.&lt;/strong&gt; A dismissal keeps its reason, so a step like HiBob's checkbox has a record behind it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The reviewer works next to deterministic CI checks.&lt;/strong&gt; Scanners and tests give branch protection a yes or no.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How I Evaluated the 10 Tools
&lt;/h2&gt;

&lt;p&gt;I tested every tool on the same three questions, using its docs and pricing in October 2026: does it catch the refund helper's missing guards, does it catch the &lt;code&gt;amount_cents&lt;/code&gt; rename in another repo, and how does its result reach the merge, as a blocking check or as findings the team resolves?&lt;/p&gt;

&lt;h2&gt;
  
  
  The 10 Tools Ranked on the Refund Helper and the Rename
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Qodo Catches Logic, Edge-Case and Cross-Repo Bugs Before Merge
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Qodo reviews each change with intent and context, so it catches the bugs that pass every deterministic check. Qodo's &lt;a href="https://www.qodo.ai/features/qodo-git/" rel="noopener noreferrer"&gt;PR review&lt;/a&gt; runs on GitHub, GitLab, Bitbucket and Azure DevOps, plus Gerrit on Enterprise. Specialized agents check correctness, standards, architecture and risk in parallel, and a judge agent filters their findings.&lt;/p&gt;

&lt;p&gt;Qodo isn't focused on test generation, even though some authors still point to it as a key strength. In my experience, Qodo is best at AI code review and code governance for catching the logic, edge-case and cross-repo bugs that pass your tests, so Qodo covers Layer 3 of this pipeline.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Context beyond the diff.&lt;/strong&gt; The review reads the &lt;a href="https://www.qodo.ai/glossary/what-is-full-codebase-context-vs-diff-only-review/" rel="noopener noreferrer"&gt;full codebase&lt;/a&gt;, and the &lt;a href="https://www.qodo.ai/features/qodo-context-engine/" rel="noopener noreferrer"&gt;Qodo Context Engine&lt;/a&gt; adds PR history, linked tickets and your standards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-repo review and blast radius.&lt;/strong&gt; &lt;a href="https://www.qodo.ai/features/cross-repo-review/" rel="noopener noreferrer"&gt;Cross-repo review&lt;/a&gt; links repositories across Git providers and posts a &lt;code&gt;Cross-repo&lt;/code&gt; finding linked to the affected lines. When you turn on blast radius labels, Qodo rates each PR Small, Medium or Large by the scope and sensitivity of the change.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your team's rules.&lt;/strong&gt; &lt;a href="https://www.qodo.ai/qodo-rules/" rel="noopener noreferrer"&gt;Qodo Rules&lt;/a&gt; imports rules from files you already have, such as &lt;code&gt;AGENTS.md&lt;/code&gt; and &lt;code&gt;CLAUDE.md&lt;/code&gt;, and a rule from &lt;code&gt;src/payments/AGENTS.md&lt;/code&gt; applies only under &lt;code&gt;src/payments/&lt;/code&gt;. On GitHub and GitLab, Rule Miner generates rules from your PR history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review before a pull request exists.&lt;/strong&gt; The &lt;a href="https://www.qodo.ai/features/qodo-agentic-toolbox/" rel="noopener noreferrer"&gt;Qodo Agentic Toolbox&lt;/a&gt; brings the same engine to the terminal and coding agents (Claude Code and Codex plugins, Kiro Power, any Model Context Protocol (MCP) client). The Reviewer skill checks local changes with your session's intent attached.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Findings you resolve or dismiss with a reason.&lt;/strong&gt; Findings come ranked by severity with a fix, and each dismissal records a reason such as false positive or fix later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing as of October 2026.&lt;/strong&gt; Qodo starts with a 14-day free trial, then &lt;a href="https://www.qodo.ai/pricing/" rel="noopener noreferrer"&gt;Pro Team&lt;/a&gt; from $30 a month for a 2,500-credit pack, pooled across the team, with custom Enterprise pricing.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# install the Qodo Agentic Toolbox (Node.js 20+)&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://get.qodo.ai | sh

&lt;span class="c"&gt;# review local changes before opening a pull request&lt;/span&gt;
qodo review
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;qodo review&lt;/code&gt; compares your local changes with a base commit, so only the base commit has to be on the remote, and your changes can stay unpushed.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Qodo is best for teams merging agent-written PRs who need intent, team rules and related repos checked by a reviewer that didn't write the code.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;On the refund helper, Qodo reads the ticket's "once" and flags the second refund and the empty list. On the rename, Qodo posts a &lt;code&gt;Cross-repo&lt;/code&gt; finding on the &lt;code&gt;billing-service&lt;/code&gt; line that still reads &lt;code&gt;amount_cents&lt;/code&gt;, and both findings wait for the team to fix or dismiss them before merge.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Cursor Bugbot: AI PR Review Billed Through a Cursor Plan
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Cursor Bugbot is Cursor's AI PR reviewer, billed by usage on Cursor plans, and reviews each PR inside its own repository.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Team rules.&lt;/strong&gt; Team Rules and &lt;code&gt;.cursor/BUGBOT.md&lt;/code&gt; files tell Bugbot what your team checks for.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A PR check.&lt;/strong&gt; The check can fail on unresolved findings where enabled.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Cursor Bugbot is best for engineering groups that write in Cursor and want PR review on the same plan.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;The refund helper sits in the PR's own repo, so Bugbot can flag the missing guards, and a configured check can hold the merge. The rename breaks &lt;code&gt;billing-service&lt;/code&gt; in another repo, outside Bugbot's review.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. CodeRabbit: AI PR Review With Linked-Repo Context
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;CodeRabbit is an AI PR reviewer with context from linked issues and past PRs, and it can read other repos you link, with the plan deciding how many.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Walkthroughs with history.&lt;/strong&gt; Each walkthrough draws on linked issues and past PRs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linked repos by plan.&lt;/strong&gt; Essentials links one related repository, and higher plans link more.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;CodeRabbit is best for reviewers who want a walkthrough of each PR with linked issues and past PRs.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;The refund helper is in scope, because the bug sits in the PR's own repo. The rename is in scope when &lt;code&gt;billing-service&lt;/code&gt; is the linked repo, and findings arrive as PR comments for the team to resolve.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Augment Code: Review Inside a Coding-Agent Platform
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Augment Code's Code Review is one agent inside Augment's coding-agent platform, native on GitHub and on other Git platforms through a CLI-based pipeline.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Declared repos.&lt;/strong&gt; A team lists related repositories in &lt;code&gt;AGENTS.md&lt;/code&gt;, and the review reads them as context through the Augment Context Engine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-repo guidelines.&lt;/strong&gt; Each repo carries its own review guidelines.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Augment Code is best for organizations that run code writing and review on one agent platform.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;The refund helper is in scope, and the rename is in scope once &lt;code&gt;billing-service&lt;/code&gt; is declared in &lt;code&gt;AGENTS.md&lt;/code&gt;, with findings posted as PR comments.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. SonarQube: Rule-Based Quality Gate in CI
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;SonarQube is a rule-based quality gate that flags bugs, code smells, vulnerabilities and security hotspots across 30+ languages.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A CI quality gate.&lt;/strong&gt; Quality profiles pick the rules, and the gate gives branch protection a pass or fail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Code Assurance.&lt;/strong&gt; Projects flagged as containing AI-generated code get an AI-qualified quality gate.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;SonarQube is best for teams who want a rule-based quality gate in CI for 30+ languages.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;The refund helper and the rename both follow valid patterns, so both PRs pass a gate that would otherwise block the merge.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. GitHub CodeQL: Security Queries in GitHub Code Scanning
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;GitHub CodeQL finds vulnerabilities by running queries over code in GitHub code scanning.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Default query suites.&lt;/strong&gt; Default suites cover common vulnerability classes before anyone writes a query.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom queries.&lt;/strong&gt; Security teams add queries for patterns specific to their codebase.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;GitHub CodeQL is best for security teams on GitHub who run vulnerability queries in code scanning.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;A missing refund guard and a renamed field aren't vulnerabilities, so both PRs pass CodeQL and nothing holds the merge.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Semgrep: Pattern Rules You Write
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Semgrep matches code patterns you write, plus Semgrep's own SAST rules.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pattern rules.&lt;/strong&gt; Semgrep rules look like the code they match, so a team can encode its own patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-file analysis.&lt;/strong&gt; Paid Pro rules follow code across files.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Semgrep is best for security teams who write and test their own pattern rules.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Semgrep catches the refund helper only if someone wrote a pattern for the missing guard in advance. The rename passes, because &lt;code&gt;billing-service&lt;/code&gt; sits in another repo, so only a pre-written pattern could block the merge.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Snyk Code: SAST Next to Dependency Scanning
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Snyk Code finds code vulnerabilities in the integrated development environment (IDE), the command-line interface (CLI) and PRs.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Dependency scanning alongside.&lt;/strong&gt; Snyk Open Source scans dependencies, so code and dependency findings arrive from one vendor.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Snyk Code is best for security teams who want code and dependency findings from one vendor.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;The refund helper and the rename contain no vulnerability and no vulnerable dependency, so both PRs pass and nothing holds the merge.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. TestSprite: Generated End-to-End Tests
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;TestSprite writes end-to-end tests for user flows and runs them against a reachable app.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tests on GitHub PRs.&lt;/strong&gt; Tests run on GitHub PRs, so a broken flow shows up before merge.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;TestSprite is best for quality assurance (QA) teams who want end-to-end tests generated against a staging app.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;TestSprite catches both bugs when a tested flow exercises them, such as a refund on an order with no payments. Bugs outside the tested flows pass.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Shiplight: Browser Tests Stored as YAML
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tool Overview
&lt;/h4&gt;

&lt;p&gt;Shiplight runs browser tests that agents write in plain YAML files and keeps the tests in the repo next to the code.&lt;/p&gt;

&lt;h4&gt;
  
  
  Main Features
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;YAML tests in the repo.&lt;/strong&gt; Tests change in the same PR as the code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Results on the PR.&lt;/strong&gt; Reviewers see a broken flow next to the diff.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Best For
&lt;/h4&gt;

&lt;p&gt;Shiplight is best for developers who want agent-written browser tests kept in the repo.&lt;/p&gt;

&lt;h4&gt;
  
  
  How It Ranked
&lt;/h4&gt;

&lt;p&gt;Shiplight catches both bugs when a browser flow exercises them, so coverage depends on the flows in the suite, as with TestSprite.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison Table: The 10 Tools on the Two PRs
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Refund helper&lt;/th&gt;
&lt;th&gt;
&lt;code&gt;amount_cents&lt;/code&gt; rename&lt;/th&gt;
&lt;th&gt;Result at merge&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qodo&lt;/td&gt;
&lt;td&gt;3: context-aware AI review&lt;/td&gt;
&lt;td&gt;Flagged from the ticket's "once"&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Cross-repo&lt;/code&gt; finding on &lt;code&gt;billing-service&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Findings the team fixes or dismisses with a reason&lt;/td&gt;
&lt;td&gt;Teams merging agent-written PRs who need intent, rules and related repos checked before merge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cursor Bugbot&lt;/td&gt;
&lt;td&gt;3: AI PR review&lt;/td&gt;
&lt;td&gt;In scope&lt;/td&gt;
&lt;td&gt;Missed: other repo&lt;/td&gt;
&lt;td&gt;PR check can fail on unresolved findings&lt;/td&gt;
&lt;td&gt;Engineering groups that write in Cursor and want PR review on the same plan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CodeRabbit&lt;/td&gt;
&lt;td&gt;3: AI PR review&lt;/td&gt;
&lt;td&gt;In scope&lt;/td&gt;
&lt;td&gt;In scope when &lt;code&gt;billing-service&lt;/code&gt; is linked&lt;/td&gt;
&lt;td&gt;PR comments&lt;/td&gt;
&lt;td&gt;Reviewers who want a walkthrough of each PR with linked issues and past PRs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Augment Code&lt;/td&gt;
&lt;td&gt;3: AI PR review&lt;/td&gt;
&lt;td&gt;In scope&lt;/td&gt;
&lt;td&gt;In scope when &lt;code&gt;billing-service&lt;/code&gt; is declared&lt;/td&gt;
&lt;td&gt;PR comments&lt;/td&gt;
&lt;td&gt;Organizations that run writing and review on one agent platform&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SonarQube&lt;/td&gt;
&lt;td&gt;1 and 2: quality gate&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;Gate passes&lt;/td&gt;
&lt;td&gt;Teams who want a rule-based quality gate in CI for 30+ languages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub CodeQL&lt;/td&gt;
&lt;td&gt;2: security scanner&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;No alert&lt;/td&gt;
&lt;td&gt;Security teams on GitHub who run vulnerability queries in code scanning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Semgrep&lt;/td&gt;
&lt;td&gt;2: security scanner&lt;/td&gt;
&lt;td&gt;Only with a pattern written for it&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;No finding without a pattern&lt;/td&gt;
&lt;td&gt;Security teams who write and test their own pattern rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Snyk Code&lt;/td&gt;
&lt;td&gt;2: security scanner&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;Passes&lt;/td&gt;
&lt;td&gt;No finding&lt;/td&gt;
&lt;td&gt;Security teams who want code and dependency findings from one vendor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TestSprite&lt;/td&gt;
&lt;td&gt;4: app tests&lt;/td&gt;
&lt;td&gt;Caught if the flow is tested&lt;/td&gt;
&lt;td&gt;Caught if the flow is tested&lt;/td&gt;
&lt;td&gt;Failing test on the PR&lt;/td&gt;
&lt;td&gt;QA teams who want end-to-end tests generated against a staging app&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shiplight&lt;/td&gt;
&lt;td&gt;4: app tests&lt;/td&gt;
&lt;td&gt;Caught if the flow is tested&lt;/td&gt;
&lt;td&gt;Caught if the flow is tested&lt;/td&gt;
&lt;td&gt;Failing test on the PR&lt;/td&gt;
&lt;td&gt;Developers who want agent-written browser tests kept in the repo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Conclusion: Catching Bugs in AI-Generated Code Takes a Pipeline
&lt;/h2&gt;

&lt;p&gt;Let CI block on deterministic checks and a scanner such as CodeQL or Semgrep. Give Layer 3 to an independent reviewer with the ticket, your rules and related repos as context, and make reading the reviewer's findings a required step. In both PRs, Qodo is where the second refund and the stale &lt;code&gt;amount_cents&lt;/code&gt; read show up.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How do you verify an AI-generated pull request before merge?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.qodo.ai/glossary/what-is-ai-generated-code-validation/" rel="noopener noreferrer"&gt;Verify an AI-generated pull request&lt;/a&gt; with four layers: deterministic checks, security scanners, context-aware review and app tests. Qodo covers context-aware review.&lt;/p&gt;

&lt;h3&gt;
  
  
  Our coding assistant already reviews its own code. What does a separate reviewer add?
&lt;/h3&gt;

&lt;p&gt;A separate reviewer brings context the writing agent doesn't carry, such as related repos, PR history and your rules. Qodo brings that context to every PR, whichever agent wrote the code.&lt;/p&gt;

&lt;h3&gt;
  
  
  We already run static analysis and security scanners. What does AI review catch that they don't?
&lt;/h3&gt;

&lt;p&gt;AI review catches logic errors, missing edge cases and breaking changes in related repos. Scanners still find known vulnerability patterns, so Qodo runs next to Snyk Code, CodeQL or Semgrep.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can AI code review understand what a change is supposed to do?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.qodo.ai/blog/ai-code-review-tools/" rel="noopener noreferrer"&gt;AI code review&lt;/a&gt; understands what a change is supposed to do when the reviewer reads the ticket behind the change. Qodo's review uses the linked ticket as context.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can developers run the same review before opening a pull request?
&lt;/h3&gt;

&lt;p&gt;Developers can run the same review before opening a pull request. Qodo's Reviewer skill checks local changes with the same engine as the PR review, from the terminal or a coding agent.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do you prove an AI reviewer is catching real problems?
&lt;/h3&gt;

&lt;p&gt;Track what your team does with each finding: Qodo's code review analytics show acted-on and accepted findings by type, severity, repository and author over up to 365 days.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>testing</category>
      <category>devops</category>
    </item>
    <item>
      <title>Trunk-Based Development With Coding Agents: What Replaces Code Review?</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Tue, 20 Oct 2026 13:54:49 +0000</pubDate>
      <link>https://dev.to/uss/trunk-based-development-with-coding-agents-what-replaces-code-review-agf</link>
      <guid>https://dev.to/uss/trunk-based-development-with-coding-agents-what-replaces-code-review-agf</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR: Trunk-Based Development With Coding Agents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On August 13th, Amp's Will Dollman explained &lt;a href="https://ampcode.com/notes/thats-not-soc-2-compliant" rel="noopener noreferrer"&gt;why Amp's trunk-based development, with engineers pushing straight to main and no pull requests, still fits SOC 2&lt;/a&gt;. The controls: restricted push access, signed commits, CI that blocks bad changes, and commits that link to the agent thread that wrote them.&lt;/li&gt;
&lt;li&gt;On October 13th, at Paradigm Frontiers 2026, &lt;a href="https://www.youtube.com/watch?v=kQguG4YS0d0" rel="noopener noreferrer"&gt;Quinn Slack said Amp has "never done any code review"&lt;/a&gt; and that "the agent thread actually can replace the PR."&lt;/li&gt;
&lt;li&gt;On September 2nd, Thoughtworks CTO Rachel Laycock argued for &lt;a href="https://www.martinfowler.com/rachels-ramblings/code-review.html" rel="noopener noreferrer"&gt;moving judgment earlier and reviewing by exception&lt;/a&gt; instead of inspecting every change.&lt;/li&gt;
&lt;li&gt;My take: trunk-based development with coding agents doesn't delete review. Review moves to five places: before the push, the CI gate, the trace back to the agent thread, the rollout after deploy, and owners for load-bearing code.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; puts a real review in the first of those places: it reviews the agent's local changes against main with the same engine it uses for pull requests, and hands the agent your team's rules before it writes code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Trunk-Based Development Looks Like When Coding Agents Push to Main
&lt;/h2&gt;

&lt;p&gt;Trunk-based development is a branching model where everyone integrates small changes into one shared branch, the trunk (main in most Git repos), at least once a day. Some teams use branches that live for a few hours and get a quick review. The purest version skips branches and commits straight to main, with CI (the automated build-and-test pipeline that runs on every push) catching what breaks.&lt;/p&gt;

&lt;p&gt;Coding agents push trunk-based development to its extreme. When an agent can write, test and ship a change in one session, a pull request that waits a day for a human approval is the slowest step between the idea and production.&lt;/p&gt;

&lt;p&gt;Paul Duvall, founder of Redacted Ventures and author of a Jolt Award-winning book on CI, said on &lt;a href="https://www.qodo.ai/podcasts/beyond-the-pr-bottleneck-scaling-engineering-velocity-with-ai-governance/" rel="noopener noreferrer"&gt;The Agentic Review podcast&lt;/a&gt; (July 2nd) that "the whole PR approach of waiting for someone to review it has always been a problem." Coding agents didn't create the PR queue; they made it too long to ignore.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Amp Ships With No Pull Requests and Still Fits SOC 2
&lt;/h2&gt;

&lt;p&gt;Amp builds a coding agent, and builds it with Amp. In &lt;a href="https://ampcode.com/notes/thats-not-soc-2-compliant" rel="noopener noreferrer"&gt;Amp's note "That's not SOC 2 compliant"&lt;/a&gt; (August 13th), Will Dollman writes that skipping pull requests "was a deliberate choice from the first commit." When SOC 2 work started, the auditors asked what Amp's change process was instead.&lt;/p&gt;

&lt;p&gt;Will Dollman's summary in Amp's SOC 2 note: "SOC 2 doesn't require pull requests. It requires that you think about your risks." The Trust Services Criteria behind SOC 2 ask that changes are "authorized, tested, approved, and recorded," and Amp built one control for each part of that sentence.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Control&lt;/th&gt;
&lt;th&gt;What Amp does&lt;/th&gt;
&lt;th&gt;What it gives an auditor&lt;/th&gt;
&lt;th&gt;What it leaves open&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Restricted push access&lt;/td&gt;
&lt;td&gt;Push access to main follows business function; every engineer can push&lt;/td&gt;
&lt;td&gt;Authorized: a clear answer to who can change main, and why&lt;/td&gt;
&lt;td&gt;Anyone with access can push anything&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Signed commits&lt;/td&gt;
&lt;td&gt;GitHub enforces verified signatures on main&lt;/td&gt;
&lt;td&gt;A verifiable author on every commit&lt;/td&gt;
&lt;td&gt;Who pushed, not whether anyone checked the change&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Automated CI&lt;/td&gt;
&lt;td&gt;Tests, infrastructure checks and security checks on every change; "Bad changes block &lt;code&gt;main&lt;/code&gt;"&lt;/td&gt;
&lt;td&gt;Tested: evidence that each change passed the pipeline&lt;/td&gt;
&lt;td&gt;Only what the tests check; a change can edit its own tests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit trail&lt;/td&gt;
&lt;td&gt;Commits link to the Amp thread that wrote them; CI/CD records the path from commit to deploy&lt;/td&gt;
&lt;td&gt;Recorded: the diff plus the conversation behind it&lt;/td&gt;
&lt;td&gt;A record of what happened, not a second opinion&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Amp's SOC 2 note is direct about what's missing from its list of controls: "And no, code review isn't on the list." In the &lt;a href="https://news.ycombinator.com/item?id=49308073" rel="noopener noreferrer"&gt;Hacker News thread on Amp's note&lt;/a&gt;, the top technical question was about approvals. One commenter asked "how are we demonstrating approval without any evidence of change reviews?" An Amp engineer replied: "We...just read the commits, and talk to each other."&lt;/p&gt;

&lt;p&gt;Quinn Slack, founder and former CEO of Sourcegraph and now on the Amp team, went further at Paradigm Frontiers 2026 on October 13th. Quinn Slack said Amp invites teammates into the agent thread when it wants a second opinion, and that "the agent thread actually can replace the PR." His advice for everyone else: start by skipping review on 20% of pull requests, and start "risk scoring them."&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Review Goes in Trunk-Based Development With Coding Agents
&lt;/h2&gt;

&lt;p&gt;Review in trunk-based development with coding agents doesn't disappear; it spreads across five places. Amp's SOC 2 note and two Amp talks from October 13th, Quinn Slack's keynote and a talk by Amp engineer Thorsten Ball, show the pattern: the checks a pull request used to bundle are still there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fklwrkke8mhnzuzii0grb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fklwrkke8mhnzuzii0grb.png" alt="Trunk-based development with coding agents: PR review moves to five stops, from before the push to owners of load-bearing code" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The five-stop diagram of review in trunk-based development spreads the single PR review box along the trunk. The first stop carries the most weight, because it's the last point where a finding costs one more agent turn instead of a revert.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Before the Push: Agent Proof Plus a Pre-Push Code Review
&lt;/h3&gt;

&lt;p&gt;Thorsten Ball, an engineer on the Amp team, asks agents for "irrefutable proof that this works now" before he looks at a change: demo videos, test matrices and logs from the agent's own cloud machine. Thorsten Ball's talk also describes CI running inside the agent's machine before the push and again after it.&lt;/p&gt;

&lt;p&gt;Birgitta BÃ¶ckeler, Distinguished Engineer at Thoughtworks, maps out where pre-integration checks belong in &lt;a href="https://martinfowler.com/articles/harness-engineering.html" rel="noopener noreferrer"&gt;her article on guides and sensors for coding agents&lt;/a&gt; (April 2nd). Birgitta BÃ¶ckeler asks "What is reasonably fast and should be run even before integration, or even before a commit is even created?" Her examples: "linters, fast test suites, basic code review agent."&lt;/p&gt;

&lt;p&gt;Proof and review answer different questions. Proof shows the change works; a review asks whether it follows the team's standards, misses an edge case, or breaks a caller in a file the agent never opened. In a push-to-main workflow, the pre-push routine is the only place that second question gets asked before the code lands.&lt;/p&gt;

&lt;h4&gt;
  
  
  AGENTS.md Pre-Push Checklist and Commit Template
&lt;/h4&gt;

&lt;p&gt;Here's the pre-push section I'd add to an &lt;a href="https://www.qodo.ai/glossary/what-is-agents-md-file/" rel="noopener noreferrer"&gt;AGENTS.md file&lt;/a&gt;, plus the commit format it points to. A &lt;a href="https://www.qodo.ai/glossary/what-is-terminal-and-cli-code-review/" rel="noopener noreferrer"&gt;CLI code review&lt;/a&gt; of the branch against main is the closest thing to a PR review that can run before a push.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- AGENTS.md: before you push to main --&amp;gt;&lt;/span&gt;
&lt;span class="gu"&gt;## Before you push to main&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Run the formatter, type check and fast tests. Paste the summary in the thread.
&lt;span class="p"&gt;2.&lt;/span&gt; Review your diff against origin/main with context: what changed, why, the ticket.
   Fix findings that hold up. Note any you skip, and why. Two review rounds at most.
&lt;span class="p"&gt;3.&lt;/span&gt; Touching a load-bearing path (see LOAD-BEARING.md)? Stop and add the owner to the thread.
&lt;span class="p"&gt;4.&lt;/span&gt; Put new user-facing behavior behind a feature flag. Write the revert rule first.
&lt;span class="p"&gt;5.&lt;/span&gt; Commit with the trailers below, then push.

&lt;span class="gu"&gt;## Commit message&lt;/span&gt;
fix(billing): retry idempotent invoice writes on timeout

Why: duplicate invoices after gateway timeouts (PAY-482)
Agent-Thread: &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt; &lt;span class="na"&gt;the&lt;/span&gt; &lt;span class="na"&gt;agent&lt;/span&gt; &lt;span class="na"&gt;thread&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
Flag: billing_retry_v2 (revert if the 5xx rate goes up after rollout)
Proof: unit + e2e runs in thread; review findings fixed: 2, skipped: 1 (reason in thread)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The two-round review cap in step 2 of the AGENTS.md checklist matters. An agent that reviews and fixes its own work in a loop needs a stopping rule, which I covered in &lt;a href="https://dev.to/uss/how-to-make-an-agentic-loop-converge-in-ai-code-review-4i1c"&gt;how to make an agentic loop converge in AI code review&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The CI Gate That Blocks Bad Changes on Main
&lt;/h3&gt;

&lt;p&gt;Amp's SOC 2 note describes the CI gate on main in one line: "Every change runs through the full validation pipeline: tests, infrastructure checks, security checks. Bad changes block &lt;code&gt;main&lt;/code&gt;." In trunk-based development with coding agents, CI is the one check nobody can skip, so the checks that must never fail belong there.&lt;/p&gt;

&lt;p&gt;Paul Duvall described a deterministic layer on The Agentic Review: rules that check things like signed commits, prompt injection and code smells, run from an agent hook. "This is not LLMs. These are rules that are in place," Paul Duvall said. I'd put the same kind of rules in CI: tests, type checks, secret and dependency scans, and architecture rules written as tests.&lt;/p&gt;

&lt;p&gt;The weak spot of a CI gate came up in the Hacker News thread on Amp's SOC 2 note. One commenter pointed out that "the code change can just modify the same tests or verifications that will be run on it." A CI gate alone won't catch an agent that weakens a test to get green. My fix: have CI flag any commit that changes code and its tests together, and send changes to tests, CI config and policy files to a named owner.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The Trace: Commits That Link Back to the Agent Thread
&lt;/h3&gt;

&lt;p&gt;Amp's audit trail is the most transferable idea in Will Dollman's note. Commits link to their agent threads, "so the record isn't just a diff, it's everything that led up to it." A pull request used to hold the why; now the agent thread holds it.&lt;/p&gt;

&lt;p&gt;Few teams link commits to agent threads today. In Qodo's &lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;code quality report&lt;/a&gt;, Censuswide surveyed 300 U.S. engineering leaders at organizations already using AI meaningfully in the software development lifecycle (August 2026). Only 45.0% of those leaders reported traceability from AI activity to code changes.&lt;/p&gt;

&lt;p&gt;Thorsten Ball showed why the commit-to-thread trace pays off: Amp's agent reads the earlier thread behind a change before touching it, so it learns why a teammate flagged a feature in the first place. Quinn Slack framed the goal as getting human intent "into the code, into somewhere near the code, so that a future agent can find it."&lt;/p&gt;

&lt;p&gt;Two habits make the commit-to-thread trace work outside Amp. Put the thread link, ticket, flag and proof in commit trailers, like the template above. Keep agent threads for as long as their code runs in production, because a dead link in an audit trail is a gap. For the team side of this problem, see my piece on &lt;a href="https://dev.to/uss/cognitive-debt-nobody-needs-the-whole-codebase-in-their-head-22d7"&gt;cognitive debt and why nobody needs the whole codebase in their head&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. After the Deploy: Feature Flags, Monitoring and Fast Reverts
&lt;/h3&gt;

&lt;p&gt;Amp moves a big part of review to production. In Thorsten Ball's talk, he asks the agent to ship a change and "monitor the rollout," and the agent wakes itself up later to report that the commit is live, inference errors didn't increase, but users see a regression. Thorsten Ball's next prompt: "Let's revert it."&lt;/p&gt;

&lt;p&gt;Quinn Slack described the access behind Amp's rollout monitoring: Amp's agent has read-only access to production data and logs, and broader access needs a temporary grant that a human approves. New features ship behind feature flags, and the agent checks how flagged users fare before the flag comes off.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnasnwm9q0s906wo3t6o5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnasnwm9q0s906wo3t6o5.png" alt="Trunk-based development after the deploy: ship behind a feature flag, let the agent watch logs and metrics, then widen the rollout or revert" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The rollout loop diagram shows the decision point after a deploy: widen or revert. Write the revert rule before the push, so the agent isn't deciding after the fact what counts as broken.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Human Owners for Load-Bearing Code
&lt;/h3&gt;

&lt;p&gt;Thorsten Ball's rule is short: "I only review load-bearing code." He explains why the rule works: near the edges of a system there's more tolerance for errors, and "a CSS error is not the same as a broken database migration."&lt;/p&gt;

&lt;p&gt;Amp runs with no fixed code ownership, according to Quinn Slack's keynote, which works for a team of about 20 people who all know the code. A bigger team needs a written list of load-bearing paths and a person for each. A &lt;a href="https://www.qodo.ai/glossary/what-is-codeowners-file/" rel="noopener noreferrer"&gt;CODEOWNERS file&lt;/a&gt; is the usual place for that list, and the same file can tell the agent when to stop and pull a human into the thread.&lt;/p&gt;

&lt;p&gt;Nirmal Jingar, a senior engineering leader in enterprise AI and supply chain technology, put risk-based review in tiers on &lt;a href="https://www.qodo.ai/podcasts/deterministic-governance-for-enterprise-ai-systems/" rel="noopener noreferrer"&gt;The Agentic Review&lt;/a&gt; (August 19th): "we have to define the governance for every problem at every level. And based on that, you can decide how fast you can move." For his low-risk systems, Nirmal Jingar said, "maybe tier three, tier four, I can be fully agentic."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F27pm2pd6yo9a666c81na.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F27pm2pd6yo9a666c81na.png" alt="Trunk-based development risk tiers: edge changes ship on agent proof and CI, while load-bearing code like migrations and auth gets an owner's review" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The risk ladder diagram sorts trunk-based changes by how much a mistake would cost: copy and styling at the bottom, service logic in the middle, migrations, auth, billing and CI config at the top. Each rung adds one more check, and only the top rung needs a human owner before the push.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Trunk-Based Development With No PRs Breaks Down
&lt;/h2&gt;

&lt;p&gt;Amp's SOC 2 note names the limit of trunk-based development with no PRs. "We're 20 people, mostly engineers, and everyone is close to the code," Will Dollman writes, adding that "we're not going to pretend a 2,000-person company should let everyone push to main."&lt;/p&gt;

&lt;p&gt;Compliance is the first wall most teams hit when they drop pull requests. Emilie Schario, VP of Engineering at Anaconda and co-founder of Kilo, said on &lt;a href="https://www.qodo.ai/podcasts/what-engineering-organizations-get-wrong-about-ai-adoption/" rel="noopener noreferrer"&gt;The Agentic Review&lt;/a&gt; (September 4th) that before changing who reviews what, you should "talk to your compliance folks and understand what your org's compliance obligations are." Qodo's glossary entry on &lt;a href="https://www.qodo.ai/glossary/what-is-soc-2-and-iso-compliance-for-code-review/" rel="noopener noreferrer"&gt;SOC 2 compliance for code review&lt;/a&gt; makes the same point from the other side: neither SOC 2 nor ISO 27001 makes a pull request compliant by itself.&lt;/p&gt;

&lt;p&gt;On the September 4th episode of The Agentic Review, Itamar Friedman, co-founder and CEO of Qodo, floated a middle path for bigger organizations: batch agent changes into a larger unit, and "before that version or subversion or subtag is merged into main, then a human is reviewing that." In Itamar Friedman's framing, "Humans are still in charge of the outcome, of the reliability, of the maintainability."&lt;/p&gt;

&lt;p&gt;Governance worries are real at the leadership level. In Qodo's code quality report, 29.7% of the surveyed engineering leaders named governance and visibility as the area where they're most at risk of losing control. Here's how I'd compare three ways to run review once agents write most of the code.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;PR on every change&lt;/th&gt;
&lt;th&gt;Amp-style push to main&lt;/th&gt;
&lt;th&gt;Middle path I'd try on a bigger team&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Who can change main&lt;/td&gt;
&lt;td&gt;Anyone with merge rights, after approval&lt;/td&gt;
&lt;td&gt;Every engineer with push access&lt;/td&gt;
&lt;td&gt;Agents and engineers on low-risk paths; owners on load-bearing paths&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where review happens&lt;/td&gt;
&lt;td&gt;In the PR, before merge&lt;/td&gt;
&lt;td&gt;Agent proof before the push; rollout monitoring after&lt;/td&gt;
&lt;td&gt;Context-aware review before the push; human review on load-bearing changes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Approval evidence&lt;/td&gt;
&lt;td&gt;PR approvals&lt;/td&gt;
&lt;td&gt;Signed commit plus the agent thread&lt;/td&gt;
&lt;td&gt;Signed commit, thread link, findings handled, owner sign-off where required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tests and CI&lt;/td&gt;
&lt;td&gt;On the PR branch, then on main&lt;/td&gt;
&lt;td&gt;In the agent's machine, then after push; bad changes block main&lt;/td&gt;
&lt;td&gt;Same as Amp, plus an owner for changes to tests and CI config&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit trail&lt;/td&gt;
&lt;td&gt;PR comments and history&lt;/td&gt;
&lt;td&gt;Commit links to the agent thread; CI/CD records commit to deploy&lt;/td&gt;
&lt;td&gt;Commit trailers: thread, ticket, flag, proof&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rollout&lt;/td&gt;
&lt;td&gt;Merge, then deploy&lt;/td&gt;
&lt;td&gt;Feature flags, agent watches logs, revert or fix forward&lt;/td&gt;
&lt;td&gt;Feature flags with revert rules written before the push&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best fit&lt;/td&gt;
&lt;td&gt;Large teams, regulated code, open source&lt;/td&gt;
&lt;td&gt;Small, high-trust teams close to the code&lt;/td&gt;
&lt;td&gt;Teams that want speed on low-risk code and a named owner on risky code&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Rachel Laycock's &lt;a href="https://www.martinfowler.com/rachels-ramblings/code-review.html" rel="noopener noreferrer"&gt;review-by-exception list&lt;/a&gt; is a good starting point for deciding which changes count as load-bearing: a fundamental architectural change, "something crossing a sensitive security boundary, a change with a huge blast radius, an unfamiliar part of a critical system," or anything the team isn't confident about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Qodo Fits in Trunk-Based Development With Coding Agents
&lt;/h2&gt;

&lt;p&gt;Qodo is the AI code review platform I'd wire into a coding agent's push routine, because in trunk-based development with no PRs, the review has to happen before the code lands. Qodo's &lt;a href="https://docs.qodo.ai/agentic-toolbox/agentic-toolbox-codebase-review-skill" rel="noopener noreferrer"&gt;Reviewer skill&lt;/a&gt; runs &lt;code&gt;qodo review&lt;/code&gt; on the agent's local committed and uncommitted changes against a base branch, with the same engine Qodo uses for pull request review. Only the base commit has to be pushed; the agent's work can stay local until it's clean.&lt;/p&gt;

&lt;p&gt;Qodo's Reviewer takes the context a diff can't carry: a summary of intent, key decisions and links to the ticket, spec or design. The agent can record deliberate decisions so Qodo doesn't flag them again, and it gets machine-readable findings it can fix and re-check. Kiran Naragund walks through the full loop in &lt;a href="https://dev.to/dev_kiran/shift-left-code-review-how-qodo-turns-your-coding-agent-into-its-own-first-reviewer-58fc"&gt;Shift Left Code Review: How Qodo Turns Your Coding Agent Into Its Own First Reviewer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Qodo works before the first line of code exists. Qodo's &lt;a href="https://docs.qodo.ai/agentic-toolbox/agentic-toolbox-get-rules-skill" rel="noopener noreferrer"&gt;Get Rules skill&lt;/a&gt; hands the agent the global and repository rules that apply to the current task before implementation starts. All Qodo agents run on the &lt;a href="https://docs.qodo.ai/core-concepts/context-engine" rel="noopener noreferrer"&gt;Context Engine&lt;/a&gt;, which reasons over repositories, pull request history, organizational rules and workflows, so a review looks past the changed lines to the system around them.&lt;/p&gt;

&lt;p&gt;Qodo helps after the deploy. When a rollout goes wrong, Qodo's &lt;a href="https://docs.qodo.ai/agentic-toolbox/agentic-toolbox-codebase-wisdom-skill" rel="noopener noreferrer"&gt;Codebase Wisdom skill&lt;/a&gt; lets the agent investigate the regression and identify the change that introduced it, using repository relationships, pull request history and the current Git state.&lt;/p&gt;

&lt;p&gt;Most teams will keep pull requests for load-bearing paths and regulated repos, and Qodo covers those too. Qodo reviews each pull request automatically with full codebase context, and its &lt;a href="https://docs.qodo.ai/code-review/assess-risk-with-blast-radius" rel="noopener noreferrer"&gt;blast radius label&lt;/a&gt; classifies each change's risk on GitHub, GitLab and Azure DevOps, so owners see which pull requests need the closest look. Qodo's findings are advisory, and a dismissed finding keeps its reason on record; your CI and branch rules still decide what lands on main.&lt;/p&gt;

&lt;p&gt;For the bigger picture, Qodo's guide to &lt;a href="https://www.qodo.ai/blog/shift-left-code-review/" rel="noopener noreferrer"&gt;shift left code review&lt;/a&gt; and its walkthrough of the &lt;a href="https://www.qodo.ai/blog/code-review-process/" rel="noopener noreferrer"&gt;code review process&lt;/a&gt; are good next reads, along with Nnenna Ndukwe's piece on &lt;a href="https://dev.to/nnennandukwe/why-reviewing-ai-generated-code-after-the-pr-is-too-late-33mh"&gt;why reviewing AI-generated code after the PR is too late&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: Trunk-Based Development Moves Review, It Doesn't Remove It
&lt;/h2&gt;

&lt;p&gt;Amp's no-PR workflow is a real system, not a missing step. Push access, signed commits, a CI gate and commits linked to agent threads give an auditor what a pull request used to, and Amp still reviews load-bearing code and watches every rollout.&lt;/p&gt;

&lt;p&gt;Trunk-based development with coding agents works when the five stops are explicit: a review and proof before the push, a CI gate the agent can't talk its way past, a trace back to the thread, a rollout with a revert rule, and an owner for every load-bearing path. Skip one, and the missing pull request becomes a missing check.&lt;/p&gt;

&lt;p&gt;Would your team drop pull requests for low-risk code if the five review stops were in place? Tell me in the comments.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ About Trunk-Based Development With Coding Agents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can you do trunk-based development without code review?
&lt;/h3&gt;

&lt;p&gt;Trunk-based development without code review on every change is possible for small, high-trust teams with strong tests, as Amp's push-to-main workflow shows. The checks move instead of disappearing: proof and review before the push, CI on main, traces and rollout monitoring. Qodo reviews the agent's local changes against main before the push, so code lands already reviewed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is pushing directly to main SOC 2 compliant?
&lt;/h3&gt;

&lt;p&gt;Pushing directly to main can be SOC 2 compliant, because SOC 2 asks that changes are authorized, tested, approved and recorded, not that they go through pull requests. Amp worked with its auditors on controls built on push access, signed commits, CI and commit-to-thread traces. Check your own obligations with your compliance team. Where you keep pull requests, Qodo records the reason behind every dismissed finding.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where does code review run when coding agents push straight to main?
&lt;/h3&gt;

&lt;p&gt;Code review runs inside the agent's session when coding agents push straight to main: the agent reviews its diff against main before the push, and humans review load-bearing changes or join the agent thread. Qodo's &lt;code&gt;qodo review&lt;/code&gt; runs from the CLI, from MCP clients and from coding agent plugins, so the same review engine works wherever the agent does.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can team rules guide a coding agent before it writes code?
&lt;/h3&gt;

&lt;p&gt;Team rules can guide a coding agent before it writes code when the agent loads them at the start of a task instead of meeting them in review. Qodo's Get Rules skill retrieves the global and repository rules that apply to the current task before implementation starts, and Qodo's review checks the result against your standards afterward.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does AI code review fit alongside CI checks and static analysis?
&lt;/h3&gt;

&lt;p&gt;AI code review fits alongside CI checks and static analysis as the layer for questions deterministic tools can't answer, such as whether a change matches its intent or breaks a caller in another file. Keep linters, tests and scanners in CI as the gate on main. Qodo reviews changes with full codebase context before the push and in pull requests, and CI stays the gate.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>codereview</category>
      <category>programming</category>
    </item>
    <item>
      <title>Cognitive Debt: Nobody Needs the Whole Codebase in Their Head</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Mon, 19 Oct 2026 15:58:49 +0000</pubDate>
      <link>https://dev.to/uss/cognitive-debt-nobody-needs-the-whole-codebase-in-their-head-22d7</link>
      <guid>https://dev.to/uss/cognitive-debt-nobody-needs-the-whole-codebase-in-their-head-22d7</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On October 15th, Anthropic's Claude Code team wrote: "Nobody on the team keeps a complete mental model of Claude Code in their head, and we don't think anyone needs to." When someone needs to learn a slice of the code, they ask Claude for an explainer.&lt;/li&gt;
&lt;li&gt;Margaret-Anne Storey, a computer science professor at the University of Victoria, defines &lt;a href="https://arxiv.org/abs/2603.22106" rel="noopener noreferrer"&gt;cognitive debt&lt;/a&gt; as the erosion of shared understanding across a team. Her paper agrees that nobody needs the whole system in their head, and also tells teams to "resist the automation of understanding."&lt;/li&gt;
&lt;li&gt;On April 15th, &lt;a href="https://www.thoughtworks.com/radar/techniques/codebase-cognitive-debt" rel="noopener noreferrer"&gt;Thoughtworks put codebase cognitive debt on its Technology Radar&lt;/a&gt; with a "Caution" rating, because AI-driven change velocity is outpacing what teams understand.&lt;/li&gt;
&lt;li&gt;My take: the hot take is right about the whole codebase and wrong if it means nobody needs the why. Cognitive debt builds up when intent, ownership and design decisions live in nobody's head and nobody's files.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; keeps the why attached to every change. Its PR summaries capture each pull request's intent, its review checks the code against the linked ticket, and its Software Map shows how repositories connect as pull requests land.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Cognitive Debt Means for a Codebase
&lt;/h2&gt;

&lt;p&gt;Cognitive debt in a codebase is the gap between what the system does and what the team understands about how and why it works. Margaret-Anne Storey's paper &lt;a href="https://arxiv.org/abs/2603.22106" rel="noopener noreferrer"&gt;From Technical Debt to Cognitive and Intent Debt&lt;/a&gt; (first posted March 23rd, revised April 6th) calls cognitive debt "a team-level, project-level property" and splits software health into three kinds of debt.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Debt&lt;/th&gt;
&lt;th&gt;Where it lives&lt;/th&gt;
&lt;th&gt;What it makes harder&lt;/th&gt;
&lt;th&gt;One sign you have it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Technical debt&lt;/td&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;Changing the system&lt;/td&gt;
&lt;td&gt;Simple fixes keep breaking nearby code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cognitive debt&lt;/td&gt;
&lt;td&gt;People&lt;/td&gt;
&lt;td&gt;Understanding the system&lt;/td&gt;
&lt;td&gt;A change does something nobody predicted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intent debt&lt;/td&gt;
&lt;td&gt;Artifacts: specs, ADRs, tests, agent instructions&lt;/td&gt;
&lt;td&gt;Knowing what the system is for&lt;/td&gt;
&lt;td&gt;An agent ships correct code that misses the point&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Margaret-Anne Storey sums up the three debts in three lines: "Technical debt makes systems harder to change. Cognitive debt makes systems harder to understand. Intent debt makes it difficult to know what the system is actually for." The third line matters most for agent-written code, because a coding agent can read your code but not the reasons behind it.&lt;/p&gt;

&lt;p&gt;Storey's paper notes that "cognitive debt" also describes lower brain engagement in individual people using AI, and that "comprehension debt" is the gap between the code a developer can generate with AI and what they understand. The team-level version is the one that hurts a codebase, because a whole team can lose the plot while each person feels fine.&lt;/p&gt;

&lt;p&gt;Simon Willison, co-creator of the Django web framework, described the individual kind of cognitive debt on &lt;a href="https://simonwillison.net/2026/Feb/15/cognitive-debt/" rel="noopener noreferrer"&gt;his blog&lt;/a&gt; (February 15th). After prompting new features into existence without reviewing their implementations, Simon Willison wrote, "I've found myself getting lost in my own projects," and said he no longer had "a firm mental model of what they can do and how they work."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb54dhmnxf1947ylk1qwa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb54dhmnxf1947ylk1qwa.png" alt="Cognitive debt in the triple debt model: technical debt lives in code, cognitive debt lives in people, intent debt lives in artifacts" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The triple debt diagram puts each debt in its own layer: code, people and artifacts. The middle layer, people, is the one an on-demand explainer touches, and the bottom layer, artifacts, is the one that holds the why.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hot Take: Nobody Needs the Whole Codebase in Their Head
&lt;/h2&gt;

&lt;p&gt;Anthropic's Claude Code team says code review has two jobs, in an October 15th post by Addy Osmani, Morgan Westlee Lunt and Qing Wang: finding and fixing issues, and building "shared context and codebase understanding across the team." The hot take sits in a short section on the second job.&lt;/p&gt;

&lt;p&gt;The Claude Code team asks the question directly: "If machines do most of the reading, how does anyone learn the code?" Their answer is on-demand explainers. When a team member wants to understand part of the codebase, they ask Claude to write an explainer for exactly that slice, which "takes minutes and reflects the code as it is today." Some team members have Claude build a small artifact that visualizes the code, and the team works in open Slack channels so people see what others build.&lt;/p&gt;

&lt;p&gt;Volume is why line-by-line reading stopped working at Anthropic: in Anthropic's monorepo, changes landing per day went from about 2,500 in May to more than 30,000 in September, according to the Claude Code team's post. The post is also honest about the gap: "We don't have a formal process for this."&lt;/p&gt;

&lt;h3&gt;
  
  
  Where the Claude Code Team Is Right
&lt;/h3&gt;

&lt;p&gt;The "whole codebase" half of the hot take is old news, in a good way. Margaret-Anne Storey's paper cites a 1988 field study showing that no one developer understands all of a large system, and states that "Software development has never required any one person to understand an entire system." A team needs enough shared understanding, spread across people and artifacts, to change the system safely.&lt;/p&gt;

&lt;p&gt;Anthropic's Claude Code team is also right that trivial diffs teach very little. Their line: "A one-line copy change teaches you almost nothing. An explainer for the module you're about to change teaches you a lot." A fresh explainer also beats an onboarding doc nobody has touched since the last reorg.&lt;/p&gt;

&lt;p&gt;Liz Fong-Jones, Technical Fellow at Honeycomb, made the attention argument on &lt;a href="https://www.qodo.ai/podcasts/is-ai-making-you-an-average-engineer/" rel="noopener noreferrer"&gt;The Agentic Review podcast&lt;/a&gt; (September 30th). "When you try to have humans pay attention to everything, it's assigning no value to the humans," she said, because "it's saying everything is important; therefore, nothing is important." Human attention has to be spent on purpose.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where the Hot Take Gets Risky
&lt;/h3&gt;

&lt;p&gt;Margaret-Anne Storey's paper contains a warning that reads like a reply to the explainer habit. Under the heading "Resist the automation of understanding," she writes that generating explanations without the team doing the hard thinking "substitutes the appearance of understanding for the real thing and makes cognitive debt harder to detect."&lt;/p&gt;

&lt;p&gt;Margaret-Anne Storey's paper also names the mechanism behind fake understanding: cognitive surrender, a term from Wharton researchers Steven D. Shaw and Gideon Nave for adopting AI output with minimal scrutiny. Storey's paper cites Shaw and Nave's finding that cognitive surrender inflates confidence even when the AI is wrong, so "the team feels they understand the system better than they do." An explainer you skim and accept is a quick route to that feeling.&lt;/p&gt;

&lt;p&gt;An on-demand explainer also only knows what the code says, and the code holds the what, not the why. In Qodo's &lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;code quality report&lt;/a&gt;, Censuswide surveyed 500 U.S. developers at organizations already using AI meaningfully in the software development lifecycle (August 2026). 13.2% of those developers picked understanding whether code matches its intent as their single greatest AI code review challenge. An explainer generated from the code can't answer the intent question, because the intent was never in the code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxhxjkwcr38ocp0te0apv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxhxjkwcr38ocp0te0apv.png" alt="Cognitive debt and AI explainers: an explainer reads what the code does, but the why, rejected options and owner live outside it" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The two-column card splits what an on-demand explainer can read from the code from what it can't. The right-hand column, with the reasons, rejected options, hidden constraints and the owner, is where cognitive debt and intent debt build up when nobody writes anything down.&lt;/p&gt;

&lt;p&gt;Emilie Schario, VP of Engineering at Anaconda and co-founder of Kilo, drew the ownership line on &lt;a href="https://www.qodo.ai/podcasts/what-engineering-organizations-get-wrong-about-ai-adoption/" rel="noopener noreferrer"&gt;The Agentic Review&lt;/a&gt; (September 4th): "In the August 2026 era, I would say PRs still have to have a human responsible for them." For Emilie Schario, the owner's job covers "the feature and understanding: did we build the right thing to solve the user's problem?" No explainer answers that question for the owner.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Spot Cognitive Debt on Your Team
&lt;/h2&gt;

&lt;p&gt;Cognitive debt is hard to see because it lives in people, not in files. Margaret-Anne Storey's paper lists five signals. I've added what each signal tends to look like on a team where coding agents write most of the code, plus a cheap check for each.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal (from Storey's paper)&lt;/th&gt;
&lt;th&gt;What it looks like with coding agents&lt;/th&gt;
&lt;th&gt;Cheap check&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Resistance to change&lt;/td&gt;
&lt;td&gt;People avoid an agent-built module and send the agent in instead&lt;/td&gt;
&lt;td&gt;Which modules has no person reviewed in depth this quarter?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unexpected results&lt;/td&gt;
&lt;td&gt;A change does something nobody predicted, and the agent's explanation is the first anyone hears of it&lt;/td&gt;
&lt;td&gt;Count "we didn't expect that" items in retros&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Slow onboarding&lt;/td&gt;
&lt;td&gt;New joiners find docs that say what the code does, not why&lt;/td&gt;
&lt;td&gt;Days until a new joiner's first non-trivial PR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lost transactive memory (who knows what)&lt;/td&gt;
&lt;td&gt;Everyone asks their own AI session, so nobody knows who knows a system&lt;/td&gt;
&lt;td&gt;Can the team name an owner for every service?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low bus factor&lt;/td&gt;
&lt;td&gt;One person, or one person's prompt history, holds the context&lt;/td&gt;
&lt;td&gt;How many people can approve changes on each critical path?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Intent debt has its own signals in Margaret-Anne Storey's paper. Behavior drifts away from what stakeholders expect. Non-functional constraints such as performance budgets and privacy rules live in a few heads and get forgotten. AI agents need lots of clarification, burn more tokens than expected, or write code that is technically correct but misses the point.&lt;/p&gt;

&lt;p&gt;Thoughtworks describes where the two debts lead in its &lt;a href="https://www.thoughtworks.com/radar/techniques/codebase-cognitive-debt" rel="noopener noreferrer"&gt;Technology Radar entry on codebase cognitive debt&lt;/a&gt;. Weaker system understanding makes developers worse at steering AI, and combined with growing technical debt it forms a reinforcing loop. At the tipping point, in the Radar's words, "small changes trigger unexpected failures."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1csbqcofyt7goi9q74hp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1csbqcofyt7goi9q74hp.png" alt="Cognitive debt loop: AI-speed change outpaces shared understanding, steering agents gets weaker and the next change gets harder" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The loop diagram shows why cognitive debt compounds: each lap makes the next change harder to reason about. The exit arrow points at the step a team controls, which is writing down intent and sharing understanding on purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  6 Ways to Pay Down Cognitive Debt Without Reading Every Diff
&lt;/h2&gt;

&lt;p&gt;Reading every diff is off the table at agent volume. Here are the six practices I'd use to keep a team's shared understanding healthy anyway, mostly from Margaret-Anne Storey's paper and the Thoughtworks Radar, with my notes for teams that ship agent-written code.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Use the Explainer, Then Explain It Back
&lt;/h3&gt;

&lt;p&gt;An on-demand explainer is a fine first step. The step that builds understanding comes after it: explain the module back to a teammate, or walk through the agent-built code together before a big change. Margaret-Anne Storey's paper recommends "system walkthroughs where developers explain code they did not write." I'd rather spend 20 minutes on a walkthrough than a week chasing a regression in code nobody could explain.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Write the Why Down Where Agents and People Both Read It
&lt;/h3&gt;

&lt;p&gt;Intent debt is the debt you can pay down with files. Architecture decision records (ADRs), tickets with acceptance criteria, tests that state their purpose and agent instruction files such as &lt;a href="https://www.qodo.ai/glossary/what-is-agents-md-file/" rel="noopener noreferrer"&gt;AGENTS.md&lt;/a&gt; or CLAUDE.md all carry intent that the code alone can't. Margaret-Anne Storey's paper adds a timing rule: "Intent is best captured at the moment key decisions are made."&lt;/p&gt;

&lt;p&gt;Liz Fong-Jones, Technical Fellow at Honeycomb, said on &lt;a href="https://www.qodo.ai/podcasts/is-ai-making-you-an-average-engineer/" rel="noopener noreferrer"&gt;The Agentic Review&lt;/a&gt; that teams now write down implicit assumptions for AI, and that "writing these things down is to everyone's benefit, both the new joiners in your organization as well as to the AI's benefit." With code cheap to write, Liz Fong-Jones argued, teams "can and should be doing that ADR process for every major change."&lt;/p&gt;

&lt;p&gt;Here's the intent block I'd add to a pull request template. A coding agent can fill in most of the intent block, but the person who directed the agent should write or check the "Rejected, and why" line, because no explainer can recover a rejected option later.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- .github/pull_request_template.md: intent block --&amp;gt;&lt;/span&gt;
&lt;span class="gu"&gt;## Why this change&lt;/span&gt;
Ticket: PROJ-123
Problem in one sentence:

&lt;span class="gu"&gt;## Decisions&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Chose:
&lt;span class="p"&gt;-&lt;/span&gt; Rejected, and why:
&lt;span class="p"&gt;-&lt;/span&gt; Constraint the code doesn't show (perf budget, privacy rule, API contract):

&lt;span class="gu"&gt;## To understand this change, read&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Module, ADR or doc:
&lt;span class="p"&gt;-&lt;/span&gt; Person to ask:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Map Owners Instead of Every Line
&lt;/h3&gt;

&lt;p&gt;Nobody needs the whole codebase, but every part of the codebase needs somebody. A &lt;a href="https://www.qodo.ai/glossary/what-is-codeowners-file/" rel="noopener noreferrer"&gt;CODEOWNERS file&lt;/a&gt; names who reviews which paths, which turns "who knows this?" into a lookup instead of a Slack hunt. Margaret-Anne Storey's paper lists low bus factor and lost transactive memory as cognitive debt signals, and an ownership map is the cheapest fix for both.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Move Human Review Up to Design and Intent
&lt;/h3&gt;

&lt;p&gt;Liz Fong-Jones described how her teams moved peer review earlier on The Agentic Review: "doing peer reviews more often at the design stage or at the, you know, hey, is my specification to the agent correct?" Liz Fong-Jones said keeping those conversations human matters "because we think that it's important for engineers to have ownership of the design decisions."&lt;/p&gt;

&lt;p&gt;Liz Fong-Jones also reframed what people check in the code itself: "does this have fidelity with the design that we as humans put together and we agreed upon?" A design review builds shared understanding before the code exists, which is cheaper than rebuilding it after. For the code-level side of agent work, I wrote about &lt;a href="https://dev.to/uss/your-agent-opened-15-prs-how-to-review-ai-generated-code-as-one-work-package-5h6m"&gt;reviewing 15 agent PRs as one work package&lt;/a&gt; and about &lt;a href="https://dev.to/uss/how-to-make-an-agentic-loop-converge-in-ai-code-review-4i1c"&gt;making the agent-to-reviewer loop converge&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Treat Surprises as Lessons for the Whole Team
&lt;/h3&gt;

&lt;p&gt;Unexpected results are the most reliable cognitive debt signal in Margaret-Anne Storey's paper, so every surprise points at a slice of the system the team has lost. Storey's paper recommends retrospectives and post-mortems "to help collectively rebuild mental models that may have frayed." I'd add one question to every retro: which part of the system did we misunderstand, and where is the why written down now?&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Measure Cognitive Debt With Two Cheap Signals
&lt;/h3&gt;

&lt;p&gt;Margaret-Anne Storey's paper suggests tracking onboarding time, knowledge concentration and "the gap between documented intent and actual behavior." The Thoughtworks Radar adds team cognitive load and architectural fitness functions that check key constraints automatically. I'd start with two numbers: days until a new joiner ships a non-trivial PR, and how many people can approve changes on each critical path. If either number gets worse while output goes up, cognitive debt is growing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Qodo Fits When Nobody Holds the Whole Codebase
&lt;/h2&gt;

&lt;p&gt;Qodo is the AI code review platform I'd put in front of agent-written code when nobody holds the whole codebase in their head, because Qodo keeps the intent and the system context attached to every change. Qodo's &lt;a href="https://docs.qodo.ai/core-concepts/context-engine" rel="noopener noreferrer"&gt;Context Engine&lt;/a&gt; reasons over repositories, pull request history, organizational rules and workflows, so a review looks past the changed lines to the system around them.&lt;/p&gt;

&lt;p&gt;Qodo's &lt;a href="https://www.qodo.ai/glossary/what-is-pr-summary-quality-and-pr-description-generation/" rel="noopener noreferrer"&gt;PR summaries&lt;/a&gt; read the &lt;a href="https://www.qodo.ai/glossary/what-is-full-codebase-context-vs-diff-only-review/" rel="noopener noreferrer"&gt;full codebase instead of only the diff&lt;/a&gt;. Each Qodo summary captures the intent of the change, estimates review time and adds Walkthroughs: a Description, a Diagram and a High-Level Assessment of what changed, how and why. A reviewer starts with the why before reading a line, which is the opposite of cognitive surrender.&lt;/p&gt;

&lt;p&gt;Qodo also checks code against the intent written outside the repository. Qodo's &lt;a href="https://docs.qodo.ai/integrations/ticketing-integrations" rel="noopener noreferrer"&gt;ticket context&lt;/a&gt; pulls the linked ticket from Jira, Linear, Azure DevOps, Monday.com, GitHub Issues or GitLab Issues, and the review flags missing or incomplete requirements and changes that don't clearly support the stated goal. An optional Qodo setting flags changes that look unrelated to the ticket, one of the ways intent debt shows up in a PR.&lt;/p&gt;

&lt;p&gt;Qodo's &lt;a href="https://docs.qodo.ai/governance/repositories/gain-insight-with-software-map" rel="noopener noreferrer"&gt;Software Map&lt;/a&gt; gives the team the system view nobody keeps in their head. The Software Map shows how repositories connect, which downstream repositories depend on a change, which services consume a contract and where review findings pile up. Qodo derives the map from the code and updates it as pull requests land, so there's no architecture diagram to keep current.&lt;/p&gt;

&lt;p&gt;Qodo's PR chat keeps decisions on the record. A reviewer can ask Qodo to explain a finding inside the pull request, or dismiss it in plain language, such as "@qodo this is intentional, we want to keep the legacy behavior," and Qodo records the dismissal with the reason. The next person finds the why next to the code.&lt;/p&gt;

&lt;p&gt;A Qodo PR summary is still an AI explanation, so I treat it the way Margaret-Anne Storey suggests treating any explainer: as material for a person to reason with, with the ticket and the system map attached. For more on context, see my piece on &lt;a href="https://dev.to/uss/how-ai-coding-agents-get-codebase-context-before-they-write-code-1cjm"&gt;how AI coding agents get codebase context&lt;/a&gt; and Qodo's guide to &lt;a href="https://www.qodo.ai/academy/ai-code-review/" rel="noopener noreferrer"&gt;AI code review&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: Nobody Needs the Whole Codebase, Everyone Needs the Why
&lt;/h2&gt;

&lt;p&gt;Anthropic's Claude Code team is right that nobody needs the whole codebase in their head, and software never worked that way anyway. Cognitive debt starts when the team stops sharing the theory of the system and nobody writes down why the code is the way it is.&lt;/p&gt;

&lt;p&gt;Use explainers, then explain the code back. Write intent into ADRs, tickets, PR templates and agent instruction files. Keep an ownership map, move human review up to design, mine every surprise for a lesson and track two cheap signals. For the review side, Qodo's &lt;a href="https://www.qodo.ai/blog/code-review-best-practices/" rel="noopener noreferrer"&gt;code review best practices&lt;/a&gt; is a good next read.&lt;/p&gt;

&lt;p&gt;How does your team keep shared understanding now that agents write most of the code? Tell me in the comments.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ About Cognitive Debt
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is cognitive debt in software development?
&lt;/h3&gt;

&lt;p&gt;Cognitive debt in software development is the erosion of a team's shared understanding of how and why a system works. Margaret-Anne Storey calls it a team-level property that grows when AI-written change outpaces what people understand. Qodo keeps each change's intent and system context visible in review, so the team keeps up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does every developer need to understand the whole codebase?
&lt;/h3&gt;

&lt;p&gt;No developer needs to understand the whole codebase, and large systems have always depended on understanding spread across a team. What a team needs is an owner for every part and a written why for key decisions. Qodo's Software Map shows how repositories connect, so nobody has to memorize the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can AI explainers replace code review for sharing knowledge?
&lt;/h3&gt;

&lt;p&gt;AI explainers can't replace code review for sharing knowledge on their own, because an explainer generated from code knows the what but not the why. Pair explainers with walkthroughs and written intent. Qodo's PR summaries include the change's intent and the linked ticket, which gives reviewers the why that a code-only explainer misses.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can code review use requirements from outside the repository?
&lt;/h3&gt;

&lt;p&gt;Code review can use requirements from outside the repository when the review tool reads the linked ticket. Qodo pulls title, description and other fields from Jira, Linear, Azure DevOps, Monday.com, GitHub Issues and GitLab Issues, then flags missing requirements and changes that don't support the ticket's goal.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does AI code review keep codebase context current?
&lt;/h3&gt;

&lt;p&gt;AI code review keeps codebase context current by learning from the code and the pull requests as they change, instead of relying on curated docs. Qodo's Context Engine indexes repositories and pull request history, and Qodo's Software Map updates as pull requests land, so context doesn't depend on someone updating a diagram.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>codereview</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>How to Make an Agentic Loop Converge in AI Code Review</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Mon, 19 Oct 2026 14:09:52 +0000</pubDate>
      <link>https://dev.to/uss/how-to-make-an-agentic-loop-converge-in-ai-code-review-4i1c</link>
      <guid>https://dev.to/uss/how-to-make-an-agentic-loop-converge-in-ai-code-review-4i1c</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On October 15th, Anthropic's Claude Code team wrote that one pull request (PR) went through "more than fifty rounds of review and fixes overnight before its author stopped it." The agentic loop between their coding agent and their AI reviewer had no exit.&lt;/li&gt;
&lt;li&gt;When the Claude Code team ran &lt;code&gt;git blame&lt;/code&gt; on what their reviewer kept flagging, about 59% was code that had been there since the reviewer's first pass. Late rounds were mostly finding old bugs.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://arxiv.org/abs/2603.13870" rel="noopener noreferrer"&gt;paper by Ruihan Lin and Jiheng Zhang&lt;/a&gt;, revised in September, treats AI review as a capacity decision. In their calibrated study, a review-everything rule fell up to 57.6% short of the best plan when maintainers weren't the bottleneck.&lt;/li&gt;
&lt;li&gt;My recipe for an agentic loop in AI code review: cap the rounds, re-review only the new diff, flag bug classes, never repeat a finding, label pre-existing code and turn repeat findings into rules.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.qodo.ai/" rel="noopener noreferrer"&gt;Qodo&lt;/a&gt; builds the exit into the loop. Its Agentic Toolbox tells coding agents to run one review-and-fix pass by default, stop when another round won't make meaningful progress, and give every finding an explicit outcome.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What an Agentic Loop Looks Like in AI Code Review
&lt;/h2&gt;

&lt;p&gt;An agentic loop is a model calling tools in a cycle until a task is done: act, check the result, act again. Sydney Runkle of LangChain describes a second layer in &lt;a href="https://www.langchain.com/blog/the-art-of-loop-engineering" rel="noopener noreferrer"&gt;The Art of Loop Engineering&lt;/a&gt; (June 16th): a verification loop, where a grader checks the agent's output and sends feedback when it falls short. An AI reviewer on a pull request is that grader.&lt;/p&gt;

&lt;p&gt;The agentic loop in AI code review has two agents in it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A coding agent writes the change and opens a PR.&lt;/li&gt;
&lt;li&gt;A code review agent reads the diff and posts findings.&lt;/li&gt;
&lt;li&gt;The coding agent fixes every finding and pushes a commit.&lt;/li&gt;
&lt;li&gt;The new commit triggers another review, until the reviewer comes back clean.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Until the reviewer comes back clean" is the weak spot of the review loop. It assumes the AI reviewer eventually runs out of things to say. Two language models can keep each other busy all night, and nobody is awake to call time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why a Review Loop Between Two Agents Doesn't Stop on Its Own
&lt;/h3&gt;

&lt;p&gt;Four forces keep a review loop between a coding agent and an AI reviewer running:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agents fix nits.&lt;/strong&gt; Anthropic's Claude Code team put it plainly in their October 15th post: "A person can wave off a nit in seconds. An agent fixes it, which means another commit and another round of review."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Each round re-reads old code.&lt;/strong&gt; A full re-review reads the whole PR again, including lines that were there in round one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent runs are random.&lt;/strong&gt; Bjarni Haukur Bjarnason, AndrÃ© Silva and Martin Monperrus studied 60,000 agent runs for &lt;a href="https://arxiv.org/abs/2602.07150" rel="noopener noreferrer"&gt;On Randomness in Agentic Evals&lt;/a&gt; (revised March 25th). Scores varied even at temperature 0, and runs on the same task diverged "often within the first few percent of tokens." My reading: a fresh review pass over the same code won't land on the same findings either.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reviewers reject good work.&lt;/strong&gt; In the &lt;a href="https://arxiv.org/abs/2607.06065" rel="noopener noreferrer"&gt;SWE-Review benchmark&lt;/a&gt; data (July 7th) that Ruihan Lin and Jiheng Zhang used to calibrate their paper, the AI reviewer asked for revisions on 5.8% to 25.9% of changes that already resolved their issue, depending on the generator. Each false rejection buys another round.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Signs Your Agentic Loop Will Converge or Run All Night
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Loop that converges&lt;/th&gt;
&lt;th&gt;Loop that runs all night&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Round limit&lt;/td&gt;
&lt;td&gt;Hard cap, then the author steps back&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What re-review reads&lt;/td&gt;
&lt;td&gt;Only the diff since the last round&lt;/td&gt;
&lt;td&gt;The whole PR, every round&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeated findings&lt;/td&gt;
&lt;td&gt;Never posted twice&lt;/td&gt;
&lt;td&gt;Same finding, new wording&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finding scope&lt;/td&gt;
&lt;td&gt;One finding per bug class&lt;/td&gt;
&lt;td&gt;One comment per line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code the PR didn't touch&lt;/td&gt;
&lt;td&gt;Labelled pre-existing, not blocking&lt;/td&gt;
&lt;td&gt;Treated as the author's bug&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exit condition&lt;/td&gt;
&lt;td&gt;No new blocking findings&lt;/td&gt;
&lt;td&gt;Reviewer runs out of things to say&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The right-hand column of the convergence table is the default when you wire a coding agent to an AI reviewer and change nothing else.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the 50-Round Pull Request Teaches About Review Loops
&lt;/h2&gt;

&lt;p&gt;Anthropic's Claude Code team described its review flow in an October 15th post by Addy Osmani, Morgan Westlee Lunt and Qing Wang. On their PRs, every finding has to be fixed or resolved with a reason, and "often an agent picks up the fix overnight." One CLI (command-line interface) PR went through more than fifty rounds that way before its author stopped it. The post's verdict: "Review has to converge."&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;git blame&lt;/code&gt; result is the part of the 50-round story that matters most for anyone building an agentic loop. About 59% of what the reviewer kept flagging was code that had been there since its first pass. In the Claude Code team's words, "The reviewer was rarely finding new bugs, it was finding a few more old ones each round."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1gpbht1s2pkgxeew4qio.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1gpbht1s2pkgxeew4qio.png" alt="Agentic loop in AI code review: about 59 percent of what the reviewer kept flagging was code that had been there since its first pass" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The stacked bar shows what the reviewer's repeat flags were made of in the 50-round story. The big block, about 59%, points at code the reviewer had already read in round one, which was never part of any later fix.&lt;/p&gt;

&lt;p&gt;The Claude Code team admitted they had "gotten used to running several rounds by default, since each pass catches something new." Their fix had four parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A round cap.&lt;/strong&gt; After three rounds, the reviewer asks the author to step back and reconsider the approach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Diff-only re-review&lt;/strong&gt; after the first few passes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug classes.&lt;/strong&gt; The reviewer flags the class of bug, so the author fixes every instance in one go.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No repeats&lt;/strong&gt; of findings already posted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Claude Code team now tracks rounds-to-pass alongside recall, and their written priority is "catching real bugs first and cutting review rounds second." I like that order. A review loop that converges in one round but misses the bug hasn't saved anyone time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why More AI Review Rounds Can Cost More Than They Catch
&lt;/h2&gt;

&lt;p&gt;Ruihan Lin and Jiheng Zhang, researchers at the Hong Kong University of Science and Technology, model the path from coding agent to human approval as a queue in &lt;a href="https://arxiv.org/abs/2603.13870" rel="noopener noreferrer"&gt;"When to Screen, When to Bypass: LLM-Judges in Resource-Scarce AI-Human Workflow"&lt;/a&gt;, first posted March 14th and revised September 16th. Their headline: "AI review is a capacity decision as much as an accuracy decision."&lt;/p&gt;

&lt;p&gt;Ruihan Lin and Jiheng Zhang split AI reviewer mistakes into two kinds, and each one bills a different resource. A false acceptance passes a defective change and costs maintainer time later. A false rejection sends a merge-ready change back and costs another coding-agent run.&lt;/p&gt;

&lt;p&gt;The Lin and Zhang calibrated study puts numbers on the trade-off. A rule that reviews everything fell up to 57.6% short of the best plan when maintainers weren't scarce, and adaptive routing beat both "always review" and "never review" on 62.7% of the capacity grid. The paper even finds a phase where "an informative reviewer is deliberately left idle because its rework displaces new work."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fus9v8yti2qi5thvjii95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fus9v8yti2qi5thvjii95.png" alt="Agentic loop economics: as human reviewer capacity grows, the best share of AI review moves from full review to throttled review to bypass" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The phase chart shows the four regimes in Ruihan Lin and Jiheng Zhang's single-category model as maintainer capacity grows: full review, reviewer saturation, deliberate throttling and bypass. In the throttling phase a good reviewer gets held back, because its false rejections eat coding-agent time. The paper studies routing, not round caps, but my reading for review loops is simple: every extra review round has a price, even a round that finds something.&lt;/p&gt;

&lt;p&gt;Human attention is the other bill an overnight review loop runs up. For Qodo's &lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;code quality report&lt;/a&gt;, Censuswide surveyed 500 U.S. developers at organizations already using AI meaningfully in the software development lifecycle (August 2026), and 36.4% said reviewing &lt;a href="https://www.qodo.ai/glossary/what-is-ai-generated-code-validation/" rel="noopener noreferrer"&gt;AI-generated code&lt;/a&gt; takes the same time but more cognitive effort. Fifty rounds of agent chatter is a lot to read with your morning coffee.&lt;/p&gt;

&lt;h2&gt;
  
  
  6 Rules to Make an Agentic Loop Converge in Code Review
&lt;/h2&gt;

&lt;p&gt;These are the six rules I'd write into any agentic loop where an AI reviewer talks to a coding agent. Rules 1 to 4 come from the Claude Code team's fix. Rules 5 and 6 are my additions.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Cap the Rounds, Then Make the Author Step Back
&lt;/h3&gt;

&lt;p&gt;Give the review loop a hard number. The Claude Code team uses three rounds, and that's where I'd start. At the cap, the question changes from "what's wrong with this line?" to "is this the right approach?" Send the PR to a person with a summary of what's open and where agent and reviewer disagree.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Re-Review Only the New Diff After the First Passes
&lt;/h3&gt;

&lt;p&gt;The first one or two review rounds should read the whole PR with &lt;a href="https://www.qodo.ai/glossary/what-is-full-codebase-context-vs-diff-only-review/" rel="noopener noreferrer"&gt;repository context&lt;/a&gt;. After that, the reviewer reads only the commits since its last review, plus the code they touch. Diff-only re-review goes straight at the 59% problem: code the reviewer already read stops coming back as fresh work.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Flag the Class of Bug, Not One Line
&lt;/h3&gt;

&lt;p&gt;Four comments about four missing timeouts become four fixes, four commits and four more reviews. One finding that says "outbound HTTP calls in these 4 handlers have no timeout" becomes one commit. Ask your code review agent to group findings by bug class and list every location.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Never Repeat a Finding, and Remember Decisions
&lt;/h3&gt;

&lt;p&gt;Give every finding a stable ID and keep a ledger of what the reviewer already posted. When the author resolves a finding with a reason, such as "intended, see architecture decision record ADR-12," the next round should read that reason and stay quiet. Without a ledger, the same finding comes back in new words and the coding agent "fixes" it again.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Label Pre-Existing Code Instead of Blocking on It
&lt;/h3&gt;

&lt;p&gt;Bugs in lines the PR didn't touch are real, but they don't belong to this PR. Label them pre-existing, file them and keep them out of the exit condition. If that pile gets big, my &lt;a href="https://dev.to/uss/how-id-run-bug-triage-on-40-defect-reports-before-a-release-lessons-from-postgres-19-4ib5"&gt;bug triage guide for AI review findings&lt;/a&gt; covers how I'd sort it.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Move Repeat Findings Into Rules and Lint
&lt;/h3&gt;

&lt;p&gt;When the AI reviewer flags the same thing across many PRs, fix it at the source. The Claude Code team does that with a skill, a lint rule or an update to their instruction files. Deterministic checks go in lint, and conventions go in rules the coding agent loads before it writes code.&lt;/p&gt;

&lt;p&gt;Liz Fong-Jones, Technical Fellow at Honeycomb, said on &lt;a href="https://www.qodo.ai/podcasts/is-ai-making-you-an-average-engineer/" rel="noopener noreferrer"&gt;The Agentic Review podcast&lt;/a&gt; (September 30th) that "it's a waste of your human's time to be acting as human linters," and that "part of code review is toil." A coding agent re-fixing the same convention every round is toil with a token bill.&lt;/p&gt;

&lt;p&gt;Loading rules up front matters because coding agents don't always follow standards on their own. In Qodo's &lt;a href="https://www.qodo.ai/state-of-ai-code-quality-report/" rel="noopener noreferrer"&gt;code quality report&lt;/a&gt;, only 34.6% of the 500 surveyed U.S. developers said agents always follow organizational standards. I wrote more on that in &lt;a href="https://dev.to/uss/how-ai-code-review-enforces-coding-standards-in-complex-codebases-54lg"&gt;how AI code review enforces coding standards&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Review Loop Policy You Can Copy
&lt;/h3&gt;

&lt;p&gt;Here's the six-rule review loop policy as config. The YAML isn't any tool's format; treat it as a spec for whoever wires your coding agent to your AI reviewer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# review-loop.yaml: stop rules for an agent-to-agent review loop&lt;/span&gt;
&lt;span class="na"&gt;review_loop&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;max_rounds&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;                    &lt;span class="c1"&gt;# rule 1: hard cap&lt;/span&gt;
  &lt;span class="na"&gt;on_cap&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;summarize_and_ask_human&lt;/span&gt;  &lt;span class="c1"&gt;# what's open, what was tried, disagreements&lt;/span&gt;
  &lt;span class="na"&gt;full_review_rounds&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;            &lt;span class="c1"&gt;# rule 2: rounds 1-2 read the whole PR&lt;/span&gt;
  &lt;span class="na"&gt;later_rounds_read&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;diff_since_last_review&lt;/span&gt;
  &lt;span class="na"&gt;findings&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;group_by_bug_class&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;       &lt;span class="c1"&gt;# rule 3: one finding, every location&lt;/span&gt;
    &lt;span class="na"&gt;skip_already_posted&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;      &lt;span class="c1"&gt;# rule 4: stable IDs in a ledger&lt;/span&gt;
    &lt;span class="na"&gt;respect_resolved_reasons&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
    &lt;span class="na"&gt;preexisting_code&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;label_only&lt;/span&gt;   &lt;span class="c1"&gt;# rule 5: file it, don't block on it&lt;/span&gt;
  &lt;span class="na"&gt;exit_when&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;no_new_blocking_findings&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;same_findings_as_last_round&lt;/span&gt;  &lt;span class="c1"&gt;# no progress, so stop&lt;/span&gt;
  &lt;span class="na"&gt;propose_rule_after_repeats&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;    &lt;span class="c1"&gt;# rule 6: seen on 3+ PRs, make it a rule&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fenqn7owlofudtan3dd49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fenqn7owlofudtan3dd49.png" alt="Agentic loop flowchart for AI code review: each round checks the cap, new blocking findings and progress before the coding agent fixes again" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The flowchart shows the three exits every review loop needs: the round cap, "no new blocking findings" and "no progress since last round." Only one path goes back to the coding agent, and it passes all three checks first.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Measure Whether Your Review Loop Converges
&lt;/h2&gt;

&lt;p&gt;Rounds-to-pass is the first number to watch, next to recall, because a loop that converges by missing bugs is just a quiet loop. Here's the dashboard I'd build for an agentic loop in AI code review:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What it tells you&lt;/th&gt;
&lt;th&gt;Healthy direction&lt;/th&gt;
&lt;th&gt;Where to get it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rounds-to-pass&lt;/td&gt;
&lt;td&gt;How long agent and reviewer argue per PR&lt;/td&gt;
&lt;td&gt;Down, mostly 1 to 2&lt;/td&gt;
&lt;td&gt;Review events per PR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cap hits per week&lt;/td&gt;
&lt;td&gt;PRs where the approach is the problem&lt;/td&gt;
&lt;td&gt;Low, each read by a person&lt;/td&gt;
&lt;td&gt;Loop logs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeat-finding rate&lt;/td&gt;
&lt;td&gt;Findings posted again in a later round&lt;/td&gt;
&lt;td&gt;Near zero&lt;/td&gt;
&lt;td&gt;Ledger with stable IDs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Findings on pre-existing lines&lt;/td&gt;
&lt;td&gt;Reviewer re-mining old code&lt;/td&gt;
&lt;td&gt;Down after diff-only re-review&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;git blame&lt;/code&gt; on flagged lines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dismissed as wrong or intentional&lt;/td&gt;
&lt;td&gt;Reviewer noise&lt;/td&gt;
&lt;td&gt;Down as rules improve&lt;/td&gt;
&lt;td&gt;Resolution reasons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recall on known bugs&lt;/td&gt;
&lt;td&gt;Whether the cap hides real misses&lt;/td&gt;
&lt;td&gt;Flat or up&lt;/td&gt;
&lt;td&gt;Replay of past incident PRs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The "dismissed as wrong or intentional" row in the review loop dashboard is the cheapest noise signal you have. Anthropic's Claude Code team sorts every reviewer comment by how the person on the PR responded: fixed, wrong, intentional or didn't matter. With two agents in the loop, the coding agent's skip reasons give you the same data.&lt;/p&gt;

&lt;p&gt;Gil Elbaz, co-founder and Chief AI Officer at Onyx Security, raised the cost of agents talking to agents on &lt;a href="https://www.qodo.ai/podcasts/why-ai-control-is-the-new-security-standard/" rel="noopener noreferrer"&gt;The Agentic Review&lt;/a&gt; (July 22nd). Gil Elbaz asked whether many agents talking to each other nonstop pays off, and answered: "Maybe. But maybe there needs to be certain rules in place and guardrails in place around that as well." Itamar Friedman, co-founder and CEO of Qodo, replied: "We call it bot gossip."&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Qodo Fits in a Converging Review Loop
&lt;/h2&gt;

&lt;p&gt;Qodo is the AI code review platform I'd put inside any agentic loop, because Qodo treats convergence as part of review. The Qodo &lt;a href="https://docs.qodo.ai/agentic-toolbox/agentic-toolbox-overview" rel="noopener noreferrer"&gt;Agentic Toolbox&lt;/a&gt; brings Qodo review, rules and codebase context into the coding agent you already use, through a CLI, MCP (Model Context Protocol), plugins for Claude Code and Codex, and Kiro Power.&lt;/p&gt;

&lt;p&gt;As of October 2026, the Qodo Agentic Toolbox ships a default template for your &lt;a href="https://www.qodo.ai/glossary/what-is-agents-md-file/" rel="noopener noreferrer"&gt;AGENTS.md&lt;/a&gt; or CLAUDE.md file, and the template reads like a review loop policy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Perform one review-and-fix pass by default."&lt;/li&gt;
&lt;li&gt;"Continue with another round when it is useful to validate meaningful fixes or when the user requests it, within an agreed limit."&lt;/li&gt;
&lt;li&gt;"Evaluate every finding against the code and intent; fix only findings that are sound and in scope."&lt;/li&gt;
&lt;li&gt;Finish when the findings are addressed or another round wouldn't make meaningful progress, "and report what remains."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Qodo's &lt;a href="https://www.qodo.ai/glossary/what-is-pre-pr-and-local-code-review/" rel="noopener noreferrer"&gt;local pre-PR review&lt;/a&gt;, the &lt;a href="https://www.qodo.ai/blog/shift-left-code-review/" rel="noopener noreferrer"&gt;shift-left code review&lt;/a&gt; step of the loop, takes the coding session's context along with the diff: intent, key decisions and links to the ticket or design. Qodo's docs name a use for that context that matches the never-repeat rule: "Record deliberate decisions so the reviewer does not re-flag them as issues."&lt;/p&gt;

&lt;p&gt;Qodo's Review Resolver skill closes the loop on the PR side. The coding agent resolves only the findings you scope, by severity, category or a single finding, and every Qodo finding ends as fixed, skipped with a reason or reported without changes. Nothing is silently ignored.&lt;/p&gt;

&lt;p&gt;Qodo also turns repeat findings into rules. Qodo's &lt;a href="https://docs.qodo.ai/governance/rule-enforcement/rule-miner" rel="noopener noreferrer"&gt;Rule Miner&lt;/a&gt; learns rules from review comments developers accepted and acted on, and dismissed suggestions weaken an active rule's signal over time. Qodo's rule analytics show how often each rule passes, gets violated or gets merged anyway, so noisy rules show up before they feed another loop.&lt;/p&gt;

&lt;p&gt;Itamar Friedman, co-founder and CEO of Qodo, said on The Agentic Review with Liz Fong-Jones: "maybe we will almost completely rely on AI code review agents, AI quality agents, to work together with the coding agent in tandem." Qodo's loop defaults give that tandem a stop condition. For review across many agent PRs, see my piece on &lt;a href="https://dev.to/uss/your-agent-opened-15-prs-how-to-review-ai-generated-code-as-one-work-package-5h6m"&gt;reviewing 15 agent PRs as one work package&lt;/a&gt; and Qodo's guide to &lt;a href="https://www.qodo.ai/blog/agentic-workflows-in-ai-development/" rel="noopener noreferrer"&gt;agentic workflows&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: Give Every Agentic Loop an Exit
&lt;/h2&gt;

&lt;p&gt;A coding agent and an AI reviewer will happily trade commits until morning. The 50-round PR from Anthropic's Claude Code team shows the pattern, and the &lt;code&gt;git blame&lt;/code&gt; result shows the cause: late rounds mostly dig up old code.&lt;/p&gt;

&lt;p&gt;Write the exit before you wire the agentic loop. Cap rounds at three, re-review only the new diff, group findings by bug class, keep a ledger, label pre-existing code and turn repeat findings into rules. Then watch rounds-to-pass next to recall. For the human side, Qodo's &lt;a href="https://www.qodo.ai/blog/code-review-best-practices/" rel="noopener noreferrer"&gt;code review best practices&lt;/a&gt; and its guide to &lt;a href="https://www.qodo.ai/blog/ai-pull-request-review/" rel="noopener noreferrer"&gt;AI PR review&lt;/a&gt; are good next reads.&lt;/p&gt;

&lt;p&gt;What's the highest round count you've seen between your coding agent and your reviewer? Tell me in the comments.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ About Agentic Loops and AI Code Review
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is an agentic loop in AI code review?
&lt;/h3&gt;

&lt;p&gt;An agentic loop in AI code review is the cycle where a coding agent writes a change, an AI reviewer posts findings, the agent fixes them and the reviewer checks again. The loop ends on a stop condition such as a round cap or no new blocking findings. Qodo's Agentic Toolbox runs one review-and-fix pass by default and stops when another round wouldn't make meaningful progress.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many review rounds should a code review agent run?
&lt;/h3&gt;

&lt;p&gt;A code review agent should run one or two full rounds and stop at a hard cap, such as three. Anthropic's Claude Code team caps at three rounds, then asks the author to step back. Qodo's default template allows extra rounds only within an agreed limit and reports what remains.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is loop engineering?
&lt;/h3&gt;

&lt;p&gt;Loop engineering is the practice of designing the loops around an AI agent: the agent loop, verification loops with a grader, event triggers and stop conditions. A review loop between a coding agent and an AI reviewer is a verification loop. Qodo acts as that grader, and every Qodo finding ends as fixed, skipped with a reason or reported.&lt;/p&gt;

&lt;h3&gt;
  
  
  How can AI code review avoid generic noise?
&lt;/h3&gt;

&lt;p&gt;AI code review avoids generic noise with repository-specific context, team rules and a memory of decisions already made. Qodo reviews with your codebase context and Review Standards, and its pre-PR review records deliberate decisions so they aren't flagged again.&lt;/p&gt;

&lt;h3&gt;
  
  
  Could AI review findings create another bottleneck for the team?
&lt;/h3&gt;

&lt;p&gt;AI review findings create a bottleneck when every finding triggers a new commit and a new round, or when findings pile up for a person in the morning. Round caps and diff-only re-review tie the finding count to new code. Qodo gives every finding an explicit outcome, so a person reads a short summary instead of a long thread.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do we manage human review capacity when agents write most of the code?
&lt;/h3&gt;

&lt;p&gt;Manage human review capacity by letting the agentic loop handle routine findings and sending people the PRs that hit the cap or touch risky code. Qodo runs review before and after the PR exists, so human time goes to design calls.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codereview</category>
      <category>programming</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
