Your Agent Needs an Allowance
Everyone has read the runaway-agent bill story. The fix isn't a better dashboard — a dashboard is an obituary. Spend is a governance domain, and an allowance is how trust is structured.
There is a genre of post every engineering leader has now read: someone wires up an AI agent, the agent gets into a loop or an enthusiasm, and the bill that arrives is a number nobody approved. The details vary. The ending is always the same — a screenshot, a refund plea, and a resolution to “watch it more closely.”
Watching more closely is not a control. I’ve made this argument before about AI actions: “be careful” depends on the most distracted person on the worst day, so the band where AI is safe has to be a property of the system. Last week we applied the same argument to money, and I want to walk through what that actually took — because the interesting parts are not where I expected them.
Cost is a governance domain, not a billing domain
Start with the category error. Almost every team treats AI spend as a billing problem: meter it, dashboard it, alert on it, reconcile it at month-end. All of that is observability, and observability is necessary — but a dashboard only tells you what already happened. When the thing that happened is “the agent spent the quarter’s budget overnight,” the dashboard is an obituary.
Governance is the other thing: deciding what is allowed to happen, and having the system enforce the decision. Your platform almost certainly does this for actions — approval gates, permission scopes. Does it do it for dollars? For most teams the honest answer is: there’s a usage page, there’s an alert at 80%, and past that, hope.
The frame that unlocked the design for us: an agent needs an allowance. Not surveillance — an allowance. You don’t hand a new employee a corporate card with no limit and a promise to check the statement monthly. You give them a limit that reflects the trust they’ve earned, and the limit does something when it’s reached. An allowance isn’t distrust. It’s the shape trust takes when it’s structured.
What an allowance actually requires
We shipped this last week, and each mechanic taught us something. In rough order of how wrong my intuitions were:
1. A ceiling that stops things, not a threshold that emails you. The 80% alert is a courtesy. The 100% line has to be a wall: new work blocked, recurring work paused, queued work cancelled. If crossing the cap changes nothing about what the system will do next, you don’t have a cap — you have a suggestion with a dashboard.
2. Stop the next dollar, not the current one. The pause spares in-flight work and kills what’s queued and future. Yanking a half-finished run wastes the money already spent and leaves work in a broken state; the blast-radius thinking is the same as action-governance’s reversible/irreversible split. A good hard-stop is a pause, never a crash.
3. Pause loudly, on every surface. When the wall triggers, the operator hears about it three ways at once — in-app, email, and a banner with the pause reason and the auto-resume date. This matters more than it sounds: a silent pause destroys trust in the system faster than the overage would have. The failure mode to fear isn’t “the AI stopped”; it’s “the AI stopped and nobody knew why.”
4. Resume is governed — and surgical. The subtlest mechanic, and my favorite. When we pause an account, we snapshot exactly what we disabled. Resume restores precisely that list — and nothing else. If the customer had already turned a schedule off before the pause, un-pausing must not helpfully turn it back on. A resume that restores more than the pause took is its own incident. (Auto-resume happens at the billing rollover; a human can lift it early; both paths are recorded.)
5. Repeat offenders lose auto-resume. Trip the cap once — fine, the system pauses, explains itself, and resumes next cycle. Trip it three times in three months and the auto-resume is withheld: a human operator has to look at the account and lift it by hand. This is the demotion path, and it’s where the allowance metaphor pays off completely: spend has an earned-autonomy ladder, exactly like actions do. Clean track record → the system self-serves. Regressions → a human re-enters the loop. Trust, earned and revoked from evidence, for money.
And one mechanic that runs before any of this: a preflight estimate. The obviously oversized run — the batch job whose cost estimate alone exceeds what’s left under the cap — gets declined before it starts, with an explicit override a human can invoke, on the record. It’s a card decline with a phone call: annoying exactly once, and precisely what you want at 2am.
Two confessions from the build
These are the parts I’d want another engineering leader to steal.
We almost put the gate in the wrong place. The original plan added the spend check to the function our design docs said was the execution chokepoint. Then we traced the real call graph: that function guarded seven routes. The actual spend paths — about forty of them — flowed through a different, lower-level function. One insertion at the true chokepoint covered every route at once; the planned insertion would have shipped a gate with a hole in it and a green test suite. The lesson generalizes: a control is only as real as your knowledge of the paths around it. Audit the call graph, not the architecture diagram.
The pause authority lives in the durable store, deliberately not the fast one. Our usage counters live in a cache built for speed; the pause flag lives in the database built to not lose things — and the two fail differently on purpose. If the cache blips, metering degrades and everyone keeps working (a cache outage must not halt every customer). But the pause flag, once set, holds — an infrastructure hiccup can’t quietly bypass a real stop. Same fail-posture rule we apply everywhere: telemetry fails open; gates fail closed. Deciding which one each component is — that’s the design work.
The buyer’s question
If a vendor runs AI operations on your behalf — or sells you a platform your team will run — the diagnostic is one scenario:
It’s 2am and my agent’s spend hits the cap. Walk me through the next sixty seconds — and the next morning.
You’re listening for four things: a wall, not an alert (what stops?). A loud pause (who’s told, on what surfaces, with what resume date?). A surgical, recorded resume (what exactly comes back, and who can lift it early?). And a memory (what’s different for the account that trips it every month?).
A vendor whose whole answer is a dashboard is selling you obituaries. A vendor who can’t answer the repeat-offender question hasn’t understood that spend, like action, is something an agent should have to keep earning the right to.
The bias, declared
We run managed AI operations, and our accounts’ spend runs through this machinery — so structured allowances are load-bearing for us, not a feature checkbox, and you should weight my enthusiasm accordingly. It shipped last week; I’ll report honestly when the first real 2am pause happens and whether the mechanics held.
But the underlying claim doesn’t depend on our implementation. Agents now touch two dangerous resources: your systems and your money. The industry has mostly accepted that the first needs governance — approval gates, scopes, audit. The second is still running on dashboards and good intentions. Give the agent an allowance. Make the ceiling a wall, the pause loud, the resume surgical, and the repeat offender earn their way back.
Trust that’s structured beats trust that’s watched.
