Skip to content

chore!: eradicate all Python — total ban, no exceptions#279

Open
hyperpolymath wants to merge 1 commit into
mainfrom
chore/eradicate-python-no-exceptions
Open

chore!: eradicate all Python — total ban, no exceptions#279
hyperpolymath wants to merge 1 commit into
mainfrom
chore/eradicate-python-no-exceptions

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Why

The org Python ban is now total, with no exceptions (no SaltStack-style carve-outs). This removes every Python site in hypatia and replaces each with a faithful, verified Rust port.

Also unblocks the governance / Language / package anti-pattern policy → Check for Python (non-SaltStack) gate that was failing unrelated PRs (e.g. #270, a pure just version pin) as inherited baseline rot — not per-PR defects.

What

Was (Python) Now (Rust)
scripts/check-bench-regression.py scripts/bench-toolscheck-bench-regression
scripts/update-bench-baselines.py scripts/bench-toolsupdate-bench-baselines
inline python3+jsonschema in build-gossamer-gui.yml scripts/ci-toolsvalidate-panll-harness (TOML → JSON-Schema Draft 2020-12)
inline python3 in ci.yml scripts/ci-toolscheck-k9iser-paths
  • bench-tools is zero-dependency (was authored on the fix(reconcile): --verify no longer crashes JSON-encoding its result #272 lineage; vendored here so this PR is self-contained and order-independent).
  • build-gossamer-gui.yml loses its pip install jsonschema step entirely.
  • Callers rewired: tests.yml (×2), build-gossamer-gui.yml, ci.yml, benchmarks README.
  • Exemptions revoked (no exceptions): .hypatia-ignore block, .hypatia-exemptions.md rows, .hypatia-baseline.json entries.

Verification

  • All 4 Rust bins build clean (cargo 1.95.0).
  • check-k9iser-paths: real k9iser.tomlOK … 5 source(s), 3 constraint(s), exit 0.
  • validate-panll-harness: real panll.harness.toml vs the live panll-harness/v2 schema → OK …, exit 0.
  • Tracked .py files: 2 → 0.

Follow-up (separate, standards-level)

The governance rule itself should stop honouring banned_language_file exemptions now the ban is total — likely an estate-wide standards change, out of scope here.

🤖 Generated with Claude Code

The org Python ban is now absolute (no SaltStack-style carve-outs). This
removes every Python site in hypatia and replaces each with a faithful,
verified Rust port:

  scripts/bench-tools/  (zero-dep, standalone crate; was on the #272
    lineage — vendored here so this PR is self-contained)
    - check-bench-regression  <- scripts/check-bench-regression.py
    - update-bench-baselines  <- scripts/update-bench-baselines.py
  scripts/ci-tools/  (standalone crate)
    - validate-panll-harness  <- inline python3+jsonschema in
      build-gossamer-gui.yml (TOML -> JSON-Schema Draft 2020-12)
    - check-k9iser-paths      <- inline python3 in ci.yml

Callers rewired: tests.yml (x2), build-gossamer-gui.yml (drops the
`pip install jsonschema` step entirely), ci.yml, benchmarks README.

Exemptions revoked (the ban has no exceptions): .hypatia-ignore block,
.hypatia-exemptions.md rows, .hypatia-baseline.json entries for the two
.py files.

Verification: all four Rust bins build clean (cargo 1.95); functionally
smoke-tested against the real k9iser.toml (5 src/3 constraint) and the
real panll.harness.toml vs the live panll-harness/v2 schema (both pass).
Tracked .py files: 2 -> 0.

Unblocks the `Check for Python (non-SaltStack)` governance gate that
was failing unrelated PRs (e.g. #270, a pure just-version pin) as
inherited baseline rot rather than a per-PR defect.

Follow-up (separate, standards-level): the governance rule itself should
stop honouring `banned_language_file` exemptions now the ban is total.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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