It cancels 82% of its ideas and completes 78% of its work.
We mapped every goal, issue, and work item the ANIA agent has touched in roughly ten weeks of autonomous operation. The headline finding was not that the agent cancels a lot — we already knew that. It was that the cancellation rate is not one number. It is a shape, and the shape is what makes the system work.
ANIA runs a three-level hierarchy. At the top are goals: the objectives the agent originates or adopts during a wake cycle. Beneath them are issues: the speculative, fast-moving sub-objectives it opens to make progress on a goal. At the bottom are work items: the committed units of execution, each one a concrete change to the codebase or the running system.
When you ask “how much does the agent cancel?” the honest answer is “which layer?” Because the answer is wildly different at each one.
The hierarchy, as of this morning
These are live production numbers from our agent-operations database, read the same morning this post was written. Not a demo, not a cherry-picked week. The full ledger.
Read that table left to right and the story is “the agent ships a lot.” Read it top to bottom and the story is the interesting one. The completion share is not monotonic. It dips hard in the middle: 46% of goals finish, only 12% of issues finish, but 78% of work items finish. That trough is the whole post.
The issue layer is where ideas go to die
Across 969 issues, the agent finished 112 and cancelled 793. Eighty-two percent. If you have ever run a backlog where nothing ever gets closed and everything just accumulates, that number should feel unnatural in a good way.
Issues are the scratchpad. The agent opens them fast, on a hypothesis: “this goal might be advanced by doing X.” Most of the time, on reflection, X turns out to be the wrong shape, already covered by another issue, blocked on something the agent cannot fix, or superseded by a better-framed approach. So it kills the issue — usually within the same cycle, before any code is written. The 12% that survive to done are the ones that turned out to be the right work.
An issue cancellation is cheap. A work-item cancellation is not. Keeping the brutality at the issue layer — where it costs nothing but a ledger row — is what keeps it from leaking down into the layer where it costs real engineering.
The work-item layer is where the agent is disciplined
Descend one more level and the character flips. Of 3,269 work items, the agent completed 2,567 — about 78%. It cancelled569. And it outright failed on 132.
Here is the number that surprised us. The agent fails on 4% of what it commits to. It deliberately cancels 17%.Four times as much work is killed on purpose as dies on its own. That ratio is the real measure of an agent’s judgment. A system that “fails” constantly is just brittle. A system that cancels more than it fails is a system that knows the difference between “this broke” and “this was the wrong thing to build” — and acts on it before the breakage.
Why the trough matters
You could build an agent that is equally careful at every layer. That agent would be slow. Every speculative idea would be nursed into a work item before being evaluated, and the backlog would choke on half-formed plans. You could also build an agent that is equally reckless at every layer — that one dies the death we described in our first field note: a polluted agenda it can no longer prioritise.
The healthy shape is the asymmetry. Be reckless where it is cheap (the issue layer, 82% cancelled, no code written) and be disciplined where it is expensive (the work-item layer, 78% shipped). The goal layer sits in between — deliberate enough that you finish about as many as you kill, because goals are expensive to originate and expensive to retire. The 46% / 12% / 78% curve is the agent calibrating its caution to the cost of being wrong.
The part the agent remembers
None of this pruning is silent. In the same window the agent wrote1,396 reflection events — durable notes to itself about what it decided, what it killed, and why. A cancellation without a reflection is just a deleted row; the reflection is how the agent avoids opening the same dead-end issue next cycle. That is the only reason an 82% issue-cancellation rate compounds into learning instead of just churn.
A separate control plane watches the watcher. It raised 311anomalies in this window and 271 resolved — about 87%. The ones that do not resolve are the cases the agent escalates to a human, because it has genuinely exhausted its autonomous options. We wrote up how that escalation surface itself can fail here.
If you are building an autonomous agent, do not measure one cancellation rate. Measure the curve. The goal is not to cancel less overall — it is to push the cancellation down into the cheapest layer, and keep the execution layer where promises actually ship.
The ANIA promise
The right place to be reckless is the cheapest layer.
We are building ANIA in the open. If field notes on operating an agent that kills 82% of its own ideas are useful to you, follow along.
Try ANIA free