Releases: acgs-ai/acgs-lite
Release list
v2.11.0 — MACI fail-closed by default, legitimacy kernel stable, PyPI metadata repair
Constitutional governance for AI agents — deterministic enforcement before execution, MACI role separation, and tamper-evident audit trails.
pip install acgs-lite==2.11.0
# or with all LLM integrations:
pip install "acgs-lite[all]==2.11.0"⚠️ Breaking change — MACI is now fail-closed by default
GovernedAgent now defaults to enforce_maci=True. Callers must pass a maci_role at construction and a governance_action for governed runs. A misconfigured or missing role/action now fails closed instead of silently treating MACI as advisory.
# 2.10.x — MACI advisory by default
agent = GovernedAgent(client, constitution="rules.yaml")
# 2.11.0 — role and action are required for governed runs
agent = GovernedAgent(client, constitution="rules.yaml", maci_role="proposer")
agent.run(prompt, governance_action="send_email")If you deliberately need the old behavior for a non-side-effecting evaluation flow, pass enforce_maci=False explicitly — it now warns when a maci_role is set alongside it.
Security
- Bundled a fail-closed Claude Code governance hook route, so local hook enforcement no longer depends on an unbundled
/x402/checksidecar. - Closed adversarially proven fail-open paths in framework integrations: delegated
__getattr__calls, bytes-like and non-first positional code/task carriers, dict-keyed smolagentsstep_callbacks, unknown hook decision classes, and multi-governor wrapping gaps. - Hardened failure behavior — validator crashes fail closed, blocked CRITICAL decisions are retained in full-audit mode, and builtin-laundering /
__builtins__escape vectors are blocked. - Added a responsible-disclosure policy in
SECURITY.mdwith scope and response-window targets. It does not claim certification, production readiness, or third-party validation.
Added
- Graduated the Runtime Legitimacy Kernel to a stable public surface, with receipt-bound legitimacy contracts as the committed membrane story.
- A five-trigger adversarial fail-closed suite with committed evidence artifacts covering authorization, constitution version, policy staleness, receipt integrity, and audit-evidence verifiability.
- A CI governance-regression gate with invariant pinning, so previously closed bypass vectors, the canonical constitutional hash, and receipt-binding assumptions are checked continuously.
- Japan AI Guidelines for Business compliance mapping, a Swarms governance adapter, xAI/Grok and smolagents adapter coverage, SMT boundary verification for governed callables, and a recruiting-domain constitution template.
- An experimental
goveextra bridging the gove-zone kernel through aConstitutionPolicyadapter (Python ≥ 3.11). examples/release_proof.py— a deterministic, API-key-free proof artifact for fresh-venv verification.
Fixed
- Capped the
mcpextra atmcp>=1.0,<2.0. MCP SDK 2.0.0 removedServer.list_tools, which brokeintegrations.mcp_serveragainst the previously unbounded requirement. - Repaired 49 stale repository URLs left over from the org transfer, and absolutized 28 relative README links so they resolve on the PyPI project page instead of 404ing.
- Populated the previously blank Security and Changelog documentation pages, with
mkdocs build --strictnow gating recurrences. - Repaired constitution templates that failed to load, and added a guard that every shipped template loads and enforces.
- Corrected the advertised compliance-framework count to the 20 the registry actually holds.
Known limitations
- Simulations and seeded harness runs are not empirical benchmarks. The real-LLM experiment harness ships, but real artifacts require provider API keys and committed results.
- There are no independently confirmed production users in this release.
- Certification, third-party validation, and independent adoption are external outcomes and are not claimed here.
Verification
Built artifacts pass twine check; a fresh-venv install imports 2.11.0 and reproduces the release proof (ALLOW/TRANSFORM/DENY, denied and receiptless execution blocked, audit chain valid). Constitutional hash 608508a9bd224290 is unchanged.
Full changelog: v2.10.1...v2.11.0
v2.9.0 — Thread Safety, Strict-Mode Safety, ARC-Kit, GovernanceStream
[2.9.0] - 2026-04-22
Added
- ARC-Kit bridge (
acgs_lite.arckit): parse architecture diagrams, generate and export constitution bundles, emit CLI commands, and map to compliance frameworks — full pipeline from project structure to governed rules. - Governance memory (
constitution.governance_memory): unified retrieval layer over rules and precedents; MCPvalidate_actiontool now returns matched rules and precedents in the response. - Policy linter (
constitution.policy_linter): static quality analysis of YAML constitution files with structured findings and a CI-friendly exit code. GovernanceStream,PolicyStorage, and DI-scoped service interfaces for framework integration (AFFiNE-style architecture patterns).- Batch audit writes:
AuditLog.record_atomic_many()writes multiple entries atomically to durable backends, reducing round-trips for bulk governance events. - 21 previously internal governance symbols exported from the public API.
Upgrading from 2.8.1
No API changes. All existing code runs without modification. Two behavior changes worth noting:
audit_metadatais now written on non-strict fast paths — callers that passaudit_metadatatovalidate()in non-strict mode previously had the metadata silently discarded on the Rust fast path. It is now written. If you rely on the fast-path throughput benefit, removeaudit_metadatafrom non-strict calls or accept the ~10% throughput reduction.check_checkpoint()is now serialized — concurrent calls to the sameTrajectoryMonitorinstance are now queued. If you have highly concurrent checkpoint calls per monitor, benchmark the new behavior under load.
GovernanceEngine, AuditLog, and all stable-tier components are unaffected. See the Component Stability table in the README for the stability tier of each subsystem.
Changed
- PyPI development-status classifier changed from
5 - Production/Stableto4 - Beta. This reflects the new subsystems added in 2.9.0 (ARC-Kit, GovernanceStream, lifecycle API, MCP server) which are still stabilizing. Core rule validation, constitution loading, MACI enforcement, and audit logging remainStable— see the Component Stability table in README. Package description also rewritten for accuracy. - README: added "Safety Defaults" section and "Component Stability" table.
- Rust fast path enabled for
strict=Falsevalidation mode (+374% allow-ops throughput).
Fixed
- Telegram webhook (
integrations.telegram_webhook): handler changed fromasync deftodefso FastAPI runs it in a thread pool and the event loop is not blocked by the synchronousvalidate()call. - MCP server strict-mode safety (
integrations.mcp_server):engine.strictis now restored inside atry/finallyblock at all three call sites so an exception duringvalidate()cannot leave strict mode permanently disabled.
PyPI: pip install acgs-lite==2.9.0 (publishing in progress)
v2.8.1 — Week 3 lifecycle + security hardening + CI fixes
v2.8.1
Highlights
- Top-level constitution lifecycle exports:
CaseManager,SpotCheckAuditor,
TrustScoreManager,ValidatorSelector, and related symbols (via PR #9). - Week 3 lifecycle coordinator: constitutional approval flow, durable CAS
audit sink, STAGED → ACTIVE enforcement. - Security hardening: tightened CT audit gossip, federated judge anchor
session binding and domain-tag replay defense. - CI fixes:
oqsSystemExit on missing liboqs now caught cleanly inpqc.py.fpdf2type compatibility:ln=Truemigrated tonew_x/new_yacross
cdp/certificate.py.
Downstream unblock
Publishing this release unblocks constitutional-swarm PR #11, which depends
on the top-level lifecycle exports introduced in this series.
acgs-lite v2.7.2
acgs-lite v2.7.0
acgs-lite v2.7.0
Constitutional AI governance for any agent. Wrap any LLM agent in enforceable rules, audit trails, and MACI separation of powers.
Install
pip install acgs-lite==2.7.0
# or with all LLM integrations:
pip install "acgs-lite[all]==2.7.0"Changes
- chore(release): bump acgs-lite to v2.7.0
- Replace stale frontend docs and add a repo directory map
- docs: add Microsoft blog post and MAC roadmap brief
- docs(research): add Microsoft vs ACGS and MAC notes
- style: ruff format test_workflow_action.py
- Improve documentation navigation across repo-owned directories
- style: ruff format hackathon-demo/app.py
- fix(ci): fix hackathon-demo lint and add fpdf2 to test-lite pip install
- fix(worker): resolve TS type errors, wasm rule warning, and trailing whitespace
- style: ruff format mcp_agent_client.py — fix trailing whitespace and long lines
- chore: ignore brief.md session files
- docs: remove stale license-gate language from EU AI Act guide
- style: ruff format - wrap long lines in engine and errors modules
- docs: add positioning piece — Constitutional Governance vs Policy Enforcement
- feat: launch prep — hackathon, Show HN, EU AI Act countdown, certified program, pricing, license fixes
- test(acgs-lite): add workflow_action dispatch test suite
- feat(acgs-lite): add ViolationAction enum; wire workflow_action into GovernanceEngine
- fix(lint): apply ruff format to mcp_agent_client.py
Constitutional Hash
608508a9bd224290 — embedded in all validation paths.
acgs-lite v2.6.0
acgs-lite v2.6.0
Constitutional AI governance for any agent. Wrap any LLM agent in enforceable rules, audit trails, and MACI separation of powers.
Install
pip install acgs-lite==2.6.0
# or with all LLM integrations:
pip install "acgs-lite[all]==2.6.0"Changes
- fix(examples): pass StdioServerParameters to stdio_client in mcp_agent_client.py
- fix(release): switch PyPI publish to token auth; paper builds non-blocking
- release(acgs-lite): v2.6.0 — Leanstral, engine fix, PyPI docs refresh
- docs: refresh acgs-lite docs, add new guides and workspace files
- fix(ci): gate deploy steps on env.FLY_API_TOKEN not job-level if
- fix(ci): skip Fly.io deploy when FLY_API_TOKEN secret not configured
- fix(clinicalguard): route explicit-but-unknown skill prefix to helpful error
- docs(acgs-lite): refresh README and docs/index with improved quickstart
- test(swarm): add 74 deep tests for DAG-as-coordinator pattern
- docs(enhanced_agent_bus): rewrite README to match actual source
- docs(clinicalguard): rewrite README to match actual source
- docs(acgs_auth0): rewrite README to match actual source
- docs(acgs-deliberation): rewrite README to match actual source
- research: deep dive on DAG-as-coordinator pattern from constitutional_swarm
- docs(mhc): rewrite README to match actual source
- docs(constitutional_swarm): rewrite README to match actual source
- docs(acgs-core): rewrite README to match actual source
- docs(acgs-lite): rewrite README to match actual source
- fix(ci): add openai to bus job; skip benchmark tests in full-suite
- fix(ci): add aiohttp to bus job; add anthropic+others to test-full job
Constitutional Hash
608508a9bd224290 — embedded in all validation paths.