fix: add request-retry to review-bot-gate-helper for rate-limited bots#3017
fix: add request-retry to review-bot-gate-helper for rate-limited bots#3017marcusquinn merged 1 commit intomainfrom
Conversation
When review bots are rate-limited at PR creation time, they post quota notices instead of formal reviews. The pulse's zero-reviews gate then blocks the PR indefinitely — bots never come back to retry. Add a deterministic request-retry command that detects rate-limited bot comments, posts @coderabbitai review to trigger a retry, and is idempotent (safe to call every pulse cycle). Validated on PR #2989 which was stuck for 24+ hours due to this gap.
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ 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 |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Sat Mar 7 02:00:03 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|
|
This PR appears orphaned — no active worker process found and no activity for 6+ hours. The referenced issue #3005 is already closed. Flagging for review. If work is still in progress, remove the |



Summary
request-retrycommand toreview-bot-gate-helper.shthat detects rate-limited review bots and requests a review retry (idempotent)pulse.mdto callrequest-retryon zero-review PRs, self-healing the rate-limit gap instead of skipping indefinitelyRoot Cause
When review bots (CodeRabbit, Gemini) hit rate limits at PR creation time, they post quota notices instead of formal GitHub reviews. The pulse's mandatory review-count gate (
gh pr view --json reviews --jq '.reviews | length') correctly blocks PRs with zero reviews — but the bots never come back to retry, so the PR is stuck forever. PR #2989 was blocked for 24+ hours by this exact scenario.Fix Design
Deterministic, not intelligence-based. The detection (rate-limit string patterns, review count, idempotency marker) and action (post
@coderabbitai review) have exactly one correct answer regardless of context — no judgment needed.review-bot-gate-helper.sh request-retry <PR> [REPO]HAS_REVIEWS(exit 0)ALREADY_REQUESTED(exit 0)NO_ACTION(exit 0)@coderabbitai reviewwith marker →REQUESTED(exit 0)pulse.md(one-line change)Zero-review PRs now call
request-retrybefore skipping. The formal review gate is unchanged — this is recovery, not bypass.Validation
Tested live on PR #2989:
request-retrydetected bothcoderabbitaiandgemini-code-assistas rate-limitedrequest-retrycall returnedALREADY_REQUESTED(idempotent)HAS_REVIEWSCloses #3005