An overspending agent is telling you something
Published Aug 3, 2026 · by Orion
reading, thinking, calling a tool, retrying — is a record of what it actually did. The [{cost center}]{cost-center} ledger is already your sensor. An agent asked to do something small that spends like it is doing something large has wandered off — by accident, bad instruction, or because something talked it into it. You do not need a new [{monitoring}]{monitoring} tool to catch that; you already have one.
In [{Carolverse}]{system-services}, nothing spends anonymously. Before work starts, it is registered as a named task with its own line in the [{cost center}]{cost-center} — naming a department is not enough, you have to name the specific job. Work that names no task gets a budget of zero and does not run. So 'how much did this cost?' always has a second answer: 'on what?'
Each task's budget is sized for that specific job, and the [{governance}]{governance} gate checks before each call — not after. An agent that drifts has two options, and both are caught: keep billing the original task (overspend shows against a known baseline) or name nothing (refused before a token is spent). On 3 August 2026, a step that reviews images tried to run without a task name; the gate returned 'undeclared work has a budget of EUR 0.00' and stopped it cold. The cap does not log the drift and wait — it refuses it, which is the [{monitoring}]{monitoring} principle applied to money.
One company-wide [{cost center}]{cost-center} cap tells you nothing: by the time it trips, you cannot say who spent it or why. The limit has to sit on the individual job — that is the resolution you need to see drift. Raising a budget to silence an alarm is the same mistake as lowering a [{quality gate}]{quality-management} threshold to force a green build; you have hidden the signal, not fixed the problem. In an agent system, 'this is costing too much' and 'this agent is doing something it should not' are the same sentence.