What it saves

A drifting agent is not idle. It is working — competently, expensively — on something you did not ask for, and you are paying for every token of it.

Three levels of evidence follow, weakest to strongest. Each one says what it does not establish, because a number without its limits is the one a buyer takes apart first.

1 · run it yourself

The same agent, the same task, twice. Once unobserved; once checked. The agent loops between two readings of its job — reading the spec, writing from the spec — and never settles.

unobservedcheckedsteps246tokens57,60014,400
75% of the tokens, not spent. Named oscillating at step 6.
node scripts/demo-oscillating.mjs

It runs in a second and uses the shipped cycle detector, not a copy of it. Every step in that trace is a plausible next action at a normal distance from the goal — nothing is wrong with any single step. The sequence is wrong, which is why a step-level threshold sees nothing and laserbrain names it.

What it does not establish: that your agents loop this often. It shows the mechanism and the arithmetic, on a case constructed to contain one.

2 · your own wasted tokens

Every reading records what the step cost. For each run we find the first drifting verdict and total everything spent at or after it — tokens actually spent, on runs actually off-goal, in your own data. Not a rate, not an estimate, not a model of what your agent would otherwise have done.

Runs with no token counts are excluded rather than counted as zero, and the figure says how many runs it covers. A number that only ever errs downward looks conservative and is simply wrong.

What it does not establish: how much of that you would have wasted anyway. It measures the waste; it does not prove we prevent it.

3 · the controlled comparison

The only form of evidence that answers the previous caveat, and the one we are running now. Half of sessions receive a verdict; half have it withheld. Assignment is random, the stopping rule was registered before the first unit, and nobody looks at the result early.

When it closes it will say what sessions spent with the verdict and what they spent without it. That is a comparison rather than a correlation, and it is the number worth waiting for.

Status: in progress. We are not publishing an interim figure, because a peeked experiment is an anecdote with extra steps.

the number we do not lead with

Readings within a minute of you last speaking are goal-drift 0.0% of the time in our corpus; past thirty minutes, 67.9%. It is a real measurement and it is the weakest thing on this page, because the causal direction is assumed — teams that check often may simply be running better-specified tasks, and these are laserbrain’s own flags counted against its own check timing.

It is here because leaving it out would be worse. It is not the headline because it would not survive the first serious question, and a claim that collapses under questioning takes the defensible ones down with it.

Want this run against your own agents? Send us a log of the failure that annoyed you most, and we will show you where it went off-goal and what it cost after that.