fix(automation): reuse review node_id for mention eyes - #991
Conversation
Trusted @cwl-noema-review and @opencode-agent mentions on pull-request review comments and submitted reviews were ignored because parse_event required issue.pull_request. Accept those surfaces, sweep them, drop the case-sensitive workflow body filter, and require a per-changed-file review walk with staged compute allocation.
Live run 31670687388 queued @cwl-noema-review for #954 then failed the job on POST .../reactions with 403 Resource not accessible by integration, so no receipt was posted. Treat the reaction as optional, give the local job pull-requests: write for conversation receipts, and keep durable dispatch evidence authoritative.
Record that an exceptional eyes-reaction response cannot be treated as a missed dispatch. Force the trusted-uv installer tests onto the linux x86_64 runner path and add the control-plane architecture diagram.
Live router run 31672030631 queued Noema for #9560c253f0 and then failed OpenCode with HTTP 422: repository_dispatch allows 10 client_payload properties and the review-only flags made 14. Nest those flags under review_contract, bind the wrapper to that object, and leave the flat invocation-key claim unchanged.
Doctoring already required skipping pending reviews, but parse_event and the sweep treated a dismissed body with submitted_at as a live mention. Dispatch only submitted, non-dismissed review bodies.
route-local-agent-mention on main dies after a successful dispatch because GITHUB_TOKEN lacks the reactions permission (HTTP 403). Keep the reaction non-fatal and declare the write so the eyes receipt can actually appear.
Inline @cwl-noema-review mentions now POST /pulls/comments/{id}/reactions.
A 403 there is a warning after dispatch. Submitted review bodies still
have no REST reaction endpoint.
Submitted @cwl-noema-review review bodies have no REST reaction endpoint. Resolve the review node_id and addReaction EYES. A 403 or GraphQL error is a warning after dispatch.
Webhook and sweep review payloads already include node_id. Reuse it for GraphQL addReaction so recovered review-body mentions skip an extra review GET.
|
@cwl-noema-review |
|
Warning Review limit reached
Next review available in: 13 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. 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: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (22)
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 |
A second mention on the same submitted review returns a GraphQL already-reacted error. That is still eyes on the review. An empty addReaction payload is not.
|
@cwl-noema-review exact current head |
|
@cwl-noema-review exact current head |
Materialize a base Python lock only when every package line is an exact SHA-256 pin or a two-token relative -r/--requirement include of a candidate lock path. A lone --require-hashes directive, ./dotted paths, and -r other-hashes.txt no longer enter the trusted build context.
53ff111 to
06a3b13
Compare
|
@cwl-noema-review exact current head |
node_id reuse heads still declared a non-existent GITHUB_TOKEN scope. Issue-comment eyes use issues: write; review-comment eyes use pull-requests: write. NVIDIA_NIM_API_KEY only.
|
@cwl-noema-review exact current head |
Pull request was converted to draft
|
Designated as the canonical cumulative review-mention surface branch and returned to Draft. Its current production tree already includes the earlier review-comment/review-body dispatch support, correct REST reaction endpoint for inline review comments, GraphQL review-body eyes with idempotent already-reacted handling, and the Before Ready, rebuild from protected |
Summary
Submitted review-body mentions now react through GraphQL
addReaction, but the router always GET/pulls/{n}/reviews/{id}first. Live webhooks and the five-minute sweep already returnnode_idon the review object, so that extra GET is wasted and can fail independently after dispatch.This increment copies
node_idontoMentionRequestwhen present and skips the review GET. Blank or non-string values still fall back to the lookup.Verification
node_idon the submitted review yieldsrequest.review_node_id. Cached-node reaction posts onlygraphqland never GET/reviews/.coverage run -m pytest tests && coverage report --show-missingtwice at 100% (988 passed,scripts/ci100% statement/branch), theninterrogate100%.@cwl-noema-review