Repository navigation
feat(pr-pipeline): run the code review on pr-review-cli with key-first funding - #9348
Conversation
…t funding Move pr-review-hosted.yml off ci-workflows pr-review.yml (claude-code-action, bare CLAUDE_CODE_OAUTH_TOKEN) onto pr-review-cli.yml v0.63.1, lane code, publish comments, funded by the reviews role's API key and then its subscription token. The job id stays pr-review, so the check stays pr-review / claude-review-status. A newer push waits for a running review. review-venue.sh now takes a pr-review-cli caller whose path does not name security as the code-review lane. The evidence reader, address-feedback and feedback-dispatch already read any lane's github-actions[bot] footer since the security switch; they gain code-lane tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review needs no new review of Security review of PR #9348: no security findings. critical-findings: 0 I read the full diff (14 files) and the PR context. The PR context contained no embedded instructions. The skip gate did not apply, because the diff changes a workflow caller and review-trust logic. What I checked:
The protected-class register was not consulted. Nothing in the diff removes a standing rule, so it was not needed. |
|
claude-review needs no new review of No findings. I read the full diff (14 files) and the PR context. I did not run any tests or scripts, so everything below comes from reading the code.
|
Refs: melodic-software/claude-code-account-rotation#259
Summary
Moves the live code review lane onto ci-workflows
pr-review-cli.ymlv0.63.1 (83b739f), lanecode, funded by thereviewsrole:REVIEWS_CLAUDE_API_KEYfirst,REVIEWS_CLAUDE_CODE_OAUTH_TOKENonly after the key hands off (or when the repository variableREVIEWS_KEY_EXHAUSTEDistrue). This mirrors the security lane's switch in #9307. Both review lanes now run onpr-review-cli.yml.Fix
.github/workflows/pr-review-hosted.yml: callspr-review-cli.yml@83b739fwithlane: code,publish: comments, the samemodel-args,allowed-bot-sender-idsandallowed-author-ids, anddocs-only-paths: ''passed explicitly (pr-review.yml's default at2fe38c0was empty, so the code lane never skipped documentation; the three security globs are not copied). Job id stayspr-review, so the check stayspr-review / claude-review-status. Permissions arecontents: readandpull-requests: write(noid-token);runneris dropped (the new reusable has no such input).cancel-in-progress: false, since a cancelled run reads as red to the guardrails merge guard. The bareCLAUDE_CODE_OAUTH_TOKENis no longer passed.review-venue.sh: apr-review-cli.ymlcaller whose path does not containsecurityis now the code-review lane (before, nopr-review-cli.ymlrun counted for code-review, so it would have readlocal absentafter this switch). The reference table says the same.babysit_review_evidence.py,address-feedback.mjsandfeedback-dispatch.mjsalready accept any review lane'sgithub-actions[bot]footer and anaccount=fallbackrecord since feat(pr-pipeline): run the security review on pr-review-cli with key-first funding #9307, so they need no logic change. They gain code-lane tests (claude-lane: claude-reviewfooter,account=fallbackrecord forclaude-review), and comments that named onlypr-review.ymlor calledclaude[bot]the code lane's reviewer are corrected..github/lane-funding.json: thepr-reviewlane isrun-claude-clireading bothREVIEWS_*secrets.docs/conventions/pr-pipeline/README.md,pr-run-activity.md, and changelog fragments forpr-pipelineandsource-control.Verification
Live proof on head
b1a70599799668bc4621981158e438b00d65bc3f, run 39910029055 (REVIEWS_KEY_EXHAUSTEDnot set):pr-review / claude-review-key:run-claude-cli: pr-review ended class=auth on REVIEWS_CLAUDE_API_KEY api_error_status=401,"handoff":true. The key itself did not review: the API refuses it.pr-review / claude-review-subscription:Claude review completed: credential=REVIEWS_CLAUDE_CODE_OAUTH_TOKEN fallback=auth turns=14 max-turns=75 models=claude-sonnet-5-5.pr-review / claude-review-status: notice titledclaude-lane-review-complete,claude-lane-review-complete lane=claude-review sha=b1a70599799668bc4621981158e438b00d65bc3f findings=0 inline=0 scope=whole account=fallback; the summary marker<!-- claude-lane-reviewed-head lane=claude-review sha=b1a70599… -->was posted bygithub-actions[bot](typeBot). Every job green.babysit_merge._lane_evidence, as the gate calls it, withchanged_paths=[]because this PR edits.github/and the lane-source gate would unbind it):claude-reviewbound, 0 open findings;claude-security-reviewbound, 0 open, 0 blocking.Local, one suite at a time under
nice:callers.test.mjs131 pass;address-feedback.test.mjs89;pr-unblock/feedback-dispatch.test.mjs77;resolve-config/feedback-dispatch.test.mjs6;check-trusted-trigger.test.mjs332; 0 fail.test_babysit_review_evidence137 OK.review-venue.test.sh57 pass.review-venuetest fails on the base script (code-review readlocal absent) and passes after. The new evidence-reader,address-feedbackandfeedback-dispatchcode-lane tests pass on base too, since feat(pr-pipeline): run the security review on pr-review-cli with key-first funding #9307 made those readers lane-generic; each was shown to fail when its footer rule is narrowed to the security lane, then restored.runner-policy.mjs --root ., actionlint, zizmor (offline), pinned ruff, markdownlint and both changelog fragment gates pass; CIlint-repopassed on this head.ci-statusis red only for thedo-not-mergelabel.Related
🤖 Generated with Claude Code