0.4.1 — one import, one exception, English veto reasons
The launch-blocker release: one import, one exception, English veto reasons.
from gatecat import check_actionworks (top-level export) — the hero snippet is 2 lines.- ONE
ActionVetoedclass package-wide (gatecat.exceptions):except gatecat.ActionVetoednow catches blocks raised bycheck_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/