Repository navigation
fix(pr-review-cli): read only a reviewed-head marker from the same caller - #972
Conversation
…ller Two callers on one pull request share the marker key lane=claude-review. A docs-only skip by the legacy pr-review.yml recorded a head that pr-review-cli.yml then skipped as already reviewed. The marker's second line now always carries the caller workflow, and pr-review-cli.yml reads only a marker naming its own caller. pr-review.yml and pr-review-security.yml ignore a marker naming a caller. The first line stays unchanged because other repositories match it with anchored patterns. Refs: #967 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q1VgLEiwGgRVshK3b7
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 reviewed No security findings in PR #972. The skip gate does not apply, because the change touches review-scoping and skip logic, so I read the whole diff. What changed. The What I checked.
I did not read manifest fields: none hit (no plugin manifests changed). critical-findings: 0 |
|
claude-review reviewed Code review: no findingsI read the full diff (9 files) and the PR context. I did not run the test suites. The PR body says they pass, but that is the author's claim and I haven't verified it. What I checked
Unverified: that Not flagged (cosmetic): the new README sentence leaves one line well past the surrounding wrap width. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q1VgLEiwGgRVshK3b7
Refs: #967
Summary
Two callers on one pull request share the reviewed-head marker
lane=claude-review. A docs-only skip by the legacypr-review.ymlrecorded a head thatpr-review-cli.ymlthen skipped as already reviewed, so a workflow change merged without code review on pr-pipeline-sandbox#273.This PR delivers the reusable-side fix. A marker now counts as a prior review only for the caller that wrote it.
Fix
publish.cjsalways writes the second marker line, now with the caller workflow path fromGITHUB_WORKFLOW_REF:<!-- claude-lane-reviewed-base ref=main merge-base=<sha|none> caller=.github/workflows/review.yml -->.pr-review-cli.yml(all three legs) reads only a marker naming its own caller.pr-review.ymlandpr-review-security.ymlignore a marker naming a caller, so a CLI skip cannot narrow a legacy review.Why the caller is on line 2:
clear-escalations.mjs:517,address-feedback.mjs:75,prior-findings.mjs:68,babysit_review_evidence.py:264.prior-findings.mjs:93, matches by prefix.pr-review.ymlon main also writes that line when it has a merge base.Transition: an open pull request's existing CLI marker names no caller, so its next push gets one whole review and a new lane comment. That cost is one review per open PR.
Verification
claude-lane-scope.test.cjscover the issue's fixture (CLI marker at A, newer legacy marker at the head, reviews incrementally from A), a legacy marker alone, another caller's marker, the caller's own marker still skipping, and both legacy lanes ignoring a marker naming a caller.origin/main, all 6 new tests fail.node --testpasses on the scope, publish, CLI, API-call, completion and script-body suites.githubcontext is always associated with the caller workflow" (docs). That theGITHUB_WORKFLOW_REFvariable follows the same rule is checked on this PR's own review lanes only after merge, through the sandbox step below.Left out: the live sandbox re-run, because the sandbox pins a released reusable (see Remaining).
Remaining
pr-review-hostedreviews the new head whilepr-review-no-botsruns. fix(pr-review-cli): a legacy pr-review.yml marker for lane claude-review skips the code review #967 closes on that result.Related
readyprobe.🤖 Generated with Claude Code
https://claude.ai/code/session_01VQb9Q1VgLEiwGgRVshK3b7
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.