Stop the whole estate
An administrator trips a global stop from the central console. The decision fans out through federation and freezes execution on every node without redeploying or changing agent code.
An agent that has passed authorization can still cause damage simply by acting too much, a single approved call, repeated in a tight loop or escalated across thousands of records, becomes an operational and financial incident. Runtime Limits is the outbound governor: it reads real in-memory counters on every call and trips a deterministic breaker the moment velocity, spend, or cumulative scope crosses a configured limit. A scoped kill switch can freeze execution across the estate, and recovery runs through Session Rewind.
An authorized call enters the governor and is measured against the active breakers. Within limits, it proceeds; over a limit, the breaker trips. A scoped kill switch overrides everything, and a tripped call hands off to recovery.
Runtime Limits runs on every tool call as a set of deterministic, local checks with no LLM in the path. Because they run against in-memory state, they add only sub-millisecond deterministic overhead and stop a runaway agent in the same moment it misbehaves.
Per-session counters are held in a native rolling window and a Redis-backed budget store, so the current state of a session is available immediately.
STATEIf call frequency crosses a threshold, for example more than N calls in a ten-second window per session, the breaker cuts the wire before a loop can flood a downstream API.
−RATEMonetary and cost limits are debited per session, user, or tenant. When the ceiling is reached, execution stops, a bug becomes a blocked call rather than an open-ended invoice.
−SPENDCumulative execution is tracked across the session and halted when the authorized scope is exceeded, so a narrow grant cannot quietly widen into a bulk operation.
−SCOPEWithin limits the call proceeds upstream. On a breach the breaker trips: the call is blocked and recovery runs through Session Rewind.
ALLOWBeyond the per-call breakers, an operator has an instant stop, and a tripped call does not simply crash the workflow, it hands off to recovery.
An administrator trips a global stop from the central console. The decision fans out through federation and freezes execution on every node without redeploying or changing agent code.
A tenant-scoped stop halts calls for a single tenant while the rest of the estate keeps running, so an incident in one boundary does not force a full outage.
An agent-scoped stop freezes a single misbehaving agent. When a breaker trips, recovery and inoculation run through Session Rewind so the workflow resets instead of crashing.
Stated plainly, without overclaiming. The breakers are real and shippable; the parts that are optional or on the roadmap are marked as such.
The velocity/rate breaker, the spend and monetary budget caps, and the call-count/scope ceilings run on real in-memory counters, a Redis budget store plus a native rolling window. Enforcement is deterministic and adds only sub-millisecond deterministic overhead.
The kill switch is real and can be scoped globally, per tenant, or per agent. Federation lets that decision fan out across nodes. When a breaker trips, recovery runs through Session Rewind.
The ig.circuit.v1 circuit-breaker event is emitted onto an optional Kafka stream, an available enterprise-tier sink, opt-in and never an inline dependency. The local breaker works whether or not that stream is wired up.
There is no dedicated byte-size payload-inspection engine. Mass exfiltration is bounded by burst and rate limiting and by policy row-ceilings, the rate and volume controls that actually ship. Following the golden rule, customer payloads never leave the local boundary.
Governing how much an agent may do is the outbound layer of the MCP firewall. It composes with the controls that clean what the model reads, decide whether a call should fire, and prove what happened.