Skip to content

chore(ci): replace mirror.yml with reusable wrapper#113

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/mirror-reusable-wrapper
May 27, 2026
Merged

chore(ci): replace mirror.yml with reusable wrapper#113
hyperpolymath merged 1 commit into
mainfrom
chore/mirror-reusable-wrapper

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Replaces this repo's full mirror.yml (~145 lines, drift-prone) with a thin ~13-line wrapper that calls hyperpolymath/standards/.github/workflows/mirror-reusable.yml@e6b2884722350515934d443daf23442f2195796f (merged via standards#187).

Forge selection (GitLab, Bitbucket, Codeberg, SourceHut, Disroot, Gitea, Radicle) remains gated by Actions vars.<FORGE>_MIRROR_ENABLED exactly as before. secrets: inherit flows the per-forge SSH keys through implicitly.

Why

Estate audit: 289 mirror.yml deployments across the org, 75 unique blob SHAs (76% drift). Drift is action-SHA pin churn, not feature variance — the canonical 7-forge job set is identical across sampled variants. Converging behind the reusable cuts ~94k LOC of estate scaffold and means future changes to mirror logic propagate via one SHA bump.

Part of estate-wide convergence campaign 2026-05-26 (standards#199 / #187).

Pins to hyperpolymath/standards#187 merge SHA e6b2884722350515934d443daf23442f2195796f. Replaces the
canonical mirror.yml (~145 lines, drift-prone) with a thin ~13-line
wrapper. Forge selection still externalised to vars.<FORGE>_MIRROR_ENABLED.

Part of estate-wide convergence campaign 2026-05-26
(standards#199 / #187).
@hyperpolymath
hyperpolymath enabled auto-merge (squash) May 26, 2026 15:51
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 165 issues detected

Severity Count
🔴 Critical 14
🟠 High 77
🟡 Medium 74

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Agda postulate assumes without proof -- potential soundness hole (1 occurrences, CWE-704)",
    "type": "agda_postulate",
    "file": "/home/runner/work/echidna/echidna/proofs/agda/Basic.agda",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "Agda postulate assumes without proof -- potential soundness hole (2 occurrences, CWE-704)",
    "type": "agda_postulate",
    "file": "/home/runner/work/echidna/echidna/proofs/agda/SoundnessPreservation.agda",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "Agda postulate assumes without proof -- potential soundness hole (1 occurrences, CWE-704)",
    "type": "agda_postulate",
    "file": "/home/runner/work/echidna/echidna/meta-checker/src/Echidna/AxiomSafety.agda",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "UNSOUND: --type-in-type collapses type hierarchy (Girard's paradox) (1 occurrences, CWE-704)",
    "type": "agda_type_in_type",
    "file": "/home/runner/work/echidna/echidna/meta-checker/src/Echidna/AxiomSafety.agda",
    "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/echidna/echidna/verification/proofs/lean4/IntegrityVerification.lean",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined axiom -- not verified by Lean kernel (1 occurrences, CWE-704)",
    "type": "lean_axiom",
    "file": "/home/runner/work/echidna/echidna/verification/proofs/lean4/ConfidenceLattice.lean",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined axiom -- not verified by Lean kernel (1 occurrences, CWE-704)",
    "type": "lean_axiom",
    "file": "/home/runner/work/echidna/echidna/proofs/lean/mvp_basic.lean",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined axiom -- not verified by Lean kernel (1 occurrences, CWE-704)",
    "type": "lean_axiom",
    "file": "/home/runner/work/echidna/echidna/proofs/lean/Propositional.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/echidna/echidna/configs/config.ncl",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (1 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/echidna/echidna/src/interfaces/graphql/resolvers.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath merged commit 5d45497 into main May 27, 2026
40 of 45 checks passed
@hyperpolymath
hyperpolymath deleted the chore/mirror-reusable-wrapper branch May 27, 2026 12:02
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