Skip to content

chore(ci): cargo fmt, rmcp RustSec bump, gitleaks false positive at source, playground template owner - #473

Merged
hyperpolymath merged 5 commits into
mainfrom
claude/compassionate-fermat-9x7vpe
Nov 9, 2026
Merged

hyperpolymath merged 5 commits into
mainfrom
claude/compassionate-fermat-9x7vpe

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

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 fmt with the repo's pinned 1.99.0 toolchain.
    • Rust CI on main (run 42351375993) fails only at the fmt step.
    • This is the only file the workspace-wide cargo fmt --all touches.
  • Cargo.lock: rmcp and rmcp-macros 3.5.0 → 3.9.0 for RUSTSEC-2026-0457, -0461 and -0462. The newest was published 2026-11-05, after main last passed Dependency audit.
  • .github/workflows/workflow-linter.yml: rename authority_sha → standards_rev.
    • gitleaks generic-api-key read the 40-hex commit id as a key only because the variable name contains "auth".
    • The fix is at the source, so no .gitleaks.toml entry is added. An earlier commit on this branch added one, and Exemption ratchet rejected the ledger growth (2 → 3). That entry is gone.
  • echidna-playground/ci-templates/governance.yml: the never-run template now names metadatastician/standards. It uses the same pin as root's live governance.yml (a797d30) instead of the old owner at 861b5e9.

RSR Quality Checklist

Required

  • Tests pass:
    • cargo fmt --all -- --check passes;
    • cargo check -p echidna-mcp --locked passes against rmcp 3.9.0 (the crate has no tests).
  • Code is formatted: cargo fmt --all -- --check passes.
  • Linter is clean: actionlint 1.7.7 reports 0 findings on both workflow files.
  • No banned language patterns
  • No unsafe blocks: none added
  • No banned functions: none
  • SPDX license headers present: unchanged
  • No secrets, credentials, or .env files included

As 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.yml stages it:

Tree Findings
old name authority_sha, no .gitleaks.toml entry 1: generic-api-key at workflow-linter.yml:80
this branch (standards_rev, no entry) 0
this branch, plus a planted api_token=ghp_… beside it 1: the plant, so it is still detected

Dependency audit. scripts/ci/audit-dependencies.sh with cargo-audit 0.22.2:

  • before: Cargo.lock: FAILED, with the three rmcp advisories;
  • after: Cargo.lock and fuzz/Cargo.lock both PASSED.

Rust CI. I reproduced the fmt failure locally on main with toolchain 1.99.0; after this change cargo fmt --all -- --check passes.

Checks red here, and not caused by this PR

Observed, not changed here

  • mirror.yml is back on the pre-transfer pin 3c00687.
  • Mirror failures on main are forge configuration, not code. The disroot, gitea and sourcehut jobs fail "Verify … SSH host" against the repo variables *_SSH_FINGERPRINT, and the bitbucket push fails.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JHfuPCv1pEiqkQGG5DQASb

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
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You'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.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 8aea3c74-e8fa-4cb0-92f3-dbe3cfa5fd03
Commits

Reviewing files that changed from the base of the PR and between f385a6d and 5619eb5.

Files selected for processing: 2

  • .github/workflows/workflow-linter.yml
  • echidna-playground/ci-templates/governance.yml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

…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
@hyperpolymath hyperpolymath changed the title chore(ci): cargo fmt, gitleaks SHA exemption, playground template owner chore(ci): cargo fmt, rmcp RustSec bump, gitleaks false positive at source, playground template owner Nov 9, 2026

Copy link
Copy Markdown
Owner Author

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

Copy link
Copy Markdown
Owner Author

governance / Validate Hypatia Baseline is red here for a reason that isn't this PR's:


Generated by Claude Code

hyperpolymath pushed a commit that referenced this pull request Nov 9, 2026
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
hyperpolymath pushed a commit that referenced this pull request Nov 9, 2026
…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
@hyperpolymath
hyperpolymath marked this pull request as ready for review November 9, 2026 15:44
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-09T22:55:08.998520Z 5619eb5 New commits
🔒 Security Review ❌ Failed 2026-11-09T22:53:52.660247Z
We couldn’t complete this review. Comment @codex security review to try again.
5619eb5 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

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.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 9, 2026 22:53
@chatgpt-codex-connector

Copy link
Copy Markdown

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.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 9, 2026 22:53
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 65216a2 into main Nov 9, 2026
74 of 77 checks passed
@hyperpolymath
hyperpolymath deleted the claude/compassionate-fermat-9x7vpe branch November 9, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants