fix: pr-review-feedback omits PR summary comment when no fixes applied - #25
Conversation
Phase 5.2 (summary comment) was implicitly gated on having items to commit, so PRs reviewed by humans, Codex, Claude, or CodeRabbit would receive no acknowledgement when every collected comment was non-actionable or skipped. The CodeRabbit resolve header inherited the same gap because its detection ran on the post-filter comment set instead of the PR's actual reviewer set. - Split Phase 5.1 (commit) and 5.2 (summary comment) into independent steps; 5.2 now runs whenever Phase 1 collected >=1 review comment, regardless of reviewer type or fix outcome. - Detect CodeRabbit via gh pr view --json reviews,comments,reviewThreads on the actual identities, before filtering. Resolve header is additive on top of the universal summary. - Add Common Mistakes entries for both regressions and update Success Criteria accordingly.
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ 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. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR updates the ChangesPhase 5 Completion and CodeRabbit Resolution
🎯 2 (Simple) | ⏱️ ~10 minutes
🚥 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 |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
plugins/skill-set/agents/pr-review-feedback.md (1)
239-249: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winIncomplete verification logic for CodeRabbit resolve header.
Line 248 states: "If the CodeRabbit resolve header was included (
HAS_CR > 0), verify it appears as the first line of the posted comment. If missing, re-post once and re-verify."However, the verification script (lines 240-246) only retrieves and displays the comment but doesn't show how to programmatically:
- Check if the first line is
@coderabbitai resolve- Re-post the comment if the header is missing
- Re-verify after re-posting
The
echo "$LAST_COMMENT" | head -5command displays lines for manual inspection but doesn't implement the automated check-and-retry logic described.📝 Suggested addition to show complete verification implementation
Add the following after line 246 to demonstrate the full verification and retry logic:
# If CodeRabbit header was included, verify it's the first line if [ "$HAS_CR" -gt 0 ]; then FIRST_LINE=$(echo "$LAST_COMMENT" | head -1) if ! echo "$FIRST_LINE" | grep -q "`@coderabbitai` resolve"; then echo "Warning: CodeRabbit resolve header missing. Re-posting..." # Re-post with header gh pr comment "$PR_NUMBER" --body "$COMMENT_BODY" sleep 2 # Re-verify LAST_COMMENT=$(gh pr view "$PR_NUMBER" --json comments --jq '.comments[-1].body') FIRST_LINE=$(echo "$LAST_COMMENT" | head -1) echo "$FIRST_LINE" # Confirm header present fi fi🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/skill-set/agents/pr-review-feedback.md` around lines 239 - 249, The verification step currently only prints LAST_COMMENT but does not enforce the CodeRabbit resolve header; update the script to (1) when HAS_CR > 0 extract the first line (e.g., FIRST_LINE=$(echo "$LAST_COMMENT" | head -1)), (2) test it for the literal "`@coderabbitai` resolve" (use grep -q or a string comparison), (3) if missing, re-post the comment with gh pr comment "$PR_NUMBER" --body "$COMMENT_BODY", sleep briefly, re-fetch LAST_COMMENT via gh pr view ... --json comments --jq '.comments[-1].body' and re-extract FIRST_LINE to confirm the header is now present, and (4) surface an explicit warning/exit code if the header still isn’t present after the retry; reference HAS_CR, LAST_COMMENT, FIRST_LINE, COMMENT_BODY and the gh pr comment/view commands when locating where to add this logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@plugins/skill-set/agents/pr-review-feedback.md`:
- Around line 239-249: The verification step currently only prints LAST_COMMENT
but does not enforce the CodeRabbit resolve header; update the script to (1)
when HAS_CR > 0 extract the first line (e.g., FIRST_LINE=$(echo "$LAST_COMMENT"
| head -1)), (2) test it for the literal "`@coderabbitai` resolve" (use grep -q or
a string comparison), (3) if missing, re-post the comment with gh pr comment
"$PR_NUMBER" --body "$COMMENT_BODY", sleep briefly, re-fetch LAST_COMMENT via gh
pr view ... --json comments --jq '.comments[-1].body' and re-extract FIRST_LINE
to confirm the header is now present, and (4) surface an explicit warning/exit
code if the header still isn’t present after the retry; reference HAS_CR,
LAST_COMMENT, FIRST_LINE, COMMENT_BODY and the gh pr comment/view commands when
locating where to add this logic.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 05cd9cef-9a45-4e04-aaac-1150dd1fcf24
📒 Files selected for processing (1)
plugins/skill-set/agents/pr-review-feedback.md
Step 5.3 of pr-review-feedback described the verification contract in prose on line 248 (extract first line, check for the @coderabbitai resolve marker, re-post once if missing, re-verify) but the bash snippet beneath it only printed LAST_COMMENT and enforced none of it. Replace the snippet with the full check-and-retry implementation so the script is self-consistent with the prose: - Extract FIRST_LINE from LAST_COMMENT when HAS_CR > 0 - grep for the @coderabbitai resolve marker - Re-post the comment body and re-verify on failure - Exit non-zero if the header is still absent after the retry Resolves CodeRabbit outside-diff review comment on PR #25.
|
@coderabbitai resolve PR 리뷰 코멘트 처리 결과CodeRabbit 리뷰 코멘트 1건을 처리했습니다. 자동 적용 (OBVIOUS): 1건
논의 후 적용 (AMBIGUOUS): 0건(없음) 건너뜀: 1건
통계
|
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 70
|
|
@coderabbitai resolve PR 리뷰 처리 요약 (cycle 2)리뷰어: @coderabbitai (Outside diff range comments, 2026-05-20T06:52:04Z) 자동 적용 (OBVIOUS)(없음) 논의 후 적용 (AMBIGUOUS)(없음) 건너뜀
통계
PR HEAD: |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 70
|
|
@coderabbitai resolve PR 리뷰 피드백 처리 결과자동 적용 (OBVIOUS)
논의 후 적용 (AMBIGUOUS)
건너뜀 (SKIPPED)
통계
추가로 처리할 항목이 없어 새 커밋은 만들지 않았습니다. PR이 머지 가능한 상태입니다. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 70
|
Summary
pr-review-feedbacknow posts the PR summary comment unconditionally whenever ≥1 review comment was collected — independent of fix outcome and reviewer type (human / Codex / Claude / CodeRabbit / other).@coderabbitai resolveheader is reframed as additive: detected from the PR's actual reviewer/commenter set viagh pr view --json reviews,comments,reviewThreads, not the post-filter collected items.Changes
plugins/skill-set/agents/pr-review-feedback.mdBackground
Before this change,
/skill-set:pr:shipcycles that produced no fixes (e.g., all collected comments were non-actionable or already resolved) silently skipped posting the summary comment, and the@coderabbitai resolveheader inherited the same gap because its detection ran on the filtered comment set. Reviewers got no acknowledgement, and CodeRabbit threads stayed open across cycles.The fix lives entirely in
pr-review-feedbackso that/skill-set:pr:fixstandalone gets the same correctness as theshipping-pr → resolving-pr-blockers → pr-review-feedbackchain — single owner, no responsibility duplication.Test Plan
/skill-set:pr:fixon a PR with only LGTM / non-actionable review comments — summary comment is posted./skill-set:pr:fixon a PR reviewed by CodeRabbit with no new actionable items — summary comment includes@coderabbitai resolveheader as the first line./skill-set:pr:fixon a PR reviewed only by a human reviewer — summary comment is posted without the CodeRabbit header./skill-set:pr:shipend-to-end on a PR with CodeRabbit reviews — every cycle posts a summary comment, the resolve header appears once CodeRabbit is a reviewer.Summary by CodeRabbit