Repository navigation
feat(pr-review-cli): pass each lane its prior findings - #955
Conversation
Every model leg (key, subscription, fallback) runs the new collect-prior-findings composite after the plugin clone and before compose, on both lanes. It runs claude-code-plugins' plugins/review/lib/prior-findings.mjs with the job token, writes .claude-lane/prior-findings.md and hands the PRIOR FINDINGS note to the compose prompt beside the settled-threads note. The round cap (loop.review-rounds) is read from docs/conventions/pr-pipeline.yaml on the repository's default branch, never the head; an unread cap means no cap. A failed script leaves no file and no note, so the lane reviews as before. Each leg job's limit rises by the step's 2 minutes. Closes #950 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-review reviewed No findings. I read the whole diff (4 files), the PR context, and the existing
|
|
claude-security-review reviewed No security findings. What the PR does: it adds a Trust-control and trust-boundary checks:
Not reported: |
Closes #950
Refs: melodic-software/claude-code-plugins#7777
Summary
claude-code-plugins#12011 added
plugins/review/lib/prior-findings.mjsand taught/review:code-reviewand/review:security-reviewto act on aPRIOR FINDINGS:prompt line. Nothing produced that line. This runs the script on every model leg ofpr-review-cli.yml, for both lanes, and passes its note to the compose prompt the same way the settled-threads note is passed.Fix
.github/actions/collect-prior-findings(onebashstep, no model, no github-script, so nocontextshadowing as in fix(report-lane-outcome): stop shadowing github-script's context parameter #952). It:.claude-lane/prior-findings.md;gh api -X GET repos/$REPOSITORY/contents/docs/conventions/pr-pipeline.yaml -f ref="$DEFAULT_BRANCH"(raw), whereDEFAULT_BRANCHisgithub.event.repository.default_branch, never the head or base SHA. Any failed read (404 included) leavesCAP_CONFIGunset, so the script counts no cap;node "$SOURCE/plugins/review/lib/prior-findings.mjs"from the claude-code-plugins default-branch clone the plugin step already staged, with the job token (contents: read,pull-requests: read, unchanged);note=only after a successful write, so the compose prompt gets no line and the lane reviews as before.pr-review-cli.yml: inreview-key,review-subscriptionandreview-fallback, apriorstep aftersettledwith the settled step'sif:,continue-on-error: trueandtimeout-minutes: 2;lanemapscode/securitytoclaude-review/claude-security-review, the footer names the script matches. Compose getsPRIOR_NOTE: ${{ steps.prior.outputs.note }}andenv.PRIOR_NOTEright afterenv.SETTLED_NOTE.pr-review-cli.test.cjsrequires.Verification
node --test .github/scripts/*.test.cjs: 793 pass, 0 fail (4 of them new incollect-prior-findings.test.cjs: cap read from the default branch with the exactgharguments; unread cap or empty default branch leavesCAP_CONFIGunset and still writes the file; a failed script leaves no file and no note, including a head-planted one; every leg wires the step before compose with read-only permissions).gh api graphqlagainst claude-code-plugins#12011, returns no errors andgithub-actionswithdatabaseId41898282 on reviews and comments (the fix(collect-settled-threads): read resolvedBy as the User it is #953 failure class).zizmoron the action and workflow: no findings.shellcheckon the composite's run block: clean. Localactionlint1.7.12 reports only the classes it already reports onmain($/local action refs,cache-mode); CI's pinned actionlint is the authority.prior-findings: N prior post(s), R round(s), cap 3on a claude-code-plugins PR.Related
🤖 Generated with Claude Code