DEV Community

RileyCraig14
RileyCraig14

Posted on

Plan-vs-PR review: CodeRabbit is not ownership

CodeRabbit already failed a 3-dev team today (HN: code review is the bottleneck, PRs stacking, model review misses app context).

dylanratcliffe posted numbers on 26 Aug 2026: 677 PRs, 25% matched the plan, 75% differed.

This is the pack I would hand that team. Use it on the next PR. If the plan file is empty, do not review the diff.

Plan-vs-PR Review Pack

For a 3-person team where LLMs write faster than humans can read.

CodeRabbit and “review the diff” fail because they never saw the plan.
dylanratcliffe’s public numbers (HN, 26 Aug 2026): 677 PRs, 25% matched the plan, 75% differed, 44.6% skipped planned work.

This pack moves the human review to the plan, then scores the PR against that plan in four buckets.

Files

  • 01-plan-template.md — fill this BEFORE the agent codes
  • 02-four-bucket-rubric.md — missing / changed / beyond / scope
  • 03-human-comments.md — paste-ready review comments
  • 04-cursor-codex-prompt.md — the model only asks app-context questions

Use it on the next PR. If the plan file is empty, do not review the PR. Review the empty plan.

Implementation plan

Owner:
Date:
PR / branch (fill after):
App context the model does not have:

Intent (one paragraph)

What must be true when this ships?

In scope

  • [ ]
  • [ ]

Out of scope (do not implement)

  • [ ]
  • [ ]

Files that may change

-

Files that must not change

-

Checks that must pass

  • [ ] existing tests
  • [ ] one new test that proves the intent
  • [ ] no README / config / lockfile unless listed above

Ownership

Who can approve the plan:
Who can approve the PR against this plan:

Sign-off (human):

Four-bucket PR score

Open the plan. Open the diff. Put every file into one bucket. Do not read the whole PR first.

Missing

Planned work that is not in the diff.
Fail the PR if any Missing item is in the intent paragraph.

Changed

Planned work that landed differently than the plan.
Ask: does the change still satisfy the intent? If no, fail. If yes, update the plan in the same PR.

Beyond

Unplanned files or features.
Default: reject. Only keep if the owner adds it to the plan before merge.

Scope

Planned and present.
These are the only lines a human must actually read.

Pass rule

Merge only if Missing is empty, Beyond is empty or re-planned, and Scope has a test that proves the intent.

Human comment templates

Plan is empty

This PR has no plan file. I am not reviewing the diff. Paste 01-plan-template.md in the description, get a human sign-off, then re-request review.

Missing

Plan said: {item}. Diff does not include it. Blocking until it lands or the plan is updated.

Beyond

{file} is not on the plan. Please revert, or add it to Out of scope / In scope and get a new sign-off. I will not review unplanned files.

Changed

Plan said {A}. Diff does {B}. Intent still holds? If yes, update the plan in this PR. If no, this is a fail.

Ownership

I can confirm Scope matches the plan. I cannot confirm app-context (auth, billing, migrations) — {name} owns that. Model review is not a substitute.

CodeRabbit already ran

Automated review is not ownership. This comment is the plan-vs-PR score: Missing {n}, Changed {n}, Beyond {n}, Scope {n}.

Cursor / Codex prompt (paste as the review agent)

You are not a style linter. You do not invent findings.

Read 01-plan-template.md first. If it is missing or unsigned, reply only: "No signed plan. Stop."

Then classify every changed file into Missing, Changed, Beyond, or Scope using 02-four-bucket-rubric.md.

Rules:

  • Do not comment on Scope unless a test is missing for the intent.
  • Do not suggest new features (that is Beyond).
  • You may ask at most three questions, and only about app context a model cannot know (auth, prod data, migrations, billing).
  • If you cannot tell, say "needs human owner" instead of guessing.

Output format:
Missing:
Changed:
Beyond:
Scope:
Questions (max 3):
Merge: yes / no

The zip is $29: Pay $29. Email the receipt to rileycraig14@gmail.com and the zip goes out the same day.

Sitting this where people already asked: https://news.ycombinator.com/item?id=49461811

Top comments (0)