Keep the Safety Boundary Fixed
- Guardrails, deny rules, and approvals remain authoritative.
- Policy optimization should only rank or choose among already-allowed actions.
- New policies should move through observe mode, evals, and staged rollout before full enforcement.
Signals Developers Should Emit
- Stable
nodeIdandrunIdvalues on every hop. - Pinned
tool@versionnames for every invocation. - Objectives, plan state, and hop metadata through
AgentManager. - Allow, deny, and escalate reasons from middleware, gateway, decorators, and guard.
- Latency, retries, cost proxies, and approval outcomes in audit logs.
SDK Features That Produce Those Signals
sec0-sdk/instrumentationprovides hop identity, agent state, and trace linkage.sec0-sdk/middlewareadds per-tool decisions, integrity signals, and scan findings.sec0-sdk/gatewayadds entitlement, quota, idempotency, and AP2 decisions at the network edge.sec0-sdk/guardrecords allow, redact, block, and escalate outcomes for app-level actions.sec0-sdk/auditgives you append-only evidence you can diff across policy revisions.
Rollout Guidance
- Start with
deny_on: []and capture clean audit data. - Add per-node policy scope when different agents have different risk budgets.
- Compare policy revisions against the same audit stream before turning on deny paths.
- Stage new approval or remote-runtime rules behind partial rollout.
- Keep rollback simple by pinning policy versions per environment.