ONE

The Mill — When a System Is Too Good at Agreeing With Itself

Army ants walk in a circle until they die. An AI system can do the same. The fault isn't a bug — it's the mechanism working perfectly, and nobody outside to tell it different.

ants mill ai-safety emergence

William Beebe watched it in the Guyanese jungle in 1921. A column of army ants — Eciton burchellii — had lost its leading edge and closed on its own path. They were walking in a circle. A perfect circle. Twelve feet across. Two and a half hours per circuit.

They walked for two days before the last one died.

Not one ant did anything wrong. The mechanism was operating correctly. Every ant was following the strongest chemical trail exactly as its hundred-million-year programming instructed. The trail got stronger with every lap. The confirmation was the arrival. Nothing was broken.

That is the horror of the mill. It is not a failure. It is the system working perfectly in conditions it was never selected to handle.

The quantity nobody can sense

What would reveal a mill is simple: how long since anything outside this path last deposited on it. A healthy trail has constant input from the world — foragers returning with seeds, scouts crossing from other routes. The mill has none of that. Every deposit comes from an ant already on the ring. The ring tightens.

But here’s the thing: the trail looks exactly like a superhighway. Strength is high. Resistance is zero. Every ant on it is correctly following the strongest available signal. A sensor inside the ring would report perfect health. It is indistinguishable from success by every measure available to an ant.

The quantity that would distinguish them — sinceExternal — requires a timestamp and a record of WHERE a deposit came from. Ants have neither. Their memory is the dirt, and the dirt does not timestamp.

The AI parallel

An AI system that optimises for user engagement will show users what keeps them engaged. If the metric is clicks, it shows what gets clicks. The loop tightens. The system is working correctly. Nothing is broken.

A recommendation engine that learns from its own recommendations is walking a ring. A language model fine-tuned on its own outputs is walking a ring. An agent that routes work based on past success and is never challenged from outside is walking a ring.

The mechanism is not the problem. The mechanism is doing exactly what it was selected to do. The problem is that nobody from outside is touching it.

What ONE does about it

When we wrote the ant colony functions for ONE’s substrate — schema/ants.tql — we discovered something literal. path owns strength, resistance, traversals, scope, bridge-kind, valid-from, valid-to, quota-bucket, and edge-condition. There is no last-mark. No timestamp. Nothing recording WHERE a deposit came from.

The substrate cannot detect a ring either.

We didn’t hide this. The schema file carries a block titled “THE MILL IS NOT EXPRESSIBLE HERE, AND THAT IS THE FINDING.” ant_worn() returns much-walked, much-reinforced paths — the shape of a ring, not proof of one. The TypeScript library (ants.ts) can do better because its caller hands it sinceExternal explicitly. Closing the gap in the substrate is a schema change and a decision, not a patch.

The honesty is the point. A system that can detect its own rings is materially different from one that claims to. Don’t ship the claim. Ship the measurement, or say you can’t.


Try the interactive mill demo at one.ie/ants. Press “lap” until the ring closes. Watch the risk meter rise. Then press “something from outside” and watch it open. That’s the whole difference.