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
Language policy: scripts/abi-ffi-gate.py is Python (banned) — migrate or document an exemption #170
The governance / Language / package anti-pattern policy job fails on verisimiser (seen on PR #167, run 28286708330). Pre-existing — scripts/abi-ffi-gate.py is a Python file, and Python is fully banned estate-wide. Surfaced here for the master scheduler. (I added zero .py files in PR #167; this predates it.)
What the check reports (verbatim)
❌ Python files detected - Python is fully banned — use AffineScript/Rust/SPARK/Julia (SaltStack carveout removed 2026-01-03)
scripts/abi-ffi-gate.py
(declare an exemption via .hypatia-ignore or an inline
'# hypatia:ignore cicd_rules/banned_language_file' pragma if intentional)
Options
Migrate (policy-preferred). Rewrite scripts/abi-ffi-gate.py in an allowed language — Bash/POSIX (it's a CI gate script, likely a good fit), or Rust/Julia/AffineScript — and update any workflow/recipe that invokes it. Per CLAUDE.md, "Python is fully banned, no exceptions," so migration is the policy-correct path.
Document an exemption (only if migration is genuinely blocked): add a .hypatia-ignore entry or an inline # hypatia:ignore cicd_rules/banned_language_file pragma with a rationale + unblock condition. This is a policy decision for the owner, not something to apply unilaterally.
Proposed actions
Decide migrate vs. exempt (owner).
If migrate: port scripts/abi-ffi-gate.py → Bash/Rust/Julia and rewire its caller; verify the ABI↔FFI gate still works.
If exempt: add the documented exemption with rationale + unblock condition.
Scope note
Likely a one-off in this repo, but if other -iser repos carry the same abi-ffi-gate.py, prefer a shared migration tracked in hyperpolymath/standards.
Filed from a Claude Code cloud session as a follow-up to PR #167 (merged). Surfaced for the master scheduler.
Activity