Repository navigation
fix(pr-pipeline): start the address-feedback and review-dependency fallback calls from trusted values - #9368
Conversation
…llback calls from trusted values address-feedback-subscription and review-dependency-subscription started on the first call's lane-class and credential-present, which the read runner's run job sets after head code runs. Give each leg a handoff job, as fix-ci has, that reads this run's jobs through the Actions API once, and start the fallback call on its posted output. Every fallback call with a handoff job, fix-ci's included, now passes fallback: handoff instead of a label from the first call's lane-class; the read runner accepts it and labels the lane record "posted no check". Closes #9365 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-legs-trusted-start
…step names 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 blocking findings on head ca7fcc0. I read the diff and PR context and checked the changed workflows against the base files. I did not run the tests or workflows, and the PR's numbers (143/143, 14/14, the real run) are the author's and unverified. Closing issue #9365. It asks for three things, and the change covers each.
Behaviour checked.
Nit, below the review bar (not counted). The comment above Not verified. The PR says no live pr-unblock run of either fallback leg was made, since that needs a credit stop or an empty key. The handoff read's step names are only evidenced by the author's cited run. No hold. The change adds no model call or spend, since the subscription legs already existed. It touches no trusted-actor, No plugin manifests changed. |
|
claude-security-review reviewed No security issues found in this pull request. critical-findings: 0 What I checked
Not applicable
|
…-legs-trusted-start
|
The pr-unblock lane stopped on this pull request and needs a person: the merge stages a change under .github/workflows/, which the lane does not push.
To resume, deal with the reason above, remove the gh workflow run pr-unblock.yml -R melodic-software/claude-code-plugins -f pr-number=9368 -f activity=resolve-conflicts |
Closes #9365
Summary
address-feedback-subscriptionandreview-dependency-subscriptionstarted onlane-classandcredential-present. The read runner's run job sets those outputs after head code runs, so a forged run job could start or suppress the OAuth fallback leg. Both legs now start the way fix-ci's do since #9363: on a base job's single Actions API read of whether the first call's report job posted its check.Fix
pr-unblock.yml: new jobsaddress-feedback-handoffandreview-dependency-handoff. Each hasactions: readonly, no checkout and no secret, and runs fix(pr-pipeline): derive fix-ci's fallback, restart count and head binding from trusted jobs #9363'sfix-ci-handoffstep verbatim withCALLSset to its own call. Each subscription job now needs its handoff job and runs onneeds.<leg>-handoff.outputs.posted != 'true'.fallback:label:credit-stopvsno-keyhad no trusted source. Only the run job knows the cause, and nothing may test the key. That distinction only picks the lane record's text. The input itself still gates which credential step runs, so it stays. Every leg with a handoff job, fix-ci and fix-ci-rung-up included, now passes the literalfallback: handoff. That value is the one fact the handoff read attests.pr-run-activity-read.ymlacceptshandoffand labels the lane record(key <name> posted no check).credit-stopandno-keystay accepted, becausefix-docs-subscriptionstill passes them until feat(pr-pipeline): restore pr-refine as the refine stage for fix-docs #9332.pr-run-activity.md"Two calls on one credential each" now describes the handoff jobs and thehandofflabel.Verification
callers.test.mjshad 9 of 140 failing andworkflow-gates.test.mjs3 of 14. With the fix, after merging main: 143/143 and 14/14 (nice node --test, one suite at a time).fallbackinput reads a run-job output (jobs.run.outputs.*) in itsif:. That covers all 5 legs;fix-docs-subscriptionis exempt until feat(pr-pipeline): restore pr-refine as the refine stage for fix-docs #9332 and asserted to still read one.lane-class/credential-present/handed-offvalues don't change either subscription gate.fallbackinput check acceptshandoff.runner-policy.mjs --root .passed, andactionlintandzizmor --offlinereport nothing.scripts/pr-unblock-trusted-base.test.sh24/24 andscripts/read-runner-dispatcher-gate.test.sh9/9.address-feedback / reporthasPost the check run, andaddress-feedback / broker-checkhas the broker step.Related
pr-unblock.ymland the read runner too. The only overlap is theapply-dependency-verdictinputs, a different job.SUBSCRIPTION_START_PENDING.🤖 Generated with Claude Code