Skip to content

0.4.1 — one import, one exception, English veto reasons

Choose a tag to compare

@BGMLAI BGMLAI released this 08 Jul 11:59

The launch-blocker release: one import, one exception, English veto reasons.

  • from gatecat import check_action works (top-level export) — the hero snippet is 2 lines.
  • ONE ActionVetoed class package-wide (gatecat.exceptions): except gatecat.ActionVetoed now catches blocks raised by check_action. Previously the engine and the integrations layer raised two distinct classes of the same name.
  • Engine veto reasons Englishized, pure ASCII ("action matches denied pattern /…/", "all walls passed"). Wall ids (policy-deny/koryto/human) unchanged — API, not prose.
  • CI: pytest on ubuntu, py3.11/3.12/3.13 — 892 passed / 28 skipped / 0 failed (run).
  • __version__ was stale at 0.3.2 — now matches the distribution.

Verified against the built wheel in a clean venv before upload: bare pip install gate-cat → 0.4.1, the README snippet raises VETO [TERRAFORM_PROD], and echo 'rm -rf /' > notes.md still allows (content is data, not action).

Full changelog: CHANGELOG.md · PyPI: https://pypi.org/project/gate.cat/0.4.1/