AIToday
AI Coding AssistantsZenn AI/MLPublished: Nov 14, 2026, 16:00 JST

AI code review: 5 failure patterns outside PR #17 and PR #13 diffs

Send on LINE
AI code review: 5 failure patterns outside PR #17 and PR #13 diffs

3 Key Points

  1. What happened

    The author reviewed PR #17 (3 lines added, 1 removed in the CI matrix) and PR #13 (Dockerfile base image swap and spec additions, 39 lines added and 1 removed across two files) with Anthropic's code-review skill and CodeRabbit. Five recurring patterns emerged, including a correct conclusion with a wrong reason and a test that only checked a prefix.

  2. Why it matters

    The author's checklist—verify tracked files with git ls-files, test the reason separately from the conclusion, check the pre-change state, match test names to implementations, and look outside the diff—shows reviewers should treat AI review as a signal that needs verification rather than a final answer.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, every morning.

Context & Analysis

The author's starting point was a simple observation: AI review bots produce more comments than a team can act on, so the real question becomes which comments to trust. The two pull requests used here were deliberately small. PR #17 changed only a few lines in the CI matrix, and PR #13 swapped a Dockerfile base image and added specs across two files. Even at that size, five distinct patterns appeared, which is why the author argues the issue is not repository complexity.

The patterns share a common shape. In the CI matrix case, removing the Ruby 3.5 entry would have replaced a failing check with a required check that never reports, because the job name is tied to the matrix entry and the repository ruleset requires Ruby 3.4, Ruby 3.5, and CodeQL. The author notes that reading the diff cannot reveal this, and that confirming it requires access to the ruleset itself. In the RuboCop case, the review's conclusion that rake default would fail was correct, but its stated cause was not; the author reproduced the run and found 152 offenses under RuboCop 1.92.2. These examples illustrate why the author's final checklist begins with where the evidence is fixed, not with whether the comment sounds plausible.

The author also describes turning the method on itself. AI review flagged that the original draft had attributed all five patterns to a single dependency-update pull request, when they came from two separate PRs, and that a quoted diff did not match git show output. The author corrected those points and notes that three of the first five review comments pointed out patterns the author was warning about.

FAQ
What were the five failure patterns the author identified?
The patterns were: the diff contains no answer, a correct conclusion with a wrong reason, a PR-origin defect that cannot be decided from the diff alone, tests that do not verify what their names claim, and evidence that comes from an untracked file.
Did the AI review get anything wrong about the RuboCop failure?
The review said rake default would fail because RuboCop no longer supports TargetRubyVersion: 2.6, but running it showed RuboCop 1.92.2 still worked and the failure came from 152 offenses.
What did the author do about the Dockerfile spec problem?
The author compared the original and revised spec, showing that the original test passed a misspelled FROM ruby:3.4-bookwrom image while the revised spec failed it and used clearer failure messages.
Send on LINE

AI news that matters for your work, delivered every morning.

Pick your industry and the AI tools you use, and get news related to your work every day.

Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →

Ask AI

Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.

Questions and answers are published on this page.

Related Articles

Next article40% of game devs use generative AI, but 55% call it harmful