[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)