Skip to content

ci(rust): convert rust-ci.yml to thin wrapper (standards#174)#19

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/rust-ci-reusable-wrapper
May 26, 2026
Merged

ci(rust): convert rust-ci.yml to thin wrapper (standards#174)#19
hyperpolymath merged 1 commit into
mainfrom
chore/rust-ci-reusable-wrapper

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Replaces the per-repo rust-ci.yml copy with a 5-line wrapper invoking the shared reusable workflow filed in standards#174.

Pinned to that PR's HEAD SHA (4fdf4314b4ab54269adbaff10e30e483b5e86845); will resolve to standards/main once #174 merges.

Why

Estate audit found ~87 rust-ci.yml copies across the estate with significant drift. Converting each to a 5-line wrapper means future Rust CI changes propagate in one place.

This PR is part of the foundational sweep following the established standards#168 precedent (governance-reusable + absolute-zero#41 + tma-mark2#41 wrappers).

Variant: trivial ("baseline check + clippy + fmt + test")

Test plan

  • CI: rust-ci job invokes the reusable and reports the same checks
  • Awaiting standards#174 merge before this becomes useful long-term (still works today via SHA pin)

🤖 Generated with Claude Code

Replaces the per-repo `rust-ci.yml` copy with a 5-line wrapper invoking
the shared reusable workflow in `hyperpolymath/standards` (PR #174).

Pinned to PR #174's HEAD SHA `4fdf4314b4ab54269adbaff10e30e483b5e86845`; will resolve to standards/main
once #174 merges.

Estate audit found ~87 rust-ci.yml copies across the estate; this is
one of them. The reusable provides identical cargo check/clippy/fmt/test
behaviour with opt-in `enable_audit` + `enable_coverage` inputs.

Pattern precedent: standards#168 (governance-reusable) + downstream
wrappers absolute-zero#41 + tma-mark2#41.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 85 issues detected

Severity Count
🔴 Critical 11
🟠 High 43
🟡 Medium 31

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Stale AI task file -- delete or move to docs/",
    "type": "stale",
    "file": "SONNET-TASKS.md",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Workflow executes remote script directly (curl/wget piped to shell). Download, verify checksum/signature, then execute.",
    "type": "download_then_run",
    "file": "echidnabot.yml",
    "action": "verify_download_integrity",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Admitted leaves proof hole (2 occurrences, CWE-704)",
    "type": "admitted",
    "file": "/home/runner/work/echidnabot/echidnabot/proofs/coq/admitted_stub.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "Coq admit tactic leaves goal unproven (1 occurrences, CWE-704)",
    "type": "coq_admit_tactic",
    "file": "/home/runner/work/echidnabot/echidnabot/proofs/coq/admitted_stub.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "believe_me undermines formal verification (1 occurrences, CWE-704)",
    "type": "believe_me",
    "file": "/home/runner/work/echidnabot/echidnabot/src/abi/Foreign.idr",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "sorry leaves proof hole (3 occurrences, CWE-704)",
    "type": "sorry",
    "file": "/home/runner/work/echidnabot/echidnabot/proofs/lean/sorry_stub.lean",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "User-defined axiom -- not verified by Lean kernel (1 occurrences, CWE-704)",
    "type": "lean_axiom",
    "file": "/home/runner/work/echidnabot/echidnabot/proofs/lean/sorry_stub.lean",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "Nickel file missing SPDX-License-Identifier header (1 occurrences, CWE-1104)",
    "type": "ncl_missing_spdx",
    "file": "/home/runner/work/echidnabot/echidnabot/.machine_readable/contractiles/intend/intend.ncl",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "Nickel file missing SPDX-License-Identifier header (1 occurrences, CWE-1104)",
    "type": "ncl_missing_spdx",
    "file": "/home/runner/work/echidnabot/echidnabot/.machine_readable/contractiles/bust/bust.ncl",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 6921654 into main May 26, 2026
19 of 23 checks passed
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.

1 participant