ci(review): review the design sweep's stacked PRs, not just the first one - #147
Conversation
… one `reviews.auto_review.base_branches` defaults to empty, and empty means automatic review fires only on PRs targeting the default branch. The design-sweep-loop skill opens one PR per round based on the previous round's branch, so on the 2026-08-06 run every stacked PR but the first was out of scope — #134 and #136 both came back "Review skipped: reviews are disabled for this base branch." The failure is quiet in the way that matters: `gh pr checks` prints `CodeRabbit pass` for a skipped review exactly as it does for one that ran and found nothing, so an unattended run reports a clean second opinion it never got. #134's finding only surfaced because the review was requested by hand. Scoped to `design-sweep/.*` rather than `.*` so this does not also switch on review for the ad-hoc `worktree-*` branches that occasionally serve as a base. The account-wide rate limit that hit the same run is a separate matter and is not addressed here.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 52 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: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Comment |
What
Adds
reviews.auto_review.base_branches: ["design-sweep/.*"]to.coderabbit.yaml.Why
base_branchesdefaults to empty, and empty means automatic review fires only on PRs targeting the default branch. Thedesign-sweep-loopskill opens one PR per round based on the previous round's branch, so every PR in a sweep stack except the first was out of scope.Observed on the 2026-08-06 unattended run:
maindesign-sweep/2026-08-06-2design-sweep/2026-08-06-3The quiet part is that
gh pr checksprintsCodeRabbit passfor a skipped review exactly as it does for one that ran and found nothing. An unattended run reports a second opinion it never received. The one real finding on #134 surfaced only because the review was requested by hand — and a manual request is not subject to the base-branch scope, which is how we know the two are separate mechanisms.Scope choice
design-sweep/.*rather than.*, so this does not also enable review on the ad-hocworktree-*branches that occasionally serve as a base for stacked work.The account-wide rate limit that hit the same run is a separate problem and is not addressed here — that one is a fair-usage throttle, not configuration. It has been handled on the skill side by waiting out the limit before re-requesting.
Verification
npm run format:check—All matched files use Prettier code style!base_brancheslands underreviews.auto_reviewalongsidedraftsand theignore_*keys.npm test/npm run typecheckare not implicated and were not run.Not yet confirmed end-to-end: the mechanism rests on CodeRabbit's documented default and its own skip message. Proof is the next stacked PR opened after this merges — if it gets an automatic review, this worked.