You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI: pre-existing reds on main (Cargo Audit, governance linters, 3 startup_failures from lock drift) #401
These reds on main (ba373a8) were present before #399 and are identical on its head (cf51b64). #399 fixes only CodeQL, which moves from startup_failure to success.
The startup failures match the 3 error findings that gh actions-lock --no-fix still reports on #399's head. They are in the agda-meta-checker, mvp-smoke and s4-loop lock entries, where the lock and the workflow refs disagree.
Acceptance criteria
gh actions-lock --no-fix --json reports 0 error findings. Fix the lock by hand; never use write mode, which corrupts local action refs.
Rust CI, MVP Smoke and Agda Meta-Checker start and report check-runs on main.
Dependency audit, governance / Workflow security linter and lint-workflows are each green, or each remaining finding has its own issue.
Close-out evidence for the acceptance criteria. Read 2026-10-06 from the runs on mainc28d09a (#410 squash). All 19 runs on that head are listed; none is startup_failure.
Lock clean.gh actions-lock --no-fix --verify on c28d09a reports valid: true with 0 errors. One warning remains: hyperpolymath/cicd-suite@4c772eb sha-as-ref, which can't be avoided because cicd-suite has no tags. Plain --no-fix mode cannot see a corrupted pin; --verify can, and a planted one-digit corruption reports unreachable-pin.
#410 also pinned the floating refs: dtolnay/rust-toolchain@master to @v1 through the lock, cicd-suite @main to a SHA, and the unpinned hypatia clone to 51ab6496. The standards reusable bump (571cc734 → 5751b97e) was held back. On 5751b97e, the governance R5 step exits silently under bash -e, and a new UUID-v7 job flags Project.toml. That bump will return in its own PR.
From Claude's side this issue is closeable. Jonathan decides.
This is a related latent red, not a current one. Standards now has a lock pin contract gate (scripts/check-lock-pin-contract.sh, standards#1381). echidna's actions.lock currently fails it in 18 places: tag-keyed records such as swatinem/rust-cache@v2.9.3 and taiki-e/install-action@v2.87.32, which break canon rule 10 (keys must be SHA pins), plus one self-SHA ref on slsa-framework/slsa-github-generator@f7dd8c5….
The gate does not run at echidna's current standards pin (3c00687), so nothing is red today. It will turn red when echidna moves its standards pin to a commit whose governance runs the contract. The fix is upstream of the lock: SHA-pin those workflow uses: (tag in a trailing comment), then regenerate the lock with the estate order (gh actions-lock → relock-sha-keys → complete-job-refs → close-lock).
#458 has the same 18 findings as main and adds none.
Status after #458 (merged 2026-11-05). The workflows that used to die at startup now run on main, which shows reds they used to hide. Classified from main's push runs at 2ab7574 (2026-11-07):
Workflow (run)
What fails
Cause
Where it is handled
Governance (42351376421)
only Validate Hypatia Baseline; 19 of 20 jobs pass
panic-attack assail: scanner incomplete coverage (exit 2); Deposit job fails as a knock-on
panic-attack at 410a8f8
panic-attack repo
Security Scan (42351376316)
./target/release/panic-attack: No such file or directory
the panic-attack scan-and-report.yml@be6ac46 reusable never builds its binary. Not the #310 token: the verisimdb step is skipped
panic-attack repo
One regression to note: #455's merge put mirror.yml back on the pre-transfer pin 3c00687, with its old comment. Main now pins standards at three SHAs:
Pin
Workflows
a797d30
governance
d3e4b48
hypatia, scorecard, spark
3c00687
mirror
The lock still closes and lock-sync passes, but standards' relock-standards-pin.sh refuses mixed pins. The next repin has to move all three together. See the §4 amendment in metadatastician/standards#1439.
Activity
fix(ci): SHA-pinned Security Scan callee + re-key CodeQL lock entry (#…
chore: echidna first-run start point (CI restore, drift, ids, templat…
ci: pin cicd-suite, dtolnay/rust-toolchain and the Hypatia clone (#401)…
hyperpolymath commentedon Oct 6, 2026
Close-out evidence for the acceptance criteria. Read 2026-10-06 from the runs on
mainc28d09a (#410 squash). All 19 runs on that head are listed; none isstartup_failure.gh actions-lock --no-fix --verifyon c28d09a reportsvalid: truewith 0 errors. One warning remains:hyperpolymath/cicd-suite@4c772eb sha-as-ref, which can't be avoided because cicd-suite has no tags. Plain--no-fixmode cannot see a corrupted pin;--verifycan, and a planted one-digit corruption reportsunreachable-pin.success.success.Two reds remain on main, and neither is lock drift:
#410 also pinned the floating refs:
dtolnay/rust-toolchain@masterto@v1through the lock, cicd-suite@mainto a SHA, and the unpinned hypatia clone to 51ab6496. The standards reusable bump (571cc734 → 5751b97e) was held back. On 5751b97e, the governance R5 step exits silently underbash -e, and a new UUID-v7 job flagsProject.toml. That bump will return in its own PR.From Claude's side this issue is closeable. Jonathan decides.
🤖 Generated with Claude Code
hyperpolymath commentedon Nov 4, 2026
This is a related latent red, not a current one. Standards now has a lock pin contract gate (
scripts/check-lock-pin-contract.sh, standards#1381). echidna'sactions.lockcurrently fails it in 18 places: tag-keyed records such asswatinem/rust-cache@v2.9.3andtaiki-e/install-action@v2.87.32, which break canon rule 10 (keys must be SHA pins), plus one self-SHArefonslsa-framework/slsa-github-generator@f7dd8c5….The gate does not run at echidna's current standards pin (
3c00687), so nothing is red today. It will turn red when echidna moves its standards pin to a commit whose governance runs the contract. The fix is upstream of the lock: SHA-pin those workflowuses:(tag in a trailing comment), then regenerate the lock with the estate order (gh actions-lock→ relock-sha-keys → complete-job-refs → close-lock).#458 has the same 18 findings as main and adds none.
Generated by Claude Code
fix(ci): call standards reusables at metadatastician/standards (#458)
hyperpolymath commentedon Nov 9, 2026
Status after #458 (merged 2026-11-05). The workflows that used to die at startup now run on main, which shows reds they used to hide. Classified from main's push runs at
2ab7574(2026-11-07):Validate Hypatia Baseline; 19 of 20 jobs passcargo fmtdiff insrc/rust/proof_search.rsgeneric-api-keyonauthority_sha=d3e4b48…inworkflow-linter.yml*_SSH_FINGERPRINTrepo variables and keyspanic-attack assail: scanner incomplete coverage (exit 2); Deposit job fails as a knock-on410a8f8./target/release/panic-attack: No such file or directoryscan-and-report.yml@be6ac46reusable never builds its binary. Not the #310 token: the verisimdb step is skippedOne regression to note: #455's merge put
mirror.ymlback on the pre-transfer pin3c00687, with its old comment. Main now pins standards at three SHAs:a797d30d3e4b483c00687The lock still closes and lock-sync passes, but standards'
relock-standards-pin.shrefuses mixed pins. The next repin has to move all three together. See the §4 amendment in metadatastician/standards#1439.Generated by Claude Code