fix(strix): align scan job status permission with tightened smoke contract - #440
Closed
seonghobae wants to merge 1 commit into
Closed
fix(strix): align scan job status permission with tightened smoke contract#440seonghobae wants to merge 1 commit into
seonghobae wants to merge 1 commit into
Conversation
…tract PR #438 tightened strix_required_workflow_smoke.sh to require statuses: read on exactly the strix scan job and to forbid statuses: write anywhere, but left the scan job granting statuses: write (reintroduced by #428). Since the required-workflow smoke test validates the trusted source's HEAD, every Strix run org-wide fails with "Strix workflow must scope statuses: read only to the strix scan job; found: none" as of #438's merge (03:30 UTC) — confirmed by kaefa#65 passing at 03:24 and failing at 03:33 with no relevant change in between. Flip the scan job to statuses: read. This is functionally safe: every post_strix_status caller publishes via exchanged app/secret tokens (target-app, pr-review-merge, opencode-approve) with no GITHUB_TOKEN fallback, matching the workflow's own line-102 comment that GITHUB_TOKEN reads status evidence but must not write it. Verified: scripts/ci/strix_required_workflow_smoke.sh passes locally against this tree. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AMkMUa1c1RRsbHEfsQUhui
Contributor
OpenCode Review Overview
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: strix.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: strix.yml"]
R1 --> V1["actionlint plus required checks"]
|
Contributor
Author
|
Closing as superseded and unsafe to merge. Current-head evidence:
Action: close instead of rebase/merge. Reopening this change would lower central security coverage; the real Strix permission fix is already on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The required Strix check is currently failing on every PR org-wide. PR #438 tightened
scripts/ci/strix_required_workflow_smoke.shto requirestatuses: readon exactly thestrixscan job and to forbidstatuses: writeanywhere in the workflow — butstrix.ymlstill grants the scan jobstatuses: write(reintroduced by #428 after #430 had made it read-only). Because the required-workflow smoke test always validates this repo's HEAD as the trusted source, every Strix run since #438 merged (~03:30 UTC) fails with:Timeline evidence from kaefa#65: Strix passed on a commit at 03:24 UTC and failed at 03:33 UTC, with only a workflow-comment change in between — the breakage tracks #438's merge, not any scanned repo's content.
Change
One line plus its comment: the
strixjob'sstatuses: write→statuses: read.This is functionally safe: every
post_strix_statuscaller publishes commit statuses via the exchanged app/secret tokens (target-app-token,pr-review-merge-token,opencode-approve-token) with noGITHUB_TOKENfallback — matching the workflow's own comment that "GITHUB_TOKEN can read status evidence but must not write it," and restoring the state #430 previously established.Verification
bash scripts/ci/strix_required_workflow_smoke.shpasses locally against this tree (it fails identically to the org-wide runs against currentmain).🤖 Generated with Claude Code
https://claude.ai/code/session_01AMkMUa1c1RRsbHEfsQUhui
Generated by Claude Code