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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page