Repository navigation
chore(ci): cargo fmt, rmcp RustSec bump, gitleaks false positive at source, playground template owner - #473
Conversation
Three small fixes for reds that main shows since its workflows run again. - src/rust/proof_search.rs: `cargo fmt` with the pinned 1.99.0 toolchain. Rust CI on main (run 42351375993) failed only at the fmt step; this is the only file the workspace-wide `cargo fmt --all` changes. - .gitleaks.toml: an anchored exemption for one value, d3e4b485a2af90c92a8e18af0888cd19cb132cd9, the metadatastician/standards commit that workflow-linter.yml's lock refresh checks out as `authority_sha=`. It is a public git object id. Since #455 it trips generic-api-key on every PR's history scan. Measured with the CI-pinned gitleaks 8.18.4 and the estate baseline at the caller's pin: old config 2 findings with a planted look-alike (the SHA and the plant), new config 1 (the plant only), clean tree 0. - echidna-playground/ci-templates/governance.yml: the never-run template now names metadatastician/standards at the same pin as root's live governance.yml (a797d30), not the old owner at 861b5e9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 22 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
…s a key generic-api-key matched `authority_sha=<40 hex>` in workflow-linter.yml only because the variable name contains "auth". The previous commit suppressed it with a value entry in .gitleaks.toml, which the governance exemption ratchet correctly rejected (.gitleaks.toml: 2 -> 3). Fix it at the source instead: the variable is now standards_rev, and the .gitleaks.toml entry is removed, so the ledger is back to 2 entries. gitleaks 8.18.4 with the estate baseline staged: - old name, no entry: 1 finding (generic-api-key workflow-linter.yml:80) - new name, no entry: 0 findings - new name plus a planted ghp_ token beside it: 1 finding (still caught) actionlint: clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb
Dependency audit fails on every PR, this one included, because rmcp 3.5.0 (crates/echidna-mcp) has three advisories, the newest published 2026-11-05, after main last passed. Ported from #465 so this PR does not wait on it: `cargo update -p rmcp --precise 3.9.0` with the pinned 1.99.0 toolchain, inside the existing "3" requirement. The other lock lines are the resolver re-unifying around rmcp 3.9.0's new sha2/libc dependencies. The resulting Cargo.lock is byte-identical to #465's, so whichever merges first leaves the other a no-op. scripts/ci/audit-dependencies.sh with cargo-audit 0.22.2: Cargo.lock and fuzz/Cargo.lock both PASSED. cargo check -p echidna-mcp --locked: passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb
|
CI status after 198622c:
Generated by Claude Code |
…s (port of #465) governance / Validate Hypatia Baseline fails on main and so here: Hypatia reports code_safety/zig_ptr_cast and zig_align_cast (high) on the nine `@ptrCast(@aligncast(raw))` lines in src/zig_ffi/. Each cast recovers a callback's own *@this() from the type-erased *anyopaque it was registered with (runtime_owner.Work.context or a std.mem.Allocator vtable ptr), so type and alignment are the original ones. Ported from #465 (f48fe0a) so this PR does not wait on it: one reasoned `hypatia: allow <rule> -- <why>` per rule per line, no baseline entry, no code change. Both files are byte-identical to #465's. Inline directives are not an exemption-ratchet ledger. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb
|
Generated by Claude Code |
Dependency audit fails on main and every PR: rmcp 3.5.0 (crates/echidna-mcp) has three advisories, the newest published 2026-11-05. Ported from #465 (also carried by #473); Cargo.lock is byte-identical to both, so whichever merges first leaves the others a no-op. scripts/ci/audit-dependencies.sh (cargo-audit 0.22.2): both lockfiles PASSED. cargo check -p echidna-mcp --locked: passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb
…s (port of #465) governance / Validate Hypatia Baseline fails on main and so here: Hypatia reports code_safety/zig_ptr_cast and zig_align_cast (high) on the nine `@ptrCast(@aligncast(raw))` lines in src/zig_ffi/. Each cast recovers a callback's own *@this() from the type-erased *anyopaque it was registered with, so type and alignment are the original ones. Ported from #465 (f48fe0a), comments only, no baseline entry; both files are byte-identical to #465's and #473's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb
Codex Review Summary: ❌ FailedThis 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. |
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
|



Summary
Since #458, echidna's workflows run again, which exposed small reds on main and on every PR. This PR fixes them. Each was reproduced locally first, then shown fixed with the same tool CI uses.
Changes
src/rust/proof_search.rs:cargo fmtwith the repo's pinned 1.99.0 toolchain.cargo fmt --alltouches.Cargo.lock:rmcpandrmcp-macros3.5.0 → 3.9.0 for RUSTSEC-2026-0457, -0461 and -0462. The newest was published 2026-11-05, after main last passedDependency audit.cargo update -p rmcp --precise 3.9.0, inside the existing"3"requirement.Cargo.lockandproof_search.rsare byte-identical to fix(ci): restore main's red checks (rmcp RustSec, rustfmt, Hypatia Zig casts) #465's, so whichever merges first leaves the other a no-op..github/workflows/workflow-linter.yml: renameauthority_sha→standards_rev.generic-api-keyread the 40-hex commit id as a key only because the variable name contains "auth"..gitleaks.tomlentry is added. An earlier commit on this branch added one, andExemption ratchetrejected the ledger growth (2 → 3). That entry is gone.echidna-playground/ci-templates/governance.yml: the never-run template now namesmetadatastician/standards. It uses the same pin as root's livegovernance.yml(a797d30) instead of the old owner at861b5e9.RSR Quality Checklist
Required
cargo fmt --all -- --checkpasses;cargo check -p echidna-mcp --lockedpasses against rmcp 3.9.0 (the crate has no tests).cargo fmt --all -- --checkpasses.unsafeblocks: none added.envfiles includedAs Applicable
Nothing in this list applies.
Testing
gitleaks. CI-pinned gitleaks 8.18.4 (checksum-verified), with the estate baseline staged at the root exactly as
secret-scanner-reusable.ymlstages it:authority_sha, no.gitleaks.tomlentrygeneric-api-keyatworkflow-linter.yml:80standards_rev, no entry)api_token=ghp_…beside itDependency audit.
scripts/ci/audit-dependencies.shwith cargo-audit 0.22.2:Cargo.lock: FAILED, with the three rmcp advisories;Cargo.lockandfuzz/Cargo.lockbothPASSED.Rust CI. I reproduced the fmt failure locally on main with toolchain 1.99.0; after this change
cargo fmt --all -- --checkpasses.Checks red here, and not caused by this PR
Static Analysis / panic-attack assailhas been red on main since audit: routing/rule-engine recon, Logtalk quarantine; Agda proofs re-checked under PROOF-POLICY §2.1 #455. Two causes:sorrydetector fixtures, which test(corpus): mark the two deliberate sorry fixtures as accepted detector inputs #480 handles together with feat(assail): line-anchor Lean/Isabelle sorry findings so inline markers apply panic-attack#278.Observed, not changed here
mirror.ymlis back on the pre-transfer pin3c00687.a797d30; hypatia, scorecard and sparkd3e4b48; mirror3c00687.relock-standards-pin.shrefuses mixed pins, so the next estate repin will stop here until mirror moves too.*_SSH_FINGERPRINT, and the bitbucket push fails.🤖 Generated with Claude Code
https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb