Skip to content

[OPIK-6291] [DOCS] feat: surface PR-level review bodies in /address-github-pr-comments#6536

Merged
JetoPistola merged 2 commits into
mainfrom
danield/OPIK-6291-pr-review-bodies
Apr 29, 2026
Merged

[OPIK-6291] [DOCS] feat: surface PR-level review bodies in /address-github-pr-comments#6536
JetoPistola merged 2 commits into
mainfrom
danield/OPIK-6291-pr-review-bodies

Conversation

@JetoPistola
Copy link
Copy Markdown
Contributor

@JetoPistola JetoPistola commented Apr 29, 2026

Details

image

Update the /comet:address-github-pr-comments skill so it stops silently dropping PR-level reviews where feedback lives only in the review body (e.g., a CHANGES_REQUESTED review submitted with no inline comments — these don't appear in GraphQL reviewThreads or in pulls/{N}/comments / issues/{N}/comments). Triggered by missed feedback on PR #6507.

Step 3 (Collect Pending Comments) now enumerates three feedback categories — inline review comments, issue thread comments, and PR-level review bodies — with explicit pending criteria for each:

  • Per-reviewer latest-review selection: sort pulls/{N}/reviews by submitted_at desc, group by user.login, evaluate only the newest review per reviewer (so older reviews can't stay pending after a superseding one).
  • pull_request_review_id association gate: a COMMENTED review whose id is referenced by any inline comment isn't a Category 3 item — its feedback already lives in Category 1, so it's not double-counted.
  • Pending criteria: state=CHANGES_REQUESTED not later dismissed; or state=COMMENTED with non-empty body, zero attached inline comments, and no prior addressed-marker reply.

Step 6 (Post Replies) introduces a new "PR-level Review Replies — Quote Reply on Issue Thread" section. Since these reviews have no thread to attach to (in_reply_to is N/A), the skill posts a quote-reply on issues/{N}/comments. Both quote generation and the Step 3 idempotency check call the same normalize(body) function (whitespace collapse, leading-> strip, 280-char truncation, U+2026 ellipsis) — preventing duplicate replies on re-runs of long bodies.

Step 7 (Resolve Threads) scope clarified — applies only to inline comments (Category 1). PR-level review bodies have no review thread to resolve; their acknowledgement is the quote-reply from Step 6.

Doc-only edit: .agents/commands/comet/address-github-pr-comments.md (canonical source; .claude/commands/... is gitignored, regenerated locally). No regression to inline-only flow.

Commits on this branch:

  • d2e310c80c — initial three-category restructure + quote-reply flow
  • c2a3f2d4ee — tighten Category 3 dedup and shared quote normalization (addresses inline review feedback on this PR)

Change checklist

  • User facing
  • Documentation update

Issues

  • OPIK-6291

AI-WATERMARK

AI-WATERMARK: yes

  • Tools: Claude Code
  • Model(s): Claude Opus 4.7 (1M context)
  • Scope: full implementation (skill doc edits)
  • Human verification: code review + manual diff review against ticket acceptance criteria; PR review feedback addressed in follow-up commit

Testing

No automated tests — this is a skill spec / prompt-doc change with no executable code.

Manual verification plan:

  • Re-run /comet:address-github-pr-comments against a PR that has a CHANGES_REQUESTED review with no inline comments (e.g., revisit PR [OPIK-6177] [BE] fix: dedupe by stable dataset_item_id in experiment comparison #6507) and confirm the review body is surfaced as a pending item.
  • Confirm an inline-only PR still flows through Steps 3 → 7 unchanged (no regression in threaded reply or resolveReviewThread).
  • Confirm an empty-body COMMENTED review is not surfaced as Category 3 (already verified on this PR — pulls/6536/reviews returned one COMMENTED with body="" and the new spec correctly filters it).

Documentation

N/A — this PR itself is the documentation change (skill spec).

🤖 Generated with Claude Code

…github-pr-comments

Update the skill to fetch and triage three distinct feedback categories
(inline comments, issue thread comments, PR-level review bodies) so that
CHANGES_REQUESTED / COMMENTED reviews with feedback only in the body are
no longer silently dropped. Document the quote-reply flow on the issue
thread for PR-level reviews (no review thread exists) and the
quote-based idempotency check for re-runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Apr 29, 2026
Comment thread .agents/commands/comet/address-github-pr-comments.md Outdated
Comment thread .agents/commands/comet/address-github-pr-comments.md Outdated
Address PR review feedback on Category 3 logic:
- Make per-reviewer latest-review selection explicit (sort by submitted_at,
  one review per reviewer) so older reviews can't stay pending after a
  superseding one.
- Add an explicit pull_request_review_id correlation gate so a COMMENTED
  review whose feedback already lives in inline comments is not
  double-counted as a Category 3 item.
- Define a single normalize(body) rule (whitespace collapse, quote-marker
  strip, 280-char truncation with U+2026) and reference it from both the
  Step 6 quote template and the Step 3 idempotency check, so re-runs
  don't post duplicate replies for long bodies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@JetoPistola JetoPistola marked this pull request as ready for review April 29, 2026 08:43
@JetoPistola JetoPistola requested review from a team as code owners April 29, 2026 08:43
@JetoPistola JetoPistola merged commit 1b079d7 into main Apr 29, 2026
12 of 13 checks passed
@JetoPistola JetoPistola deleted the danield/OPIK-6291-pr-review-bodies branch April 29, 2026 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants