Take semver out of review scope - #787
Conversation
Rundown is unreleased with no downstream consumers, which CLAUDE.md already
states for persisted runbook state ("compatibility code for consumers that do
not exist"). The same reasoning applies to package versions, but it was never
written down, so review kept producing semver findings — a changeset bump was
recently raised as the top finding on #784 and turned into a PR, for a package
nothing depends on.
CLAUDE.md gets a `Versioning and changesets` section saying the bump field does
not matter, the changeset prose does, and that a finding whose only consequence
lands on a hypothetical consumer is out of scope.
.coderabbit.yaml gets the same rule twice: in `tone_instructions` for global
effect, and as a `.changeset/**/*.md` path instruction that separates the two
halves — never comment on the bump level, do review the prose for accuracy
against the diff.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 2 minutes Limit details: You’ve used all 1 included review currently available under your plan. You completed 61 included PR reviews in the past 7 days; at that activity level, included reviews refill at 1 review per hour. 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: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
Warning
|
🧬 Mutation score (advisory)Hybrid mutation analysis: source changes use changed-line scopes (dedicated tests by default; ℹ️ Mutation scope planNo eligible source or test changes in this PR. No mutated source changes in this PR. |
Deploying rundown with
|
| Latest commit: |
8d57ae5
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://3e76cc3b.rundown-7hl.pages.dev |
| Branch Preview URL: | https://semver-out-of-review-scope.rundown-7hl.pages.dev |
Rundown is unreleased and has no downstream consumers. CLAUDE.md already says this for persisted runbook state — "compatibility code for consumers that do not exist" — but never for package versions, so review keeps generating semver findings.
It happened on #784: a changeset bump was raised as the top finding, verified against "precedent", and turned into a PR, for a package nothing depends on. That effort was wasted, and nothing in the repo told the reviewer not to spend it.
Changes
CLAUDE.md gains a
Versioning and changesetssection. The rule: the bump field does not matter, the changeset prose does, and a finding whose only consequence lands on a hypothetical consumer is out of scope. It names the three shapes that keep recurring so they are recognisable — apatchon a public-API removal, a bump inconsistent with a sibling changeset, and any "a consumer on^1.0.0would break" argument..coderabbit.yaml gets the same rule twice:
tone_instructions, so it applies to every file..changeset/**/*.mdpath instruction that splits the two halves: never comment on the bump level, but do review the prose for accuracy against the diff in the same PR.The config file already did exactly this for persisted state under
packages/core/src/runbook/**("this project is pre-release. Do not request migrations, compatibility shims…"). This is the missing sibling rule.Notes
Both files need changing, not just one: the
.coderabbit.yamlrules only steer CodeRabbit, while the #784 finding came from/code-review, which reads CLAUDE.md.CodeRabbit picks up config changes only for reviews started after they land on the base branch, so this will not quiet the bot on this PR itself.
Docs only — no source or test changes.
.coderabbit.yamlparses and keeps its schema shape (22path_instructionsentries); it is not Prettier-managed here (.prettierignoreline 1). CLAUDE.md passescheck:md.