Add PR self-merge rubric - #2471
Conversation
Scaffold the per-repo config the engineering skills expect: a local markdown issue tracker under .scratch/ (git-ignored), the five canonical triage-role strings, and multi-context domain-doc consumer rules. The pointer block lives in AGENTS.md so all agents pick it up. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A repo-specific, default-closed rubric internal authors apply to decide whether a PR can merge without a second human review (given green CI and an advisory AI review). Encodes the always-human danger zones from our AGENTS.md CRITICAL flags and sentinel agents, and defines the green lane by change-type and size. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 46 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Did you mean to add these 3 agents files? (and the matching gitignore and agents.md changes)
myieye
left a comment
There was a problem hiding this comment.
The various usages of "green" confused me, so I tried to decrease it.
| 2. **Its path is not 🔴** *and* its change-type is **conditional-green** | ||
| (everything else) *and* it clears the gates in §2 that apply to it. |
There was a problem hiding this comment.
"(everything else)" means the current wording is saying redundant i.e.:
not red and not red
| 2. **Its path is not 🔴** *and* its change-type is **conditional-green** | |
| (everything else) *and* it clears the gates in §2 that apply to it. | |
| 2. **Its path is not 🔴** *and* it clears the gates in §2. |
|
|
||
| --- | ||
|
|
||
| ## 2. Gates — apply to every *conditional-green* file |
There was a problem hiding this comment.
| ## 2. Gates — apply to every *conditional-green* file | |
| ## 2. Gates — apply to files that are not 🔴 |
| - **Size (always).** ≤ **150 net changed lines** of *reviewable, non-green* code | ||
| — excluding generated files, universal-green files, lockfiles, and snapshots — | ||
| **AND** it's *one coherent change you can hold in your head* (not 40 lines | ||
| smeared across 15 unrelated files). |
There was a problem hiding this comment.
| - **Size (always).** ≤ **150 net changed lines** of *reviewable, non-green* code | |
| — excluding generated files, universal-green files, lockfiles, and snapshots — | |
| **AND** it's *one coherent change you can hold in your head* (not 40 lines | |
| smeared across 15 unrelated files). | |
| - **Size (always).** ≤ **150 net changed lines** of *reviewable* code | |
| — excluding generated files, universal-green files, lockfiles, and snapshots — | |
| **AND** it's *one coherent change you can hold in your head* (not 40 lines | |
| smeared across 15 unrelated files). |
| even a 🔴 path. **Conditional** is green only outside 🔴, and is subject to the §2 | ||
| gates. | ||
|
|
||
| | Change-type | Reach | Test needed? / Notes | |
There was a problem hiding this comment.
"Test needed" should be its own column for readability/scanability.
| - **Generated files** (`frontend/viewer/src/lib/dotnet-types/generated-types/**`, | ||
| `.po` catalogs) are *transparent*: classify the PR by the source edit; they're | ||
| excluded from the size count. |
There was a problem hiding this comment.
Already mostly stated higher up (except for .po, which is only partially generated, because you can add translator comments, but I'd still classify it as generated)
| - **Generated files** (`frontend/viewer/src/lib/dotnet-types/generated-types/**`, | |
| `.po` catalogs) are *transparent*: classify the PR by the source edit; they're | |
| excluded from the size count. |
| - **On the two tiers.** An earlier draft split conditional-green into | ||
| "zone-limited" and "gated." They had identical *reach* (green only outside 🔴, | ||
| same size + attestation) and differed only by the test requirement — so | ||
| they're merged, and "behavior change → test" is just a rule in §2. |
There was a problem hiding this comment.
I don't think recording this is helpful.
| - **On the two tiers.** An earlier draft split conditional-green into | |
| "zone-limited" and "gated." They had identical *reach* (green only outside 🔴, | |
| same size + attestation) and differed only by the test requirement — so | |
| they're merged, and "behavior change → test" is just a rule in §2. |
Adds a repo-specific rubric that lets internal authors decide, on their own, whether a PR can be merged without a second human review — aimed at keeping genuinely low-stakes changes from burdening reviewers, given the growing volume of agent-generated PRs.
The rubric is default-closed (uncertain → get a human) and self-sufficient about our danger zones — it does not assume the advisory AI review caught them.
Interactive version (tick-through artifact): https://claude.ai/code/artifact/7792cc42-991f-4d2e-8990-7a582b29162c — private until shared from the artifact's share menu.
Test plan
Docs-only change; no code paths affected. Renders as GitHub-flavored Markdown.
Discussion points
docs/pr-self-merge-rubric.mdfor now; open to linking it fromAGENTS.mdif we adopt it.🤖 Generated with Claude Code