Governance

Budget

This is one policy kind in the ADR-014 governance engine. Policies resolve most-specific-wins with deny-wins at a tie, across scopes that run agent โ†’ user/role โ†’ workspace โ†’ team โ†’ org. Rules of the same kind combine rather than replace, so what matters is which rules exist, not which policy row holds them.

What it does

A budget policy caps spend over a period. Its scope picks the basis โ€” the whole org, a team's members, or one user โ€” and the winning policy's scope is the one that is measured against the usage ledger.

Soft and hard

ModeEffect
SoftThe run proceeds; the owner is notified once per period.
HardA chat send is refused before any run exists (HTTP 402); non-interactive paths fail the run cleanly with a budget reason.

As a floor

A budget declared a floor binds every narrower scope. A team may set a smaller amount, never a larger one; on_hard may only get stricter; and a floor at a different period stays in force beside the narrower budget, so a team's daily cap under an org monthly floor means both are checked and either stops the run.

Where it is measured

Every run writes a usage-ledger row through the one execution path, so a budget covers chat, automations, channels, orchestration and A2A alike โ€” there is no path that spends without being counted. Cross-provider routing and failover happen underneath, so cost is tracked whichever provider served the call.

The admin Policies console.
The admin Policies console.