Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

gove-zone

Receipt-gated runtime governance for AI-agent side effects.

For every execution path wired through gove-zone: no valid Decision Receipt, no side effect.

gove-zone is the ACGS project's standalone, receipt-gated enforcement kernel. It evaluates a proposed action before execution, records the decision, and requires a governed executor to verify the resulting receipt before a side effect can run. It is an enforcement layer for agents, MCP tools, workflows, CI jobs, and custom executors—not an agent framework or a sandbox.

Current source metadata: version 1.0.0rc2, with a Beta classifier. The candidate history still requires release reconciliation. These checked-in values do not prove that this version was tagged, published on PyPI, deployed to production, certified, or independently assured.

Prove the invariant locally

Prerequisites: Python 3.11+, uv, a source checkout, and Bash on Linux/macOS; on Windows, use WSL or Git Bash for the commands shown. Environment setup may download dependencies; after they are installed, the proof itself requires no agent host, production credential, or external service.

From the repository root:

uv run gove-zone smoke
uv run --extra crypto python \
  examples/receipt-gated-execution/demo.py

The smoke command proves that a safe action is allowed, a sensitive-path write is denied before execution, and the local audit chain verifies. The signed demo also exercises missing, tampered, expired, mismatched, and cross-tenant receipts. Both commands exit non-zero if their assertions fail.

Use --audit <path> with gove-zone smoke to retain the smoke JSONL as point-in-time evidence.

How execution is gated

Proposed action
  → policy decision (or fail-closed DENY)
  → append audit event and issue Decision Receipt
  → governed executor verifies receipt and execution context
  → valid ALLOW/TRANSFORM side effect, or fail-closed block

The proposer does not authorize itself. The receipt binds the actor, action, exact arguments, tenant, policy evidence, and execution context. A missing, invalid, expired, or mismatched receipt is rejected. A valid receipt is single-use only when every relevant executor shares a configured ReceiptConsumptionLedger; receipt verification is otherwise stateless.

Runtime tool-call shapes

gove_zone.integration normalizes dependency-free runtime hook payloads before hashing: Claude/Codex-style {tool_name, tool_input}, MCP-style {method: "tools/call", params: {name, arguments}}, function-call-style {type: "function_call", name, arguments}, OpenAI Responses-style {output: [{type: "function_call", name, arguments}]}, OpenAI Chat-style {tool_calls: [{function: {name, arguments}}]}, LangChain-style {tool_calls: [{name, args}]}, and multi-call batches of those shapes. Recognized batches with unparseable child calls fail closed as runtime.malformed_batch instead of being treated as unknown tools. The gove-zone gate CLI applies the same normalization behind reviewed --policy-bundle rules.

When to use it

Use gove-zone when you need:

  • a policy decision before a specific tool call executes;
  • a fail-closed boundary when governance cannot decide or record evidence;
  • machine-verifiable Decision Receipts bound to exact arguments and context;
  • hash-chained, tamper-evident local audit evidence and offline chain/event verification;
  • proposer/validator separation and tenant isolation; or
  • optional Ed25519-authenticated receipts.

It does not provide:

  • planning or agent orchestration;
  • a turnkey human-approval queue or UI;
  • a complete IAM, PKI, key-rotation, or revocation service;
  • containment against a fully compromised issuer or execution host;
  • immutable/WORM audit storage; or
  • production, compliance, or regulatory certification.

Use authentication, authorization, sandboxing, key custody, external audit anchoring, and operational monitoring alongside this kernel.

Install

Source checkout

From the repository root:

uv sync --extra crypto
uv run gove-zone doctor
uv run gove-zone smoke

The repository root is the package root; uv sync installs the package and its extras directly — no workspace scoping required.

Verified PyPI release

Do not infer PyPI availability from the checked-in version. Only after a release manager has independently verified a published version, install that exact version in a clean environment:

python -m venv .venv
# Activate .venv for your shell, then replace VERIFIED_VERSION below.
python -m pip install --isolated --no-cache-dir \
  --index-url https://pypi.org/simple \
  "gove-zone[crypto]==VERIFIED_VERSION"
gove-zone doctor
gove-zone smoke

The release runbook is docs/RELEASING.md; the repository-wide readiness report is ../../docs/gove-zone-pypi-readiness.md.

Distribution surface

Component Shipped surface
gove_zone Decisions, policies, receipts, governed execution, audit, replay, signing, adapters, evaluation, and CLI support
mcp_gateway MCP gateway binding included in the wheel
Console scripts gove-zone, gove-zone-api, and acgs
Optional extras crypto for Ed25519 support; development extras are defined in package metadata
Python >=3.11
Audit store Append-oriented, hash-chained local JSONL with POSIX fcntl and Windows msvcrt locking paths

The public SemVer surface is defined in docs/API_STABILITY.md. Before a stable 1.0.0, the project must finish reconciling that contract with both wheel packages, all console scripts, and the public API fixture.

Security-critical deployment contract

  • Use the governed boundary. Integrate through execute_with_receipt, GovernedExecutor, or a documented adapter that reaches the same verification gate. A direct DecisionReceipt.verify() call is not a complete execution boundary.
  • Configure trusted signatures. Receipt issuance signs only with an explicit signer. Governed executor gates separately require trusted verification by default. Without a configured matching verifier, the gate raises before calling the tool. Development-only unsigned mode is an explicit opt-out; it is not a production default.
  • Configure one-time consumption when required. Share a ReceiptConsumptionLedger across every executor that must reject replay.
  • Anchor audit state externally. The local hash chain detects internal edits, but truncating a suffix can leave a consistent prefix. Store the expected event count or final hash outside the local file.
  • Retain replay inputs intentionally. Audit-only replay verifies chain/event integrity and policy-version consistency. Re-deriving a decision requires the original raw-call side store plus the matching original policy bundle; the side store is opt-in because it retains sensitive arguments.
  • Keep secrets out of policy reasons. Human-readable reasons can reach rejection envelopes and audit evidence.
  • Validate each target platform. Lock implementations have platform-specific test coverage, but that is not production deployment evidence.

Documentation in the source tree

Goal Path
Architecture ARCHITECTURE.md
Security boundary SECURITY.md and docs/threat-model.md
Governed execution docs/governed-execution.md
Decision Receipts docs/decision-receipts.md
Audit evidence docs/audit-evidence.md
Policy bundles docs/policy-bundles.md
Workflow receipt chains docs/workflow-receipt-chain.md
Plan-level governance docs/plan-level-governance.md
Game-day incident-evidence drill docs/gameday-runbook.md
API stability docs/API_STABILITY.md
Release process docs/RELEASING.md
Changelog CHANGELOG.md

The project website is https://acgs.ai/. Public source and issue-tracker links must be resolved as part of the release decision while this repository remains private.

Development checks

From the repository root:

uv run python -m pytest tests --import-mode=importlib -q
(cd  && bash scripts/release_check.sh)

For documentation changes, also run:

uv run python -m pytest tests/docs --import-mode=importlib -q
make lint-docs

License

Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gove_zone-1.0.0rc2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gove_zone-1.0.0rc2-py3-none-any.whl (331.7 kB view details)

Uploaded Python 3

File details

Details for the file gove_zone-1.0.0rc2.tar.gz.

File metadata

  • Download URL: gove_zone-1.0.0rc2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.13

File hashes

Hashes for gove_zone-1.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 fbd82a644694d6535b85d8f02d7863469644106a6e6b8414116d07ac4d8c289d
MD5 2e7cc9b9b66822e7191be444f568cc43
BLAKE2b-256 b266d3db8e2401a83c8bfcfb79cc46ddc95506f251ba1d4c80225e736954999d

See more details on using hashes here.

File details

Details for the file gove_zone-1.0.0rc2-py3-none-any.whl.

File metadata

  • Download URL: gove_zone-1.0.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 331.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.13

File hashes

Hashes for gove_zone-1.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 96c2069a6c4c05f0b14d073317e9ad664d6c38c95d0a8156bd5e580490fdcebc
MD5 a7aa2874ad2423500101dd5e6d4b7b0a
BLAKE2b-256 2e4a394c0c04a862654a89bf21ffb9c66710f3a8954f22fce2a63616ab8ee941

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0rc2 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page