Progressive Governance
July 30, 2026 ยท View on GitHub
Start with one native ACS manifest, then add host controls only when the risk requires them.
Level 1
Create a manifest and evaluate it through AgentControl.
from agent_control_specification import AgentControl, HostSession
runtime = AgentControl.from_path("policies/manifest.yaml")
session = HostSession(
runtime,
agent_id="agent-1",
session_id="session-1",
)
evaluation = session.pre_tool_call(
tool_name="delete_file",
args={"path": "report.txt"},
)
assert not evaluation.verdict.decision.permits
The manifest owns policy definitions, tool catalogs, intervention-point bindings, budgets, transforms, and approval.
Level 2
Add version-controlled Rego or Cedar bundles and use ACS extends to compose
resolved manifests. Run agt lint-policy and agt test in CI.
agt lint-policy policies/manifest.yaml
agt test policies/manifest.yaml policies/fixtures.json
Level 3
Use an Agent OS framework adapter. Pass the same runtime through runtime= so
model, tool, and output paths are mediated by the manifest.
Level 4
Add AgentMesh identity, trust, and transport controls for multi-agent systems. These controls remain separate from ACS policy evaluation.
Level 5
Add sandbox isolation, SRE controls, approval services, and centralized audit.
Sandbox resources and egress belong in SandboxConfig, not in policy objects.
| Level | Add when you need |
|---|---|
| 1 | Deterministic policy checks |
| 2 | Reviewed bundles and replay |
| 3 | Framework lifecycle mediation |
| 4 | Multi-agent identity and trust |
| 5 | Isolation, resilience, and operations |