docs(backlog): file the zizmor self-repository red on cla.yml (BACKLOG #1457) - #903
docs(backlog): file the zizmor self-repository red on cla.yml (BACKLOG #1457)#903wshallwshall wants to merge 1 commit into
Conversation
…G #1457) Dependabot #891 bumped zizmor 1.29.0 to 1.30.0. That release added the `self-repository` audit, which fires one LOW on cla.yml:102 and exits 12. The gate ran on the bump PR and was merged past. Run 33945900593 reported `1 low, 0 medium, 0 high` and exit code 12 at 04:57:02Z; #891 merged at 21:02:26Z. Not a bypass: zizmor is not among the thirteen required contexts, auto-merge was null, and nobody was obliged to stop. Measured on main's own inputs rather than on main: PR 901's zizmor run executed main's pinned 1.30.0 against main's cla.yml blob, which is byte-identical across both, and reported the same finding. Main's last zizmor run predates the bump, so its next scheduled run is the reading that closes the loop. The item deliberately does not name a fix. zizmor's suggested `$/` syntax was not verified against GitHub's documentation, and cla.yml carries a required context on a pull_request_target workflow that the PR changing it cannot test -- the deadlock PR 621 already paid for once. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Superseded by #940, which merged at 11:52 CT as Closed by the Lander, not rejected. Eight ledger-only pull requests were consolidated into one so that nine filings cost one merge cycle rather than eight. Under The consolidation merged each branch rather than cherry-picking, so every number arrived carried by a real merge parent, and it re-applied only this branch's own sections onto main's current file. That mattered: taking any of these branches wholesale would have silently reverted #1426, #1440, #1454, #1455 and #1456. Final state verified at 443 rows against a target computed before building, 678 additions and zero deletions, no duplicate numbers. Nothing here needs re-filing. |
Files BACKLOG #1457. One item, no code, no fix -- the remedy is deliberately left open because guessing it is the dangerous move.
What it records
zizmoris red on this repository and nothing will clear it on its own.Dependabot's #891 bumped
zizmor==1.29.0to1.30.0inci/locks/ci-scanners.lock. That release added theself-repositoryaudit, which fires one LOW on.github/workflows/cla.yml:102-- the vendored local action isuses: ./.github/actions/cla-assistant-lite. The job exits 12 on any finding.The part worth filing
The gate ran on the bump and was merged past. #891's own run
33945900593finished at04:57:02Zwith1 low, 0 medium, 0 highandexit code 12. The pull request merged at21:02:26Z, sixteen hours later.That is not a bypass, and the item says so plainly. Read from the server:
zizmor (GitHub Actions static analysis)is not among the thirteen required contexts,autoMergeRequestwas null, and the merge was ordinary. An advisory check went red and nobody was obliged to stop. The finding is a gate whose redness costs nothing, not misconduct.What was measured, and on what
mainhas not run zizmor since the bump -- its last run is2026-09-05T09:35:09Zatb9d204e38, green, predating the merge. So "main is red" is not yet observed. What is observed is stronger than a guess and the item states it as exactly what it is:origin/main:ci/locks/ci-scanners.lockreadszizmor==1.30.0cla.ymla4d4e1e98a5c2bcd255b615b93ec8c440aed2f0333992002941So main's own scanner has already been run against main's own file. The remaining step is that the 06:00 UTC cron uses those same two inputs. The item names the one query that closes it rather than asserting the outcome.
Why no fix is proposed
zizmor's help says "use '$/...' instead of './...'" and marks it auto-fixable. That syntax was not verified against GitHub's documentation by this filing, and the item quotes it as the tool's claim rather than repeating it as fact. Verifying it is listed as the research.
And
cla.ymlis the worst file in the repository to guess at.clais a required context, the workflow runs onpull_request_target, and apull_request_targetworkflow cannot be tested by the pull request that changes it -- the edit lands onmainuntested, and if it is wrong the repair is itself gated by the check it broke. That deadlock happened here on PR 621 and needed an administrator.scripts/quality/workflow_local_action_check.pyexists because of it.Three ends are named as non-equivalent: adopt the syntax if real, suppress with a reason in
.github/zizmor.ymlas fourdangerous-triggersentries already are, or accept it as a residual beside thearchived-usesentry that already covers this same file atcla.yml:44.One stale line found in passing
.github/workflows/zizmor.yml's header says a bump PR touching onlypyproject.tomland the lock "never ran this gate", citing PR #66. Thepull_requesttrigger now carriespaths: [".github/**", "ci/locks/ci-scanners.lock"], so #891 did run it, and did fail it. Recorded in the item; not edited here, because that file iszizmor.ymland this PR is a backlog filing.Checks
parse_itemsfrombacklog_status_check.py, as an ADDED/LOST set difference againstorigin/main: 1 added (#1457), 0 lost, 0 status changes, #1457 parses openscripts/coord/alloc.ps1 -Kind backlog, never greppedRelated: #901 carries this red and is not its cause; its comment thread has the same attribution. The two are independent and can merge in either order.
Generated with Claude Code