fix: shipping-pr declares PR clean before CodeRabbit review completes - #24
Conversation
shipping-pr could declare a PR clean before CodeRabbit finished its review. Step 4 used a fixed 10-min timeout shorter than CodeRabbit's real latency (~15 min observed); on timeout Step 7 treated the absent review as "nothing to fix" and exited clean. Step 4 now polls the `CodeRabbit` commit status until it leaves pending — a real per-commit completion signal instead of a fixed guess. Step 7 refuses a clean verdict unless that review completed, exiting "not verified" otherwise. --review-timeout default raised 10 -> 30 min as a safety cap; troubleshooting.md updated.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe PR documents a fix to the ChangesCodeRabbit Review Gate Fix
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Summary
shipping-prcould exit with a "clean" verdict before CodeRabbit finished reviewing a pushed fix, silently ending the review ping-pong one round short.CodeRabbitcommit status — a real per-commit completion signal CodeRabbit publishes itself — and never declare clean until that review is confirmed complete.Changes
CodeRabbitcommit status (context == "CodeRabbit") on HEAD until it leavespending; chunked re-entry under the Bash 10-min limit; emitsREVIEW_VERIFIED.REVIEW_VERIFIED; Step 7 adds a fail-safe branch: when CodeRabbit is active and its review for HEAD has not completed, exit1"not verified" instead of0"clean".--review-timeoutdefault 10 → 30 min (safety cap, not the expected wait); examples, success criteria, and troubleshooting summary updated.commit_id-filter pitfall with "Treating a CodeRabbit review timeout as clean".docs/superpowers/specs/2026-05-19-shipping-pr-coderabbit-review-gate-design.md.Test Plan
jqstatus-filter unit tests across success/pending/failure/error/absent/empty/mixed inputs (7/7)commits/{sha}/statusresponse →successbash -nsyntax check on the new Step 4 and Step 7 snippets/skill-set:pr:shipon an actual PR with CodeRabbit enabledSummary by CodeRabbit