Keep the framework you use
ACGS-Lite leaves planning, model calls, memory, and orchestration in your application. It adds checks and wrappers around the actions you choose.
Inspect the sourcePYTHON POLICY LIBRARY
Check proposed actions against a versioned constitution. Add Python wrappers, role separation, and configurable audit evidence to the agent framework you already use.
For Python developers adding governance to an existing agent application.
rules:
- id: no-wire
text: Block unauthorized wires
severity: critical
keywords: [wire transfer]WHERE IT FITS
Use this for local constitutional checks and role-aware wrappers. Its legitimacy receipts are distinct from gove-zone receipts; the bridge to the kernel is experimental.
Put your action rules in YAML and retain their version.
Validate against configured keyword and regex rules, or use governed wrappers.
Use the separate execution gate and explicitly configure the audit evidence you need.
INSIDE THE PRODUCT
Follow each behavior to its implementation or maintained documentation.
ACGS-Lite leaves planning, model calls, memory, and orchestration in your application. It adds checks and wrappers around the actions you choose.
Inspect the sourceGoverned wrappers support proposer, validator, and executor separation. The governed agent checks its assigned role and the requested governance action.
Inspect the sourceThe separate legitimacy gate checks receipt fields, integrity, execution state, and supplied call boundaries before invoking a wrapped function.
Inspect the sourceFull AuditLog supports chain verification and JSON export. The engine’s default fast audit mode is an aggregate path without chain hashing.
Inspect the sourceLOCAL EVALUATION
Install the released library, then try the maintained README validation example. Move to the five-minute guide for role checks and the explicit execution gate.
Use Python 3.10 or later and install acgs-lite==2.12.0 in your environment.
The example accepts an invoice-email description and raises ConstitutionalViolationError for a wire-transfer description.
The validation call is only a rule check. Follow the guide to integrate receipt checks, execution, and a full audit log.
pip install acgs-lite==2.12.0from acgs_lite import Constitution, GovernanceEngine
constitution = Constitution.from_yaml_str(
"rules:\n - {id: no-wire, text: Block unauthorized wires, "
"severity: critical, keywords: [wire transfer]}"
)
engine = GovernanceEngine(constitution)
print(engine.validate("send invoice email", agent_id="demo").valid)
engine.validate("wire transfer $1000", agent_id="demo")Expected: True, then ConstitutionalViolationError. No email or transfer is executed.
Copy the example or select the code manually.
DESIGN AROUND THE BOUNDARY
The integration and operating conditions are part of the product decision.
The inspected checks use deterministic keyword and regex matching. They are not semantic understanding, universal content moderation, or automatic detection of every sensitive action.
No. The engine defaults to fast, aggregate auditing. Pass an explicit AuditLog or full audit mode for chain evidence, and configure persistent storage if you need durability.
No. These packages have different receipt contracts. A successful rule check is not the kernel execution gate. The gove bridge is marked experimental.
The package is Beta. The README reports no independently confirmed production users. Signing keys, trusted verification, identity, storage, and operations remain deployment responsibilities. Control-mapping reports are self-assessments, not certificates.
SOURCE, RELEASE, AND CHECKS
GitHub release v2.12.0 was published August 15. Package maturity is Beta; individual adapters have their own stability labels.
Reviewed 2026-09-08. Source version and published release are tracked separately.
The inspected head passed Python 3.10-3.13 tests, package checks, docs checks, and governance regression gates. Main CI excludes slow, benchmark, and end-to-end tests.
Read the workflow evidenceFROM READING TO EVALUATION
Follow one example. Inspect the result. Decide whether it fits your workflow.