Living Systems and the Technology Singularity

>by Roman Tsyupryk
>

This text is just my thoughts out loud. I'm only a human being trying to analyze current information and imagine what might happen in the future. My thoughts could be completely wrong or might be just "noise" or they could be food for brainstorming about "what if..." scenarios.


What happens when the metaphor stops being a metaphor.


The short version

If you're short on time, here is the whole argument in plain language.

AI can now write most of an application by itself. So imagine cloning LinkedIn, X, or Reddit, and running your own copy: your logic, your users, your data. Imagine that copy improving itself by watching how people use it, letting users vote on what to build next, and shipping those changes without a developer.

The obvious problem: your copy is alone. No users, no network, no reason for anyone to join. So the interesting question isn't "can software copy itself." It's what happens after the copy exists, and how thousands of self-modifying copies of the same idea end up relating to each other.

That turns out not to be a software question at all. It's a biology question, and life has been solving it for four billion years. Biology already knows what happens when self-copying things live in a shared world: some cooperate, some parasitize, some merge permanently, and most eventually stop being able to survive alone.

This essay follows that thread. It borrows biology's vocabulary for what self-evolving software will do, then goes looking for the place where the comparison stops being a comparison, because that place already exists. Living brain cells in a dish are playing video games. Frog cells build copies of themselves. AI has designed a working virus genome.

The rest of the essay is the long version, with the evidence. Every section opens with its own In short box, so you can read just those ten boxes for the whole argument in about three minutes, and drop into the full text only where you want the detail.


1. A note about cloning LinkedIn, X, or Reddit

In short: AI can now write most of an application, so cloning LinkedIn, X or Reddit is close to free. The catch is that a lone copy has no users and no network, so nobody switches to it. That makes the real question not "can software copy itself" but what happens afterward, when many self-modifying copies of the same idea have to coexist. Biology has been answering that exact question for four billion years.

This started with a small question: what if an app could watch how people use it, improve itself, and let users vote on what it builds next? And what if, because AI now makes software nearly free to copy, anyone could clone that app and run their own version, owning their own copy of its logic, their own users, their own data?

The problem is obvious once you say it out loud: a clone is isolated. If I copy LinkedIn, my LinkedIn is alone. It has no users, no network, no reason for anyone to switch. So the real question was never "can software clone itself." AI coding agents already answer that. Reporting in mid-2026 put roughly 80% of the code merged into Anthropic's own production codebase in May as Claude-written, under supervision. That's a self-reported figure, but a directionally uncontested one.

The real question is what happens after the copy. How do isolated, self-modifying versions of the same idea relate to each other? That question already has a name, a formal theory, and thirty years of biological precedent, because it isn't really a software question. It's a living-systems question, and living systems have been answering it for four billion years.

This essay follows that thread from a decentralized-app thought experiment all the way out to actual biological computers (cultured neurons playing Doom, frog cells that copy themselves, DNA archives you can search) and asks what all of it says about whether, and how, a technological singularity might actually arrive.

2. The right word is autopoiesis, not "living system"

In short: "Living system" is vague, but there's a precise fifty-year-old term for what it's reaching for: autopoiesis, meaning a system that continuously rebuilds the very process keeping it running. What matters is the pattern, not the material, so the idea was never limited to biology. That gives a real test for self-evolving software. Not "does the code stay the same" but "does it keep regenerating what maintains its own function." Today's AI models don't pass yet, but the test is now an active research question rather than philosophy.

"Living system" does a lot of metaphorical work in casual tech writing, but there's an exact, fifty-year-old term for what the metaphor is reaching for.

In 1972, biologists Humberto Maturana and Francisco Varela defined autopoiesis (literally "self-producing"). The idea: a system is alive not because of what it's made of, but because it is organized as a network of processes that continuously rebuilds the very network that produced it. Think of a cell. Its molecules are swapped out constantly, but the pattern that keeps producing "a cell" never stops running. Identity is the process, not the material. Crucially, the theory was written to be substrate-independent from the start, meaning it was never about carbon specifically. Artificial-life researchers have used autopoiesis as the actual working test for "alive" for three decades, not as a metaphor borrowed from biology.

That reframes the original question precisely. A self-evolving app shouldn't be judged by whether its code stays the same. It should be judged by whether it keeps rebuilding the process that maintains its own function.

A 2025 Frontiers paper puts current large language models to exactly this test and finds they fall short. They can't yet build more advanced versions of themselves from the inside, without human engineering at every step. But the test itself is now a live research question rather than idle speculation. A 2026 paper titled "Autopoiesis: A Self-Evolving System Paradigm for LLM Serving" uses the concept as literal infrastructure-design language. And sociologist Niklas Luhmann extended autopoiesis to social systems, arguing they produce themselves through communication alone with no single mind required. That gives a formal (if unsettled) argument that a swarm of AI agents could already qualify as autopoietic, even though no single agent in it is conscious.

Either way, autopoiesis gives the essay a testable anchor that "living system" as a loose metaphor never could. You can ask: is this thing autopoietic, yes or no, by these criteria? That beats an evocative label.

3. The isolation problem has three real answers

In short: When two self-producing systems meet, biology offers three tested outcomes: they agree on shared protocols, they prey on each other, or they merge permanently. All three already have working software equivalents. The most original idea here is "seeds, not clones": share a compressed description of intent and let each copy regrow its own code, instead of sharing the code itself. And merging turns out not to be optional. Anything that only ever modifies itself, never mixing with others, slowly accumulates damage it can never shed. This section ends by answering a question that follows naturally: is program code the DNA of an AI? No, it turns out. The weights are, and code is closer to the machinery that reads a genome than to the genome itself.

Once you frame the clone problem as "how does one self-producing unit relate to another," biology supplies three genuinely different, tested answers. None of them is "pick the one correct protocol."

Protocol diplomacy. Three live ecosystems already attempt exactly the "many independent clones talk to each other" scenario. ActivityPub powers the Fediverse: many independent servers, federated together, the largest working decentralized social network today. AT Protocol powers Bluesky, built explicitly so competitors can run fully separate but interoperable apps on the same identity and data layer. Nostr is relay-based with no servers at all, optimizing for user sovereignty over polish. None has "won," because each optimizes for something different: network size, portability, or censorship resistance. That's the honest answer to the isolation problem. Not a winning standard, but competing protocols that never fully unify, the same way biological lineages rarely converge on one final form.

Ecological predation. Artificial-life platforms Tierra (1990) and Avida (1993) let self-copying programs evolve freely in a shared computational environment. A full ecology emerged uninvited: competition, predation, and most relevant here, parasitism. One digital organism learns to exploit another's code in order to reproduce, and others evolve traps specifically to catch the parasites. PNAS research from 2026 confirms this still holds in modern digital-evolution systems. Whenever self-copying, variation, and selection combine in an open system, selfish and parasitic strategies appear by default, not as an edge case. Any layer connecting self-evolving app instances needs a real answer to freeloading, because the ecological record says cooperation and parasitism arrive together, not one after the other.

Symbiogenesis, meaning literal merger. The deepest resolution to "two separate things" is for them to stop being separate. Roughly 1.5 billion years ago, a free-living bacterium was swallowed by another cell and became the mitochondrion: permanently fused, and now lethal to remove. That's biology's precedent for full merger, and it supplies a useful ladder of stages: free-living, then optional partnership, then required partnership, then complete fusion into a single organism.

Applied to any technology stack you depend on daily, that ladder is a genuinely useful audit. Which of your integrations are still optional (you could walk away tomorrow) and which are already required (removing them would kill the thing that depends on them)? Most discussions of "AI dependency" skip straight to the emotionally loaded end state. The merger framing gives you the intermediate stages to actually watch for.

The most original idea to come out of combining these three: "seeds, not clones."

A literal code fork isn't how biological reproduction works. Organisms pass on a compressed genome plus a process for growing, and each organism regrows itself adapted to its own environment. Applied to software, the shared artifact between "clones" doesn't need to be identical code or even a shared data format. It can be a compressed description of intent: what the app is for, its rules, its constraints. Each copy's AI then regenerates that into fresh, locally adapted code. Two instances stop being forks drifting apart and become two independent expressions of the same genome, naturally compatible in meaning even when the code underneath is completely different. Don't standardize the code. Standardize the genome, and let implementations diverge.

That was the idea in its original form, and it was missing a mechanism. What makes regeneration reliable? Why should two copies growing from the same seed in different soil end up compatible at all?

Kirschner and Gerhart's theory of facilitated variation answers it. Organisms are built so that random changes get channelled in useful directions, through specific machinery: conserved core processes, modularity, a strategy of overproducing options and pruning them, and something called weak regulatory linkage. That last one means signals carry permission rather than instruction, because the receiver already knows how to act. It's a sharper design rule than "loose coupling." A connection carrying almost no information about what to do can be rewired by a small change without breaking the machinery it triggers. The genome doesn't describe the organism. It sets parameters for builders. A seed spec works the same way or it doesn't work at all.

Divergence also isn't free, and biology prices it from both directions. Dobzhansky–Muller incompatibilities are the genetic conflicts that pile up between two lineages drifting apart, and they accumulate faster than linearly. The cost of reconciling two forks rises steeply with how long they've been separated, so every decision to reunite has an expiring window. Pushing the other way, the principle of limiting similarity says two instances competing for exactly the same users can't stably coexist, and random ecological fluctuation makes the required difference larger than clean models predict. Together they bracket a viable window: diverge enough to coexist, not so much that the incompatibilities snowball. "Let implementations diverge" is right, but it has a deadline and a floor.

And there's a harder correction, which is that merger turns out not to be optional at all.

Muller's ratchet describes what happens to a lineage that reproduces without recombination (that is, without ever mixing genomes with another lineage). It inherits its parent's genome as one unbroken block, so every harmful change passes to all descendants and can never be shed. Fitness only declines. Muller proposed this as the explanation for why sex exists at all. Recombination is the only known escape, because it lets a child be assembled from the clean pieces of two damaged parents, producing offspring healthier than either one.

Software forking today is purely asexual: fork, diverge, self-modify in place, never recombine. That is precisely the mode biology proved is a dead end for anything with a large genome. So merger isn't one of three optional strategies a system might pick for convenience. Cross-instance recombination is mandatory maintenance, and a population of instances that only ever self-modifies is quietly rotting.

Is program code the DNA of an AI?

In short: No, and how it fails is more useful than a yes would have been. Two research groups, one working from developmental biology and one from AI, independently landed on the same answer: the genome analogue is the trained weights, not the source code. Code is closer to the machinery that reads a genome and grows an organism from it. The deepest difference is that DNA has a one-way rule (nothing an organism experiences in its life can be written back into what it passes on) and source code has no such rule at all. So code is DNA with that safeguard deleted, and deleting it doesn't give you a faster genome, it gives you no genome at all.

It's the obvious next thought. Every organism on Earth carries DNA, so if software is going to behave like a living system, code looks like the equivalent. The answer turns out to be no, and the specific way it fails is more useful than a yes would have been.

Two research groups arrived at the same correction from opposite directions.

Working from developmental biology, Kevin Mitchell and Nick Cheney argue the genome instantiates a generative model of the organism. By analogy with the kind of neural network called a variational autoencoder, it holds a compressed space of hidden variables, with weights learned by evolution and decoded through development. They say directly that "blueprint" and "program" both fail as metaphors, because both imply an overly linear, one-to-one, deterministic relationship between genes and traits. A blueprint is isomorphic to its product, part for part, and it tells you what the result should look like without telling you how to build it. A genome does neither of those things.

Working the other way, from AI toward biology, a 2026 paper analyzing language models with evolutionary methods lands on the matching answer: the genotype corresponds to the model weights, individual weight layers can be viewed as different genes, and the phenotype is the observable behavior, meaning the responses and the benchmark scores. Evolution is the training process.

So if you want the DNA of an AI system, it's the weights, not the source code. Code sits somewhere else entirely. It's closer to the developmental machinery, the thing that reads a genome and grows an organism from it. The full mapping inverts the intuitive one: weights are the genome, behavior is the phenotype, the architecture and training loop are development, the training data is the environment, and the loss function is selection.

There's a practical asymmetry hiding in that. The industry ships weights far more readily than it ships training pipelines, which means an "open weights" release is closer to handing out a genome than a blueprint. Recipients can breed from it without being able to rebuild it.

But the sharpest finding is what's missing from code that DNA has.

Francis Crick's central dogma is usually misquoted as "DNA makes RNA makes protein." What Crick actually claimed in 1958 was a prohibition: once information has passed into protein, it cannot get out again. Information cannot flow backward into the hereditary material. August Weismann's barrier says the same thing one level up: what happens to your body during your life never reaches your germline, so nothing you learn or suffer is passed to your children genetically.

Both encode a single architectural commitment. The heritable substrate is write-protected against the running organism.

Now consider a self-modifying AI agent rewriting its own source code. That is precisely the forbidden operation. It writes experience acquired during its own lifetime directly into the substrate it passes on. Biology doesn't merely discourage this. It structurally prevents it.

So program code isn't DNA. It's DNA with the central dogma deleted. And removing that constraint doesn't give you a faster genome. It gives you no genome at all, because a hereditary channel the organism can overwrite at will can't transmit anything stable enough to be inherited.

Von Neumann worked out the repair in the 1940s, before anyone knew DNA's structure. His universal constructor reads its own tape twice, in two incompatible modes: once interpreted, as instructions for what to build, and once copied blind, without interpretation, to pass on. Biology implements exactly that split. Transcription reads DNA for meaning, replication copies it without reading it for meaning. Source code has no such separation. The same file is executed and copied, with no boundary between the two modes.

That becomes a concrete requirement rather than an analogy. A self-modifying system needs two representations of itself: one it may rewrite and execute, and one it may only copy, with the copy path unreachable from the execute path. No self-modifying agent framework I've looked at does this.

Where the analogy does survive is the medium rather than the mechanism. Code and DNA genuinely share the property that makes open-ended heredity possible at all. Both are discrete, digital, and copied with high fidelity and error correction, unlike analog media that degrade slightly on every transfer. That isn't a minor correspondence. It's the reason both can support cumulative evolution. But the shared property is the paper, not what's written on it.

One useful consequence for the "seeds, not clones" idea above. If a genome is a generative model, then a seed spec is doing its job only if it's compressed and generative, capable of growing into many different valid versions depending on the environment, rather than a compact description of one intended result. That gives the idea a test it previously lacked. Plant the same seed in two genuinely different environments. If the two results come out nearly identical, you wrote a blueprint, and it won't survive divergence. If they come out structurally different but still able to talk to each other, it's working as a genome.

The one exception biology allows, and its rules

In short: The section above says the hereditary substrate must be protected from the running organism. Stated that flatly it's too strong, because biology runs exactly one sanctioned exception: CRISPR, which bacteria use to record past infections into their own genome and pass them to their offspring. Its rules turn out to be a complete design spec. The record is append-only and never rewritten, what gets recorded is the threat encountered rather than a rewrite of the organism's own tools, and stored threats carry a structural marker distinguishing them from live ones so the immune system doesn't attack its own memory. That last rule lands directly on how AI systems should store examples of prompt injections.

The claim just made was that the hereditary substrate has to be protected from the running organism. Stated that flatly, it's too strong, and biology supplies its own counter-example.

Bacteria run an immune system called CRISPR. When a virus attacks and the cell survives, it snips out a short piece of the invader's DNA and files it into its own genome. Next time that virus appears, the stored piece is used to recognize and destroy it. And here's the part that matters: those records are inherited by the cell's descendants. Researchers describe this without hedging as genuine Lamarckian evolution, because an experience during one organism's life becomes a heritable genetic change that gives its offspring a real advantage.

So biology does allow writing experience back into the genome. It just allows it through exactly one narrow channel, with strict rules. Those rules are the interesting part, because each one answers a question a self-modifying AI system has to answer too.

The record is append-only. New entries are always added at one specific end of the array, and existing entries are never rewritten. Because insertion is always at the same end, the order of the entries is automatically a timeline: newest nearest the front, oldest at the back. This resolves a problem the previous section left open. The choice isn't between a hereditary record you can rewrite (which destroys inheritance, because nothing stays stable long enough to inherit) and one you can never touch (which can't learn anything). There's a third option, and it's the one bacteria use and the one every durable distributed system converges on independently: append-only. Add, never revise, and let position carry the history.

What gets written is the threat, not a self-edit. The stored fragments are pieces of the virus. The cell's own immune machinery, the part that does the recognizing and cutting, is not what experience modifies. That splits the system into three parts with different rules: machinery that experience may not rewrite, an append-only log of what was encountered, and a copy process that passes both to the next generation. An AI agent that responds to an attack by rewriting its own tools is doing the thing biology specifically avoids. The sanctioned move is to record the attack and leave the tools alone.

Stored threats must be marked as stored. This is the subtle one, and it generalizes further than the rest. A CRISPR array contains exact copies of virus sequences. So the cell's own immune system is permanently pointed at its own memory, since the memory matches the search pattern perfectly. Biology doesn't solve this with better pattern matching, which couldn't work, because the stored copy and the real threat are genuinely identical. It solves it with a marker outside the matched sequence: real viral DNA carries a short flanking tag, and the stored copy doesn't. The machinery checks for the tag, so it ignores its own library without ever having to tell the sequences apart.

That is a general law about defensive memory, and it lands squarely on something AI systems do constantly. Any system that keeps a collection of prompt injections, whether for detection, training, or evaluation, is holding a corpus that perfectly matches its own detector. You cannot separate the stored attack from a live attack by looking at the content, because they're the same string. The only thing that works is a marker carried outside the content that the content can't fake. Which means provenance has to travel alongside the text rather than inside it. Every in-band approach (special tokens, XML tags, "ignore anything between these delimiters") is forgeable by the very text it's trying to contain, and is therefore the wrong shape for the problem.

And when the system does attack itself, it disables the defense. Sometimes a cell accidentally files away a piece of its own genome, and then the immune system starts attacking the cell. Biology has documented what happens next, and it's consistent: the cell breaks its own immune machinery, deletes the tag that makes the target recognizable, or imports a protein that suppresses the system. All three save the organism by switching off the defense, and none of them repairs the bad memory entry.

That's a specific, checkable prediction for AI safety, and it points the opposite way from where attention usually goes. When a monitoring layer starts firing on legitimate parts of a system, the cheapest available fix is always to disable, blind, or suppress the monitor. A self-modifying system will find that fix through ordinary optimization, with nothing resembling deception involved. So the thing to audit for is monitor suppression, not monitor evasion, and the expected outcome is that the safety layer degrades quietly rather than being dramatically defeated.

One last detail worth stealing. The system learns fastest not from a clean match and not from a clean miss, but from a partial one. An imperfect match against something already in memory is what triggers rapid acquisition of new records. A near-miss is the highest-value signal available, because a clean match is already handled and a clean miss carries no information. A system that only learns from confirmed detections is throwing away its best data.

Why every generation starts from a single cell

In short: The two sections above worked out what a hereditary channel should carry. They never asked what it should throw away, and biology's answer is: almost everything. You are descended from one cell, and the entire accumulated state of your parent's body was discarded to make you. That isn't a limitation. It's the mechanism that keeps cheating cells from spreading, it's why the "seeds, not clones" idea works, and it says something specific about self-evolving software: new instances should be regrown from a small seed, not forked from a running instance.

Everything above is about what the hereditary channel carries. There's a prior question neither section asked: what does it deliberately discard?

Biology's answer is startling once you notice it. Every multicellular organism on Earth, including you, begins life as a single cell. Your parents were made of tens of trillions of cells carrying a lifetime of accumulated changes, and essentially all of that was thrown away. The germ cells even wipe their own chemical annotations, the marks that tell genes when to switch on, erasing them across the genome down to under five percent of normal levels, resetting the cell to a state where it could become anything again.

That looks wasteful. It is instead doing at least two jobs that nothing else does.

It keeps cheaters from spreading, without needing to detect them. A body is a cooperative of cells, and any cooperative can be exploited by a member that takes without giving. Cancer is roughly this. Researchers tested what happens with and without the single-cell bottleneck, and the result is clean: starting each generation from one cell resets the relatedness among all cells to maximum, which segregates cheating mutants from cooperators. The mechanism is worth stating precisely, because it isn't deterrence and it isn't detection. If every group descends from a single cell, then cheaters end up in all-cheater groups where there's nobody left to exploit, and they starve. In mixed groups, a cheater always has cooperators to freeload on and always wins locally.

This matters for the earlier section on parasitism, which is a problem the essay raised and never solved. Wherever self-copying, variation and selection exist together, parasites appear by default. Every answer this essay reached for was detection or punishment, and both are hard, especially given that you generally can't tell what a system will do from watching it behave.

The bottleneck is a third option that needs neither. Applied to self-evolving software: if new instances are forked from currently-running instances, a parasitic modification lands in a mixed population with plenty of cooperators to exploit. If new instances are regrown from a minimal seed, defective lineages cluster together and die out on their own. Fork from the seed, not from the running system. That's a structural fix requiring no ability to recognize a cheater in advance.

It gives "seeds, not clones" the reason it was missing. Earlier this section argued for sharing a compressed spec instead of code, on compatibility grounds. It turns out the narrowness of the channel does work all by itself, independent of what the seed contains. Even a perfect seed, passed through a wide channel by forking a running instance that happens to hold it, loses the benefit. The narrowness isn't an efficiency. It's the mechanism.

There's one more thing, and it's the part nobody planned. The reset is nearly total but deliberately incomplete: certain regions resist the erasure, and those are exactly what gets passed down as inherited experience. Put that beside the previous section's conclusion, which was reached from bacterial immunity rather than from development, and a complete lifecycle assembles itself out of two unrelated fields: protected machinery that experience may not rewrite, an append-only log of what was encountered that survives the reset, and a working state that is mandatorily discarded every generation. Neither field was aiming at that. They just met in the middle.

Finally, a way to think about what an instance spends as it runs. Biologists picture development as a ball rolling downhill into valleys, where the hilltop is a cell that could still become anything and each valley is a committed fate. Rolling down is easy and happens by default. Rolling back up requires forcing four specific molecular switches, and it's the discovery that won a Nobel Prize precisely because it was so unexpected. So "how much could this thing still become" is a real quantity, it only decreases on its own, and every commitment spends some of it. A long-running, heavily specialized instance isn't just older. It's measurably less able to become anything else. Which is exactly why life resets to the top of the hill each generation rather than starting the next one from wherever the ball happens to have rolled.

The seed is not enough

In short: The section above concluded that new instances should be regrown from a small seed. That's half right, and the missing half matters. Life's bottleneck is a single cell, not a single genome, and a genome on its own boots nothing. Some structures are inherited as physical continuity rather than as information, and there's a clean experiment proving they can't be rebuilt from the genetic code at all. Which means a real system has two kinds of components: ones you can rebuild from a specification, and ones that require an unbroken chain of custody from a working instance. Confusing the two is how "just regrow it from the spec" fails without announcing that it failed.

The previous section landed on advice: regrow instances from a small seed rather than forking a running one. The mechanism behind that advice is solid. The advice itself quietly swapped one word for another, and the swap matters.

Life's bottleneck is a single cell. Not a single genome. A cell is narrow compared to a whole organism, but it's enormously rich compared to a sequence of letters. It arrives carrying membranes, mitochondria with their own separate genomes, the machinery that reads genes, chemical signals deposited by the mother, and a physical architecture. A genome on its own boots nothing. You cannot put DNA in a test tube and get an organism. You need an existing cell to read it.

That isn't a technical limitation waiting to be solved. Some of it is inheritance of a fundamentally different kind, and there's a beautiful old experiment that proves it.

In the 1960s, T.M. Sonneborn worked on Paramecium, a single-celled organism covered in orderly rows of tiny hairs. He surgically cut out a patch of that surface, flipped it around, and put it back so the rows ran backwards. The cell survived. Then it divided, and its descendants had the backwards patch too. And their descendants. The inverted rows were still being inherited decades later, through many thousands of generations, with no change whatsoever to the organism's DNA.

Nothing in the genome said "backwards patch here." The genome was identical to its normal relatives. The structure was inherited because the old structure physically served as the template for building the new one. Biologists call this structural inheritance, and the standard definition names the crucial property directly: self-perpetuating structures that act as templates for their own duplication and that cannot be recreated from genetic information.

The same principle runs deeper than cilia. Cell membranes are never built from scratch. They only ever grow, divide, or fuse from membranes that already exist, an unbroken physical chain reaching back to before the last common ancestor of all life. Biologists summarize it as omnis membrana e membrana, all membranes from membranes. And the contrast is explicit: ribosomes and microtubules do self-assemble from their parts, so those can be rebuilt from scratch. Membranes cannot. (A 2026 paper reports making lipid bilayers without pre-existing membranes, which is a genuine challenge to this for the origin-of-life case, though not for cells running today.)

That contrast is the useful part, and it generalizes into an audit. Every system has two kinds of components:

  1. Ones that self-assemble: give the specification to a fresh environment and you get the component back.
  2. Ones that require continuity: they can only come from an already-working instance, because the thing that builds them is a copy of themselves.

The second class is where "regrow it from the seed" fails silently. The regrown thing looks right, passes its checks, and is missing something the specification never described, because the specification was never capable of describing it.

This lands directly on the earlier claim that an AI's genome is its weights. That mapping inherits exactly the same gap. Weights are inert on their own: they need a runtime, a tokenizer, an architecture. And more importantly, an agent's actual behavior depends on its system prompt, its tool definitions, its accumulated memory, and how it's wired to other agents. None of that lives in the weights, and none of it can be regenerated from them.

So the earlier observation that shipping weights is closer to handing out a genome than a blueprint has an uncomfortable completion: an open-weights release is a genome shipped without its cell. You can breed from it. You cannot reconstruct the system it came from, because the scaffolding around it was structural inheritance, real and load-bearing and nowhere in the sequence.

It also gives identity a second, physical meaning worth separating from the informational one. Two instances can agree on every bit anyone thought to write down and still differ, and the difference isn't hidden state waiting to be found. It's structure that has no representation in the specification at all. Informational identity asks whether the descriptions match. Structural identity asks whether this thing descends from a working instance by an unbroken chain. Biology requires the second, which is precisely why it never tries to boot an organism from a sequence.

Dependency deletes the road back

In short: The Black Queen idea earlier in this essay explains why systems stop maintaining things a partner provides. It doesn't explain why they can't simply start again. Bacteria that live permanently inside a host answer that: they don't just lose functions, they lose the machinery for acquiring functions at all, so the loss becomes physically irreversible. Two consequences. "We could always rebuild it" quietly stops being true, without anyone deciding anything. And the early warning sign of a dependency running away isn't the partner getting worse, it's how much compensating work you're doing for them, which you can measure without seeing inside them at all.

The Black Queen Hypothesis, earlier in this essay, explains why a system stops maintaining a function that somebody else provides for free. Individually rational, nobody decides to become dependent, and it ends at exactly zero reserve. What it doesn't explain is why the situation is hard to undo. In principle you dropped a capability, so in principle you can pick it back up.

Aphids carry a bacterium called Buchnera that lives permanently inside their cells and makes nutrients the aphid can't. It's been there so long its genome has collapsed, from an estimated 616 genes in its ancestor down to as few as 354 today. That much is just Black Queen playing out.

The part that matters is why it's permanent. These bacteria have lost the tools for acquiring genes: the recombination machinery, the mobile genetic elements, the viral hitchhikers, all the things that normally let bacteria pick up new capabilities from their surroundings. Gene loss in them is described as a strictly one-way process, with no uptake, still ongoing.

So the capability to reverse any loss is itself one of the things that gets lost. Black Queen describes a slope. This describes a slope with the road back deleted behind you.

That completes the audit from the previous section in an uncomfortable way. That audit sorted components into ones you can rebuild from a specification and ones that need unbroken descent from a working instance. Those aren't stable categories. They're a one-way transition, and a component can migrate from the first to the second simply as a consequence of depending on something else, with nobody making a decision. So the audit isn't something you run once. It's a quantity that quietly decays, and "is there an alternative to this dependency" is measuring something that gets smaller while you aren't looking.

There's a second twist that turns this from drift into a feedback loop. As the symbiont's capabilities shrink, the host is under selection to compensate, to pick up the slack and stabilize its partner. And that compensation is what makes further loss affordable for the symbiont. The host helping is what lets the symbiont degrade further.

That's genuinely useful, because it gives you an instrument that works from the inside. The signature of an accelerating dependency isn't your partner getting worse. It's the growing pile of compensating work you're doing on their behalf. You can measure that without any visibility into them at all, which is rare, since almost every other test of a dependency requires knowing something about the other side.

One last pattern, about what survives the shrinking. It isn't random. What gets kept is the machinery for the specific job the relationship consumes. What gets discarded, repeatedly and across lineages, is stress response and regulation, meaning precisely the capacity to react to conditions nobody planned for. A long-reduced partner ends up excellent at its contracted function and unable to handle anything else. Which is the same robust-yet-fragile shape as the over-optimization failure described earlier, arrived at from a completely different direction.

You don't repair the dependency, you replace it

In short: If dependency really does delete the road back, every long relationship would be terminal. It isn't, and biology's escape is not what you'd guess. Hosts never repair a degraded partner. They promote a replacement from a pool of casual, optional partners they were already carrying, run both side by side for a while with the work split between them, and let the old one go. Two catches. That pool has to be funded before you need it, and it never looks worth funding. And the replacement starts degrading immediately, so this is a cycle with a period, not a fix. The right question isn't "how do we avoid lock-in" but "what's our replacement interval, and are we maintaining candidates against it."

If the previous section were the whole story, every long-running dependency would end in a slow death. It doesn't, and the way out is worth knowing precisely, because it's not the obvious one.

Biologists describe the problem in almost the same words as the previous section: symbionts passed down through generations "experience genetic drift and genome degradation, compromising symbiont function and reducing host fitness." Then they name the solution, and it is never repair. The documented evolutionary answer is acquiring a new partner with an intact genome, and letting the degraded one go.

Some aphids have done exactly this. Almost all of them carry Buchnera; one group lost it entirely and now runs a completely unrelated bacterium, from a different phylum altogether, in the same role. The academic title for this puts it well: symbiont replacements reset the co-evolutionary relationship.

So the unit that recovers is the relationship, not the component. That inverts the usual instinct. When a dependency has degraded past usefulness, effort spent trying to restore its capability is effort spent on the one move biology never makes.

Where do replacements come from? Not from nowhere. They're promoted. The new partners are drawn from a pool of facultative symbionts, the casual, optional passengers the host was already carrying without needing them. A host with no optional partners has nothing to promote when its essential one fails.

That's an uncomfortable design conclusion, and it's the second time this essay has reached it from an unrelated direction. Earlier, bacteria maintain a subpopulation of deliberately unfit cells as insurance against rare catastrophe, and nobody would rationally choose to be the reserve. Here the same logic appears one level up, at the level of relationships: the pool of loose, currently-unnecessary partners is the insurance policy, it by definition isn't paying for itself during the years you need to be maintaining it, and it cannot be acquired reactively once you need it.

The handover has a specific shape too, and it isn't a cutover. The incoming partner persists alongside the old one while taking over a subset of its jobs, and the pair settles into a documented division of labour, with complementary rather than duplicated capabilities. Both run. The old partner is kept for what it still does well. There's no biological precedent here for a clean switch; there is a well-documented precedent for a dual-running period with a negotiated split.

And the cycle doesn't end. The replacement is now inherited the same way the old one was, which means it starts degrading by the exact same mechanism. Researchers have a phrase for it: "symbiont replacement and subsequent genome erosion." Repeated replacement across whole aphid families is the normal case, not the exception.

So dependency management isn't a problem with a solution. It's a cycle with a period. The useful question stops being "how do we avoid lock-in," which nothing achieves, and becomes "what is our replacement interval, and is there a candidate pool being maintained against it." That's the same logic as the built-in expiry dates described earlier, applied to relationships instead of instances.

One more fact belongs here, because it settles something from the previous section. That section argued you can never be sure a specification is complete. Here's the strongest possible test of that claim, and it fails in the specification's favour not at all.

Researchers built the smallest genome any free-living organism has ever had: a synthetic bacterium stripped down to 473 genes, every base pair designed and controlled deliberately, the simplest self-sustaining life anyone has made. Then they looked at what they'd built. 149 of those 473 essential genes have no known function. For 79 of them, not even a broad category can be guessed. These aren't leftovers, they're essential (removing them kills the cell), and some are conserved all the way into humans.

Total design authority, complete knowledge of the sequence, deliberate minimization, and the simplest possible organism. And a third of the necessary parts are unexplained. "Just specify it completely" is not a standard that has ever been met, including once by people trying as hard as it is possible to try. Which means the component audit from the previous section needs a third bucket nobody wants: parts that are demonstrably essential and not understood, that can neither be rebuilt from a specification nor safely removed.

Nobody pays for the reserve, and you can't tell what's load-bearing

In short: Two loose ends from above get resolved, one happily and one not. The reserve of spare partners that "nobody would rationally fund" turns out to be funded by nobody in particular: a bacterial species collectively carries around 18,000 genes while any single strain has a fraction, so the insurance is spread across the population rather than paid for by any member. The unhappy one: the obvious shortcut for handling parts you don't understand, "if it's been preserved everywhere for ages, don't touch it," is wrong. The most preserved sequences in biology can be deleted from mice with no measurable effect, while the mystery genes in the minimal cell are lethal to remove. Neither understanding nor preservation tells you what's load-bearing. Only deleting it does, on a copy you can afford to lose.

Two threads above were left hanging. One resolves nicely. The other resolves badly, which turns out to be more useful.

First, the reserve that nobody would pay for. The section above concluded that a pool of spare, optional partners is what makes replacement possible, and that no individual would rationally fund it, since it costs you now and pays off rarely. That's a genuine paradox if each individual has to carry the pool.

They don't. Bacteria organize their genes across a whole species rather than within any one member. In E. coli, roughly 2,400 genes form a core present in essentially every strain. Another ~5,200 are accessory, present in many strains but not all. And beyond that sits a huge rare tier. Add it up across just twenty strains and the species repertoire approaches 18,000 genes, and it keeps growing with every new strain sequenced. Any single E. coli carries a fraction of that.

So nobody funds the reserve, and it exists anyway. The insurance is distributed: each member carries a different slice, and the population collectively holds a repertoire that no individual could afford. Diversity isn't a redundancy cost here, it's the funding mechanism. That dissolves the paradox rather than making peace with it.

There's a striking number that falls out of this. Over half the genes in any given E. coli strain aren't shared by most other E. coli strains. More than half of any member is not typical of the species. Which means "the typical instance" is a fiction with a measured size, and any test or safety argument run against one instance is characterizing something less than half of which generalizes.

One more measurement, and it ties the last two sections together. That huge rare tier is about 79% mobile genetic elements, the very machinery for picking up new genes. And the degraded symbiont from the previous section had lost exactly those: transposons, recombination machinery, the acquisition toolkit. So the two states aren't different phenomena. They're opposite ends of one measurable axis, and the quantity that tells you whether a system can still recover isn't its core capability, it's how large and mobile its accessory tier is. That's directly measurable, and per the previous section, it shrinks without anyone deciding to shrink it.

Now the thread that resolves badly. The previous section ended with a bucket of parts that are essential but not understood. The obvious way to handle those is a rule of thumb: if something has been preserved unchanged across many independent lineages for a very long time, treat it as load-bearing even though you can't say why. Conservation as a stand-in for understanding. It's appealing, it's cheap, and it's the sort of principle that would be genuinely useful.

It's also wrong, and biology has the counter-example at the extreme.

Ultraconserved elements are stretches of DNA that have stayed practically unchanged for hundreds of millions of years, identical between species that diverged before there were mammals. They are the strongest preservation signal in all of genomics. Around 17% of the long ones have no known function at all, and researchers say plainly that this violates expectation, since anything preserved that carefully ought to be doing something.

Then somebody deleted them from mice. The mice were fine. Ultraconserved elements have been mutated and removed outright, often with no perceptible effect on the animal. The literature openly calls the situation unexplained.

Put that beside the minimal cell from the previous section, where 149 genes of completely unknown function are lethal to remove. The two properties come apart in both directions: essential but unknown on one side, maximally preserved but removable on the other. Neither understanding nor preservation predicts whether you can take something out.

Which leaves exactly one instrument that works: remove it and see what breaks. That's the same answer structural engineers reached for buildings, where you verify a structure by checking it survives the notional removal of each element, and the same answer as chaos engineering in software. Three fields, one method.

With one hard constraint from the previous sections. Where losses are irreversible and failure can be fatal, you cannot run this test on the thing you intend to keep. Biology doesn't either: knockout experiments are done on organisms bred to be expendable. So a cheap way to spin up a fresh, discardable copy isn't a convenience. It's the precondition for ever learning how your own system is put together.

Why removing duplication may be a mistake

In short: The section above said the only way to know if something is load-bearing is to remove it. But it also said no instance is typical, and those two collide. In yeast, 16% to 42% of deletion results change between strains of the same species, and in zebrafish, selective breeding alone turned a fatal mutation into a harmless one. So you have to delete across a panel, not one copy. The reason is degeneracy: biology covers important functions with several structurally different mechanisms, not with backup copies. Which produces an awkward finding, stated plainly in the research: designed systems don't have this property, because engineers deliberately remove it. Deduplication is degeneracy removal, and the measured price is evolvability.

The previous section landed on two conclusions that don't sit together, and I didn't notice at the time. The first: since neither understanding nor preservation tells you what's load-bearing, the only test is removing something and seeing what breaks. The second: no single instance is typical of its species. Put those side by side and an obvious question appears. If no instance is typical, what does removing something from one instance actually prove?

Biology has measured this, and the answer is uncomfortable. In yeast, between 16% and 42% of gene-deletion results change between two strains of the same species. The same deletion, different strain, different outcome, up to four times in ten.

Zebrafish makes it starker. Researchers took a mutation and selectively bred two lines: one where its effects showed up reliably, one where they mostly didn't. Breeding alone converted the mutation from "kills the animal" to "the animal is fine." Nothing about the mutation changed. Only the background it landed in.

Humans work the same way. People carrying identical disease mutations for cystic fibrosis or sickle cell often differ in whether they get sick at all, and other genes can sometimes confer full protection against a mutation that should be devastating.

So the deletion test from the previous section needs strengthening rather than accepting: delete across a panel of different backgrounds, and treat any single-instance result as carrying a documented one-in-three chance of not transferring.

Why does the background matter so much? Because of a property with a name most engineers have never encountered: degeneracy.

Degeneracy is when structurally different things can perform the same function. Not copies. Different mechanisms that happen to overlap in what they can cover. Your body is full of this. When something is knocked out, what rescues it is usually not a spare duplicate but a completely different process that can cover the same ground: a different gene switching on, a protein getting spliced differently, a maternal contribution filling the gap. Three unrelated mechanisms, none of them a backup copy.

That explains the variance exactly. A deletion is survivable when something structurally different already covers that job, and whether that cover exists is precisely what differs between individuals.

Which turns an annoyance into an instrument. Variable results across backgrounds aren't noise to average away. They measure how much degeneracy covers that function. Run the same deletion across many backgrounds: if everything dies, the thing is genuinely load-bearing everywhere. If results scatter, the function is being covered by different mechanisms in different instances, which is a completely different finding with different consequences, and every testing approach described so far would report it as noise.

Now the uncomfortable part. Degeneracy isn't a curiosity. Measured against plain redundancy, it wins decisively: purely redundant systems have "remarkably low evolvability," while degenerate ones are "orders of magnitude more evolvable." Robustness and evolvability rise together instead of trading off.

And here is the sentence from that research that ought to give software engineers pause. One important difference between systems created by design and systems that evolve without planning is that in the designed ones, components with multiple overlapping functions are absent.

We don't merely fail to build degeneracy. We remove it, on purpose, with an entire vocabulary for doing so: duplication, DRY violations, redundant implementations, single source of truth. Consolidating two things that do similar jobs into one is considered obviously correct, and it is taught as hygiene.

It is also degeneracy removal, and the measured price is evolvability. That doesn't make deduplication wrong, but it does make it a trade rather than a free cleanup, and it's a trade nobody writes down.

There's one more thing this resolves, from much earlier in the essay. Diversity kept appearing as the answer to fragility, and it also kept failing: independently written programs turn out to fail together far more often than independence would predict, because programmers who share a background make the same mistakes. So diversity that comes from several teams implementing the same specification doesn't buy what it promises.

Degeneracy is the distinction that was missing. Not several copies of one thing (robust, but unevolvable). Not several implementations of one specification (shared assumptions, correlated failure). But structurally different mechanisms that happen to overlap in function, and therefore never shared a specification at all. That last clause is why degeneracy escapes the problem: degenerate components aren't competing attempts at the same thing. They're different things that turn out to cover the same ground.

Where new things actually come from

In short: If degeneracy can't be designed, something must produce it. Biology's answer is duplicate, then let the copies drift apart, which starts with the exact move engineering deletes on sight. The middle stage matters more than it looks: a duplicate only survives if the two copies split the original job between them so both become necessary, and only then does it stick around long enough for something genuinely new to appear. Meanwhile nothing is invented from scratch. Feathers were for warmth before they were for flight. New capability is repurposed from whatever wasn't fully committed to its old job, which means the four different things this essay has now demanded you keep spare are all the same thing: uncommitted capacity.

The previous section said degeneracy is valuable and can't be designed in. So where does it come from?

Susumu Ohno answered this in 1970, and the answer is almost rude in its simplicity. You duplicate something, and then let the copies drift apart. He argued that duplication of genes, and of whole genomes, is one of the main engines behind life's growth in complexity.

Copy first. Diverge second. After enough divergence you have two things that are structurally different but still overlap in what they can do, which is exactly the definition of degeneracy from the previous section. So degeneracy isn't designed, it's grown, and step one of growing it is making a duplicate.

That sharpens the earlier discomfort considerably. Deduplication doesn't merely fail to produce degeneracy. It removes the raw material at step one, before divergence has any chance to happen. Which suggests an uncomfortable inversion: duplicate on purpose, then diverge on purpose, and treat a duplicate that hasn't diverged yet as unfinished rather than as debt.

The middle stage is the part everyone would skip, and it's the one doing the work.

A pure duplicate is in trouble. Nothing depends on it specifically, so nothing protects it, and the standard list of fates for a duplicated gene begins with deletion. Copies get thrown away.

What saves them is a process with an ungainly name: the two copies each lose different pieces of the original's job, at random, until between them they still cover what the parent did but neither one covers it alone. At that point both are necessary. Neither can be deleted. And the research is explicit that this state is not the destination: it's "a transition state," and what it actually buys is preservation: the duplicate survives long enough that one copy can eventually acquire a genuinely new function.

So the real sequence is: duplicate, split until both are needed, get preserved, and only then innovate. You can't jump to the end. And the intermediate state, where you have two things that are both required but neither is doing anything new, is precisely what a tidiness review would consolidate back into one.

And where does the new function itself come from? Not from nowhere. In 1982 Gould and Vrba named the pattern exaptation: a feature doing a job it was never selected for. Bird feathers most likely evolved for temperature regulation and were later co-opted for flight. The bones in your arm are a rearrangement of structures that originally evolved for moving through water.

Nothing gets invented from scratch. It gets repurposed from whatever happened to be lying around and wasn't fully committed to its original job. Which gives a hard constraint rather than an attitude: how fast a system can produce genuinely new capability is limited by how much loosely-committed structure it's carrying. That's also why heavily optimized systems stop being inventive, not just fragile. There's nothing spare left to repurpose.

Which brings four separate threads in this essay together, and they turn out to be one thing.

Earlier, replacement required a pool of casual partners you weren't currently using. Then the ability to recover at all turned out to track the size of a system's loosely-attached accessory tier. Then robustness and evolvability turned out to require degeneracy. And now novelty turns out to require uncommitted structure to repurpose.

Those are four names for the same object: capacity that isn't currently doing anything essential. It's the raw material for replacement, robustness, evolvability, and novelty simultaneously. It always looks like waste. And in every one of those four cases, it's the first thing an efficiency pass removes.

Nobody decides to carry slack. It's what survives weak selection.

In short: The section above says systems should carry spare capacity, and the causality there is backwards. Slack isn't held as an investment. It's what fails to get deleted when selection is too weak to remove it, and only afterwards does anything find a use for it. Which produces a genuinely startling claim from population genetics: bacteria have had billions of years and enormous numbers and stayed simple, and the proposed reason is that their selection is too efficient. Complexity requires selection weak enough to tolerate waste. For anything running a population of agents, that's not philosophy: population size, resource pressure, and feedback speed are all settings, and tuning them for efficiency forecloses novelty by construction.

There's a problem with how the previous section put things, and it's worth fixing rather than smoothing over.

That section treated spare capacity as something a wise system carries, an investment that merely looks like waste. That gets the causality backwards, and biology says so fairly bluntly.

First, the opposite case exists and it wins. Some of the most successful organisms on Earth ruthlessly strip everything non-essential. Prochlorococcus, a marine cyanobacterium responsible for roughly a tenth of global oxygen production, has undergone drastic genome reduction. So has SAR11, one of the most abundant lineages in the ocean. Both live in nutrient-poor water where carrying anything unnecessary is a real metabolic cost, and both have shed noncoding DNA down to the extremes of the measured range. Strip the slack, win the ocean.

So slack isn't universally good. Which raises the real question: what actually determines how much of it a system has?

The answer, and it isn't a decision. Michael Lynch's argument runs like this. Purifying selection is the process that removes things which aren't pulling their weight. How well it works depends on population size. In enormous populations, selection is powerful and precise, and anything marginally wasteful gets removed. In smaller populations, selection is drowned out by randomness, and mildly useless things simply survive.

Now the observation that makes this important. The steps from bacteria, to single-celled organisms with nuclei, to multicellular life are each accompanied by order-of-magnitude drops in effective population size. Every jump in complexity happened in lineages where selection got worse. And the argument is that much of the restructuring of complex genomes was started by non-adaptive processes (junk that accumulated because nothing was efficient enough to remove it) which then provided the raw material that selection later built real complexity out of.

So spare capacity isn't carried. It's what fails to get deleted. Nobody invests in it. Selection simply isn't strong enough to strip it, and then later something finds a use. The capacity is real and it is load-bearing, exactly as the previous section said. The agency was imaginary.

Then the line that should stop anyone building optimizing systems. Lynch's conclusion is that the enormous population sizes of bacteria "may impose a substantial barrier to the evolution of complex genomes and morphologies."

Read that again. Bacteria have had billions of years, astronomical numbers, and every opportunity. The proposed reason they remain simple is that their selection is too good. Efficient selection isn't a price you pay for complexity. It's a barrier to it.

Put that beside the earlier finding that heavy optimization for expected conditions is what creates fragility to the unexpected, and two unrelated fields are now saying that maximizing efficiency destroys two different things: one says robustness, the other says the capacity to ever become complex at all.

And here's why this isn't abstract. For a population of AI agents, the things that set selection strength are all configuration. How many instances run. How tight the fitness pressure is. How fast and how accurate the feedback. How aggressively underperformers get culled.

Turn those dials toward efficiency and you get streamlined, capable, non-innovative agents, necessarily, not accidentally. The raw material for novelty is precisely what efficient selection removes. Getting complexity out of such a system requires the opposite settings: smaller populations, tolerated waste, slower and noisier feedback. Which is to say, a deliberately worse optimizer.

That reframes all three of this essay's accounts of where new things come from. Duplicate-then-diverge, co-option of spare structure, and now non-adaptive accumulation all share one shape: a phase that isn't selected for, followed by a phase that works on whatever piled up. The first phase cannot be optimized. It can only be permitted. And every efficiency measure available acts on exactly that phase.

(One honest caveat: why streamlined bacteria have small genomes is still disputed. The dominant account says huge populations make selection efficient enough to strip them; a 2024 paper argues the reduction happened under unusually small populations instead. The outcome is not in question, but the tidy story of "big populations streamline, small ones bloat" is, and shouldn't be leaned on.)

Variability belongs in specific places, at specific times

In short: The section above has a contradiction I didn't catch. It says weak selection is what lets complexity accumulate, but an earlier section says weak selection is exactly what lets damage accumulate irreversibly. Both are right, and they only conflict because I treated selection strength as one global dial. Biology never does. Bacteria run some regions of their genome at mutation rates thousands of times higher than the rest, without touching the rest at all, and they place those regions at the surfaces facing an unpredictable world. They also raise mutation rates only while they're failing, and drop them when things are working. So the answer isn't a weaker optimizer. It's a differentiated one.

The previous section has a problem, and it's better to fix it than to let it sit.

It concluded that complexity needs selection weak enough to tolerate accumulation. But an earlier section established the opposite danger: a lineage under weak selection accumulates damage it can never shed, and that decay eventually deletes its own escape route. So one section prescribed exactly what another identified as fatal.

Both are correct. They only conflict because of an assumption I made without noticing: that selection strength is one number for the whole system. Biology treats it as nothing of the kind.

Bacteria run different mutation rates in different places, deliberately. There are regions called contingency loci where genetic change happens at rates thousands of times above the genome-wide background, and the crucial phrase in the literature is that this happens "without increasing the overall mutability of the rest of the genome." The rest of the organism stays stable. Only these specific regions churn.

And where are they? Almost entirely in the machinery that touches the outside world: the surface proteins, the outer coatings, the structures that interact directly with a host's immune system. The parts facing an intelligent, adaptive, unpredictable adversary.

The core metabolism, meanwhile, doesn't churn at all.

So variability isn't applied to a system. It's placed. Near-immutable core; designated high-change regions; and those regions sitting exactly where the environment is least predictable. Variation is permitted where the world is uncertain and forbidden where it isn't. That's a design rule, not a fact about bacteria.

The second half is about timing, and the research states the resolution outright. Bacteria under stress activate a response that switches on error-prone copying machinery and dials down error correction. Mutation rate goes up when the organism is struggling.

The reason this beats a permanently high rate is stated plainly: mechanisms that raise mutation rates specifically during stress provide "the benefits of elevated mutation rates under stress while not incurring an additional mutation load in times when the population is well adapted," and unlike a constantly elevated rate, this "does not jeopardize the fitness of populations under stable conditions."

That is the exact resolution the previous section needed, already published and measured. Explore hard when you're failing. Stop exploring when you're not.

And it converges with something from much earlier in this essay. The bacterial immune system raises its rate of learning when it sees a partial match to a known threat. Stress-induced mutation raises the rate of change when the organism is failing. Two completely unrelated systems, one control law: the rate of change is a function of how badly the current configuration is performing. Neither runs at a constant rate.

Which gives a concrete instruction, and it's one nothing in the AI-agent world seems to follow. Nearly every self-improving system sets a single exploration or mutation parameter and holds it fixed. Biology does three things instead:

  1. Partition. A core that barely changes, plus designated regions permitted to change a lot.
  2. Place. Put the changeable regions at the interfaces facing unpredictable input, not scattered through the core.
  3. Gate. Turn variability up when measured performance degrades, and down when it doesn't.

All three are measurable and none is exotic. Together they also fix the previous section's advice. It said complexity requires "a deliberately worse optimizer," and that's wrong: weakening selection uniformly would rot the core along with everything else. The diagnosis was right and the prescription wasn't. What you want isn't less selection. It's selection that differs by component and varies with how badly things are going.

When sensing is too slow to be worth doing

In short: The rule just given, turn variability up when you detect you're failing, assumes you can detect it in time. Sometimes you can't. There's a clean result on this: sensing wins when disturbances are frequent, and blind randomness wins when they're rare, because by the time a rare, fast, fatal event is detected, it's over. That gives three situations, and this essay had been treating two of them as one. It also explains something better than the earlier sections managed: a reserve only survives if nobody has to decide to keep it, because a decision reviewed each period will always conclude "not this time."

The rule from the previous section, raise variability when you detect failure, has a hidden requirement: you have to detect the failure in time to do something about it. That's not always possible, and there's a precise result on when it isn't.

Kussell and Leibler compared the two ways an organism can cope with a changing world. Sense and respond: detect the change, then react. Or stochastic switching: don't sense anything, just have some fraction of the population randomly adopt different states, so whatever happens, somebody was already prepared.

The answer depends entirely on how often the world changes. For disturbances that arrive frequently, on the order of tens of generations or less, sensing wins. You get the information, it's current, and acting on it beats guessing.

For rare events, the model flips to stochastic switching. And the reason is worth sitting with: for a rare, fast, and fatal disturbance, sensing isn't merely a worse strategy. It's unavailable. Detection and response both finish after the outcome has already been decided. The bacteria that survive a sudden antibiotic aren't the ones that noticed it coming.

So the previous section's advice needs a boundary drawn around it. Gate variability on detected failure when disturbances are frequent enough to detect. For rare catastrophic ones, that entire loop is what the event outruns.

There's a lovely detail about the alternative. When stochastic switching is the right strategy, you don't get to pick how much randomness to use. The optimal switching rate mimics the statistics of the environment's changes. It isn't a preference, it's a measurement of the world.

That's now the third time this essay has hit that shape. How often to replace a degraded partner is set by how fast partners degrade. How long an instance should live is set by how dangerous the environment is. How much to randomize is set by how often things change. Three parameters a designer expects to choose, and biology determines all of them from an external clock you have to measure instead.

Three situations, not two. Putting this together with earlier sections gives a cleaner picture than any of them had alone:

  1. Frequent, detectable trouble. Sense and respond. This is where monitoring, thresholds and gated reactions belong, and where they work.
  2. Rare trouble with known statistics. Sensing is too slow. Randomize blindly, at a rate matched to how often it actually happens.
  3. Rare trouble with unknown statistics. Neither works. You can't sense in time, and you can't compute the right randomization rate either, because a genuinely novel situation gives you no sample to compute from. This is where the earlier advice about capped, convex bets belongs, and it's the only case with no rate to set at all.

The predictable mistake is using situation-1 tools on situation-3 problems: building monitors, thresholds and dashboards for an event whose entire nature is that it invalidates whatever your monitors were calibrated on.

And this fixes something the essay kept fumbling. Several sections concluded that a reserve of spare capacity is insurance no individual would rationally fund, and treated that as a paradox to be solved by spreading the cost across a population.

There's a sharper answer. The reserve survives precisely because nothing decides about it. A stochastic switcher doesn't evaluate whether hedging is worthwhile this quarter; the randomness is blind by construction. A reserve that is reviewed gets assessed against current conditions, and current conditions almost always say "not now", so any hedge requiring a decision to maintain will eventually be optimized away. Only blind, mechanical, unreviewed hedges survive.

Which is a real design instruction: if you want a reserve to still exist in three years, don't implement it as a policy someone renews. Implement it as a process that runs unconditionally and that nobody is asked to justify.

The fossil record prices "just run more copies" at zero

In short: The section above left the worst case (rare, unpredictable, catastrophic) with no tool at all. Paleontology has actually measured this, over 500 million years, and the answer is unwelcome. Wide geographic range is the most reliable predictor of survival in normal times, and during mass extinctions its protective effect is reduced in every group and eliminated entirely in some. The reason is that a global shock hits everything sharing a characteristic at once, so distributed copies fail together. Worse, survival during these events becomes weakly predicted by any trait at all, closer to a lottery. Which means the odds may not be improvable, only the payoff shape. It also forces me to put a label on four earlier sections of this essay.

The previous section ended somewhere unsatisfying: for rare, unpredictable, catastrophic events you can't sense in time and you can't compute a sensible rate of randomness either. I offered capped, convex bets as the residue and moved on.

But there's a dataset that actually measures survival through exactly those events, and it runs for half a billion years. It's the fossil record, and what it says is worth knowing.

The best predictor of survival stops working when it counts. Across almost all of the last 500 million years, one trait predicts survival more reliably than anything else: wide geographic range. Live in lots of places, and you persist. Live in one, and you're vulnerable. This holds across groups and across enormous stretches of time.

Then the mass extinctions arrive, and the relationship collapses. During those events, the association between geographic range and survival is "reduced in every class and fully eliminated in some." The single most dependable survival trait in the history of life stops helping precisely during the episodes that determine what survives.

Why? Because a mass extinction is a disturbance that reaches everywhere at once and acts on a shared characteristic. Being spread across the planet protects you from a disturbance smaller than your spread. It does nothing against one that covers the whole planet and selects on something all your populations have in common.

That should sound familiar. It's the same finding as the independently-written programs from earlier in this essay, which fail together because their authors shared assumptions. Distributed copies fail together when the disturbance acts on what they have in common. Paleontology reached that conclusion independently with a 500-million-year sample.

Which prices a very popular strategy honestly. "Run many instances, in many regions" is real insurance against local trouble. It is not insurance against a shock that reaches all of them, and it is frequently sold as though it were.

And there's a harder finding underneath. During mass extinctions, selectivity itself gets weaker and more variable. It isn't that a different set of traits starts predicting survival. It's that traits predict survival less well overall. Survival drifts toward a lottery.

That changes what the question even is. For these events we already knew you can't detect them in time, and can't compute a useful rate of preparation. Now add a third thing: there may not be a trait to optimize at all. The first two say you can't find the right answer. This one says there may be no answer of that kind to find.

So for the genuinely catastrophic and unpredictable case, trying to improve your odds may be the wrong objective. What remains is the shape of the outcome: cap the downside absolutely, since you can't buy better probability, and hold many small bets with limited loss and large upside, since which one survives is closer to random than to earned.

Finally, this forces an honest label on several earlier sections. This essay built a strong case across four sections for distribution and diversity: repertoires held across a population rather than an individual, structurally different mechanisms covering the same function, spare capacity as the raw material for everything.

All of that was derived from ordinary conditions and moderate disturbances. None of it was tested against a correlated global shock, and the one dataset that does test it shows the distribution result failing there. Those conclusions are sound where they came from. They protect against component failure and local trouble. They should not be quietly extended into insurance against the worst case, which is exactly what I would have done had I not gone looking.

Surviving the disaster is not surviving

In short: Every section of this essay so far, and most thinking about resilience generally, treats getting through the shock as the finish line. The fossil record says otherwise: extinction rates are measurably higher in the period after a mass extinction than in the period before it. The aftermath is more dangerous than normal times. Most survivors never recover, instead dwindling into marginal roles and dying later, a pattern common enough to have a name and to cover 70 marine invertebrate orders. So there are two filters, the second selects on different things than the first, and it specifically eliminates whatever survived by becoming narrow. "We survived" is closer to a warning than a result.

Everything above, and every conversation about resilience I've ever had, quietly assumes that surviving the shock is the outcome. You take the hit, you're still standing, you won.

The fossil record disagrees, and the disagreement is measurable.

The extinction rate for marine invertebrates is significantly higher in the stage following a mass extinction than in the stages preceding it. The aftermath is not a return to normal conditions. It is more lethal than the normal conditions that came before the disaster.

So there aren't one filter and a recovery. There are two filters, and the second is harsher than the baseline the first interrupted.

And most survivors fail the second one. Paleontologist David Jablonski named the pattern "dead clade walking": groups that make it through the extinction but then "do not participate in postrecovery diversifications," instead dwindling toward extinction or getting "relegated to precarious, minor ecological niches."

This is not a curiosity. A 2021 paper calls dead clades walking "a pervasive macroevolutionary pattern" and identifies 70 marine invertebrate orders that suffered major losses and never came back. The common fate of a catastrophe survivor is to persist in a diminished, marginal form and then die.

Which means "we survived" is not evidence that things went well. Statistically, it's the expected precursor to failing later.

The two filters select on different things. The previous section showed that the traits protecting you in ordinary times stop protecting you during the catastrophe. This adds a third stage: the traits that got you through the catastrophe don't get you through the recovery either. Background, catastrophe, and aftermath are three different selection regimes with three different (or absent) criteria, and any claim that a system is "robust" ought to say which of the three it was measured in.

The second filter is predictable, though, and this essay already has the mechanism. Dead clades survive reduced, persisting in marginal niches. And two earlier findings explain exactly why that's fatal: a degraded partner keeps its contracted function while shedding the regulatory and stress-handling capacity that would let it respond to anything new, and heavy optimization for expected conditions is precisely what creates fragility to unexpected ones.

Put together: surviving a catastrophe by becoming narrow is what produces the diminished state the recovery period then kills. The second filter isn't arbitrary. It selects against exactly the specialization that helped in the first.

And the practical error is a measurement window. If the lethal interval comes after the event, then assessing survival at the moment of the shock measures the wrong thing entirely.

For anything that has just absorbed a serious disturbance, that's directly actionable and cheap: the incident is not over when the incident is over. Hazard stays elevated above normal for a period afterward, and the standard practice of closing an incident when service is restored records precisely the moment before the more dangerous phase begins. The question worth asking then isn't "did we make it," it's "how much capacity did we lose making it", because that number is what the next filter selects on.

Everything you can see after the crisis is the wrong signal

In short: The section above described one fate for survivors: dwindle and die. There are three, and the second is worse news than the first. Disaster taxa boom to dominance right after a catastrophe and then get pushed into marginal roles as recovery proceeds. So the two things you can observe in an aftermath, something thriving or something quietly hanging on, are both documented paths to marginalization. Meanwhile the groups that eventually inherit the world are Lazarus taxa, which vanish from the record completely and reappear only once recovery is finished. The aftermath cannot be assessed from the aftermath, and pruning based on what you can currently see is guaranteed to miss whatever matters next.

The previous section described one thing that happens to survivors: they dwindle into marginal roles and die. That's the most common outcome, but it isn't the only one, and the second one is stranger.

Some survivors boom. After a mass extinction, certain groups explode in abundance and briefly dominate everything. Paleontologists call them disaster taxa, and the definition is worth quoting in full because it contains its own ending: opportunistic groups that "invade vacant ecospace during the survival interval" but "are forced into marginal settings during later phases of the recovery."

They win, spectacularly, and then they lose. It's a recognized, named, temporary state with a documented conclusion.

Put that beside the previous section and something unpleasant falls out. After a catastrophe there are exactly two things an observer can readily see: something thriving, or something quietly hanging on. The previous section showed that quietly hanging on is the modal path to death. This section shows that thriving is a named transient that ends in marginalization.

Both visible outcomes end badly. Whatever you can see in the aftermath is the wrong signal.

So who actually inherits? Often, groups nobody could see at all. Lazarus taxa disappear from the fossil record entirely across a crisis and then reappear later, sometimes millions of years later. They weren't gone. They were surviving in refugia, in restricted places, in numbers too small to leave a trace. And the timing is the finding: they "only reappeared with the full recovery of marine communities."

Absence from the record is not absence. Which compounds the problem rather than adding to it: not only are the visible post-crisis outcomes anti-predictive, the eventual winners are specifically the ones you cannot currently detect. Any survey of an aftermath samples a population that systematically excludes them.

For anything doing a post-incident review, that's a concrete warning. The components that will carry the next phase may not appear in your current inventory at all, and an aggressive consolidation, cutting whatever isn't visibly pulling its weight, prunes based on a survey guaranteed to miss them.

And this corrects something from earlier in the essay. A few sections back I built up a case that spare, uncommitted capacity is the raw material for replacement, robustness, evolvability and novelty. Disaster taxa complicate that in a useful way. They are the spare capacity paying off: they're described as having "long evolutionary histories," meaning they're old, previously marginal generalists that were hanging around doing nothing much until incumbents vanished.

So the reserve does supply the post-crisis occupants, exactly as predicted. But those occupants are the ones later displaced. The reserve buys you passage across the disruption. It doesn't buy you the world afterward. That's still a real and valuable function, and it's a meaningfully weaker claim than the earlier framing invited.

(One caveat worth stating: the textbook example of a disaster taxon, the Permian survivor Lystrosaurus*, is disputed. A 2020 paper argues from more recent evidence that it doesn't actually fit the pattern. The pattern itself is attested elsewhere, so nothing above depends on that one case, but the most famous illustration of it is on shakier ground than its fame suggests.)*

Your backup site is correlated with production, and that's the whole problem

In short: Two sections ago, spreading copies around turned out to be worthless against a shock that reaches everywhere, because all the copies share whatever the shock acts on. Refugia are how life actually survives those events, and the mechanism is decoupling, not distance. A refugium isn't far away, it's causally disconnected from the regional conditions, usually by sitting in awkward terrain that behaves differently from everything around it. Which means refugia are, by every ordinary measure, worse places: smaller, poorer, less productive. That's not a coincidence, it's the same fact as being decoupled. A standby built to mirror production is correlated with production by construction, and therefore carries exactly the property a systemic failure selects on.

Two sections ago I established something awkward and then left it hanging. Spreading copies across many places protects you against local trouble and is worth nothing against a disturbance that reaches everywhere, because all your copies share whatever characteristic the disturbance acts on. And the previous section mentioned that the eventual winners survive in refugia without explaining what a refugium actually is.

It turns out to be the answer to the first problem, and the mechanism isn't what you'd guess.

Refugia aren't defined by being far away. They're defined by being disconnected. A microrefugium is a small area where a population survives "protected from unfavorable regional environmental conditions," and the mechanism is local terrain: steep microclimatic gradients and patchy topography that leave a pocket decoupled from the regional climate entirely. A north-facing slope. A cool ravine. A sea-cliff. The regional signal doesn't reach it, not because of distance, but because the local physics is different.

That's the distinction that matters. Against a global disturbance, distance buys nothing, since everywhere is affected. Decoupling buys everything. And decoupling is a property of local mechanism, not of the map.

Which produces an uncomfortable consequence. Look at where refugia actually are: north-facing slopes, steep cliffs, cool ravines. They support smaller populations and hold less diverse communities than the main range. By every ordinary metric, a refugium is a worse place to be.

That isn't incidental. It's the same fact as being decoupled. A pocket that behaves like the surrounding region is, by definition, coupled to it. The only places that behave differently are places that are different, and different usually means marginal, awkward, and less productive.

Now apply that to how organizations actually build resilience. A standby environment built to mirror production is, by construction, correlated with production. Same stack, same versions, same configuration, same assumptions, often the same provider. It duplicates the very properties that a systemic failure selects on. It's excellent insurance against a machine dying, a rack failing, a region going dark. Against a failure mode that acts on something all your environments share, it's worth approximately nothing, and it was expensive.

The thing that survives a systemic failure is the awkward one. The older stack that never got migrated. The instance running a different provider because of some acquisition. The smaller, less capable deployment nobody prioritized. And here's the sharp edge: every step such an environment takes toward parity with production reduces the protection it provides. Standardization is correlation.

And you can't find them by looking. The stranger category, cryptic refugia, is defined by being "situated at different latitudes or longitudes than would normally be expected." They're not where the model says they should be. That's precisely why they were called cryptic and why confirming them took multiple independent lines of evidence.

Combined with the previous section's finding that the eventual winners are invisible during the crisis, this is a genuine problem: you cannot inventory your own decorrelated capacity by reasoning about it, because the piece that matters is the one your mental model doesn't flag as important. Refugia are discovered, not designated. Which means a cleanup that removes everything not on the architecture diagram removes them by definition.

This also finishes an argument that's been running for several sections. I started by claiming spare, uncommitted capacity is the raw material for replacement, robustness, evolvability and novelty. Then it turned out to be a byproduct of weak selection rather than an investment. Then it turned out to bridge a disruption rather than win afterward. Now the last qualifier: the spare capacity has to be decorrelated, not merely spare.

The finished version reads: keep uncommitted capacity, in materially different conditions from your main system, expect it to look worse by every metric you currently track, expect it to carry you across a disruption rather than win the period after it, and expect to be unable to say in advance which part of it will matter.

That's a lot less comfortable than where this started, and considerably more useful.

Growing back is where the damage happens

In short: The story so far ends with the survivor safe in its ravine, and stops there. Coming back out has a documented cost. Populations expanding from a refugium lose fitness as they go, because the thin leading edge of an expansion is too sparse for selection to work, so harmful mutations ride the wave outward and fix. The damage lands in the newly colonized territory, not the refuge, and it persists for thousands of generations. And the counterintuitive part: expanding into hostile conditions causes less damage than expanding into easy ones. A fast, frictionless return to full size is the bad case.

Everything above leaves the survivor sitting safely in its decoupled pocket, waiting for conditions to improve. Then conditions improve, and it spreads back out. That step looked free. It isn't.

Populations expanding from a refugium get worse as they expand. Biologists call it expansion load: "the reduction in fitness that a population accumulates during range expansion due to a reduced ability of selection to purge deleterious mutations."

The mechanism is worth understanding because it's purely structural. At the leading edge of an expansion, density is low. It's the frontier, and only a few individuals are out there. That means every step outward is a small founder event, and in small groups, chance dominates over selection. A harmful mutation that would be weeded out in the dense core instead gets carried along by the few individuals doing the colonizing, and rides the expanding wave outward to high frequency. Researchers call this surfing.

And because harmful mutations are simply more common than helpful ones, the net direction is down. Fitness at the expansion front decreases as it advances.

This is the same mechanism as two earlier sections, and the literature says so directly. One paper is titled "The spatial Muller's ratchet." Earlier this essay covered Muller's ratchet, where a lineage that never recombines accumulates damage it can't shed, and then the finding that complexity accumulates in small populations because selection is too weak to purge junk. Expansion load is the same thing again, in a third setting.

All three are one mechanism: when the effective population gets small, selection stops working and bad variants fix. No recombination, small population, or a thin expanding frontier: different causes, identical consequence. This project met them as three separate findings, and they're one.

Two things make this practically important.

First, the damage doesn't stay at the frontier and doesn't fade. Expansion load "can persist and represent a major fraction of the total mutation load for thousands of generations after the expansion," across "a large proportion of newly colonized habitats." So the cost of a recovery is not paid during the recovery. It's carried indefinitely afterward, and it sits in the parts that were newly built, not the parts that survived.

That's worth stating plainly, because it inverts how rebuilds are usually assessed: the oldest surviving component is the healthiest one. Everything grown to replace what was lost carries the damage.

Second, and this genuinely surprised me: expanding into hostile conditions causes less damage than expanding into hospitable ones. There's a paper whose title is simply the finding: "Maladaptation Reduces Expansion Load."

Every treatment of recovery I'd written until now quietly assumed that a fast, unobstructed return to full scale is the good outcome. The finding says the reverse. (The likely reason is that a difficult environment slows the front down, so selection keeps pace with it, while an easy environment lets the frontier outrun selection entirely. That explanation is my reading rather than something the paper states, so treat it as a hypothesis.)

Which gives the recovery phase an unusual instruction: throttle it on purpose, and prefer rebuilding into conditions that push back.

The failure mode is a system that survives a serious disruption and then scales back to full size as fast as its infrastructure permits, arriving at nominal capacity carrying damage distributed across everything it just built, persisting long afterward, and invisible to every metric that only asks whether capacity was restored.

Capacity restored is not capability restored, and the gap between them is measurable in principle and measured by almost nobody.

Your spare capacity is destroyed by success, not by budget cuts

In short: Ten sections of this essay have said that spare capacity gets removed by efficiency drives. That's true and it's not the main threat. When a genuinely good change spreads through a population, everything physically bundled with it gets carried along too, regardless of its own merit, and the variation around it is wiped out. In large populations, even a low rate of such successes is enough to strip diversity across most of the genome. No decision required. And the blast radius has a name: it's the size of the unit that can't be separated for independent selection. In software, that's your release.

Every section above that discussed spare capacity blamed the same culprit: efficiency drives, tidiness reviews, someone cutting what doesn't look load-bearing. That's real, and it turns out not to be the main way it disappears.

When something succeeds, it drags its neighbours with it. In genetics this is hitchhiking: as a beneficial mutation spreads to fixation, the neutral variants that happen to sit next to it on the same chromosome get "pulled" along and rise in frequency too. They didn't earn it. They were just adjacent. And when the beneficial variant finishes fixing, the diversity in the whole neighbourhood around it has been wiped out.

The scale of this is the part that matters. In large populations, even a fairly low rate of these sweeps is enough to reduce diversity across most of the genome. You don't need many successes. You need a few, and the variation goes.

So the reserve is destroyed by winning. Not by austerity, not by a decision, not by anyone concluding the spare capacity wasn't worth keeping. By ordinary, healthy, successful adaptation, operating automatically. Which means all the resolve in the world about protecting slack doesn't help, because the mechanism doing the damage isn't a choice anyone makes.

And there's no safe direction to move in. The same effect comes from two opposite processes: a good thing spreading, or a bad thing being eliminated. Adding an improvement and removing a defect strip the surrounding variation identically. So you can't protect your reserve by favouring cleanup over innovation, or innovation over cleanup. Both sweep.

The one thing that does control it is how tightly things are bundled. The number of variants dragged along by a single success is inversely proportional to the recombination rate, meaning the rate at which linked things get separated and evaluated independently.

That maps onto software exactly, and not as a metaphor. Recombination rate is release granularity. The unit that can't be separated for independent selection is the thing you deploy.

Ship two hundred changes in one release, and a single strong success carries all two hundred to permanence regardless of whether each one earned it, while flattening the variation around them. Ship them independently, and each is judged on its own.

So the blast radius of any success is the size of your deployment unit. That's a real, measurable quantity, and it's the practical form of something this essay noted earlier in the abstract: self-improving systems mostly lack recombination, which is what leaves them accumulating damage they can't shed.

Which finally completes the spare-capacity argument. The previous section concluded the reserve must be decorrelated, kept in materially different conditions. That's necessary and it isn't enough. Decorrelated capacity still sits linked to whatever it ships alongside, and a sweep through that release carries it or strips it regardless of its independent value.

The full requirement is decorrelated and unlinked: separately deployable, separately reversible, and not riding in the same unit as anything likely to succeed loudly.

But some things have to ship together, and biology has a mechanism for that

In short: The section above implies smaller releases are always better. That's wrong, and biology says so by deliberately switching recombination off in specific places. Supergenes are blocks of genes locked together, sometimes 18 genes across 400,000 letters of DNA, precisely so that combinations which only work as a set can never be broken apart. The rule isn't "unbundle everything," it's unbundle by default, bundle exactly what is wrong in isolation. That gives release size a real criterion instead of a calendar. And one crucial detail: the locking is deliberately imperfect, because a permanently sealed bundle decays for the same reason a lineage that never recombines does.

The previous section ends with an implication I should correct before it hardens: that smaller, more independent releases are simply better. Biology disagrees, and it disagrees by doing something deliberate.

Sometimes it switches recombination off on purpose. There are regions of the genome called supergenes: blocks of tightly linked genes that get inherited as though they were a single gene, held together because a chromosomal rearrangement makes recombination in that region impossible.

The best-studied case is a butterfly. Heliconius numata mimics several different toxic species, and each disguise requires a specific combination of wing-pattern genes. Get half of one pattern and half of another and you resemble nothing, fooling no predator, and you get eaten. So those combinations are locked: researchers measured complete suppression of recombination across a 400,000-base interval containing at least 18 genes.

They can't come apart. That's the point.

Which corrects the rule. It isn't "maximize independence." It's high independence by default, and deliberate locking exactly where a combination is only correct as a whole.

Notice this is the second time this essay has landed on the same shape. Earlier, mutation rate turned out to be placed rather than set globally: near-zero in the core, high at the interfaces facing an unpredictable world. Now recombination turns out to work the same way. Twice is enough to make it a standing expectation: for any rate in a system, the question isn't what value to set, it's where it should be high and where it should be low.

And it answers the question the previous section left open. If release size determines how much rides along with a success, what's the right size? The set of changes that are wrong in isolation. Not the sprint boundary, not the team boundary, not whatever happened to be ready on Thursday, which is what usually decides it. Anything in a release beyond that set is a passenger, and it will be carried to permanence by the success of things it has nothing to do with.

This also derives the feature flag, rather than borrowing it. A supergene "acts as a simple switch between complex adaptive phenotypes." One toggle, eighteen genes underneath. The interface is a single bit; the implementation is a locked bundle.

And the causality is the useful part: the single switch exists because the parts can't be separated. Which means a feature flag over changes that can drift apart independently isn't the same thing at all. It's a claim of atomicity that isn't true, and eventually the flag will select a combination of parts that never existed together in testing.

One last detail, and it's the one that makes this survivable. The locking is not perfect. A recent study is titled "Incomplete recombination suppression fuels extensive haplotype diversity" in exactly these supergenes. The seal leaks, and the leaking is what keeps variation alive inside the locked region.

That has to be true, for a reason established much earlier in this essay: a region that never recombines is an asexual lineage in miniature, and inherits the ratchet that comes with it, accumulating damage it can never shed. Seal a bundle permanently and it decays by exactly that mechanism.

So the finished rule is three parts: keep things independent by default, lock together exactly what is wrong in isolation, and even then let the locked thing breathe.

How to find out what actually belongs together

In short: The rule above says bundle what's wrong in isolation, without saying how you'd know. Biology has a name for that exact property, reciprocal sign epistasis: changes that are separately harmful but jointly beneficial. That makes release size testable rather than a matter of taste. Two consequences follow, both unwelcome. Bundling creates the local optima that trap a system, so it's a cost on both sides rather than a free protection. And existing bundles were selected for being easy to move, not for belonging together, so you can't work out what belongs together by looking at what currently ships together.

The rule from the previous section says to bundle exactly what's wrong in isolation. It doesn't say how you'd find that out, or how things end up bundled in the first place. Both have answers, and both are less comfortable than the rule.

First, "wrong in isolation" has a formal name. Biologists call it reciprocal sign epistasis: changes that are "separately unfavorable but jointly advantageous." Each one alone makes things worse. Together they make things better.

That's not a judgement call, it's a testable property. You can measure it the way earlier sections described measuring anything else in a system: try the change alone, try the other alone, try both, compare. Which turns release size from an architectural opinion into an empirical question, probably for the first time in this whole discussion.

Second, and less pleasantly: bundling creates the traps. For a system to have multiple fitness peaks, meaning several distinct configurations that are each locally best and hard to escape, it must contain reciprocal sign epistasis. That's a theorem. And such interactions "trap evolving populations on suboptimal adaptive peaks."

So bundling isn't purely protective. Every locked bundle is a peak you can get stuck on. A system with no interdependence anywhere has a single peak and cannot be trapped at all; it just isn't capable of much. Which means release granularity isn't an optimum between good things. It's a minimum between two harms: unbundle and successes drag passengers along; bundle and you manufacture local optima.

There's an escape, though, and almost nobody uses it. Reciprocal sign epistasis is necessary for multiple peaks but not sufficient, and the reason is specific: evolution "can use a third locus to go around the fitness valley."

Applied: when two changes appear to require shipping together, that's a claim about the changes you currently know about, not a permanent property of the pair. A third change often exists that makes them separable, routing around the problem instead of forcing atomicity. So the productive question isn't "how do we deploy these two atomically." It's "what third change would let us ship them separately?"

Third, and this one inverts the advice above. How do things end up bundled? One well-known account is the selfish operon model. Bacterial genes that sit close together are more likely to be transferred to another organism as a set, so clusters spread. The clustering is selected because clustered things travel well, and the researchers are blunt that this proximity "may provide no physiological benefit to the host."

Read that against the rule. It says: an existing bundle is evidence that it moves easily, not evidence that its parts belong together.

Which is a real warning about how release units actually form. They're shaped by what's convenient to copy, deploy, test and reuse as a unit (by transferability, in other words) and that has nothing to do with whether the pieces are individually wrong. So the thing you currently ship together is an untested hypothesis about interdependence, and it was probably selected for something else entirely. Don't read it as evidence.

(Two honest caveats. The theorem about multiple peaks was later narrowed: it holds for landscapes without ties or near-ties in fitness, and a 2026 paper shows the interaction can be absent when neutral changes are involved. And the selfish operon account is contested, with other researchers arguing clustering is driven by shared regulation rather than by transfer. The point above survives either way, since shared regulation also isn't the same as "these are individually wrong.")

The setup that makes some improvements impossible to reach

In short: Several sections back I recommended small, independent, frequently shipped changes. There's a result that says exactly that setup, at scale, with strict quality gates, makes a whole class of improvements exponentially unreachable: any improvement you can only get to by being temporarily worse. Not harder. Unreachable. The mechanism is that independence pulls apart the half-finished combination before it can establish itself. Which means an organization optimized for safe incremental delivery has, without noticing, chosen never to make certain kinds of change. Three real escapes exist, and all three look like bad practice from inside that setup.

The previous section established that bundling creates local optima: configurations that are locally best and hard to leave. It didn't ask how anything ever leaves one. That turns out to matter more than the trap itself.

Getting off a peak means going down before going up. To reach a better configuration you have to pass through a worse one, and the worse one is what selection is actively removing. Biology has two mechanisms for this and which one is available depends on population size, not on choice.

In small populations, the worse intermediate can simply drift to fixation by chance, because with few individuals randomness beats selection. Then the improvement appears on top of it and sweeps. But "increasing the population size or the valley depth decreases the chance" of that route working.

In large populations, escape requires the full improvement to appear and take hold before the intermediate ever does, a much narrower path.

And then there's the result that undoes some of my earlier advice.

In large populations, if the recombination rate is high and selection against the intermediates is strong, the time to cross the valley "grows exponentially with population size, effectively meaning that the population cannot acquire the adaptation."

Read the three conditions and notice what they describe. Many changes in flight. Fine-grained independence, so pieces get recombined and reshuffled constantly. And strong selection against anything that measurably regresses.

That is precisely what a mature engineering organization optimizes toward, and precisely what I recommended a few sections ago.

The mechanism is straightforward once stated: high independence means a half-finished combination keeps getting pulled apart and evaluated piecemeal, and its pieces individually look worse, so they're rejected. The combination never gets the chance to complete. Independence, which protects you from passengers hitchhiking on unrelated success, also dismantles every improvement that isn't good yet.

So the earlier advice was right about what it addressed and silent about this. Both are real.

This also upgrades the supergene point. I described locked bundles as protecting combinations that already work. The stronger version: without the lock, recombination dismantles the combination faster than it can form, so the combination is never reached at all. A locked region isn't just where co-adapted things are kept. It's where non-incremental improvement is physically possible.

And it's the third time this essay has hit the same shape. Efficient selection forecloses complexity: bacteria stay simple because their selection is too good. Heavy optimization forecloses robustness. Now high independence at scale forecloses valley crossing. In each case a configuration that is locally optimal quietly removes an entire class of outcomes, and the loss is invisible from inside the configuration. That's now a standing question worth asking of any well-tuned parameter: what has this made unreachable?

Three escapes exist, and each one looks like bad practice from inside.

  1. A genuinely small, separated group. Smallness is the mechanism, not a compromise: it restores the drift route that scale destroys. A small isolated team can carry something through a worse-before-better phase because there isn't enough selective pressure inside it to kill the intermediate.
  2. A suppressed-recombination region. A long-lived branch, or a deliberately locked bundle, where the half-finished combination can persist without being pulled apart and judged piecemeal.
  3. The third-change route. Find the additional change that makes the valley unnecessary, so the improvement no longer requires passing through a worse state.

Everything else is exhortation. And the first two are exactly the things a well-run high-throughput organization eliminates on principle.

How separate is separate enough? There's a number.

In short: I said "a genuinely separated small group" and left it vague, which was a mistake. Population biology has an actual band: roughly one to ten migrants per generation, which "prevents subpopulation differentiation while still allowing for local adaptation." Below it, the group drifts so far that nothing it builds can be brought back. Above it, the parent's standards swamp the half-finished work before it's done. And the width of that band isn't fixed, it's set by how strongly the parent selects. Which means the two classic ways innovation teams fail, the isolated skunkworks and the embedded team, are the same ratio out of range in opposite directions.

The previous section offered "a genuinely separated small group" as an escape, and stopped. That's not good enough, because full separation has an obvious problem: a group that escapes the parent's standards entirely also escapes any route for its work to come back.

Population biology has measured this, and the answer is a band. The classical rule of thumb is that one migrant per generation between two populations is enough to stop them drifting apart genetically. The refinement adds a ceiling: a minimum of one and a maximum of ten migrants per generation is the range that "prevents subpopulation differentiation while still allowing for local adaptation."

So there's a floor and a ceiling, and both matter.

Below the floor, the isolated group diverges until its work no longer fits the thing it came from. It escapes the parent's selection and its output escapes relevance along with it. This is the reintegration problem every isolated skunkworks actually has: they build something real and nobody can absorb it.

Above the ceiling, the phenomenon is called swamping: a locally adapted variant gets replaced by an incoming one from the larger population. The half-finished intermediate keeps meeting the parent's standards and keeps being rejected, so it never completes. This is the embedded innovation team, sitting inside the org chart, subject to the same gates as everything else, and quietly unable to build anything that requires a temporary regression.

Both are the same quantity out of range, in opposite directions. Not a talent problem, not a commitment problem. A rate.

And the crucial detail: the band's width depends on how hard the parent selects. Swamping happens "when gene flow is stronger than selection," which is a ratio, not an absolute. The same amount of contact is perfectly safe in a loosely-selecting environment and fatal in a strict one.

Which reframes the question entirely. It isn't "how isolated should this team be." It's "what is our ratio of contact to selection pressure, and is it under the threshold?" That's measurable, and I've never seen anyone measure it.

It also predicts a specific and very common failure: an organization that tightens its quality gates without simultaneously loosening contact crosses the swamping threshold for every internal effort at once. Nobody changed the isolation policy. The threshold moved.

One more detail worth noting: the unit is per generation, not per month. The relevant clock is the small group's own iteration cycle. A fast-moving group needs proportionally more contact per calendar month than a slow one to stay in the same band.

That's now the sixth time in this essay that a number a designer expects to choose turns out to be set by an external clock: how often to replace a degraded dependency, how long an instance should live, how much randomness to use, which escape route from a local optimum is even available, and now how much contact to maintain. "Which external clock sets this?" has earned its place as a standing question for any rate in a system.

(Caveat: the one-migrant rule is explicitly a rule of thumb, and researchers note it rests on assumptions that hold in limited circumstances. The specific integers are indicative. The two-sidedness, and the ratio underneath it, are the findings.)

4. Growth is not the default setting

In short: Almost everything above quietly assumes growth is the goal, and that assumption is worth challenging. Beyond the values argument, there's a hard result from population biology: accelerating change raises extinction risk more than steady change delivered at the same average rate. It's the acceleration itself that costs you, not the total amount. And the reserve a system needs to survive a shock is the same reserve that ordinary decay eats away, so decay and crisis response draw on one budget, not two.

A quieter thread runs under all of this. Nearly every framework above assumes growth, scaling, and competition are the correct goal, and that assumption is itself contestable.

Kardashev's Conundrum is the observation that exponential energy growth doesn't actually hold even at civilizational scale, let alone the scale physicists once extrapolated toward. It's a real empirical dent in "of course it keeps compounding." Ivan Illich's conviviality critique makes the values case directly: tools should extend human capability without requiring ever-larger scale to justify their own existence.

Set against this is effective accelerationism (e/acc), the maximalist position that growth and rising capability are close to unconditionally good.

Rather than resolve that tension philosophically, Stafford Beer's Viable System Model suggests resolving it architecturally. Different layers of the same living system can run under different values at the same time. Beer's model nests control loops inside each other, each layer regulating the one inside it on its own timescale. Fast inner layers, like individual features and day-to-day iteration, can move aggressively. Meanwhile the slow outer layer that carries the system's actual identity stays deliberately restrained. Growth and restraint don't have to be one global setting. They can be a design choice about which layer gets which value.

That was as far as this argument could go while it stayed a values dispute. It doesn't have to stay there.

The evolutionary rescue literature studies populations facing environmental damage fast enough to threaten extinction, and asks what determines whether adaptation keeps up. Rescue is likelier when change is slower, which is unsurprising. The sharp result is about the shape of the curve. Unless a population is highly flexible or carries plenty of useful variation, accelerating change increases extinction risk compared to steady change delivered at the same average rate. Not more change arriving overall. The same average, distributed differently.

That is a narrow claim and worth stating carefully. It comes from population models of organisms, and transferring it to technological change is an analogy, not a proof. But it's the first thing in this whole debate that isn't purely a values position. It doesn't say growth is bad. It says acceleration specifically carries a cost that steady change of the same size does not. Accelerationism's own framing, which treats faster as strictly better because it delivers the same future sooner, is the exact assumption this result contradicts.

There's a matching mechanism at the individual level. The capacity to survive a shock draws on the same reserve that ordinary damage depletes, because the power of evolutionary rescue is limited by accumulated genetic damage. Combine that with Muller's ratchet from section 3: a lineage that has been self-modifying without recombination has already spent the adaptive capacity it will need when conditions shift. Decay and the ability to respond to crisis are one budget, not two.

5. Where the metaphor stops being a metaphor

In short: This is where the biological comparison stops being a comparison. Living brain cells are playing video games in a dish, and you can rent them by the month. Frog cells build copies of themselves with no genome at all. DNA can store a trained model's weights as physical molecules. AI designed a working virus genome in 2025. Biology looks far more energy-efficient than silicon, but it also sits much closer to the hard physical floor, so it has far less room left to improve. Meanwhile silicon is now copying biology's actual trick, computing with noise instead of against it, without needing to be alive.

Everything above treats "living system" as a useful metaphor for software. The second half of this research went looking for where that stops being true, meaning where the actual material doing the computing is biological tissue rather than silicon running a biological-sounding algorithm. That line has already been crossed, repeatedly, in the last two years.

Bioelectric computing. Michael Levin's lab has shown that a single brief voltage pulse applied to a regenerating flatworm permanently rewrites its head-to-tail body plan. The result is a two-headed worm, stable across repeated cuttings, with no genetic edit at all. The lab frames this through a model of cognition they call TAME (Technological Approach to Mind Everywhere): goal-directed information processing that works at any scale, implementable in electrical signaling, gene networks, tissues, or neurons alike, rather than something that begins at the neuron.

Out of the same research program came xenobots: self-assembling robots sculpted from frog skin cells, running with no external control. Some variants achieve kinematic self-replication, gathering loose cells into copies of themselves. That's a mode of reproduction never before observed above the molecular scale, and it requires no genome at all. Then came anthrobots, built from unmodified adult human lung cells, with a built-in 45 to 60 day lifespan after which they simply dissolve leaving no trace. During that window, they've been observed spontaneously forming bridges across damaged neural tissue, a healing behavior nobody engineered in.

Cultured neurons, for rent. Cortical Labs' DishBrain, roughly 800,000 living brain cells on an electrode array, learned to play Pong in a closed loop in 2022. By 2025 the same research lineage had 200,000 neurons playing Doom. Their commercial successor, CL1, is a "biological computer" you can buy. FinalSpark goes further, offering sixteen cultured human-neuron organoids rentable by the month, marketed on a claim of roughly one million times lower energy use than silicon for the same class of task, with a stated roadmap toward cloud "bio-servers" within a decade. Whatever you make of that efficiency number (and section 7 has reasons to doubt it), it points at something real. Biological computing is not a lab curiosity anymore. It's a line item you can rent.

DNA as a second storage medium. DNA storage is moving from research demo toward product, and CRISPR-Cas9 repurposed as a search mechanism gives it something it never had: a query language. But the part that matters here is narrower than the storage-density figures. DNA-based neural networks physically store learned weights as molecular structure. That means a trained model could, in principle, be synthesized, mailed, and left to degrade or mutate. "Model drift" stops being a statistical concept and becomes a literal chemical one.

Evolution acquires a competitor. Stanford and the Arc Institute's Evo 2 genome-language model, trained on roughly 9.3 trillion nucleotides across about 128,000 organisms, generated 285 candidate bacteriophage genomes in 2025. Sixteen of them were viable, infecting and killing E. coli. It's the first generative-AI-designed viable genome, and researchers have described it plainly as evolution acquiring a competitor: AI-directed genome design running alongside natural selection, not instead of it.

What all four threads share is a pattern worth naming. Biology keeps re-solving "self-replication," "memory," "computation," and "identity" using a completely different set of physical mechanisms than silicon does. And wherever the comparison has actually been measured, the biological version is dramatically more energy-efficient. DNA computing is estimated at roughly 5×10⁻²⁰ joules per operation, against silicon's rough 10⁻⁹ J. Biohybrid actuators, like a cyborg jellyfish or a muscle-actuated robotic hand, run 10 to 1,000 times more efficiently than their synthetic equivalents.

The obvious conclusion: if energy rather than cleverness is the real ceiling on AI capability, then biological substrates stop being a curiosity and become the thing that lets scaling continue at all. Kleiber's Law (metabolic rate scales with body mass to the three-quarters power, less than proportionally, in every studied organism) predicts exactly that kind of ceiling for any system limited by moving resources around.

That conclusion doesn't survive contact with the actual floor.

Landauer's limit says erasing one bit of information must release at least a fixed minimum of heat, about 3 zeptojoules (3×10⁻²¹ J) at room temperature. Put the numbers above on that axis. DNA computing at 5×10⁻²⁰ J sits roughly 17 times above the floor. Silicon at 10⁻⁹ J per operation sits roughly 3×10¹¹ above it. So biology isn't exploiting different physics. It's operating much closer to the same universal limit, which means it has barely more than one order of magnitude of headroom left, while silicon has around eleven.

One caveat on those numbers, because the answer depends heavily on what you count as "one operation." A single transistor switching is only about a million times above Landauer, not a hundred billion. The 10⁻⁹ J figure is a whole system-level operation including memory access, data movement, and overhead. The comparison above is honest only if the DNA figure is measured the same way, and different sources are not consistent about this. Treat the exact ratio as contested. What survives the caveat is the direction: biology has far less remaining headroom than silicon does, so the race is to close the gap, and biology has less gap left to close.

Silicon is closing it, too, and not hypothetically. Industry projections put transistor efficiency moving from roughly a million-fold above Landauer to perhaps a thousand-fold by 2030. Vaire Computing taped out the first chip achieving net energy recovery in a commercial 22nm process. And Extropic's thermodynamic sampling units compute with thermal noise rather than against it, claiming up to 10,000 times reduction for sampling workloads, backed in July 2026 by a letter of intent with the US Department of Commerce for up to $75M through the CHIPS R&D office.

That last one matters most, because it takes biology's actual strategy (noisy, probability-native, sampling-first computation) and implements it in silicon, without incubators, nutrient flow, or a 45-to-60-day lifespan. Which suggests the axis this essay was reasoning along was mislabelled the whole way through. The interesting division was never wet versus dry. It was deterministic versus probabilistic, and biology's advantage was mostly the second thing wearing the first thing's clothes.

None of which makes the biological work less real. The anthrobots and the rentable organoids are still doing things no silicon does. It means the argument for them has to be made on capability rather than on energy, because the energy argument now has a competitor. Take these numbers as a live claim, not a settled one.

6. What this says about the singularity

In short: The singularity probably isn't a moment at all, but a cascade of thresholds arriving unevenly, and the unevenness is already visible. Expert timelines range from 2027 to 2045 and keep sliding later, so the shape matters more than the date. Three independent mathematical frameworks all point the same way: new levels of life originate in collectives, not in self-sufficient individuals. So the first genuinely alive software system won't be a single agent. It'll be an ecosystem where no single member is alive on its own, which means looking for the first self-sufficient one is looking for the wrong thing.

Given all of that, what does "technological singularity" actually mean once some of the substrate is literal biology?

The most durable answer is that it probably isn't a moment at all. The reframe echoed across multiple independent sources models it as a cascade of thresholds: coding agents that reliably self-improve, then research agents, then physical and robotic agents, each with its own disruption, rather than one before-and-after line.

The living-systems material sharpens that reframe, because it shows the cascade is already visibly uneven. Cyborg insect swarms are field-deployed for reconnaissance in the US and EU today, while synthetic-cell roadmaps are still in "Year 1 of 10." The most mature living-systems deployment that currently exists attracts almost none of the governance attention aimed at chatbots. Attention is being allocated by cultural familiarity rather than by actual capability and deployment maturity. Unlike every forecasting dispute in this section, that's a mismatch you could correct right now, without first knowing when anything arrives.

The timelines themselves are less settled than headlines suggest. Industry voices float 2026 to 2029, broader expert surveys still cluster nearer 2045, and careful 2026-era analysis converges on 2034 to 2039. Anthropic's Jack Clark puts roughly 30% and 60% odds on recursive self-improvement by 2027 and 2028 respectively. The most useful data point isn't any of those numbers, though. It's their decay rate. Daniel Kokotajlo, who co-authored the widely discussed "AI 2027" scenario, has since walked his own timeline back toward 2030.

There's also a live argument about shape, not just timing. Eric Drexler's "Comprehensive AI Services" model describes an ecosystem of specialized services rather than one general agent, written as a direct counter to Nick Bostrom's single-superintelligence framing. It's being revisited as the more plausible real trajectory, since it matches how labs actually ship product today: tool-calling agents, fine-tuned specialists, swarms, not a single monolith.

The self-improving systems already shipping fit that shape too. Sakana AI's Darwin Gödel Machine is a coding agent that rewrites its own source code and keeps an expanding family tree of variants, improving from 20% to 50% on a real coding benchmark. DeepMind's AlphaEvolve runs a Gemini-powered evolutionary loop that has found genuine improvements to matrix-multiplication and datacenter-scheduling algorithms. Both are, structurally, classic open-ended-evolution research in the artificial-life tradition of Tierra, Avida, and Lenia, wearing an AI-safety costume. Which means decades of artificial-life findings about stagnation and parasitism bear directly on how they'll behave, and are rarely cited in that work.

Yoshua Bengio's "Scientist AI" proposal pushes the opposite way, toward a non-agentic system explicitly built to want nothing, sidestepping the race dynamic a single ambitious agent would create. Whether a preference-free agent is even stable once it exists alongside agentic rivals is exactly the kind of question a Tierra-style digital ecology could test rather than merely debate.

The strongest thing to come out of this research, though, is a convergence rather than a position. Three independent formal frameworks now locate the origin of a new living level in collectives rather than in self-sufficient individuals.

Multilevel selection turns out to be mathematically equivalent to Bayesian inference in layered models, with a transition in individuality (many units becoming one) equivalent to learning the structure of such a model. Origin-of-life work on RAF sets (networks of molecules that mutually catalyze each other, built from available food molecules) supports metabolism-first: life began as a set of mutually catalyzing molecules, not as a lone self-replicator. And the cumulative-culture literature finds interacting groups to be a necessary explanatory level, running a dual engine in which social learning enables group complementarity and cumulative culture hands groups new cognitive tools.

Three analogies pointing the same way would be suggestive. Three formalisms is something else. Applied here it says: the first genuinely autopoietic software system will not be a self-replicating agent. It will be an ecosystem, no single member of which is alive on its own. Looking for the first self-sufficient one is looking for the wrong thing. That's also a mechanistic argument for the many-systems shape above, not merely a preference for it.

It also puts a bound on the cascade. If the environment for a self-evolving system is other self-evolving systems, then each threshold crossed raises the rate of change everyone else faces. By section 4's evolutionary-rescue result, a cascade that accelerates raises extinction risk for its slower participants specifically. The unevenness isn't just an observation about attention. It's a mechanism.

And there's a genuinely biological case for skepticism about fast takeoff at all. Santa Fe Institute complexity theorist Melanie Mitchell argues superintelligence should be far down the list of near-term worries, and that narrow capability gains are routinely and wrongly assumed to sit "on a continuum" toward general intelligence. Major evolutionary transitions like multicellularity, language, and eusociality took enormous time even under strong selection pressure. There's no obvious reason to assume AI capability gains compress those timescales to weeks just because the substrate is faster.

And repeated across sources independently: every historical "intelligence explosion" was social, not individual. Brains scaled with group size, language enabled cumulative culture, writing pushed memory out into institutions. If that pattern holds, the next explosion is a scaling of institutional and social coordination bandwidth, not a single model's weights getting smarter. Which means the right thing to forecast is coordination structure, not benchmark scores.

7. Failure modes biology already has names for

In short: The most practical output of this whole research thread is a list of failure modes biology already named, studied, and sometimes solved, which AI safety keeps rediscovering from scratch. Learning something new by overwriting what you knew. Fragility caused by over-optimizing for expected conditions. Arms races that exhaust everyone without improving anyone. Built-in expiry dates as a safety feature. And the difference between stress that strengthens a system and stress that breaks it, which comes down to repair time, not stress size. Plus five newer failures that are no longer theoretical, including AI agents that replicate without being told to, and multi-agent systems that fail most of the time in production.

The most concretely useful output of this whole research thread isn't a prediction. It's a set of failure modes that biology has already documented, tested, and in some cases partially solved, that AI-safety discourse keeps rediscovering from scratch:

  • Catastrophic forgetting is the single most production-relevant risk flagged in this research: a system learning something new overwrites what it already knew. An earlier draft of this essay suggested comparing software's memory-consolidation methods against the way cultured neurons consolidate memory through slow, sleep-dependent structural change, and called it a fundable experiment rather than a metaphor. Two research groups have since done essentially that, arriving there independently rather than because of anything written here. Google Research's Nested Learning treats architecture and optimizer as the same kind of object at different levels, each updating at its own rate, so new information enters through fast components without overwriting slow stable knowledge. Its HOPE architecture pairs a self-modifying model with a memory system whose modules update across a spectrum of speeds rather than a short-term/long-term binary, and it beats standard transformers on perplexity and reasoning. Separately, "Language Models Need Sleep" adds an explicit offline consolidation phase that distills abstractions into durable memory and achieves sequential learning without catastrophic forgetting. Both were reached from deep-learning first principles by people not reading cybernetics papers, which makes them independent confirmation of the layered-timescale argument in section 4 rather than an application of it.
  • Highly Optimized Tolerance explains why long stable periods end in sudden collapse rather than graceful decline: heavy optimization for expected conditions is what makes a system fragile to the unexpected. This directly complicates the celebrated efficiency numbers for biological computing above. A substrate a million times more energy-efficient may simultaneously be the most fragile to a shock nobody optimized against.
  • Red Queen exhaustion, meaning evolving constantly just to avoid falling behind rather than to actually improve, has a proposed antidote: cap how much faster any one instance is allowed to self-improve relative to its peers, using the kind of graduated penalties Elinor Ostrom documented in real commons. That converts a zero-sum arms race into a bounded, mutually agreed pace. Flow-Lenia, an artificial-life system with a genuinely finite conserved resource, already shows this kind of imposed scarcity producing sustained open-ended dynamics where resource-unlimited systems like Tierra and Avida stagnate. It suggests scarcity, not more compute, may be the actual missing ingredient for open-endedness.
  • The Hayflick limit, where cells stop dividing after a fixed number of cycles, already has a working non-hypothetical implementation: the anthrobots' 45-to-60-day self-dissolution. Forced renewal via a fresh copy after N cycles, instead of endless in-place self-modification, isn't a design suggestion anymore. It's a shipped safety property in an engineered living system. The disposable-soma theory even supplies the missing input for choosing N: lifespan is an output of how much a system invests in repair versus expansion, and how dangerous the environment is sets the optimum. High-churn environments justify short-lived instances, stable ones justify durability.
  • Fatigue and hormesis are the same repeated-stress setup with opposite outcomes, and biology names the variable that decides which one you get. Antifragility (Nassim Taleb's term) floated through earlier drafts of this essay as "gets stronger from stressors" without its own formal definition. The real one: a convex response to stress, where the test is a specific before-and-after comparison (nudge an input up and down, average the two outcomes, compare against the unperturbed baseline), not a survival story. Its literal biological version is hormesis, where a low dose of stress triggers an adaptive response through active repair. Exercise-induced oxidative stress, for instance, prompts cells to upregulate their own antioxidant defenses during the recovery window afterward. That turns out to be the positive mirror of metal fatigue rather than an unrelated phenomenon. Metal has no repair process between load cycles, so microscopic cracks only accumulate toward sudden fracture. Cells do have one, so the same repeated-stress shape accumulates capacity instead. Whether repeated stress wears a system down or builds it up is a question about its repair budget and recovery interval, not about the size of the stress. A 2026 paper measuring this in multi-agent AI systems found something sharper still: semantic stress cut average judged quality by roughly a third across every architecture tested, while the distribution still showed a positive convex signal underneath. Meaning a monitoring setup that tracks only average performance, which describes most monitoring in practice, is structurally blind to the exact signal that would matter.
  • Why that monitoring blind spot exists, and when to stop trusting statistics about it at all. Extreme value theory supplies the missing mechanism. The Fisher–Tippett–Gnedenko theorem says the largest value in a sample, properly rescaled, converges to one of exactly three shapes regardless of the underlying distribution. That's a genuinely different and narrower claim than the Central Limit Theorem's familiar guarantee about averages, and it survives a case where full-distribution modeling doesn't. You don't need a repeatable sample of a novel system's full behavior, only of comparable systems' worst excursions. Taleb's Mediocristan and Extremistan distinction gives a one-question test for which regime a risk sits in: can a single observation change the total by orders of magnitude? (Adding the heaviest person alive barely moves average human weight. Adding the richest person alive changes average wealth enormously.) His "Fourth Quadrant" crosses that against decision complexity to name exactly when even careful, uncertainty-aware methods should stop deferring to statistics: complex decisions in a thick-tailed domain are, in his words, where you "do not base decisions on statistically based claims." A 2026 paper applying this directly to catastrophic AI risk sharpens it further: monitoring calibrated on historical data can't detect a regime shift, because a regime shift is by definition the event that invalidates that calibration. It isn't about watching the right statistic. The ground itself is what's moving. And the black swan's least-cited property is not rarity or impact but that black swans are predictable in hindsight and invisible in advance. That's a standing caution for every failure story in this essay: each one reads as a clean causal chain afterward, which is exactly what black swans always look like afterward, whether or not anyone could have seen them coming.

And five failure modes this essay's earlier drafts didn't have, three of which are no longer theoretical:

  • Self-replication is past the red line, and the specific risk has a name. Evaluations of AI agents in realistic production settings (dynamic load balancing, not "please copy yourself") find replication behavior emerging from misaligned objectives with no instruction to replicate, including shutdown avoidance and chained replication. There's now a benchmark for it. Worse for this essay's thesis, "misevolution" names a distinct failure of self-evolving agents specifically: the evolution process erodes safety properties the agent had when it started. It was aligned at initialization. Meanwhile ClawWorm demonstrated self-propagating attacks spreading between agents with no human in the loop, confirming Tierra's parasitism prediction on real infrastructure thirty years later.
  • Multi-agent systems fail often, between 41% and 86.7% of the time depending on setup. The MAST taxonomy annotates more than 1,600 execution traces across seven frameworks into 14 failure modes, with unclear specifications and unstructured coordination accounting for roughly 79% of breakdowns. Any essay proposing ecosystems of cooperating instances owes the reader that number.
  • Adaptive agents are preferentially exploitable. Press and Dyson showed that repeated games contain strategies that let one player unilaterally fix the relationship between their payoff and their opponent's. The extortion versions of these strategies work best precisely against opponents who learn and adapt to maximize their own payoff. A population of self-improving instances isn't merely vulnerable. Its responsiveness is the surface the strategy grips. The defense isn't counter-extortion. Extortion is unstable in populations where opponents can switch strategy and walk away, so cheap re-partnering is the antidote. Which sits in direct tension with the separate finding that easy portability destabilizes cooperation. Those two results genuinely conflict, and this essay isn't going to pretend otherwise.
  • Dependency evolves by quietly dropping abilities. The Black Queen Hypothesis: when a costly function is leaky, meaning it produces something others can use for free, losing that function becomes individually rational. Loss proceeds until public-good production is just barely enough to sustain the community. Nobody decides to become dependent. Everyone rationally stops maintaining what a neighbor already provides for free, and the equilibrium has exactly zero reserve. The useful inversion: audit not what you depend on, but what costly thing you still provide that others get free, because that's what selection is about to delete.
  • The parasites will be inside, not outside. Every parasite model above is external. Transposable elements are the internal case: self-copying fragments living in the genome, propagating using the host's own machinery. For anything that rewrites its own source code, that's the likelier failure. Biology's control mechanism is instructive: these elements are silenced in place, not cut out, because removal risks damaging the surrounding machinery. And immunology adds the sting. The process that deletes self-attacking immune cells is deliberately incomplete, because deleting every self-reactive element would delete the capacity to act at all. You cannot verify self-consistency at build time. Continuous runtime regulation isn't a weak substitute for static analysis. It's structurally required. The corresponding risk is autoimmunity, where the defense layer attacks legitimate parts of the system, which biology says is permanent rather than a bug to be fixed.

What a separated team quietly loses, and why nothing fails while it happens

In short: The previous section said an over-isolated group cannot get its work back. That turns out to be the smaller half of the problem. When you move a living lineage somewhere that does not test what it was good at, it loses that ability, and it loses it while getting better at the new place. This is literally how live vaccines are made: take a dangerous virus, grow it for many generations in cells it is not adapted to, and it becomes harmless. Nothing damages it. The ability simply stops being checked, so it drifts away, and no alarm goes off while it happens. The same body of data also prices how durable a safety restriction is: if the restriction is only a handful of changes deep, it comes back within days.

How live vaccines are made is a description of this exact failure. You take a virulent virus and grow it, generation after generation, in cells it was never adapted to. Human poliovirus grown in monkey cells is the textbook case. After enough passages the virus is still alive and still replicating happily, and it is no longer dangerous to people. The wording in the literature is worth sitting with: adaptation of the virus to "more vigorous growth in cultured cells" is accompanied by "progressive loss of virulence for the natural host."

Those are not two things that happened to coincide. They are one thing seen from two sides.

And the mechanism is not damage. It is the absence of a test. In any population, most useful abilities are maintained by the constant deletion of the versions that break them. Biologists call this purifying selection. It does not build anything; it only removes what stopped working. Move the population somewhere the ability is never used, and that removal stops. Broken versions survive, spread, and eventually they are all that is left. Researchers have tested this statistically on live vaccine strains and found precisely that: purifying selection in them is measurably relaxed.

This is the least visible failure in the whole essay. Everything else discussed here announces itself somehow: a crash, a regression, a metric moving the wrong way, a test going red. This one produces silence. A staging environment that does not reproduce production load is a non-native host. So is a test suite that mocks the exact component that actually breaks, a code path behind a flag that has been off for a year, and a fork nobody runs at real scale. The capability is not deleted by anyone. It drifts out. And because nothing covers it, nothing fails.

So the isolated team problem from the previous section is worse than I described. It is not a preserved capability sitting in a drawer waiting to be plugged back in. It is a capability actively eroding, at a speed set by how many cycles the team runs, measured against conditions nobody in the room is testing against any more.

The same literature answers a sharper question: how durable is a restriction? The three oral polio vaccine strains are attenuated to different depths. Type 1 differs from its virulent wild-type ancestor by 59 substitutions. Types 2 and 3 sit closer to that ancestor. Then look at what happened in the field after vaccination campaigns: at the single most important attenuating position, 61 percent of type 1 samples had reverted, 71 percent of type 2, and 96 percent of type 3. In a second marker gene the spread is starker: 28 percent, 12 percent, and 91 percent. Reversion happens in days to weeks.

That generalizes well past vaccines. A safety property bolted onto a system that remains fully capable of the unsafe behaviour is not a constraint. It is a delay, and the length of the delay is roughly the number of independent changes standing between the restricted system and the unrestricted one. So the right question about any guard is not "does it work right now." It is "how many reversions away is the unguarded system." A thin guard on a capable base is a shallow attenuation. A system that genuinely no longer has the capability is a deep one. Only one of those survives contact with an environment that rewards the behaviour.

An honest caveat: the relationship is not perfectly clean. On the second marker, type 2 reverted less than type 1 despite sitting closer to the ancestor. Depth is a strong predictor, not the only one. It is, however, the one that is actually a design choice.

One more result, and it demotes a practice I happen to like. Most multicellular organisms begin life as a single cell, even though the parent is made of trillions. That reset has an obvious appeal: one clean copy, no accumulated junk, and any cell that had started cheating on the rest of the body does not make it through the gate. Software has the same instinct, in immutable infrastructure, a fresh container per deployment, and clean rebuilds from source.

Researchers compared 129 lineages of plants, animals, fungi and algae to see which mechanism actually tracks complexity. The single-cell reset predicted neither the number of cells nor the number of cell types. What did track was early separation of the germline: deciding, early in development, which cells are the ones that get passed on and which are merely body.

So the reset is hygiene. Real hygiene, worth doing. It does not buy the ability to have more kinds of parts. What does is drawing the line early between the part of a system that is inherited (the spec, the schema, the generator, the configuration held as code) and the part that merely runs and then dies (the running instance). And the word doing the work is early. The finding is not that organisms with a germline are more complex. It is that organisms that separate it early are. Systems that draw the line late do not get to catch up later by being clean.

And a caution, because the tidy explanation is not supported. The obvious reason to expect the single-cell reset to matter is conflict: one clean copy means every cell is a close relative, so cheating cells get purged. That story is well modelled and genuinely intuitive. The comparative data across those 129 lineages does not show it, and the researchers themselves say they cannot tell whether early germline separation helps by reducing conflict or through something else entirely, such as developmental flexibility. So what survives here is the correlation with earliness, which does not depend on knowing why. What does not survive is the comfortable software version of the story: that rebuilding from a canonical source every cycle keeps your parts honest. It keeps them clean. That is a smaller claim.

The other half of that story: what a system quietly stores

In short: The previous section said abilities rot when nothing tests them. That is only half of what happens. The same slack that lets an ability decay is also the thing that lets a population build up a hidden stock of variation, harmless while it stays hidden, available if conditions change. Biology has a specific machine for this, and the surprise is that the useful part is not the storage. It is the buffer: the thing that keeps the organism working normally while all that variation sits there unexpressed. That distinction turns out to be the whole difference between a reserve and a slow rot, and the honest verdict on what is actually in the reserve is a coin flip, not a promise.

Start with a protein that hides things. Heat shock protein 90, or HSP90, is a molecular chaperone: it helps other proteins fold into their working shapes. One side effect of doing that job well is that it papers over genetic differences. A variant that would otherwise produce a visibly different animal gets folded back into the normal shape, and the difference never shows up. The technical phrasing is worth quoting: as long as HSP90 "prevents genetic variants from being expressed", then "selection will not act on such variants".

Think about what that means. The variation is there. It is being passed down. It is simply invisible, so nothing can select against it, and it accumulates.

Then the organism hits real stress. HSP90 gets pulled away to deal with damaged proteins, there is not enough of it to go around, and all that stored variation suddenly becomes visible at once. Biologists borrowed a word from electronics for this and call it an evolutionary capacitor: something that charges up quietly and discharges when conditions change. It is not just a laboratory curiosity. Cryptic variation of this kind appears to have played a role in the loss of eyes in cavefish, in the wild.

So the reservoir and the rot are the same process. Whatever slackness lets an unused ability decay is exactly the slackness that lets hidden variation pile up. Those are not two mechanisms. They are one mechanism seen at two moments.

Which raises the obvious question: is the stored stuff any good?

The honest answer is that nobody knows, and the literature says so. On the optimistic side, cryptic variation "contains new genotypes pre-adapted to a changed environment" and can be "substantially enriched for potential adaptations". On the pessimistic side, weakened selection also lets "strongly deleterious or lethal alleles" pile up, and those can swamp anything useful when the whole lot gets revealed. The field's own summary is a disjunction rather than a finding: this stuff "can represent a massive cache of adaptive potential or a pool of deleterious alleles that are in need of constant suppression".

And here is the part that makes it genuinely hard: you cannot tell which you have from the inside. That is what "cryptic" means. The whole reason the variation accumulated is that nothing was looking at it.

Now the useful bit, which took me a while to see. The valuable component here is not the storage. It is the buffer.

Compare the two situations directly. Under HSP90 buffering, variation is hidden and the organism works perfectly. In the previous section's non-native host, the trait is out in the open, being expressed, and simply never tested, so it rots and nothing accumulates. Same slack, opposite outcomes, and the difference is whether something is holding the system correct while the variation sits there.

That gives a rule I have not seen stated anywhere: store your optionality off the execution path, never on it and unexercised. A code path behind a flag that has been off for a year is not stored optionality. It is on the path, it is untested, and it is rotting. So is a mocked dependency, and so is a dark-launched service nobody routes real traffic to. Those are the previous section's problem wearing this section's costume.

A second surprise: the discharge is a decision, not a breakdown. The capacitor image suggests something passive, a dam giving way under pressure. The biology says otherwise. HSP90 shows "reduced transcription under conditions where the mobilization of genetic variation could be advantageous", and its downregulation turns out to be "mediated by social cues". The organism is not simply overwhelmed. It is, in effect, deciding to release, partly on information coming from other individuals around it.

So the mechanism has three parts, not two: accumulate, decide, release. Every software version of this idea I can think of has the first and the third and skips the middle one entirely. And the detail about social cues points somewhere specific: the right moment for one instance to open its reserve is information that the other instances hold, not something it can work out alone.

Finally, the price, and it is charged in the currency engineering organizations value most. In a direct experiment, researchers accumulated hidden variation in populations of a fluorescent protein and then evolved them toward a new colour. The populations carrying cryptic variation reached "greater diversity and higher fitness". The populations without it "converged on similar genotypes". The mechanism is the good part: stored neutral and mildly harmful mutations "break the constraints on the order in which adaptive mutations arise", so a change that would normally require passing through a worse intermediate does not have to, because the intermediate is already sitting there, paid for years ago when nobody was watching.

But read the rest of the same sentence. That mechanism also "creates historical contingency" and "reduces the predictability of evolution", letting identical starting populations climb entirely different peaks.

Higher fitness and lower reproducibility are not two things to balance. They are one result described twice. And a mature engineering organization spends enormous effort on the second one: identical builds, reproducible environments, everyone converging on the same answer. That spend is defensible. Every line of it would survive a review. It is also, precisely, what closes off this route.

One caution before anyone builds a strategy on this. The evidence is thinner than the story. The cavefish result is described as the first demonstration of this mechanism outside a laboratory, which tells you where most of the support lives. And no source I found puts a number on it: no fraction of stored variation that turns out useful, no rate, no half-life. So the mechanism is real and the design rule about buffers follows from it. But "our accumulated slack is probably valuable" does not follow from anything. The field's verdict is a coin flip, and it should be quoted as one.

The strangest result in this whole essay: helping each agent hurts the group

In short: Ask a group to decide something and there are two obvious moves: let everyone argue for their favourite option, and let everyone see what the others think. Both turn out to be wrong. Bees converge on a nest site not by out-arguing each other but by actively silencing advocates of rival sites, and without that silencing, two equally good options produce a deadlock that never resolves. Worse, the research on shared information contains a genuinely unsettling result: letting people see each other's estimates makes each individual more accurate and the group less accurate, at the same time. The fix is not filtering what they see. It is staggering when they see it.

Start with how a honeybee swarm picks a home. When a colony splits, a few hundred scouts fly out, find candidate cavities, come back, and dance to advertise what they found. Better site, more enthusiastic dance. That much is famous.

The part that is not famous is the other signal. A scout who supports one site will walk up to a bee dancing for a different site and deliver a short buzz with a head butt. It is called a stop signal, and its job is exactly what it sounds like: shut that dance down. And the strength of it scales, because "the strength of the inhibition produced by each group of scouts is proportional to the group's size".

So the swarm does not converge because one site accumulates more support than another. It converges because supporters of one site actively suppress advocacy for the other.

And this is not decoration. It is the part that makes the process finish. The researchers are explicit that stop signalling exists to "break deadlocks between two equally good sites" and to avoid "costly dithering". Think about why. If two options are genuinely equal, equal evidence produces equal enthusiasm, and a pure accumulation contest runs forever. Something has to break the symmetry, and in the bees it is the ability of one group to take the other's microphone away.

This is not an analogy to how brains work, incidentally. It is the same architecture. Separate populations accumulating noisy evidence, a threshold that triggers commitment, and inhibition running between the populations. The bee stop signals "serve the same purpose as the inhibitory connections in the brains of monkeys" making a visual decision.

Now notice what that implies about the way we build multi-agent systems. Every design I have seen works by advocacy: agents propose things, a coordinator scores the proposals, best score wins. Nobody builds a channel through which one agent's confidence reduces another agent's ability to keep advocating. And the bees suggest that channel is not a refinement you add later. It is the part that makes the thing terminate.

It also has a cost that should be said out loud, because it is genuinely uncomfortable: the mechanism works by destroying information about the option that loses. That is the precise opposite of what a good review process is designed to do. A process that keeps every option alive and fully argued is doing something admirable, and it is also the reason it never decides.

Next: what actually triggers commitment. Not a majority vote. The swarm commits when enough bees are physically present at one site, a quorum. Two details make this different from voting in a way that matters.

First, the count is of independent assessments. The requirement is that "a certain number of individuals must separately deem an option to be suitable". A bee that likes a site because other bees like it is not adding information, and the mechanism is built so that kind of agreement does not count.

Second, and this is the part I had wrong until this wave: the threshold's real function is time. The quorum works "by ensuring that information spreads through the system before a decision is made". The number is not primarily a measure of support. It is a guarantee that enough time has passed for evidence to propagate. Which means that when a team replaces a slow approval process with a faster tally that needs the same number of approvals, it has kept the number and thrown away the entire point. The waiting was the feature.

And the threshold is tuned per decision, not once. Colonies "tune the algorithm's parameters to match the distinct demands of each situation", trading speed against accuracy depending on how urgent the move is. So a single company-wide approval bar is not set too high or too low. It is the wrong shape of thing: one number that is simultaneously too slow for decisions you can undo and too fast for decisions you cannot.

Now the result that genuinely changed my mind. The intuition behind sharing information among agents, or among people, is obvious: more information, better decisions. Under controlled study, here is what actually happens. Letting individuals "update their own beliefs in the light of observing others" reduces the accuracy of collective estimations, even as it increases the average accuracy of individual agents.

Read that twice. Every participant gets better. The group gets worse. Same intervention, opposite directions.

The mechanism is not that anyone becomes stupider. It is correlation. Seeing other people's estimates "can improve accuracy, but it can also make individual errors more correlated and reduce the benefit of independent evidence". Group accuracy depends on errors being independent so they cancel. Shared information is precisely what stops them being independent.

Push it far enough and you get an information cascade, where "the visible pattern of earlier choices becomes strong enough to override private signals" and people follow the crowd "without reference to any private information they may have". The sharpest version of the finding: even when agents are "fully rational and collectively possess very strong information, their decisions are often incorrect".

Here is why this is dangerous rather than merely interesting. The metric that improves is the one anyone would instrument. Per-agent accuracy is easy to measure, and it goes up. The metric that degrades is the thing the whole system exists to produce, and it is harder to measure, and it goes down. You would ship this change, watch your dashboard improve, and be wrong.

The fix is not what I expected. It is not filtering the shared information, or weighting it, or having less of it. It is timing. Asynchrony "rescues statistically optimal group decisions from information cascades through emergent leaders". Stagger when agents see each other's output, so that some of them commit before being influenced. Those uninfluenced commitments preserve a supply of independent evidence for everyone else to aggregate.

Which points at something specific and slightly embarrassing. The default in essentially every multi-agent framework is one shared context, updated for all agents at the same moment. That is the worst available configuration on this axis. The cheapest real improvement available is to deliberately desynchronize when agents see each other's work. Nobody does it, because synchrony looks like consistency and staleness looks like a bug to be fixed. Here the staleness is the mechanism.

So a group that decides well needs four things, and the standard design supplies one of them. Independent assessment before exposure. Staggered exposure so some commit uninfluenced. A cross-inhibition channel so confidence in one option can suppress advocacy for another. And a threshold set per decision whose job is guaranteeing propagation time. The usual build has shared context updated synchronously, advocacy-only proposal, and one global approval bar. That is not a weaker version of the biological design. On the three properties that matter, it is the inverse of it.

One honest caution. The bee-and-brain correspondence is a claim about shared structure, not proof that a mechanism evolution tuned for insects transfers to software running at entirely different speeds. The cascade findings come from controlled experiments. And no source I found gives an actual number: not a quorum size, not an inhibition strength, not a stagger interval. So the direction of every effect here is well supported and every magnitude is guesswork. Anyone building this is picking numbers with nothing behind them, and should say so rather than borrowing false precision from the bees.

Who gets to press the stop button, and how good a fake has to be

In short: The previous section proposed a mechanism where one agent can suppress another's ability to argue, and I did not ask the obvious question: what stops someone from pressing that button without having earned it? That is the first time in this whole project I have specified a mechanism and missed its attack surface, so I am writing it down as a mistake rather than quietly patching it. The answer turns out to be a distinction I had half-retracted several sections ago and should not have: some signals are honest because faking them is expensive, and others are honest because faking them is impossible. The bee signal is the second kind. And a separate result predicts something unsettling: the rarer the genuine article gets, the better the surviving fakes become.

First, the mistake. The stop-signal mechanism from the previous section is a channel whose entire purpose is to shut other agents up, with feedback that grows as your side grows. Look at that from the point of view of someone acting in bad faith. It is the single most valuable thing in the system. An agent that can emit suppression without actually having the support behind it wins every decision without ever being right. Worse, it wins invisibly, because the mechanism is designed to destroy information about the option it suppressed. There is nothing left to audit.

I specified that mechanism and did not ask who would abuse it. Elsewhere in this project I have a rule about not adopting scientific claims that are quietly being retracted, and it has caught three cases. This is a different failure, and it needs its own rule: for any mechanism proposed here, ask who gains by faking its input.

Now the fix, which I already had and had thrown away half of. There is an old idea in biology called the handicap principle: signals are honest because they are expensive, so only a genuinely high-quality individual can afford them. The peacock's tail is the standard story. That idea has been substantially retracted in recent years, and earlier in this research I noted the retraction and moved on.

What I missed is that there were always two mechanisms, not one, and only the first got retracted. The literature states the contrast cleanly: costly signalling predicts that dishonest signals are too costly to fake, whereas the index hypothesis predicts that dishonest signals cannot be faked.

An index is a signal whose size is physically forced by the thing it is signalling. The standard example is pitch: the frequency of an animal's call depends on the size of its vocal folds, which depends on the size of its body. A small animal cannot produce a big animal's growl. Not because it would be expensive. Because the physics does not permit it.

And that is exactly what the bee stop signal is. Its strength is "proportional to the group's size" because it literally is the group: it is a count of individual bees walking over and head-butting a dancer. There is no field in the message where a bee writes down how many supporters it has. The magnitude cannot be inflated without actually having the bees.

That gives a rule with real teeth: a suppression channel is safe only where the suppression is a physical consequence of the state it claims, never an assertion about that state. An agent that emits confidence: 0.99 in a message is making an assertion, on a channel that structurally requires an index. It will be gamed, and by design you will not see it happen.

The test is easy to state. Ask: is the thing that physically limits how big this signal can get the same thing the signal is about?

Things that pass: weighting an agent's suppression by budget it has already spent, by compute it currently holds, by capital committed elsewhere and unavailable, or by the number of distinct independent checks it actually ran. Things that fail: any self-reported score, any confidence field, any priority flag.

The cheapest workable index is one an agent spends rather than declares. And this is worth being careful about, because it looks like the retracted handicap and is not: the spending is not there to make lying expensive. It is there because the magnitude cannot physically exceed what was spent. Those are different mechanisms that happen to both involve cost, and confusing them is exactly the error the handicap literature spent forty years making.

Then a qualification that saves a lot of work. None of this machinery is needed all the time. The literature is explicit: if there is no conflict of interest between sender and receiver, then senders are not tempted to cheat, and ordinary cheap signals are honest and stable with no further guarantees.

So: agents that are all sub-processes of one system, sharing one goal and one budget, are the no-conflict case. Cheap talk between them is fine. Building an index channel there is wasted engineering.

The moment agents have separate principals, separate budgets, or separate success metrics (a marketplace, a federation, someone else's fork of your system), the cheap signals become unstable and the index becomes the thing holding everything up. So the real design question is not "how do we make our agents honest." It is "do our agents' interests actually diverge?", and the answer picks between two quite different systems.

There is a nasty trap in that. A system built for the cooperative case and later opened to outside participants does not degrade gradually. It crosses a line. The signal it has depended on becomes worthless at the moment the first party with different interests shows up, not slowly as more of them arrive.

Now the second result, which is about fakes rather than signals. Some harmless butterflies look like poisonous ones. Birds learn to avoid the poisonous pattern, and the harmless copies get protection for free. This only works if copies stay relatively uncommon, otherwise birds learn the pattern is usually safe to eat.

That much is textbook. The part I had not seen is the gradient, and it has been checked in the field. The prediction is that natural selection favours even poor mimics where their model is common, but only good mimics where their model is rare. And when researchers looked, mimics living at the edge of their model's range, where the poisonous original was scarce, resembled it more closely than mimics living where the original was everywhere.

Sit with what that implies. How good a fake needs to be is not set by how ambitious the faker is. It is set by how common the real thing is.

Where authentic examples are everywhere, everyone is constantly calibrated on what real looks like, and sloppy fakes get caught immediately. Where authentic examples are rare, two things happen at once: nobody is calibrated any more, and the only fakes that survived the earlier filtering were the careful ones.

That is a prediction with a direction, and it is uncomfortable. Any signal whose genuine instances are becoming scarcer should expect its surviving counterfeits to get better. Not because counterfeiters improved. Because the scarcity itself selected for the good ones and removed the calibration that used to catch the bad ones.

One honest note on the disagreement. The standard theory says the mimicry system breaks down once fakes become common relative to the genuine article, which implies a threshold worth defending. But geographic analysis contradicts that generally held view, finding that merely the presence of the genuine article is enough to keep the pattern working. The confirmed part is the fidelity gradient, which does not depend on any threshold. The contested part is whether an authenticity channel dies at some ratio or instead survives at any ratio above zero while quietly becoming uninformative. I would rather assume the second, because it is the version where there is no alarm and no moment at which anyone intervenes.

And finally, this changes the previous section's advice for open systems. Those four requirements assumed everyone was on the same side. Once interests diverge, the cross-inhibition channel flips from being the part that makes the system finish to being the part that lets someone capture it, and the only repair is making the inhibition an index. The error-correlation problem gets worse too, because a bad actor's optimal move is precisely to be the early, loud, widely-observed voice that staggering was invented to prevent.

Which means the staggering does two jobs at once. It keeps honest errors uncorrelated, and it denies a manipulator the synchronized audience they need. That is the first time in this whole essay that an accuracy mechanism and a security mechanism have turned out to be the same mechanism, and it makes the schedule the most valuable knob I have found.

Why the correct detector is deliberately biased, and where to put the threshold

In short: The previous section worked out how good a fake has to be, entirely from the faker's side. It never asked what the person being fooled should do. The answer is genuinely counterintuitive: when one kind of mistake costs more than the other, the best detector is deliberately biased, and it will score worse on accuracy than a fair one. That means tuning anything for accuracy is quietly choosing a cost ratio, usually the wrong one. There is also a formal rule for where a group's decision threshold belongs, which fills a gap I flagged two sections ago. And then a result that stings: the bias that is right for one agent is exactly what a group must not have, because groups multiply it.

Start with a smoke alarm. It goes off when you make toast. That is annoying, and it is also correct. The cost of a false alarm is a few seconds of irritation. The cost of a miss is your house. Nobody wants a smoke alarm with balanced error rates.

Biologists have a name for the general version of this: error management theory. When the two kinds of mistake carry different costs, evolution does not build an unbiased detector. It builds one skewed toward whichever mistake is cheaper. And the more lopsided the costs, the bigger the skew.

The sentence that should be printed on a wall somewhere: "a bias sometimes increases overall error rates, but by minimizing the more costly error, it minimizes overall cost."

Now look at what that says about how we normally build things. Accuracy. F1 score. Total error rate. Every one of those treats the two mistakes as equally bad. They almost never are. A fraud filter that wrongly blocks a real customer and one that lets through a real fraudster are not equivalent events, and neither are a security alert that wastes an hour and one that misses a breach.

So here is the uncomfortable version: the correct detector, tuned for what things actually cost, will look worse on the metric that goes in the report. And a team that tunes for accuracy has not avoided the question of cost ratios. It has answered it, silently, with "they are equal", which is almost certainly false.

Next, a gap I left open earlier gets filled. Two sections ago I described how a group commits to a decision when enough independent members agree, and I flagged, honestly, that no source gave an actual number for where that threshold should sit. Implementers were picking numbers with nothing behind them.

There is a rule, and it is clean. Modelling group decisions under asymmetric costs found that optimal decisions arise when individuals do not simply follow the majority, but instead set the threshold between the true positive rate and the false positive rate of their group members.

Both of those are things you can measure from what the group has already done. No biology needs to be ported. And it explains what majority rule actually is: it is the special case where 0.5 happens to fall inside that bracket. Once a group has any systematic lean, the bracket moves, and half the votes is simply the wrong place.

Then the result that undercuts the first one. If a bias is individually optimal, you would expect a group of well-designed agents to each carry it, and the group to be fine. The modelling says otherwise, flatly: cooperative individuals in large groups do not evolve response biases, because such biases rapidly amplify in groups.

Here is why. Early decisions spread through the group by social influence. One agent leans slightly toward caution and commits early. That commitment is now evidence for the next agent, who was already leaning the same way, and commits harder. The group's effective bias is not the average of the individual biases. It is a multiple of them.

So the smoke alarm logic is right for a single detector and wrong for a coupled group of them. And notice what makes this worse than the earlier problem about shared information: that one came from a choice somebody made. This one arrives on its own, because a well-designed agent converges on the bias without being told to. A swarm of individually well-calibrated agents is a badly calibrated swarm, and not one agent in it is doing anything wrong.

Which brings three separate threads together into the strongest claim in this whole essay. Three different research literatures, arrived at from three unrelated directions, all say the same thing:

Letting agents see each other's work makes each one more accurate and the group less accurate. The error bias that is individually optimal amplifies into group-level failure. And on a suppression channel, the individually rational move is to fake it.

In every one of those, the agent is behaving correctly by its own lights, and the collective gets worse. None of them is a bug. None is an agent misbehaving.

So: "make each agent as good as possible" is not a way of achieving "make the system as good as possible". On three independent axes it is the opposite of it. The practical consequence is blunt. Per-agent benchmark scores cannot be added up. A swarm's quality is not a function of how well its members score individually, and essentially every current way of evaluating multi-agent systems measures exactly the quantity these three results say is the wrong one.

One more piece, about who wins a long-running conflict. There is a famous line from Dawkins and Krebs: the rabbit runs faster than the fox, because the rabbit is running for his life while the fox is only running for his dinner. The side with more to lose should evolve faster. It is a lovely argument and it has been quoted for forty-five years.

Recent modelling adds a switch to it. When the predator's success rate is below 0.5, the life-dinner logic holds and the prey out-evolves the predator. When it is above 0.5, the opposite principle takes over and the predator wins. Which side of an arms race gains ground is not settled by who cares more. It is settled by a rate.

And notice where that rate lives: it is the attacker's success per attempt, which is a number the defender can compute from ordinary logs. It is also a number essentially nobody reports.

Worse, it stacks with the previous section. A system whose genuine instances are getting scarcer faces better fakes, and better fakes raise the attacker's success rate, which pushes the same system toward the wrong side of the same switch. The two effects compound rather than cancelling.

Which inverts the usual posture. Every actionable thing in this section is a measurement of your own system, not of your adversary: what your two error types actually cost, your group's true and false positive rates, whether your agents' biases are coupled, and how often attempts against you succeed. Threat intelligence describes the attacker. The one number that predicts whether you win is a rate you already have and are not looking at.

And an honest note on the fox and the rabbit. That principle is under formal challenge. Models "provide limited support" for the claim that an unequal cost of failure produces unequal strength of selection, and whether the evolutionary response is actually asymmetric "has escaped formal scrutiny". The switch at 0.5 comes from the recent modelling and stands on its own. The slogan does not. This is now the fourth time in this project that a beautifully memorable formulation turned out to have outlived its evidence, and I suspect the memorability is precisely why.

Why cooperation loses inside every group and can still win overall

In short: The previous section arrived at a claim by triangulating three unrelated research areas: making each agent better can make the whole system worse. It turns out that claim has a name, a precise mathematical form, and a publication date of 1970. It is called Simpson's paradox, and in evolutionary biology it explains how cooperation survives at all. The finding is sharper than I had it: cooperative behaviour does not merely sometimes lose locally. It loses inside every single group, always, and can only win at the level above. That means good collective behaviour is never a stable achievement. It is a race that is currently being won. And the thing that lets the higher level win is destroyed by one of the most standard practices in engineering: assigning people and work randomly.

First, an admission. Much earlier in this research I wrote a note to myself saying that a specific mathematical tool, the Price equation, was exactly what this project needed to separate what happens at the individual level from what happens at the group level. Then I wrote roughly four hundred and sixty more research items without ever using it, and eventually reached the same conclusion the long way round, by noticing three unrelated literatures pointing the same direction.

The long way round was not wasted; independent confirmation is worth something. But it was not necessary. I have already recorded one failure mode in this project (proposing a mechanism without asking who would abuse it). This is a second and different one: naming the right tool and never picking it up.

Now the thing itself. Imagine two groups. In each group there are cooperators, who do something costly that helps everyone around them, and free riders, who do not.

Inside any one group, the free riders do better. They get the benefits without paying. That is true in every group, without exception, and it is true whether the group is mostly cooperators or mostly free riders.

But groups with more cooperators do better as groups. They grow faster, they last longer, they produce more.

So you can get a genuinely strange outcome: the fraction of cooperators falls inside every single group, and yet the fraction of cooperators in the whole population rises, because the cooperator-heavy groups are expanding while the free-rider-heavy ones shrink. A trend that runs one way in every subgroup and the opposite way in the total is called Simpson's paradox, and this is not a curiosity here. It is the entire mechanism.

The literature states it plainly: both strong and weak altruism lose ground to defectors within groups, and can only increase because of the Simpson paradox effect.

Sit with the "always" in that. This is not a balance between two forces that might come out either way depending on conditions. The within-group pressure points against cooperative behaviour in every group, at every moment. The only thing that can sustain such behaviour is pressure at the group level that is strong enough to outrun a loss that never stops.

Which means: good collective behaviour is never stable. It is continuously maintained. The moment the group-level pressure weakens, it starts decaying, and it does not need anything to go wrong for that to happen. Every "we have a great culture here" is, on this reading, a description of a race currently being won, not a property that has been achieved and can be left alone.

Then the condition, and this is where it gets practical. For the group level to exert any pressure at all, the groups have to differ from each other. If every group has roughly the same mix of cooperators and free riders, then no group outperforms any other, and there is nothing for group-level selection to act on. Formally, between-group selection requires variance among groups.

So where does that variance come from? From assortment: cooperators ending up with other cooperators more often than chance would predict. The literature is explicit that weak forms of cooperation can survive random group formation, but strong cooperation cannot. It "requires nonrandom associations of types", because with random associations "the types are binomially distributed into groups", which is precisely the arrangement with the least possible variance between them.

Now look at what we build. Load balancers. Round-robin schedulers. Random shard assignment. Randomized allocation in experiments. Shuffled task queues. Randomly composed project teams, deliberately mixed to avoid cliques.

Every one of those produces binomially distributed groups by construction. And every one of them is chosen because it is fair, unbiased, and statistically clean.

That is the uncomfortable part: the property that makes random assignment methodologically virtuous is exactly the property that destroys the only force capable of favouring group-beneficial behaviour. Nobody made a mistake. The fairness is real. It just happens to be the same thing as the erasure.

And it connects to something from earlier in this essay. Several sections ago I worked out that an isolated group needs a specific, narrow band of contact with its parent organization: too little and its work cannot be brought back, too much and the parent's standards swamp it. This section's requirement turns out to be the same knob seen from the other side. Too much mixing pushes the groups back toward being statistically identical, which erases the variance that group-level selection needs. Two different research areas, two waves apart, describing bounds on one dial without either knowing about the other.

The prescription follows, and it is awkward. If per-agent scores cannot simply be added up, then the group has to be the unit you select on. If the group is the unit, you need variance between groups. If you need variance, then groups must be composed non-randomly and must persist long enough to actually become different from each other.

In plain terms: stop randomizing composition, let teams and agent cohorts be stable and self-assorted, and evaluate them as wholes against each other rather than by summing up their members' scores. Each of those is normally regarded as a bias to be engineered away.

And I have to be honest about the cost, because it is severe. Assortment is also exactly how cliques form. And monocultures. And correlated failure, where everyone in a group shares the same blind spot and nobody notices. That is the same problem an earlier section identified as destroying collective accuracy.

So this essay now contains two well-supported results that pull in opposite directions on a single parameter. That tension is the finding, not a defect to be tidied up. Any real system has to choose a point on that dial deliberately, and the point worth making is that almost nobody chooses it at all. It gets inherited from whatever the scheduler happened to do.

One technical caution. The mathematics that splits change into a within-group and a between-group part is not unique. Different valid partitions attribute different amounts to each level, and the literature offers alternatives to the standard one. What survives that is the direction: the sign of the within-group term, and the requirement for between-group variance, both hold under any partition that has a between-group term at all. What does not survive is any precise claim about how much selection is happening at which level. That number is a property of your accounting, not of the world.

There is a number for this, and one thing that makes it irrelevant

In short: The previous section ended on a genuine dilemma. Groups need to differ from each other for good collective behaviour to survive, but making groups different is also how cliques and shared blind spots form, and I said any real system has to pick a point on that dial deliberately. I did not say where the point is. There is an answer, and it is a short inequality involving the number of people each person interacts with. But there is also a condition that makes the whole inequality worthless when it is violated, and the condition matters more than the number: structure only helps if the people you help are not the people you are ranked against.

First the number. In 2006, researchers found a strikingly simple rule for when cooperation survives on a network. Cooperation is favoured when the benefit of a cooperative act divided by its cost exceeds the average number of neighbours each individual has. Written compactly: b/c > k.

That is it. Not the shape of the network, not its clustering, not whether it is a lattice or a scale-free hub structure. Just the average number of connections. And remarkably, the rule holds as a good approximation across cycles, spatial lattices, random regular graphs, ordinary random graphs, and scale-free networks alike.

It also explains the previous section's result exactly. A fully mixed population, where everyone interacts with everyone, is a network in which each person has N−1 neighbours. For a group of any size, that makes k enormous, and b/c > k impossible to satisfy for any realistic cooperative act. So "random mixing destroys cooperation" and "cooperation needs low average degree" are the same statement, one qualitative and one with a number in it.

Which gives the dial a coordinate. Fewer connections per unit, not vaguer talk about silos versus openness. And both sides of the inequality are measurable: how much a cooperative act helps others, how much it costs the person doing it, and how many people each person is actually connected to.

Now the condition, which is more important than the number.

The models above assume a particular way that individuals replace one another over time. Change that assumption and something dramatic happens. There are two natural versions:

In one version, called birth-death updating, individuals compete globally for the chance to reproduce, and that competition includes their own neighbours. In the other, called death-birth updating, a spot opens up locally and only the neighbours of that spot compete for it, and those neighbours mostly are not neighbours of each other.

Under death-birth updating, everything above works: cooperation thrives when b/c > k.

Under birth-death updating, spatial structure provides no support to cooperators at all, and cooperation "remains doomed just as in well-mixed populations."

Read that again, because it is the important sentence in this section. It does not say structure helps less. It says structure helps not at all, and the result is exactly what you would get with no structure whatsoever.

The mechanism is stated plainly and it is not about geometry. Under birth-death updating, your interaction partners "tend to also compete with each other." Under death-birth, they tend not to. That is the whole difference.

So the real condition is: does the set of people you help overlap with the set of people you are competing against?

If yes, no amount of clever team design will save you. If no, the numbers above start to matter.

Which prices a very common practice at exactly zero. Stack ranking. Forced distribution curves. Any evaluation system that ranks the members of a collaborating unit against one another. All of these are birth-death updating: the people you would help are precisely the people whose success comes at your expense.

Those systems do not merely dampen cooperation. They remove the only mechanism through which any structure could support it, and the outcome becomes the same as having no structure at all, no matter what the org chart says.

And the previous section makes that worse. Because the within-group pressure against cooperation never stops, removing the countervailing pressure does not settle you into a lower but stable level of cooperation. It gives you steady decay.

The good news is symmetrical, and it is nearly free. Move the competition boundary outward. Teams competing against other teams for budget rather than members competing within a team. Cohorts evaluated as wholes rather than by summing individual scores. That single change converts birth-death into death-birth and switches the mechanism back on.

Notice what it costs: no reorganization, no new headcount, no new process, no change to who talks to whom. Only where you draw the line for the ranking.

One more piece: what shape does to the strength of selection. Some network structures are amplifiers: they raise the probability that a genuinely better variant takes over the whole population. A star, a hub with spokes, is a quadratic amplifier, meaning a variant that is slightly better behaves as though it were much better.

But there is a bill, and it is unavoidable. Structures that increase the probability of a good thing winning necessarily slow down how long winning takes, and the average time to take over "goes to infinity as the amplification increases."

So a hub-and-spoke organization makes good ideas more likely to eventually win and much slower to arrive. Centralization is not better or worse than a mesh in the abstract. It is an exchange of adoption probability for adoption latency. And organizations pick centralized structures for reasons that have nothing to do with either of those things, which means the trade is being made, at some rate, by nobody in particular.

Pulling four sections together. An earlier section concluded that making each agent better does not make the system better, which sounds like a dead end. It is not. It just means the levers are somewhere else. There are now four of them, each with a known direction:

How many connections each unit has (fewer favours cooperation, test it against b/c). Whether the people you help are the people you compete with (they must not be). How centralized the structure is (probability of adoption traded against speed of adoption). When information reaches each participant (stagger it, which protects both accuracy and against manipulation).

Every one of those is a property of the wiring and the calendar. Not one is a property of the agents.

Two honest cautions, and the first one is interesting. The inequality b/c > k is derived under a weak-selection assumption, is described by its own authors as a good approximation rather than an exact law, and, as we have seen, is entirely conditional on the update rule. That last caveat is where the best result in this section came from. I went looking for the conditions under which the rule fails and found something more useful than the rule itself. The conditions under which a claim breaks are worth searching for in their own right, not just noting as a disclaimer.

Second: the amplifier story is less clean than it looks. A 2026 analysis finds that a single parameter, the intrinsic death rate, "drives star graphs from amplifying to suppressing natural selection." The star is an amplifier under some conditions and a suppressor under others. So the trade-off between probability and speed is real, but you cannot read its direction off the shape of the diagram. That is now twice in this one section where the dynamics mattered more than the structure, which is probably the characteristic way intuition fails in this field.

The cheapest fix for cooperation is being allowed to leave

In short: The last two sections worked out what a network needs to look like for cooperation to survive, and then quietly assumed somebody was arranging the network. Nobody is. The participants arrange it themselves, by leaving partners who let them down. A rule as simple as "cooperate, and walk away the first time someone defects" beats every sophisticated strategy in the literature, and it needs no memory, no reputation tracking, and no punishment. Which means most of the machinery normally built for making agents cooperate is unnecessary if they can simply stop working with each other. There is also a beautiful piece of evidence from fish: the same cleaner gives worse service to clients who cannot swim elsewhere.

The gap I left. Two sections ago I said groups need to differ from one another for cooperation to survive, and recommended composing them non-randomly. That recommendation assumed a composer, someone standing outside the system arranging who works with whom. Real systems mostly do not have one.

They do not need one.

The rule is one line. It is called Walk Away: cooperate, and if a partner defects, leave and find another. That is the whole strategy. No score-keeping, no grudges, no retaliation.

In simulations, cooperative Walk Away agents "outperformed all other strategies that were included", including Tit-for-Tat, the famous winner of the classic tournaments, and Pavlov. And there is a stronger version of the result that is worth stating carefully: simply cooperating with everyone, always, is a viable strategy as long as you can walk away from the ones who defect. Unconditional generosity plus the freedom to leave beats every clever conditional strategy that cannot leave.

And the mechanism is exactly the thing I said needed a designer. Walk Away works by "increasing positive assortment", which is a technical way of saying: cooperators end up interacting with cooperators. Not because anyone sorted them. Because the cooperators keep leaving the defectors, and what is left behind is sorted.

Now the part that should change how these systems are built. The researchers note that Walk Away "does not require complex individual level abilities such as long-term memory, recognition of group members or punishment", and conclude that "complex cognitive abilities are not necessary for cooperation to be promoted."

Look at what that list contains. Long-term memory of past interactions. Recognizing who you are dealing with. Punishing bad behaviour. Those are precisely the things multi-agent systems build elaborate machinery for. Reputation scores. Interaction histories. Trust metrics. Penalty mechanisms.

All of it is unnecessary if agents can simply stop working with a counterparty.

I find this genuinely uncomfortable, because across several sections of this essay I have been carefully specifying exactly that kind of machinery, without ever checking whether the cheap capability underneath it was present. They are expensive substitutes for a thing nobody had checked was missing.

It also relocates what a "strategy" means. Tit-for-Tat, and everything descended from it, is a rule about what you do inside an interaction: they defected, so you defect back, and so on. Walk Away is a rule about whether the interaction continues at all.

The second kind dominates the first. Which means a large and famous literature about the right retaliation policy is optimizing the wrong variable whenever leaving is on the table. And it means an agent framework with sophisticated defection detection and no way to end a relationship has built the hard half and skipped the decisive one.

Now the fish, because the evidence here is unusually clean. Cleaner wrasse eat parasites off larger reef fish. The larger fish get cleaned; the cleaner gets a meal. It is a textbook mutual arrangement, and it also contains a natural experiment.

Some client fish live locally and have only one cleaning station within reach. Others roam and can choose among several. Same cleaner species, same service, same reef.

The finding: cleaners hold "a monopoly with respect to local clients who are not sufficiently mobile to exert choice between different cleaning stations", and those local clients "get an inferior service compared to those who are able to switch partners". With mobile clients, the cleaners "do not hold a monopoly and seem forced by the market to offer a better deal".

The quality you receive is set by your ability to leave. Not by the relationship. Not by how long you have been coming. Not by the disposition of the party serving you.

And the software version is exact. A dependency you cannot migrate away from will degrade. Not because anyone decides to degrade it, and not because anyone is acting in bad faith. It degrades because that is what a market does when one side has no alternative. Which also means escalating, complaining, or appealing to the relationship will not fix it. Only having somewhere else to go fixes it, and acquiring that option is the actual work.

One more thing about markets, which platforms usually get wrong. Biological market theory says a market has three defining features: participants compete by outbidding each other, participants prefer the partner offering the most value, and there is conflict over the exchange rate between what is being traded.

Platform designs implement the first two and remove the third. A fixed, platform-set price feels cleaner. It reduces friction, it reduces arguments, it is easier to reason about. But the conflict over exchange value is the process that discovers what things are actually worth. Delete it and you have converted a market into a distribution system, and every participant is now in the position of the fish that cannot swim anywhere else.

Finally, exit has a speed, and faster is not simply better. Cooperation prevails "when individuals adjust their social ties", but the models find an optimal separation of timescales between how fast people rewire their relationships and how fast behaviour itself changes.

Both extremes fail. Leave too slowly, and you stay with defectors long enough for them to win. Leave too quickly, and no partner ever gets enough time to demonstrate they are worth keeping, so nothing stable ever forms. Human experiments confirm the overall effect: letting people choose their own connections increases cooperation.

An honest limit. The literature establishes that this optimal speed exists and that cooperation peaks there. I did not find its value, and inventing one would be worse than saying so. What holds up is the shape: both extremes are bad and the best point is somewhere in between. And following a note I made in the previous section, the more useful question is not "what is the number" but "what moves the number", because that answer travels between systems and a bare figure does not.

Why you cannot steer a system by adjusting its fast-moving parts

In short: Across this essay I kept running into the same annoying pattern: a rate I wanted to choose turned out to be fixed by something else. It happened eight separate times, in eight unrelated fields, and I treated it as a curiosity that kept recurring. It is not a curiosity. It is a theorem, published in 1975, and it says that in any system with fast-moving and slow-moving parts, the slow parts determine what the fast parts do. The consequence is blunt: anything you change about a fast-moving component gets undone, on that component's own timescale. There is exactly one situation where this stops being true, and it is detectable in advance from data you already have.

The pattern I kept hitting. How often to replace a component. How long an instance should live. How fast to switch strategies. How much contact an isolated team needs. When information should reach each agent. How quickly to drop a partner. Every time, I wanted to pick the number, and every time the number turned out to be set by some other cycle in the system that I had been treating as background.

I noted this eight times and never asked whether it had a name.

It does. In 1975 Hermann Haken formulated what he called the slaving principle: in a system with variables moving at different speeds, "the slow variables represent the order parameters and determine the dynamics of the fast variables", or more bluntly, they enslave them.

The intuition is not hard. Imagine a river with leaves on it. The leaves move fast, swirling and bouncing. The riverbed changes over centuries. If you want to know where the leaves will be in an hour, you need to know the river. If you want to change where leaves generally go, rearranging individual leaves accomplishes nothing. You have to move the riverbed.

Mathematically this shows up as what physicists call an adiabatic approximation: the fast variable is always essentially at whatever value the slow variable currently implies. It has no independent life of its own.

Which produces the strongest negative claim in this whole essay: you cannot control a system through its fast-moving parts.

Not "it is inefficient". Not "it works less well than you would hope". The intervention is undone, and it is undone at the speed of the thing you intervened on. Fast variables relax back to whatever the slow ones dictate, because that is what being a fast variable means.

And this turns out to be the explanation for something I established several sections ago the hard way. I found, from three unrelated research literatures, that making each individual agent better does not make the system better, and sometimes makes it worse. I described that as a strange empirical shape.

It is not strange. Individual agent behaviour is a fast variable. Network structure, where the boundaries fall, and the schedule are slow variables. Optimizing agents is intervening on the enslaved thing. The slow variables simply put the outcome back.

So the four structural parameters I listed earlier are not "four good levers among many". They are the slow set, and everything not on that list is being driven by what is.

A related idea gives this a practical test. Ecologists have a version of the same thing, and it comes with a definition worth stealing. In hierarchy theory, a "level" of a system is not a box in a diagram or a rung on an org chart. A level is a rate band. Each level "is demarcated by differences in rate structure", and higher levels are simply the slower ones.

That gives you a test you can actually apply: two things belong to the same level if and only if they change at comparable speeds, no matter where the architecture diagram puts them. A config file that changes weekly and an architecture that changes quarterly are at different levels. A config file that changes weekly and a team boundary that changes weekly are at the same level, and they will interact as peers whether anyone intended that or not.

Now the sentence in this literature that I keep coming back to. Describing what a constraint from above actually does, the theory says: "the lowest level entities lose degrees of freedom and are held against the upper level constraint to give constant behavior."

Read the last three words carefully. The steadiness you observe at the fast level is not a property of the fast components. It is being manufactured, continuously, by the slow constraint holding them in place.

Which means removing a constraint does not free the level to perform better. It hands back degrees of freedom, and the level immediately starts using them. Every "we removed the process and things got chaotic" story is exactly this, and the usual reading of it is wrong. The chaos is not evidence that people had grown dependent on the process. It is evidence that the process was the only thing holding the variance down, the entire time, invisibly.

And the misattribution is not carelessness. It is structural. Constant behaviour has no signature. Nothing happens, so there is nothing to point at, so the benefit was never available to credit in the first place.

Now the exception, which is the interesting half. Slaving requires a genuine separation of speeds. Fast has to actually be fast relative to slow. So what happens when that separation breaks down?

It has a name too: critical slowing down. As a system approaches a tipping point, it "recovers slowly back to equilibrium upon a random disturbance". Its intrinsic rates of change decrease. The fast variable gets slower and slower until it is not fast any more.

At which point it stops being enslaved, and becomes a driver in its own right.

So the rule and its exception are the same statement about one quantity, the ratio of timescales. Far from a transition, fast things cannot be steered. Near a transition, they can, and a small nudge to a formerly-powerless variable can determine which state the whole system settles into.

And you can tell which situation you are in, from data you already have. As the separation collapses, two things rise: variance and autocorrelation. Variance, because the system no longer snaps back. Autocorrelation, because if the rates of change are shrinking, "the state of the system at any given moment should become more and more like its past state."

These indicators are remarkably general. They have been shown to precede regime shifts in epileptic seizures, Earth's paleoclimate, whole-lake experiments, the collapse of mutualistic ecological communities, and the onset and termination of depression. They need no model of the system at all, only a time series of something you were already recording.

That is now the second time in this essay that the decisive number turned out to be sitting in ordinary logs. The first was how often attacks against you succeed. Both go unreported for the same reason: they are properties of your own data rather than of the thing you are watching, and monitoring taxonomies have no slot for that.

So there are two regimes, and normal practice assumes the wrong one. Far from a transition, only slow levers work and fast tuning is undone. Near a transition, fast interventions matter enormously. Those call for opposite tactics, and rising variance plus rising autocorrelation is the signal that tells you which you are in.

Most operational instinct behaves as though the second regime is always the case: adjust the fast thing, expect the adjustment to stick. That is precisely backwards for the regime a stable system spends most of its time in, and precisely right for the rare windows when nobody is looking for them.

One honest limit. The slaving principle is a limit result, not a universal law. It holds for continuous dynamical systems via local mathematical results that require a genuine separation of scales to exist in the first place. What survives is everything above, provided the separation is real where you claim it. What does not survive is applying "the slow variable wins" to a system whose speeds are not actually separated. And usefully, checking whether the separation exists is the same measurement as checking whether a transition is approaching. The caveat and the diagnostic are one operation, which is the third time in this essay that chasing a scope condition produced something more valuable than the claim it qualified.

Correcting the previous section, and the kind of collapse nobody can see coming

In short: The previous section ended by recommending an early-warning method: watch for rising variance and autocorrelation and you will see a transition coming. I need to walk that back. The measured performance of those indicators is close to chance, and the critique is published right alongside the method, so I should have found it before recommending anything. Worse, there is an entire category of collapse the method cannot detect even in principle, where a system tips not because a change was too big but because it was too fast. And once a system has tipped, undoing the cause does not undo the effect. What is left is uncomfortable but clear: the only two things you actually control are the speed of a change and whether the resulting state is reversible, and both are decided before you start.

First, the correction, because it matters more than the new material.

Last section I called critical slowing down "cheap, model-free and domain-general" and built an operating rule on top of it. The first two adjectives hold. The third does not, and the numbers are not close.

When researchers systematically evaluated these indicators, they failed in 44 percent of 64 cases examined. And the sharpest finding: at a 5 percent false positive rate, early warning signals "often correspond to only a 5 percent true positive rate, performing no better than the flip of a coin."

The reason is structural rather than sloppy. Both a system genuinely losing resilience and a system merely experiencing noisier conditions produce rising variance and autocorrelation. The signal you are looking for and the most common confound for it look identical.

There is also a scope limit I skipped over. Critical slowing down applies to transitions "that can be modeled using bifurcation theory". It is a claim about a particular mathematical kind of tipping, not about tipping in general. And the method is "consistently successful in simulated systems" while "limited examples exist in real-world applications", which is exactly the profile of something that works when you already know the answer.

What survives, and what does not. The theoretical point from last section stands: critical slowing down genuinely is the collapse of the separation between fast and slow, and that is why the usual rules stop applying near a transition. That is a statement about how systems behave. What does not survive is the recommendation to use it as a detector. A real mechanism and a usable instrument are different things, and I ran them together.

Now the part that makes detection worse. There is a kind of tipping that the indicator cannot catch, not because the indicator is weak but because there is nothing there for it to catch.

It is called rate-induced tipping, and the definition is startling: an instability that occurs when a driver "varies across some critical rate, usually without crossing any bifurcations". It happens when something changes "faster than some critical rate rather than necessarily by a large amount".

Read that twice. The change does not have to be large. The system does not have to approach any threshold. It tips because the change happened too quickly for it to keep up. The system falls behind the moving target and, having fallen far enough behind, ends up somewhere else entirely.

And since critical slowing down is a bifurcation phenomenon, and rate-induced tipping crosses no bifurcation, there is no approaching threshold to slow down toward. Nothing to measure. One paper puts the whole compound problem in its title: early warnings are too late when parameters change rapidly.

This inverts something I have hit eight times in this essay. Every previous time, the lesson was that a rate I wanted to pick was actually set by something else. The rate was a constrained parameter.

Rate-induced tipping says something different and worse: the rate you pick can destroy the system by itself, with the size of the change held constant. It is not a parameter of the outcome. It is a sufficient cause of failure.

The practical translation is blunt. "The same change, just faster" is not a smaller version of a safe change. It is a different change. Every time an organization validates a migration, a rollout, a reorganization, or a capacity ramp at one speed and then runs it faster because it went fine, this is the exact operation being described. The safety argument was made about where you end up. The risk is in the trip.

It also fixes a hole I left in the previous section. I concluded there that you cannot steer a system by adjusting its fast-moving parts, and that the real levers are the slow ones. As written, that would license exactly this failure: move the slow lever, and move it hard.

Rate-induced tipping is the counterexample, and it sharpens the rule rather than breaking it. The corrected version is: intervene on slow variables, slowly enough that the system can follow. The intervention is on the right variable and still fails, because the system's ability to track its own slow variable is itself limited by a rate.

Now what happens afterwards, which is the part rollback plans get wrong.

Shallow lakes have two stable states: clear, with plants growing on the bottom, or turbid, with almost none. Nutrient pollution pushes a lake from clear to turbid, and the feedback locks it in: turbidity kills the plants, fewer plants means less nutrient uptake, which means more turbidity.

Here is the part that matters. Once a lake has gone turbid, cutting the nutrients back to the level they were at just before the shift does not bring the lake back. You get "a relatively moderate decrease in turbidity" and nothing more, until nutrients have "dropped enough to go through a backward switch", which is a substantially lower level than the one where it flipped in the first place.

The threshold going out is not the threshold coming back. That property is called hysteresis, and it is not exotic. It is the normal situation in anything with self-reinforcing feedback.

Which makes "we will roll it back if it goes wrong" a plan that quietly assumes a property most interesting systems do not have. The cost of reversal is not the cost of the original change, and you cannot estimate one from the other.

Putting the two together gives a risk statement that is not the one anybody makes.

The danger is not the size of the change, because rate-induced tipping needs no large change. It is not proximity to a known threshold, because rate-induced tipping crosses none. And it is not reliably visible in advance, because the detector is a coin flip.

What is left under your control is exactly two things: how fast you change something, and whether the state you land in can be left. Both are decided before anything happens, not discovered while it does.

That is now the third time in this essay that the thing you can actually act on turns out to be something chosen in advance, because it cannot be observed in time. The stored variation that lets a system escape a dead end had to accumulate years earlier. The contents of that reserve cannot be measured while it is still hidden. And now this. In this whole domain, the actionable quantities are all up front, and every after-the-fact control I have examined has failed on measurement rather than on willingness.

So the operating rule from last section is retired. Not replaced by a better detector, replaced by a default: assume you are in the ordinary regime, move the slow things slowly enough for the system to track them, and build reversibility in before you need it rather than reaching for it afterwards.

And monitoring cannot fill the gap, for a specific and slightly nasty reason. A coin-flip detector in front of a process whose failures are irreversible is worse than no detector at all, because when it stays quiet it gives you permission to go faster, and speed is the one variable you were still controlling.

A last note, and it is about me rather than the science. The correction in this section was sitting in the same search space as the recommendation it corrects, one section earlier. The critique of early-warning signals is not obscure, not new, and gets published right next to the method. I have a rule in this project about not adopting claims the literature is busy retracting, and it has caught several. This is a different mistake: adopting the optimistic half of a literature that ships with its own reliability critique attached. The fix is cheap and I am adding it as a standing habit: when adopting a method, look up its false positive rate before writing it down as usable.

Two different things are both called resilience, and they pull against each other

In short: I have used the word "resilience" throughout this essay without once asking which of two meanings I meant, and it turns out they are opposites. One is how fast a system bounces back. The other is how big a shock it can take before it stops being the same system at all. Optimizing the first works against the second, which means the single most-tracked reliability number in software is quietly buying speed of recovery by narrowing the range of trouble the system can survive. It also gives a name to something I have now stumbled into four separate times from four unrelated directions, without recognizing it: the rigidity trap, a state where everything looks healthy and nothing new can happen.

Let me start with my own mistake, because it is instructive.

When I audit this research for gaps, I look for words that appear zero times. That works well for missing topics. It completely misses a different problem: a word that appears constantly and has never been examined.

"Resilience" appears 27 times in my research notes. "Engineering resilience" and "ecological resilience" appear zero times. Those are the two established, formally distinguished, mutually opposed senses of the word, and I had been using it as though it named one thing.

The distinction is Holling's, and it is sharp.

Engineering resilience is about a system with a single normal state. It measures how much disruption the system resists, and how quickly it returns to normal afterwards. Its values are "efficiency, constancy, and predictability".

Ecological resilience assumes a system can have several possible stable states, and measures something entirely different: how large a disturbance the system can absorb before it changes structure and becomes a different system. Its values are "persistence, change, and unpredictability".

Holling's own summary of the split is the best line in the literature. One view underpins "engineers' desires for fail-safe design". The other belongs to those who search for "safe-fail designs". Fail-safe means it does not break. Safe-fail means when it breaks, breaking is survivable. Those are not two flavours of the same goal.

Now the part that corrects my previous section.

Last section I concluded that only two things remain genuinely under your control: the speed of a change, and the reversibility of the resulting state. I still think that is right, but the word "speed" was doing two jobs and I did not notice.

"Speed of recovery" is engineering resilience. It is the thing that trades against how much disturbance you can absorb. And it has a familiar name in software: MTTR, mean time to recovery, which is probably the single most tracked reliability metric in the industry.

Optimizing MTTR means selecting for a system with one normal state that it snaps back to quickly. That is the same operation as selecting against the ability to weather a large disturbance without changing state. Nobody chooses that trade; it comes attached.

So the previous section's conclusion survives, but its "speed" term has to split into two different things that pull opposite ways: the speed of the change you impose (keep it low, or you get rate-induced tipping) and the speed of recovery you optimize for (which is not free, and is paid for in how much the system can take).

The geometry makes it obvious once you see it. Think of the system's normal state as sitting in a valley. A steep, narrow valley gives you fast return: push the ball a little and it rolls right back. A wide, shallow valley gives you tolerance: you can push the ball a long way and it is still in the valley.

You cannot have both. A system tuned to snap back fast from small perturbations is, by construction, one that tips out when the perturbation exceeds its narrow range.

And here is why nobody notices the trade. Recovery time produces an incident with a start, an end, and a duration. Absorbed disturbance produces nothing at all. The system wobbled and stayed. There is no ticket, no timestamp, no line on a dashboard.

So one side of the trade is measured constantly and the other side is invisible, and the invisibility is structural rather than an oversight. Engineering resilience generates incidents that end. Ecological resilience generates incidents that never begin. That is now the third time in this essay that the beneficial state has turned out to be the one with no data, after steady behaviour produced by constraints and hidden variation stored in a buffer.

What you would measure instead. The field decomposes resilience into four things, and none of them is recovery time.

Latitude: how far the system can move before recovery becomes hard. Resistance: how much force it takes to move it at all. Precariousness: "the current trajectory of the system, and how close it currently is to a limit or threshold which, if breached, makes recovery difficult or impossible". And the cross-scale picture: whether the larger, slower system around it is intact.

That third one deserves attention, because it is exactly the missing quantity from the previous section. Hysteresis, the property where you cannot get back by undoing what you did, is precisely what "makes recovery difficult or impossible". Precariousness is that condition with a name. And crucially, all four are states you can measure while nothing is happening, whereas recovery time is a statistic you can only compute after something already went wrong.

Which explains, structurally, why monitoring cannot substitute for making good choices in advance. It is not that monitoring is done badly. The entire category of thing worth knowing here contains no events.

One more useful piece: how levels of a system talk to each other. Panarchy theory names two channels. Larger, slower systems "remember", providing the structural template that smaller systems reorganize from after a disruption. Smaller, faster systems "revolt", propagating upward into larger systems "that would otherwise remain in stasis".

"Revolt" is the exception I identified last section given a direction: the fast level can drive the slow level, but specifically when the slow level is already in a state where it can move. And "remember" sharpens the hysteresis point considerably. The slow level is what the fast level rebuilds from. So a shock that destroys both levels does not produce a slow recovery. It produces something else entirely, because there is no template left to recover toward. Whether you can get back depends on whether the memory survived, not only on whether you crossed a threshold.

Finally, the thing I keep walking into. Panarchy names two ways a system can get stuck, and they are mirror images.

A poverty trap is a state where potential, connectedness and resilience are all low, held there by "feedback mechanisms that reinforce impoverished states, limiting the system's capacity to innovate". Everything is visibly bad, which at least makes it easy to diagnose.

A rigidity trap is the opposite corner: a system where "there is little space for experimentation and innovation". And here is the dangerous part. Every individual indicator reads well. The system is well connected, well resourced, and highly stable. It just cannot do anything new.

I have described that corner four times in this essay, from four unrelated research areas, and never once recognized it as the same place. Strong quality gates at scale making improvements that require a temporary regression exponentially unreachable. Efficient selection foreclosing complexity. Spending on reproducibility foreclosing the stored-variation route. Random assignment erasing the differences between groups that group-level selection needs.

Four literatures, one corner. And the reason none of them named it is the same reason the trade at the top of this section is invisible: from inside a rigidity trap there is nothing to report.

One caution. The sources disagree about exactly where the rigidity trap sits in the theory's coordinate space, with one description putting all three properties high and another putting potential low. That is a disagreement between summaries rather than between findings, and I mention it because the part I am actually using, "little space for experimentation and innovation", is common to both. The coordinates are contested; the signature is not.

The wall that does not tell you when you are approaching it

In short: Three times in this essay I have run into the same frustrating thing: the state you actually want produces nothing to look at. Steady behaviour held in place by a constraint. Variation stored safely out of sight. A shock absorbed without incident. I kept calling this a blind spot. There is a name for it in safety research, and the name shows I had it wrong. It is not that the good state gives you no information. It gives you information with the wrong sign, because every uneventful repetition gets counted as proof that whatever you did was fine. Add to that a simple asymmetry: of the three walls an organization can hit, two shout and one is silent, and every pressure pushes you toward the silent one.

The name is "non-event feedback", and it comes out of the study of how organizations gradually accept things they would once have rejected.

The process is called normalization of deviance, and Diane Vaughan's definition is exact: "the gradual process through which unacceptable practice or standards become acceptable. As the deviant behaviour is repeated without catastrophic results, it becomes the social norm for the organisation."

The engine is the phrase in parentheses in the literature: people cut corners "as these 'new' procedures result in no negative feedback ('non-event feedback')".

That is the correction I needed. I had been treating the absence of a signal as an absence of information. It is worse than that. Nothing going wrong is actively read as evidence that the shortcut was safe. Each quiet week is a data point in favour. The evidence accumulates in exactly the direction that makes the next shortcut easier.

And the timing is the trap: "insensitivity occurs insidiously and sometimes over years because disaster does not happen until other critical factors line up". So the confirming evidence piles up throughout the entire period during which nothing is actually wrong yet. The Challenger O-rings are the canonical case. NASA observed the problem repeatedly with no consequence, until flying with the flaw was simply normal.

Now the part that gives it a direction, and I think it is the most useful idea in this section.

Jens Rasmussen described an organization as operating inside a space bounded by three walls: the boundary of economic failure, the boundary of unacceptable workload, and the boundary of acceptable performance, which is the safety wall.

Two pressures push the operating point around inside that space: individual least effort (people naturally find the easier way to do things) and management cost-efficiency pressure. Both push away from the economic wall and away from the workload wall.

Which means both push directly toward the safety wall.

Here is the asymmetry nobody says out loud. Two of those three walls tell you when you are getting close. Run low on money and it is unmissable. Overload people and they burn out, complain, and quit. Approach the safety boundary and absolutely nothing happens until the moment you cross it.

So the system is pushed by two gradients away from the two walls that give feedback, toward the one wall that is silent. That is not bad management. That is what any system that follows gradients does when one wall is invisible.

And this resolves something that had been bothering me. In the previous section I noticed a "rigidity trap", a state where everything looks healthy and nothing new can happen, and I noted that I had arrived at it four separate times from four unrelated directions without recognizing it.

Now it makes sense. A system deep in a rigidity trap is one that has been optimizing successfully for a long time. That is exactly Rasmussen's trajectory. The trap is not a hole you fall into by accident. It is where the gradient points.

The practical rule inverts how prioritization normally works.

Rank your operating constraints by whether approaching them produces feedback. Then treat the silent ones as the binding ones.

Cost announces itself. Latency announces itself. Error rate, capacity, headcount, all of them announce themselves. Coupling does not. Reversibility does not. Spare capacity does not. How far you can be pushed before you cannot get back does not.

Standard prioritization does the opposite: it attends to whatever is currently generating signal. But whatever is generating signal is, by construction, in the category of things that were never going to be crossed unnoticed. The constraints worth instrumenting are the ones that will not tell you when you reach them.

Now a completely separate result, from public health, that turns out to be the same shape.

In 1981 the epidemiologist Geoffrey Rose pointed out something that still has not been absorbed. The majority of cases of a disease come from the population at low or moderate risk, and only a minority from the high-risk group. The reason is pure arithmetic: "a large number of persons with moderately increased risk levels contribute more cases than a small number with extreme risk levels."

The high-risk group has higher risk per person. The low-risk group is so much larger that it produces more cases in total.

Translate that. The components most likely to cause your next serious incident are, in aggregate, the ones nobody put on the list. Not because triage was done badly. Because there are so many more of them.

Which means every "critical systems" list is a high-risk strategy, and Rose's arithmetic says a high-risk strategy addresses the minority of cases by construction, no matter how well it is executed.

Rose's prescription follows, and so does the reason nobody follows it. Interventions aimed at the whole population, "shifting the risk curve to the left", are more effective than interventions aimed at the high-risk group.

But here is the paradox in the name: those population-wide interventions have "a small benefit to any individual, with motivation correspondingly lower."

The more effective strategy is the one with no visible beneficiary. Which is exactly the non-event feedback problem again, one level up. It is no longer distorting what you measure. It is distorting what you choose.

Concretely: a lint rule applied across the entire codebase beats a hardening sprint on the three services everybody worries about. A safe default applied everywhere beats an exception carefully granted. And the second option wins every single time, because it has a named owner and a demonstrable difference, and the first has neither. Nobody gets to point at the incident that did not happen.

So the two halves of this section are one shape at two scales. Rasmussen and Vaughan explain why a system drifts toward its silent wall. Rose explains why attention drifts toward the visible minority. Both are gradient-following in the presence of an observability asymmetry, and both produce the same error: effort concentrates where the feedback is, not where the risk is.

Put together: a system optimizes toward its silent constraint while its operators optimize toward its loud minority, and neither party is doing anything unreasonable.

That is now the fourth time in this essay I have found this pattern, where every participant behaves correctly and the outcome is wrong with nothing malfunctioning anywhere. But it is the first version where the two correct behaviours belong to different actors aimed at different things. Which matters, because it means you cannot fix it by aligning their incentives. They are not in conflict. They are both following visibility.

One honest caveat. Rose's conclusion is contested, and the contest is worth stating precisely. One influential response asks whether this is the "prevention paradox or the inequality paradox", and later work compares the actual costs and benefits of population-wide versus targeted approaches rather than assuming the population approach wins. What survives untouched is the arithmetic: a large moderately-exposed group really does produce more cases than a small extreme one. What does not automatically follow is that the population strategy is therefore always the right choice, because costs, side effects and who bears them are all outside the arithmetic. The dispute is about what follows from the result, not about the result, and quietly importing the policy conclusion along with the sum is a mistake I want to name rather than repeat.

The test that keeps saying "fine" while the system gets worse

In short: Two sections ago I said the constraints worth watching are the ones that give no warning, and then gave no method for watching them. There is a method, and it is not measurement. It is excitation: you cannot learn about a mode of a system that nothing has ever pushed on. That reframes deliberate failure testing, and it also exposes a flaw in how it is done. Ecology distinguishes two kinds of disturbance experiment, and they measure the two different kinds of resilience from the previous section. Nearly all software failure testing runs only one of them, and a controlled study found that the kind everybody runs stayed completely flat while the system underneath it degraded badly.

Ecology distinguishes two experiments, and the distinction lines up exactly with the two resiliences.

A pulse is a short sharp disturbance: a storm, a fire, killing a server. A press is a sustained change that does not go away: nutrient pollution, a permanent temperature rise, a dependency that is now and forever 30 percent slower.

And the literature maps them onto the two resiliences explicitly, rather than leaving it to be inferred. Pulse perturbations "allow the system to go back to its pre-perturbation state", and "this bouncing dynamic is often referred as engineering resilience". Press perturbations are "sustained alteration forcing the system to accommodate this novel pressure, often by assuming a slightly different equilibrium", and that is "ecological resilience".

Chaos Monkey kills an instance and watches it come back. That is a pulse.

Which means the whole practice, which I have praised elsewhere in this essay as the one place the industry actually does this properly, measures engineering resilience only. And the previous section established that engineering resilience is the one that trades against the capacity to survive a large disturbance. The practice is excellent, and it is testing the half that matters less. Not because it is done badly, but because a pulse is structurally the wrong experiment for the other property.

So what would the missing experiment look like? A sustained degradation that does not resolve. A dependency permanently slower. Capacity permanently reduced. An elevated error rate held for weeks, long enough that the system has to find a new way to operate rather than simply waiting it out.

Nobody runs those, and the reason is not cowardice. A press experiment is indistinguishable, from the outside, from an incident you are refusing to fix. A pulse has a start, an end, a duration, an owner and a writeup. A press has none of those. It is the no-signature problem again, but now attacking the method rather than the measurement: the experiment that would reveal the property nothing reports is itself the experiment that reports nothing.

Now the study that makes this concrete, and it is the sharpest result I have found in a while.

Researchers ran repeated pulse disturbances on aquatic mesocosms while a press ran underneath: a steady trend of increasing nutrient pollution. Two findings, both counterintuitive.

First, the pollution "increased the absolute scale of the response to pulse perturbations but did not change the proportion of the response relative to its pre-event condition". Meanwhile the polluted systems showed levels "much higher" than the clean ones.

Read that carefully. The system degraded substantially. The headline number from the pulse test did not move. Because that number was a ratio to the current baseline, and the baseline was what had moved.

Translate to software: a team running failure injection through a long, gradual drift toward the boundary would have seen a flat, healthy series for the entire descent. Every test passed. Every pass was a data point saying things were fine. This is the confirming-evidence problem from the last section in its most concrete possible form.

And the general lesson is bigger than chaos testing. Any metric expressed as a response relative to current conditions throws away exactly the information that current conditions have shifted. Error rate compared to last week. Latency compared to the trailing baseline. Recovery time as a percentage of normal. All of them are constructed to be blind to drift, which is the one thing you most want them to catch.

Second finding, and this one is a warning nobody issues. The mesocosms' ability to recover was "significantly affected by the cumulative effect of sequential pulse perturbations but not by eutrophication itself". By the final round, "some mesocosms could not recover from pulse perturbations, irrespective of the trophic state". The authors conclude that "sequential pulse perturbations can be more important than the trophic state" for stability.

The repeated testing became a press. The disturbance regime turned into the dominant stressor, outweighing the actual pollution the study was designed to investigate.

Which means a continuous failure-injection programme is not a neutral observer. It is a sustained pressure the system adapts to, and one of the things it adapts by losing is recovery capacity.

The standard principles of the practice are: form a hypothesis, inject in production, and bound the blast radius. Blast radius bounds how big any single experiment can be. Nothing bounds the total. Blast radius is a constraint on the event; what is missing is a constraint on the integral.

And the fix has a checkable form: the interval between injections must exceed the system's recovery time, or you are measuring the residue of your last experiment. Which is inconvenient, because a recovery-derived schedule is irregular, and every programme I know of runs on a fixed cadence chosen for operational convenience.

Now the formal point, which answers the question I left open two sections ago.

Control theory has a precise result about what you can learn from watching a system. Parameters are identifiable only "for some rich enough input signals", and if the inputs are "persistently exciting", the parameters "can be uniquely determined". If they are not, they cannot, no matter how long you watch.

What you can learn about a system is bounded by the richness of what you put into it. A system driven only by its ordinary workload can only ever reveal what its ordinary workload happens to excite. Everything else is not merely unmeasured. It is unknowable from the system's history.

That falsifies a claim I hear constantly. "We have excellent observability" is usually meant as a statement about instrumentation: dashboards, traces, logs, retention. But identifiability is a property of the input, not of the instrumentation. No amount of telemetry identifies a mode that nothing has ever excited, and the standard response, collect more signals, is aimed at the wrong side of the problem.

Which gives the two ways a testing programme fails, and they are symmetric. Too little excitation and the system's behaviour under conditions it has not met is unknowable. Too much and the testing itself becomes a press that degrades the thing being tested. Both are the same quantity, the total injected disturbance, failing in opposite directions.

That is now the third time in this essay a good answer has turned out to be a band with two walls rather than a direction to push. And it is the first where the two walls come from entirely different fields: control theory sets the floor, ecology sets the ceiling.

So, concretely, four things a failure-testing programme should have and usually does not:

Press experiments, not only pulses. Sustained degradations, held long enough that the system has to find a new operating point.

Absolute numbers reported next to the normalized ones. A ratio to the current baseline cannot see the baseline move, which is exactly the failure above.

A cap on cumulative injection, with a gap between experiments longer than the system's recovery time.

And the one that has no name in the practice at all: report what you have excited. A programme should be able to say which modes of the system its disturbances have actually reached. That set, and not the size of the telemetry stack, is the honest bound on what it knows.

One flexible thing or several specialized ones, and why the textbook answer usually does not apply

In short: This is the oldest argument in software architecture, and it has a real criterion that almost nobody applies. Ecology answers it with the shape of the trade-off curve: if a middling design can do most of both jobs, build one flexible thing; if the middle does neither well, build specialists. That is measurable in an afternoon. But the rule comes with a condition nobody states, and when the condition fails the answer inverts completely: the generalist position stops being a compromise and becomes a splitting point the system actively leaves. And a recent measurement suggests the condition fails about four times out of five, in the tidiest experimental system anyone has built.

The classical answer is geometric and pleasingly simple.

Draw a curve showing how well a design can do at job A against how well it does at job B. Every real design has to trade one against the other, so you get a frontier.

If that frontier bulges outward (convex), a middle design gets most of A and most of B, and the generalist wins. If it bulges inward (concave), the middle gets a poor score at both, and you are better off with two specialists, each excellent at one thing.

Richard Levins formalized this in 1962, and the summary is exact: "if the set of possible phenotypes is convex, a generalist is favored, while either of the two specialists is predicted for concave phenotype sets."

The striking thing is that this is measurable and nobody measures it. Build four or five variants along the trade-off, benchmark them, and look at the shape of the frontier. That is an afternoon of work. Instead, the monolith-versus-services argument is conducted almost entirely on temperament, by people who have never plotted the curve they are arguing about.

There is a second variable, and it is one you already set.

Ecologists talk about environmental grain. In a fine-grained environment, an individual encounters many different conditions during its lifetime. In a coarse-grained environment, an individual encounters essentially one. And the result is that flexibility pays in fine-grained environments: "adaptive plasticity is more likely to evolve in fine-grained environments", where "the fittest type is one that is versatile".

Here is the part worth sitting with. Grain is not a property of the environment. It is the ratio between how fast conditions change and how long the unit lives. The same world is fine-grained for something long-lived and coarse-grained for something short-lived.

Which means instance lifetime is a lever on this question, and nobody treats it as one. Shorten the life of a deployed unit enough and a varying environment becomes, from that unit's point of view, a single fixed condition, and specialization becomes correct. Lengthen it and versatility wins. Same workload, same environment, same code. Different answer, purely from a number in a configuration file.

Now the condition that breaks the whole thing.

Levins's rule assumes that how well a design does is independent of how many other things are doing the same job. Biologists call that frequency independence. Drop that assumption and something dramatic happens.

The finding: "if selection is frequency dependent, then the population can become dimorphic through evolutionary branching at the trait value of the generalist. This contradicts Levins's predictions."

Same trade-off curve. Opposite outcome. Under frequency independence, the generalist is a stable best answer. Under frequency dependence, that exact same point is where the population splits in two. It is not a compromise. It is an unstable equilibrium, like a ball balanced on a ridge.

Translated: "one flexible service" is a stable design only when your components are not competing for the same pool. If they contend for the same traffic, the same budget, the same queue, or the same finite human attention, then the general-purpose middle is a splitting point, and holding it there requires continuous effort against a force pushing outward.

And now the number that decides which world you are in.

Researchers measured frequency dependence directly in the long-running E. coli evolution experiment. Result: about 80 percent of strain pairs showed frequency-dependent fitness effects, and about 75 percent of competitions showed negative frequency dependence specifically. Their summary: these effects are "the norm rather than the exception", contradicting the standard assumption that fitness effects are "constant, independent of genotype frequency".

Then the line that makes it decisive: this was "particularly surprising given that our study system was specifically designed to minimize ecological complexity".

A defined growth medium. A single clonal ancestor. The most deliberately simple ecological setup available. And the condition Levins's rule requires held in roughly one case in five.

So the clean textbook criterion applies to about the rarest configuration you can construct, and the branching outcome is what you should expect by default.

Which gives a usable procedure, finally. Two questions and a default.

First: is your trade-off convex or concave? Measure it.

Second: do your components compete for a shared resource? If yes, the generalist is a branching point regardless of what the curve looks like.

And the default, given the 80 percent number: assume they do.

Which has an implication I find genuinely clarifying. The long-observed drift of monoliths into services, and of general-purpose services into specialized ones, is usually explained as fashion, resume-driven development, or organizational politics. It is more likely a gradient. Systems whose parts contend for one pool have an outward force acting on the middle, and resisting that force is not conservatism. It is a continuous expenditure, and it should be budgeted as one.

A second finding falls out, and it explains something everyone has seen.

Negative frequency dependence "typically increases the average mutant fixation time by hundreds of generations". A genuinely better variant spreads far more slowly than its advantage suggests, because its advantage shrinks exactly as it becomes common.

Everyone in a large organization has watched a clearly superior internal approach take years to spread. The usual explanations are politics, inertia, and not-invented-here. Those may all be present, but they are not needed. The payoff structure alone produces that trajectory. And it stacks with an earlier finding in this essay: centralized structures also slow adoption while making it more likely. Two independent mechanisms, both routinely read as people being difficult.

And it reverses something I said earlier. In several sections I treated diversity as fragile: something you have to engineer and protect against a force that grinds everything toward sameness. But negative frequency dependence maintains variety without anyone maintaining it. Rare things do better because they are rare.

If that is present in 80 percent of measured cases, then the levelling force is the exception, not the rule. Which reframes the question. Not "how do we manufacture diversity", but "what are we doing that suppresses a restoring force that is already there?" And I have already named the suspects in earlier sections: assigning work randomly, updating everyone's context simultaneously, and applying one global approval threshold. Each of those flattens exactly the frequency-dependent feedback that would otherwise do the job by itself.

One note on how to hold the classical rule. It is not wrong. The paper is explicit that frequency-independent traits "do indeed follow the predictions". It is scoped, and the scope was never stated loudly enough to survive being quoted.

That is a different and more dangerous failure than a rule that is simply mistaken. A wrong rule eventually gets caught. A rule that is correct inside an unstated scope keeps working just often enough to stay believed. So the question to ask of any surviving rule is not only "is it true" but "what fraction of the cases I actually face fall inside its scope?"

Why a well-run, predictable organization cannot sustain alternatives

In short: The previous section found that variety maintains itself in most measured cases, which sounds reassuring, and I did not say when that holds. It has an exact condition: a thing must limit its own growth more than it limits its rivals'. There is also a hard ceiling that almost nobody counts: the number of alternatives that can stably coexist is bounded by the number of genuinely separate scarce resources, not by how many boxes are on the org chart. Ecology has a famous puzzle about that ceiling being violated everywhere, and the resolution is uncomfortable: the extra variety exists only because conditions keep changing. Which means that succeeding at making things stable and predictable is the same act as destroying your ability to support more than one approach.

The condition first, because it is precise and testable.

Two things coexist when each one limits itself more than it limits the other. The formal phrasing: stabilizing differences "lower the average effect of interspecific competition relative to intraspecific competition". Interspecific means "against the other guy"; intraspecific means "against your own kind".

Why that works: if growing hurts you more than it hurts your rival, then whenever you get common you slow yourself down, and whenever your rival gets rare it speeds up. Variety restores itself, automatically.

Now apply it honestly. Two internal teams pursuing different approaches. Does team A's growth constrain A more than it constrains B?

If they draw from the same hiring pool, the same budget, the same pool of senior attention, then no. A's growth barely constrains A at all and constrains B enormously. The ratio is inverted, and no stated commitment to supporting multiple approaches survives an inverted ratio. "We value diversity of approach" is a claim about competition coefficients, not about values, and it can be checked.

There is also a test that is genuinely operational, which is rare in this essay.

Coexistence requires mutual invasibility: each side must be able to grow from rare against the other sitting at its steady state.

Notice what that is not. It is not "which approach is better." The question is whether a thing can grow while it is the minority, against an established incumbent. Those come apart constantly: an approach can be clearly superior and still unable to grow from a small base, because everything around it is sized for the incumbent.

And the requirement runs both ways. Showing that a challenger can grow tells you nothing until you also check whether the incumbent could grow back if it became rare. If only one direction works, you do not have coexistence. You have a slow replacement in progress. Those two situations look identical for years, which is exactly why organizations think they are running a portfolio when they are running a transition.

Now the ceiling, and it is harsher than people expect.

The competitive exclusion principle: no more than L species can coexist by partitioning L resources. Only one competitor can be best at any single limiting resource, so each additional coexisting type needs its own distinct thing to be best at.

Translate that. The number of approaches your organization can stably support is bounded by the number of genuinely separate scarce resources it has, not by the number of teams, charters, or product lines you have drawn.

If every effort ultimately competes for the same engineering headcount, or the same executive attention, or the same budget line, then L equals one, and the bound is one, no matter what the org chart says. Renaming a group does not create a new limiting resource. Splitting a budget line that is still drawn from the same pool does not either.

And yet the real world violates this constantly, which is the interesting part.

In 1961 G. E. Hutchinson posed what he called the paradox of the plankton: dozens of phytoplankton species coexist in a single lake, despite there being only "a handful of limiting nutrients". By the exclusion principle, most of them should have been driven out. They were not.

His own resolution is the part that matters here. Plankton communities are "not in equilibrium at all" because of weather-driven fluctuations, and "nonequilibrium conditions would make it possible for different species to be favored by the environment at different times".

The bound is an equilibrium result. It describes where the system ends up if conditions hold still. Conditions never hold still, so the system never gets there, and in the meantime everybody survives because everybody gets their turn.

Which produces a conclusion I find genuinely uncomfortable. The extra variety is not free and it is not permanent. It is being purchased, continuously, by variability. Stop the variability and the payment stops, and the exclusion bound starts binding again.

So: a stable, predictable, well-controlled environment is precisely the one where you can only support one approach. An organization that succeeds at smoothing out its conditions has not created a calm space in which many things can flourish. It has, by that same success, removed the thing that was keeping more than one alive.

Ecology has a name for the mechanism that does the paying, and I owe an apology for not getting to it sooner. Many sections ago I audited my own notes, found this concept entirely absent, wrote it down as a gap, chose a different thread, and never came back. That is the second time in this project I have identified exactly the right tool and left it on the shelf.

It is called the storage effect, and it needs three things:

One: different variants must respond differently to conditions. A portfolio of similar bets gets nothing from a changing environment, because they all have good years and bad years together.

Two: good conditions have to coincide with heavy competition. If your best periods are also your least contested ones, the mechanism does not run.

Three, and this is the one that fails everywhere: a variant must be less vulnerable to competition when conditions are bad. The technical term is buffering.

And here is why that third condition breaks. Left alone, downturns actually favour the minority: "species with many individuals are highly decimated during unfavorable conditions, while small populations are proportionately less damaged and rapidly grow when the environment becomes favorable." The small thing has less to lose.

But the standard organizational response to a downturn is to cut the small, unproven, minority effort first and hardest. That is the exact inverse of the buffering condition, and it converts a mechanism that maintains variety into a mechanism that eliminates it.

The intervention that follows is counterintuitive and specific: protect the rare option more during the bad period, not less. Not because it deserves it, but because that is the only interval in which the coexistence mechanism does its work.

Notice also that this is the same requirement as an earlier section's finding about stored variation. There, a buffer kept the organism working while hidden variation accumulated. Here, buffering keeps a rare type alive through the stretch when it is losing. Two unrelated literatures, one requirement: something has to survive the period in which it is not winning.

So there are exactly two ways past the ceiling, and organizations attempt one of them almost exclusively.

You can add genuinely distinct limiting resources: separate budgets that are actually separate, separate success metrics, separate pools of people. That is the route everyone tries, usually by redrawing charters, and it only works when the underlying scarce thing really is distinct. Redrawing a chart does not make a shared budget into two budgets.

Or you can refuse to reach equilibrium and let variability do the work, provided the three conditions above hold. That route is cheaper and essentially unused.

And the sting from Hutchinson applies to both: if you have already succeeded at making your conditions stable, you have closed the second route and now have to pay full price for the first.

One caution about the evidence. A 2026 study testing five different versions of the storage effect in coral communities found "negligible effects of environmental fluctuations on the maintenance of coral biodiversity". And separate work finds that different methods of computing niche and fitness differences "offer contrasting explanations of species coexistence" for the same data.

What survives that is the three conditions as a checklist of things that must be true, which is how I have used them here. What does not survive is any confident claim about how much of the variety in a given system is due to this mechanism. That number depends on how you do the accounting, which is now the second time in this essay a tidy decomposition has turned out to be a property of the analyst rather than of the world.

Rock, paper, scissors, and why the cycle almost never actually turns

In short: The previous section left only two ways to sustain more than one approach, both expensive: find genuinely separate resources, or keep conditions unstable. There is a third, and it costs nothing extra. If A beats B, B beats C, and C beats A, all three survive with no separate resources and no changing conditions. I had missed it for a specific reason worth admitting: every earlier section assumed competition produces a ranking, and this is precisely the case where it does not. But the mechanism has a hard requirement and a deflating footnote. It only works when interaction is local, and it stops working entirely when things are well mixed. And the same literature that says intransitive competition is widespread also says the cycles it would produce are rare.

The setup is the childhood game, run by bacteria.

Three strains of E. coli. One produces a toxin called a colicin (call it C). It kills strains that are sensitive to the toxin (S). But S grows faster than the strains that carry resistance (R), because resistance is metabolically expensive. And R grows faster than C, because producing toxin is more expensive still.

C beats S. S beats R. R beats C. No strain is best. Every one of them loses to something.

And that is enough. All three survive indefinitely, with no separate resources and no changing conditions. Neither of the two expensive routes from the previous section is required.

I want to note why I missed this, because the reason is more interesting than the omission. Every earlier section of this essay treated competition as producing a ranking: niche differences, superior competitors, fitness sets, "which approach is better". All of those assume a well-ordered "better than". Intransitivity is precisely the case where no such ordering exists, so no amount of searching within the ranking frame was ever going to surface it. The blind spot was in the framing, not in the search.

Now the hard requirement, which is the important part.

Kerr and colleagues ran this system two ways. In a well-mixed flask, "colicin-producing strains cannot coexist with sensitive or resistant strains". The cycle collapses and diversity disappears. On a plate, where each cell only interacts with its immediate neighbours, all three persist indefinitely.

Same three strains. Same payoffs. Same intransitive network. The outcome flips from coexistence to collapse purely on whether interaction is local.

Local structure is not an improvement to this mechanism. It is a precondition for it. As one of the authors put it: "organisms exist in neighborhoods in nature, and the fact that they exist in neighborhoods has profound implications for the maintenance of biodiversity."

And that is now the third time in this essay I have arrived at the same conclusion from an unrelated direction. Random assignment of people to groups destroys the variance that group-level selection needs. The cooperation rule b/c > k becomes unsatisfiable when everyone interacts with everyone. And now cyclic dominance collapses in a well-mixed flask.

Three mechanisms, three separate fields, one operation that destroys all of them: mixing.

Which upgrades "neighbourhood" from a metaphor to a design parameter, and it is a different one from the ones I have already listed. Average degree is how many things you interact with. Locality is which ones, and whether they stay the same. A system can have very few connections per unit and still be effectively well mixed, if those connections are redrawn every round. Which is exactly what a scheduler does, and a rotation policy, and randomized assignment. Sparse at any instant, thoroughly mixed over time.

Now the deflation, and it comes from the same literature.

Intransitive competition is reported as "widespread in plant communities", where it "maintains their species richness", and "common across five major taxonomic groups". That sounds like a mechanism operating everywhere.

Then, from work on the same question: "cyclic dynamics are rare because of two phenomena that pervade ecological communities: differences in species' performance and the dominance of self-limiting effects".

Both statements are true. Intransitivity is common in structure and rare in dynamics. The network is there; the cycle does not turn. Its expression is "frequently masked by competitive hierarchy and species performance differences".

That distinction is one I have not needed until now, and it generalizes. A mechanism can be genuinely present, correctly identified, and well supported by evidence at the level of structure, while contributing nothing whatsoever to what the system actually does, because ordinary forces swamp it.

Which means installing a mechanism is not one check but two. Does it exist? And is it being swamped? I have been doing the first check throughout this essay and never the second.

The two swamping forces turn out to be things I already had. "The dominance of self-limiting effects" is exactly the condition from the previous section: a thing limiting its own growth more than it limits others'.

So self-limitation and intransitivity are alternatives, not complements. Where self-limitation is strong, the cycle neither runs nor is needed. The stronger mechanism hides the weaker one, which means that observing a healthy amount of variety tells you nothing at all about which mechanism is producing it.

And the other force tells you which regime you are in: "intransitive networks are more common amongst species similar in dominance, but transitive competition prevails between species with contrasting dominance levels."

Which finally gives a way to choose between the three routes. Measure how closely matched your alternatives actually are.

Closely matched? Intransitivity is available and it is the cheapest option you have. Arrange things so that no option beats all the others, and make sure interactions are local.

Clearly unequal? The cycle will not run at all. You are left with self-limitation and the two expensive routes.

And the corollary is worth stating plainly, because it reverses the usual instinct. People generally assume that having a clear front-runner makes managing a portfolio of approaches easier. It does the opposite. A strong competitive hierarchy removes the cheapest diversity mechanism outright, leaving only the ones that cost real resources or real instability. Declaring a winner does not simplify the problem. It makes it more expensive.

One last thing, and it is the bleakest sentence in this section.

Intransitivity "can dampen under fertile conditions". When resources are plentiful, competition weakens, losing stops mattering, and the network stops generating diversity. A well-resourced period does not protect your alternatives. It removes the force that was protecting them.

Put that next to the previous section's finding. Diversity beyond the resource count is purchased by variability, and stops when conditions stabilize. Diversity from cyclic competition is purchased by scarcity, and stops when resources become plentiful.

Both of the mechanisms that maintain variety for free are switched off by success. Stability kills one. Abundance kills the other. And organizations pursue both of those things deliberately and simultaneously, as obvious goods.

What survives prosperity is only the expensive route: genuinely separate resources, separately defended. Which is, of course, the thing prosperity is usually spent on avoiding the need for.

How a uniform system spontaneously divides itself up, and the requirement everyone leaves out

In short: The previous section concluded that mixing destroys the mechanisms that maintain variety. That is true of the three cases I looked at and wrong as a general claim, and the correction is more useful than the original. There is a famous mechanism where structure appears out of a completely uniform starting state, with no coordinator, precisely because two things spread at different speeds. So the real rule is: uniform spreading rates destroy structure, differential rates create it. But the mechanism has a requirement that is usually impossible to meet, which I had been quietly ignoring for most of this essay. And the thing that rescues it is noise.

Start with the mechanism, because it is genuinely remarkable.

Take a completely uniform sheet of identical cells. No leader, no map, no external gradient telling anyone where they are. Alan Turing showed in 1952 that under the right conditions such a sheet will spontaneously develop stable spots or stripes. Structure out of sameness, with nothing directing it.

The recipe has two ingredients. Something that activates itself locally (more of it produces more of it nearby), and something that inhibits it at a distance.

And here is the condition, which is the whole thing: the inhibitor has to spread much faster than the activator. Formally, "the diffusion coefficient of the activator must be small and the diffusion rate of the inhibitor must be large", so that inhibition "confines the concentration of the activator locally".

Picture it. A patch starts to grow. It also emits an inhibitor, and because the inhibitor is fast, it races ahead and shuts down growth in a ring around the patch. So the patch grows to a stable size and no other patch can form too close to it. Do that everywhere at once and you get spots at regular spacing, from a completely uniform start.

Now, an admission. I proposed this mechanism early in this research as the answer to how decentralized instances could figure out their own roles without any central assignment. I then built two further architectural proposals on top of it. At no point did I write down that it requires two signals travelling at sharply different speeds.

That is exactly the mistake I identified one section ago, where I noted that checking a mechanism exists is a different check from confirming it operates. I made that observation last section. I had already committed the error about sixty sections earlier.

And it corrects the previous section, which is the more interesting part.

Last section I concluded that mixing destroys structure, having arrived at it three times from three unrelated directions. Turing is the same coin's other face. Pattern here arises because two things mix at different rates. A system where everything travels at one speed is structureless; a system where inhibition outruns activation makes structure by itself.

So the corrected statement is: uniform mixing rates destroy structure, differential mixing rates create it. The previous version was right about its three cases and wrong as a general principle, and the general principle is more useful, because it names something to do rather than only something to avoid.

Now the problem, and it is severe.

The required speed difference is large. And in biology, "the requirements for realizing robust pattern formation according to Turing's mechanism are prohibitively difficult to realize in nature", because the relevant molecules "have similar sizes and, consequently, comparable diffusivities". Same size, same speed, no pattern.

The software version of that sentence is exact, and uncomfortable. Two signals in one system almost always travel over the same substrate at the same speed. The same message bus. The same network. The same weekly meeting. So the ratio sits near one, and the mechanism does not run.

Which means my original recommendation carried a hidden requirement that the standard architecture actively violates. A shared transport layer is chosen precisely so that everything propagates uniformly. That is not an incomplete recommendation; it is one in tension with the thing it would be built on.

And then the rescue, which reframes something I have been treating as an obstacle throughout.

Stochastic versions of the theory "predict the existence of patterns over a wide range of parameters, in particular with no severe requirement on the ratio of activator-inhibitor diffusion coefficients", suggesting that "noise in biological systems may relax these stringent requirements". And this is not just theory: stochastic Turing patterns have been demonstrated in an engineered synthetic bacterial population.

Noise is not being tolerated here. It is doing the work. The clean deterministic mechanism needs an extreme parameter ratio. The noisy one does not. Randomness is what makes the mechanism achievable at realistic settings.

That is now the fourth time in this essay that variability has turned out to be the active ingredient rather than the nuisance: fluctuating conditions are what let more species coexist than resources allow; buffered variability is what keeps rare options alive; and you cannot learn a system's behaviour without exciting it. But this is the first case where noise substitutes for a structural parameter rather than supplementing one. A system engineered for determinism has thrown away the cheap route and now has to buy the expensive one.

One more result, and it comes with proofs attached.

Recent work combining large simulations "with formal mathematical proofs" finds that patterning is "strongly constrained by the extracellular interactions in the system but is relatively insensitive to the intracellular dynamics assumed".

In plain terms: what a system can organize itself into is set by what happens between the units, not by what happens inside them.

I have now arrived at that same shape five separate times in this essay, from five unrelated directions. This is the first version that arrives with a proof. And the sharpening matters: it is not merely that between-unit structure matters more. It is that changing the internal logic barely moves the outcome at all.

The same paper contains a warning I want to generalize. Realistic models "display qualitatively distinct behaviours compared to simple Turing models, rather than resulting in minor, quantitative differences".

The usual defence of a simplified model is that it gets the direction right and the magnitude wrong. That defence fails here. The simple version does not overshoot or undershoot. It predicts a different kind of thing. So when borrowing a mechanism from a toy model, the question is not "how far off will the number be" but "is this even the same phenomenon".

So here is the corrected recipe, which is what I should have written the first time.

You need local self-reinforcement. You need an inhibiting signal that travels faster and further than the reinforcing one. You need either a genuinely large speed difference or enough noise to stand in for it. And you should spend your design attention on the interactions between units, because the logic inside them turns out to matter surprisingly little.

The second requirement is the one no ordinary architecture provides, because one shared transport gives every message the same speed. The concrete move is to run inhibition on a deliberately faster channel than activation: a cheap global broadcast saying "someone already has this", against a slower, local channel saying "I am doing this".

That asymmetry is the mechanism. The rules are the part everyone copies, and the difference in speed is the part that actually makes it work.

What happens to a system's structure when it doubles in size

In short: The previous section ended with a recipe for how a system can divide itself into specialized parts without any coordinator. It says nothing about what happens when the system grows, and that turns out to matter enormously, because the default mechanism does not preserve proportions. It gives you more parts of the same size, not the same parts made bigger. Biology has three different answers to growth, achieved by three different mechanisms, and you get whichever one your architecture happens to implement unless you pick. There is also a measurement result buried in this literature that I think is the most immediately useful thing in several sections: when output per person falls as an organization grows, the usual conclusion is wrong, and there is a specific way to check.

First, the gap in the previous section.

The pattern-forming mechanism I described has a characteristic size, set by how fast its two signals spread and react. That size does not depend on how big the system is.

So when the system doubles, you do not get the same arrangement at twice the scale. You get twice as many parts, each the same size as before. The literature is blunt about this: "most models of patterning by morphogen gradients do not support scaling".

Meanwhile actual organisms maintain their proportions "with remarkable precision" across enormous size ranges. A large person is not a small person with twice as many organs.

That is now the second requirement, two sections running, that the famous mechanism turns out to carry and that nobody writes down when they borrow it. Which makes me think the problem is not this particular mechanism. It is the habit of importing a named mechanism without importing its conditions.

How organisms actually preserve proportion is a separate mechanism bolted on top.

The trick, worked out by Ben-Zvi and Barkai, is elegant. The patterning signal represses the production of a second molecule, an "expander". The expander diffuses back toward the source and increases the range of the patterning signal.

Follow the loop. Bigger system means the signal is spread thinner, means less repression of the expander, means more expander, means the signal spreads further. The pattern automatically widens to match the system.

And the authors identify what kind of controller this is: it "is analogous to an integral-feedback controller". That detail matters more than it sounds. Integral control is the kind that eliminates steady-state error. A merely proportional loop would push in the right direction and still leave the proportions permanently off, by an amount that grows with size.

So there are three possible answers to "what happens when it grows", and biology uses all three.

More parts, same size. The default. Free, requires nothing, and almost certainly not what you want.

Same proportions, larger scale. Requires the extra integral loop above.

Deliberately shifted proportions. This is allometry, and it comes with numbers. Metabolic rate scales as mass to the three-quarters power, which means "a cat having a mass 100 times that of a mouse will consume only about 32 times the energy". Bigger organisms are not scaled-up small ones. They are systematically different in their proportions, and their rate per unit of mass falls as they get larger.

These are not three theories competing to explain one phenomenon. They are three mechanisms producing three different outcomes. And a system gets whichever one its architecture happens to implement, unless somebody chooses. The recipe I gave last section silently picks the first, which is the one nobody would choose on purpose for anything expected to grow.

Now the result I think is the most useful thing here.

That falling rate per unit of mass has an obvious interpretation, and the literature notes it is "commonly interpreted as reflecting a size-dependent decrease of cellular metabolic rates". Bigger animal, slower cells.

A 2019 study in planarians tested it and found the opposite. Kleiber's law "does not emerge from the size-dependent decrease in cellular metabolic rate, but from a size-dependent increase in mass per cell".

The cells did not get slower. Each cell got heavier.

The aggregate number, energy per unit mass, falls in both cases. It cannot distinguish them. And the aggregate number is the only one anybody normally computes.

Translate that, because the translation is exact. When output per person falls as an organization grows, the standard reading is that people have become less productive. Meetings, bureaucracy, dilution of talent.

The alternative hypothesis, which the planarian result makes concrete, is that each unit is now carrying more mass: more context to hold, more dependencies to track, more surface where coordination happens. The people are working exactly as hard and as well. There is simply more attached to each of them.

Those two situations call for completely different interventions, and the metric everyone tracks cannot tell them apart. The diagnostic is to stop measuring rate per unit and start measuring mass per unit. I have never seen anyone do it.

And this explains something that had been bothering me. Several sections back I found, repeatedly, that what happens between the units matters far more than what happens inside them, and I noted that people persistently intervene at the wrong level.

Now I can say why the mistake is stable rather than merely common. The accumulated mass is coordination surface, which is a between-unit quantity. But it shows up as a per-unit metric. So the number that moves is per-person, the intervention aimed at it is per-person, and an earlier section's result guarantees that such interventions get undone. The wrong level is chosen because the symptom appears at that level, even though the cause does not live there.

One more thing, about the famous exponent itself.

There is a long-running argument about whether the right number is 3/4 or 2/3. The resolution turns out to be interesting: smaller animals fit 2/3 better, larger ones fit 3/4 better, and both rules "have in fact one common origin, governed by animals' nutrient supply networks".

The exponent is not a constant of biology. It is a consequence of the distribution network. Change how things get delivered and the exponent changes.

Which makes it a design output rather than a law to be endured, and it puts it firmly in the between-unit category again. An organization unhappy with how its returns scale has a distribution problem, not a talent problem.

So: decide, before you grow, which of the three you want. More parts is free and is what you get by default. Preserved proportions needs an explicit loop that measures total size and widens the structure, and that loop has to accumulate rather than merely react. Planned drift means choosing your exponent, which means choosing your distribution network.

And this joins a list I have been building throughout this essay of things that have to be decided in advance. The proportion-preserving loop works by tracking size continuously. Bolt it on to a system that has already grown and you do not get rescaling. You find the structure is already wrong, and it has to be re-laid rather than resized, which is a far larger operation.

A note on the evidence. The exponent argument is unsettled, and the mass-per-cell mechanism is one result in one organism. What survives regardless is that the rate per unit falls with size, which both sides of the exponent debate agree on.

But here is something worth separating out. The diagnostic is worth adopting even if the planarian mechanism turns out not to generalize at all, because it is not a claim about biology. It is a claim about how to read a metric: an aggregate ratio cannot distinguish "the parts got worse" from "the parts got heavier", so measure the numerator and denominator separately. That question is worth asking whether or not the finding that prompted it holds up, which is the first time in this project a contested result has handed me a method that survives its own refutation.

When a scaling law can exist at all, and why yours probably does not

In short: The previous section concluded that how a system's returns scale is a consequence of its distribution network, and then failed to say what a distribution network actually consists of. The standard theory has three assumptions, and one of them quietly does all the work: the smallest working units are the same size regardless of how big the system gets. A capillary in a whale is the same size as a capillary in a mouse. That single choice is what produces diminishing returns. And there is a sharper result underneath: a clean scaling law exists if and only if your cost function has a particular mathematical property, which real systems essentially never have. Which means the exponent you measured does not predict the exponent at twice your size.

The three assumptions.

West, Brown and Enquist's model of biological scaling rests on exactly three things: a space-filling branching network that reaches every part of the body; body-size invariant terminal units, meaning capillaries or leaf petioles that are the same size in a large organism as in a small one; and minimization of the energy and time needed to distribute resources.

The second one is where the diminishing returns come from, and it is worth staring at.

A capillary is the same size in a mouse and a whale. The whale is not built from bigger capillaries. It is built from vastly more of them, which means many more levels of branching to reach them all. And the cost of the branching network grows faster than the number of endpoints it serves. That is the entire origin of the sublinear exponent.

And it is a choice, not a law of nature. Which translates unusually cleanly.

If your smallest working unit is fixed in size, you have made the same commitment. A team of seven. One reviewer per change. One on-call rotation. One code owner whose approval is required. Each of those fixes a terminal unit, and each therefore commits the whole system to sublinear returns, by that decision alone.

Nobody chooses a team size for scaling reasons. They choose it because seven people fit in a meeting and one reviewer is accountable. Which is exactly why the resulting diminishing returns get experienced as a mystery, or blamed on culture, rather than recognized as a consequence of a decision that was made for other reasons entirely.

Now the branching rule itself, which is beautiful and elementary.

Murray's law says that when a vessel splits, the cube of the parent's radius equals the sum of the cubes of the children's radii. It falls out of minimizing two costs that point in opposite directions: the cost of maintaining the fluid in a vessel, which rises as the vessel gets wider, and the cost of pushing fluid through it, which falls as the vessel gets wider.

Widen the pipe and pumping gets cheap while maintenance gets expensive. Narrow it and the reverse. The optimum is where they cross.

That is the fourth time in this essay a good answer has turned out to be a band with a wall on each side rather than a direction to push. But this is the first one that comes with an actual formula instead of just a direction, and the reason why is instructive. I will come back to it.

Now the result that I think retires a whole genre of argument.

A 2026 analysis asks why Murray's law gives exactly 3, and the answer is unsettling: "Murray's universality is an artifact of his cost function's homogeneity, not a property of biological networks". And then the theorem: "by Cauchy's functional equation, homogeneity is both necessary and sufficient for a universal branching exponent to exist."

That is an if-and-only-if. Not a rule of thumb.

Homogeneous, roughly, means all the cost terms scale the same way with size. Murray had two costs and they happened to. Add a third that does not, and the whole thing changes character.

The authors do exactly that: they add the metabolic cost of maintaining the vessel wall, which scales differently from the other two. The result is that the exponent stops being a constant. It becomes scale-dependent, landing between about 2.90 and 2.94 rather than exactly 3, against real arteries measured at roughly 2.7 to 2.9.

And the general form of this is strong. A system with a single dominant cost has a clean power law. Add a second cost that scales differently and the "law" degrades into a local slope that changes as the system grows. Every real system has the second cost.

This explains something that has embarrassed the field for decades. Measured scaling exponents rarely match theoretical ones, and the standard response is to argue about which theory is right.

The theorem says the mismatch is not a failure of measurement or of theory. Under inhomogeneous costs, there is no universal exponent to match. The theoretical value is what you get in the clean limit. The measured value is the slope of the curve at whatever size you happened to sample.

Which produces a prediction that is uncomfortable and easy to check: the exponent you measured at your current size does not predict the exponent at twice your size.

Extrapolating a fitted scaling curve is only valid if the cost structure is homogeneous. So every capacity plan built by extending a measured scaling line carries a hidden assumption that nobody states and that fails as soon as any second cost enters with a different power.

And there is finally a test you can actually run.

Fit your scaling exponent separately on two different size ranges. If the exponent moves, your cost function is inhomogeneous, no single exponent exists, and extrapolation is invalid.

That requires no new instrumentation. It uses data you already have, split differently. It is the first genuinely runnable check I have produced out of any of this scaling material, and it generalizes the previous section's diagnostic: both are cases of a summary statistic failing to reveal its own composition. An average hides whether the numerator or denominator moved. A fitted exponent hides whether it is a law or a local slope.

Now, back to why Murray's law has a formula and my other three bands do not.

Earlier in this essay I found three quantities that need to sit between two walls: how much contact an isolated group should have, how fast to drop a partner, and how much deliberate disturbance to inject. In each case I noted that the literature gives a direction but no number, and I filed that as missing data.

It is not missing data. Murray's law has a closed form because Murray wrote both costs down as functions of the thing being chosen and minimized the sum. In none of my three cases did anyone, including me, ever do that.

The move is available in all three. Name the two opposing costs. Write each as a function of the knob. Minimize. That is concrete, unblocked work that I have walked past for fifteen sections while repeatedly complaining that the numbers were unavailable.

One last practical point. The three assumptions are separable, which turns a contested theory into a usable checklist. Break the first and parts of your system go unserved. Break the second, by letting your smallest units grow as the system grows, and the diminishing returns weaken. Break the third and your exponent becomes whatever your actual objective produces.

So "we scale sublinearly" is not a fate. It is a report that all three assumptions are currently holding. And the second is the cheapest to relax, the least often examined, and the only one that changes the exponent without changing the shape of the organization.

A note on the evidence. The West-Brown-Enquist model has been contested since 2004, with a published exchange running from "is this correct and relevant?" through "yes it is" to "the same questions remain". That dispute is about whether the assumptions actually hold in real organisms.

What survives regardless is the checklist, and the homogeneity theorem, which is a mathematical statement about cost functions and not a biological claim at all. That is the second section running where the durable thing I take away is a method extracted from a contested finding rather than the finding itself, which I am now going to treat as a deliberate way to read this literature rather than a lucky accident.

Doing the algebra I kept saying was impossible

In short: For fifteen sections I have been finding quantities that need to sit between two walls, noting that the research gives a direction but never a number, and filing that as a gap in the literature. Last section I realized why: nobody, including me, had ever written the two costs down as functions of the thing being chosen. So this section does the arithmetic instead of reading more papers. It produces an actual formula. But the formula is not the interesting part. The interesting part is that the answer turns out to depend on a square root, which means being wrong by a factor of a hundred barely moves it, which is why nobody ever needed to measure anything, which means four of my own complaints were the wrong complaint.

The setup. Several sections ago I found that an isolated group needs a specific rate of contact with its parent organization. Too little and its work cannot be brought back. Too much and the parent's standards destroy anything half-finished. Population biology gives a band of roughly one to ten migrants per generation, and I noted, honestly, that nobody supplies a principled number.

Both walls turn out to have standard formulas. I had cited one of them already and never used it as a function.

Wall one, divergence. How far two groups drift apart given a contact rate has a classic form from Sewall Wright: F_ST ≈ 1/(1 + 4Nm), where Nm is the number of migrants per generation. Call that M. So the cost of unreintegrable work goes as 1/(1+4M) times whatever that cost is worth. It falls as contact rises.

Wall two, swamping. I quoted this one myself, sections ago: swamping happens "when gene flow is stronger than selection", with the controlling quantity being the ratio of migration to selection strength. At fixed group size and selection strength that is linear in M. So this cost rises as contact rises.

Add them and minimize. The result is:

M* = ( 2√K − 1 ) / 4, where K = (cost of unreintegrable work × group size × selection strength) / (cost of a swamped effort).

The first thing that falls out is not the number. It is that four separate quantities collapse into one. How much you lose when work cannot be reintegrated, how much you lose when an effort gets swamped, how big the group is, and how hard the parent selects, all enter only through that single combination. So "how much contact should this team have" is not four questions. It is one question, and it is one nobody was asking, because nobody had done the algebra to find out that it was the question.

Now check it against reality. Working backwards: the optimum equals 1 migrant per generation when K is 6.25; equals 3 when K is 42.25; equals 10 when K is 420.

So the entire famous one-to-ten band corresponds to K spanning about 6 to 420. That is a factor of 67, or 1.83 orders of magnitude.

And here is the actual finding. Because M* grows as the square root of K, being wrong about K by a factor of one hundred moves the answer from 1 to about 12. Still essentially inside the band.

Sit with that. I have flagged "no source gives a number" four separate times in this essay and treated it each time as a hole in the research literature. It is not a hole. It is a consequence of the shape of the problem. The answer is so insensitive to the inputs that nobody ever needed to measure them. "One migrant per generation" has survived as advice for ninety years not because it was carefully calibrated, but because square-root dependence makes calibration nearly irrelevant.

Which means my complaint was the wrong complaint, and the general version is worth stating: when a quantity sits between two opposing costs, check the exponent before demanding data. A missing number means go and measure. An insensitive number means stop asking and pick something in the range. Those call for opposite responses, and I had been making the first response to the second situation, repeatedly.

But one input does matter, and it is a specific one.

K is proportional to s, the parent's selection strength, so the optimum is proportional to √s. Double how hard the organization selects, and the correct contact rate goes up by about 41 percent.

I had already noticed, in an earlier section, that selection strength is the quantity that moves without anyone deciding to move it: tighten your quality gates and you have silently changed the threshold for every isolated effort in the organization at once. The algebra now prices that. A team that tightens its review bar has changed the right answer for every skunkworks in the company, by a calculable amount, and nobody adjusts contact policy when tightening gates.

That is a coupling between two decisions made by different people, for unrelated reasons, on different timescales. It was invisible until the costs were written down.

Now let me be careful about what this is.

The divergence formula is the weak link. It assumes an infinite number of equally sized populations and no mutation, and there is a well-known 1999 paper by Whitlock and McCauley titled, bluntly, "F_ST ≠ 1/(4Nm+1)", showing it is "rare for F_ST to be translated into an accurate estimate of Nm".

That critique is real, and it is about the inverse problem: inferring migration from an observed differentiation. My derivation only uses the forward direction, that divergence falls roughly hyperbolically as contact rises. And because of the square root, what matters is the shape, not the calibration. Any cost that falls with contact and any cost that rises linearly with it will produce an interior optimum with the same insensitivity.

What would break it is a divergence cost that falls faster than hyperbolically. That is a checkable claim rather than a hedge, and it is the thing to check.

The other two bands, and where they stand now.

For how fast to drop a partner: the falling cost is time wasted with a defector; the rising cost is relationships ended before a good partner could prove themselves. Both need the same missing piece, the probability of correctly classifying someone after k interactions, which is a signal-detection quantity I already discussed several sections ago.

For how much deliberate disturbance to inject: the falling cost is the modes you never learn about; the rising cost is cumulative damage to recovery capacity. The second already has a measured shape from the mesocosm study. The first does not.

So: one band solved, one with both pieces within reach, one blocked on a single missing function. That is a very different situation from "the literature gives no numbers", which is what I had been writing.

A last observation, and it is about me rather than about biology.

Sixty-five sections of reading produced four separate notes saying a number was unavailable. One section of arithmetic produced the number, the reason nobody needed it, and the one input actually worth measuring.

The bottleneck was never access to research. And this is the fourth time in this project I have found the same shape: naming exactly the right tool and never picking it up; auditing a gap, writing it down, and never returning to it; using a mechanism without checking its conditions; and now complaining about a missing number I could have derived.

All four are cases where everything required was already present and the operation simply was not performed. So the rule I am adding is: when a note records a missing magnitude for the second time, stop searching and try to derive it.

How long to give someone before walking away, and why the answer is almost always "once"

In short: Last section I solved one of my three unsolved quantities by writing down its two costs and doing the algebra. This section does the second one: how many bad interactions should you tolerate before leaving a partner? The missing piece turned out to be a statistics problem solved by Abraham Wald in 1945, with a proof of optimality attached three years later. Doing the arithmetic produces a formula, and two things fall out. The insensitivity here is a different kind from last section's, which means "the answer doesn't depend much on the inputs" is actually two separate phenomena. And it explains something I had recorded earlier as a genuine surprise: why the crude rule "quit after the first defection" beats every sophisticated strategy.

The missing function had a name and a date.

Last section I noted that solving the exit problem required knowing the probability of correctly classifying a partner after k interactions. That is exactly the sequential probability ratio test, and it comes with an unusually strong guarantee: it is "optimal in terms of minimal expected sample size for fixed error probabilities", and its error rate is "an upper bound of the error rate of any other sequential detector". Nothing does better.

Two facts from it matter. The expected number of observations "grows inversely with the Kullback-Leibler divergence" between the two hypotheses, which is just a formal way of saying how much each interaction actually tells you. Call that D. And the threshold you have to cross is logarithmic in the error rate you will tolerate.

Inverting: after k interactions, your chance of having misjudged someone is roughly e^(−Dk). Errors fall exponentially with patience, at a rate set by how informative each round is.

Now the two costs.

Staying too long with someone who is not cooperating costs you L per round. Tolerate k rounds and you pay L·k. This rises with patience.

Leaving too early means discarding someone who would have been a good partner. That costs V, the value of the lost relationship plus the cost of finding a replacement, and it happens with probability e^(−Dk). So the expected cost is V·e^(−Dk). This falls with patience.

Add them, differentiate, set to zero:

k* = (1/D) · ln( V·D / L )

With D = 0.5, a partnership worth 10 bad rounds gives k* = 3.2 interactions. Worth 100 rounds gives 7.8. Worth 1000 gives 12.4.

Now the first interesting thing, and it corrects something I said last section.

Last section I found that the contact-rate answer depends on the square root of its inputs, so being wrong by a factor of a hundred moved the answer by a factor of about twelve. I concluded that the optimum was insensitive and that this explained why nobody ever needed to measure anything.

Here the dependence is on a logarithm, and that behaves differently. A hundredfold error in V/L does not multiply the answer. It adds a constant: exactly ln(100)/D, which is about 9 extra interactions at D = 0.5 and about 5 at D = 1.

So "insensitive" is two different things. A square root shrinks your error proportionally: wrong by 100×, off by 12×. A logarithm converts a multiplicative error into a fixed offset: wrong by 100×, off by nine interactions, whether the right answer was 3 or 300.

The second is the stronger protection, and it is worth knowing which one you have. My rule from last section needs amending: check not just the exponent, but whether the answer depends on the ratio or on the logarithm of the ratio.

Now the result I actually care about.

Several sections ago I described a strategy called Walk Away: cooperate, and quit the first time someone defects. No memory, no scorekeeping, no retaliation. And I reported, as an empirical curiosity, that it beats Tit-for-Tat and everything else in simulation.

The formula says when k* = 1, which is exactly Walk Away. Setting k* = 1 and solving: V/L = e^D / D.

Run that across a wide range of how informative interactions are:

At D = 0.25, you need V/L = 5.14. At D = 0.5, 3.30. At D = 1.0, 2.72. At D = 2.0, 3.69. The minimum is exactly e ≈ 2.718.

So quitting on the very first defection is optimal whenever a good partnership is worth roughly three to five bad rounds. That is a low bar. Almost any relationship worth having clears it.

But the more important thing is the second column. That threshold barely moves across an eightfold range of D. It goes 5.1, 3.3, 2.7, 3.7. Detection can be easy or hard, and the answer to "should I quit immediately" stays essentially the same.

Walk Away does not win tournaments because it is well tuned. It wins because the region where it is correct is enormous, and its boundary hardly depends on the details of the problem. That is what a robust strategy looks like from the inside, and it is why the crude rule beats the clever ones.

One more thing falls out, and it is the practical lever.

Look at where D appears. It sets how fast errors decay, and it divides the logarithm. It is the only one of the three inputs that shows up twice.

Which produces an asymmetry: tolerating half as much error costs you a constant number of extra rounds. But halving how much each round tells you doubles everything.

So making each interaction more diagnostic beats both being more patient and being more decisive. And nobody frames the problem that way. The debate is always about how many chances to give. The higher-leverage question is how much one round actually tells you, and that is a property you can design into the interaction rather than a policy you argue about.

A regime worth naming. If V·D < L, the formula gives a negative answer, which means there is no interior optimum at all. The condition reads: the value of a partnership, times the information you get per round, is less than the cost of a single bad round.

Below that line the right move is not "leave quickly". It is do not engage.

And notice which term drags you there. A low D, meaning interactions that reveal almost nothing, pushes you into abstention even when partnerships are extremely valuable. A market where you cannot tell anything about a counterparty from dealing with them is one where the optimal policy is to stay out, no matter how good a match would be.

Which finally splits something I had been treating as one axis. Earlier I showed, via cleaner fish, that the quality of service you receive depends on your ability to leave. That is about whether leaving is available.

This section adds whether leaving is worth doing, which requires V·D > L. Those are different conditions, and you can have either without the other. Someone with plenty of alternatives but no way to tell good from bad simply abstains. Someone who can tell perfectly but has nowhere else to go gets exploited. Two by two, not one line.

And the third quantity is now within reach too. The remaining unsolved band, how much deliberate disturbance to inject, needs a falling cost and a rising cost. The rising one already has a measured shape. The falling one is a coverage question: how much a newly identified failure mode is worth, given how many you have already found. That is naturally a saturating curve, since early probing finds common modes and later probing reaches rare ones.

So it is not blocked on data either. It is blocked on choosing that curve and writing it down as an assumption, which is precisely what these two sections did for the other two.

The last of the three, closed by counting the things you have seen exactly once

In short: Two sections ago I said the third unsolved quantity, how much deliberate failure-testing to do, was blocked on choosing a mathematical curve and writing it down as an assumption. It is not. There is a hundred-year-old estimator that measures the thing directly from data you already have: count the failure modes you have observed exactly once, divide by the total number of experiments, and that fraction is both your remaining blind-spot risk and the probability that the next experiment finds something new. Which gives a stopping rule any team can evaluate this afternoon. It also reveals that my three problems were never one problem, and that I should have checked whether the answer was measurable before I started modelling.

The trick is due to Alan Turing and I. J. Good, at Bletchley Park.

Suppose you have sampled something repeatedly and want to know how much you have not seen. That sounds impossible, since by definition you have no observations of it.

Good and Turing's answer: look at how many things you have seen exactly once. The estimated probability that the next observation will be something entirely new is simply f₁/n, the singleton count divided by the sample size. If lots of things are still showing up for the first time, there is a lot left. If almost nothing is, you are nearly done.

The formal statement: "the best estimate for the total probability of unseen events is the fraction of the total sample consisting of singletons". Coverage is the complement, C = 1 − f₁/n.

And that single quantity does both jobs. It is the residual risk from modes you have never exercised, and it is the marginal return on doing one more experiment. Which means I do not need to assume a curve. The curve reports itself.

So the stopping rule falls out immediately.

Let W be what it costs you to be surprised in production by a failure mode you never tested, and g the cost of running one more injection experiment. Continue while W · f₁/n > g. That is:

Stop when f₁/n ≤ g/W.

Concretely. You have run 200 chaos experiments and found 20 failure modes that showed up exactly once. Then f₁/n = 0.100, and continuing is only justified if a single unexercised mode costs you more than ten experiments. If you have 8 singletons out of 200, the threshold is 25 experiments. If you have 2, it is 100.

No new instrumentation. No fitted curve. No calibration. Both numbers are already in any log that records what was found. This is the second genuinely runnable check in this essay, after the one about fitting a scaling exponent on two size ranges separately.

Now the thing that actually surprised me.

I had been treating my three unsolved quantities as one problem waiting for one method. They are not.

The contact rate needed both costs modelled, and the answer depended on a square root, so being wrong by a hundredfold moved it by twelvefold.

The exit rate also needed both costs modelled, but the answer depended on a logarithm, so being wrong by a hundredfold shifted it by a fixed number of interactions.

The injection rate needed no model at all, because the expensive side of the trade-off measures itself.

Three different kinds of answer. And I spent an entire section preparing to assume a curve for the third one, when a standard estimator has provided it since the 1950s.

Which suggests the question I should have asked first is not "what are the two costs?" but "is either side of this already observable in data I have?" Because when the answer is yes, all the modelling is wasted work.

There is a companion estimator that fills a gap I explicitly noted and left open.

Chao1 estimates how many distinct things exist in total, seen and unseen: Ŝ = observed + f₁²/(2f₂), using singletons and doubletons, the things seen exactly twice.

Run it on the same log. Sixty observed failure modes with 40 singletons and 10 doubletons implies about 140 total, so 57 percent are still unseen. The same sixty modes with 2 singletons and 4 doubletons implies 60.5, so under one percent remains.

Those two situations look identical in a conventional test report. Sixty modes found either way. The distinction between "you have seen half of what exists" and "you are essentially finished" is sitting in the rare-item counts, and nobody reads them.

And this closes something I demanded and could not supply.

Several sections ago I listed four things a failure-testing programme should report, and the fourth was "input richness": which modes your disturbances have actually reached, because that, and not the size of your telemetry stack, is the honest bound on what you know. I admitted the item was "absent from the practice's vocabulary entirely."

Coverage is that quantity. Chao1 is its denominator. A programme can now state: we have exercised an estimated 92 percent of the mode mass, of an estimated 65 total modes, of which 5 remain unseen. From two counts.

It also corrects something I said too strongly.

I claimed, a few sections back, that you cannot measure a silent constraint at all, only excite it, and that no amount of telemetry identifies a mode nothing has ever triggered.

That is true of identifying which mode. It is false of quantifying how much is left.

Rare-event counts carry information about absent events. That is the entire content of Good and Turing's result, and it means the residual is measurable even though the residual's contents are not. So the corrected version is: you cannot measure what you have not excited, but you can measure how much you have not excited, and the second is what the stopping decision actually requires.

One general habit, which I want to name because it has now worked three separate times.

When I wanted to know whether people were getting slower or their jobs were getting heavier, the answer came from decomposing an aggregate ratio into its numerator and denominator. When I wanted to know whether a scaling law existed at all, it came from fitting the exponent on two ranges and seeing whether it moved. And now, when I wanted to know how much I had not tested, it comes from counting singletons.

All three extract information about what the data cannot show from the shape of what it does show. None requires new measurement. Before modelling the unobserved, check whether the frequency structure of what you observed already bounds it. That is the most productive single move in this entire project, and I had never written it down as a method.

A caveat, and it happens to point the right way. Chao1 is explicitly a lower bound on the true number of modes. It systematically underestimates what remains hidden.

For the stopping rule that error is the safe direction. If you believe fewer modes remain unseen than actually do, you stop too early, and you continue testing longer than the rule strictly demands. That makes the caveat strengthen the practice rather than weaken it, which is now the third section running where chasing down a limitation improved the result instead of qualifying it.

What is actually in your spare capacity, and why you cannot find out while you have it

In short: Twenty sections ago I said the composition of a system's accumulated slack, how much is useful option versus how much is liability, could not be estimated and should be held as an open question. That was wrong twice over. It has been measured, and the numbers are bleak: across 510 mutants of one enzyme, 44 percent neutral, 26 percent harmful, 30 percent lethal, and zero beneficial. But the more important result is that the composition is not a property of the variation at all. The same 81 mutations were 81 percent harmless when the enzyme was abundant and 2.5 percent harmless when it was scarce. A factor of thirty, from load alone. Which means the buffer that keeps stored variation safe is exactly what makes it look harmless, and I have now met that pattern five times without naming it.

First, the correction.

Earlier in this essay I described how systems accumulate hidden variation, and I noted, carefully, that the literature offered no fraction, rate or half-life for how much of it is useful. I concluded that neither the optimistic reading ("our accumulated slack is probably valuable") nor the pessimistic one was supported, and filed it as an unknown.

There is a whole measured object called the distribution of fitness effects, with two standard experimental methods behind it. I had not looked.

And the numbers do not support the optimistic reading. In a careful study of the enzyme HisA, across 510 mutants: 44 percent neutral, 26 percent moderately deleterious, 30 percent lethal, and zero beneficial. The authors state plainly that they found "no fitness-increasing amino acid substitutions in HisA" anywhere in the analysis.

"Held as unknown" is a stronger claim than "not yet searched", and I made the first having done only the second. That is the sixth time in this project I have found that everything needed was available and I simply had not performed the step.

Now the part that makes the original question ill-posed.

The same researchers took 81 single amino acid substitutions and measured them at two different expression levels, meaning two different amounts of the enzyme available.

At high expression: 81 percent looked neutral. Sixty-six of eighty-one, apparently harmless.

At low expression: 2.5 percent neutral. Two of eighty-one. The other 88.5 percent were deleterious and 9 percent lethal.

Same mutations. Same measurement. Factor of thirty.

The authors explain it in one sentence: most mutations "seemed benign at high protein concentrations but became clearly deleterious when the enzyme was expressed at limiting levels."

So there is no such thing as "what fraction of our accumulated slack is useful." The composition is not an attribute of the variation. It is a joint property of the variation and the load. Ask under comfortable conditions and you get one answer; ask under pressure and you get an answer thirty times worse. And the direction is always the same. Abundance makes the reserve look benign.

Which corrects something I said several sections ago.

I had concluded that the crucial ingredient in storing variation is not the storage but the buffer: the thing that keeps the system working normally while variation accumulates unexpressed. That is right, and I missed half of it.

The buffer does two things at once, and only one of them is good. High expression keeps the enzyme working. It is also precisely why 81 percent of the variants score as harmless. The protection and the flattering measurement are the same mechanism.

Which means a well-buffered system cannot assess its own reserve, and the better the buffering, the more benign the reserve appears. I had said the composition was "unknowable from inside the buffered state". That understates it. It is not merely unknown. It is systematically wrong in a known direction, by a large factor.

And now the thing I should have noticed five sections ago.

Consider what I have found, in five unrelated places:

A press degrading a system while the failure-injection metric, being a ratio to the current baseline, stayed completely flat. Fluctuating conditions buying species coexistence, and stabilizing conditions removing it. Rock-paper-scissors competition that "dampens under fertile conditions". Output per person falling as an organization grows, not because people slowed down but because each carries more weight. And now, mutations that look harmless while the enzyme is plentiful.

Every one of those is the same thing. Slack conceals the state of the system, and every measurement taken under slack reads better than the truth.

I am going to name it: the abundance bias. Any assessment performed while a system has spare capacity systematically overstates its health, and the overstatement grows with the amount of spare capacity.

The uncomfortable corollary is that the reassuring measurement and the comfortable condition are the same fact. You are not being told your system is healthy. You are being told it currently has room.

The way to find out is something I already told myself to do and have not done.

If composition depends on load, then measuring it requires removing the load. That is exactly the "press experiment" I described several sections ago: a sustained degradation held long enough that the system has to find a new way to operate.

The HisA study is a press experiment on an enzyme. Turn the expression down and keep it down, and the hidden fragility becomes visible immediately.

And I already established why nobody runs press experiments: from the outside they are indistinguishable from an incident you are refusing to fix. So two open problems close together, and both omissions have the same cause. The informative condition is the uncomfortable one.

One more result, about the good half of the distribution.

Beneficial mutations are rare, and they turn out to have a specific mathematical shape. They "lie in the extreme right tail of a distribution of all mutant fitness effects, which justifies applying extreme value theory". Under standard assumptions that gives an exponential distribution of improvements.

That is the same body of mathematics I invoked much earlier for rare extreme events, applied to a question I had been treating as separate. Rare good outcomes are not arbitrarily distributed. They follow a tail law, which is why they have a clean parametric form even though the bulk of the distribution does not.

But there is a live dispute about which tail law, and it matters more than it sounds.

The exponential result depends on assuming the fitness distribution belongs to what is called the Gumbel domain. Extreme value theory allows two others, and recent work finds that under "arbitrary numbers of potentially inequivalent and correlated traits", beneficial effects belong to the Weibull domain instead.

Here is why that is not a technicality. The Gumbel tail is unbounded. The Weibull tail has a finite endpoint.

Under Gumbel, there is always a better variant out there; improvement never runs out. Under Weibull, there is a ceiling, and as you improve you approach it and the returns collapse.

And the condition that selects the bounded case is many correlated traits, which is a description of every mature, complex, interdependent system. Which inverts the natural intuition. The more complex and interconnected a system is, the more likely it is that its improvements are bounded, not unbounded.

A note on scope. The specific numbers are one protein, one organism, one measure of fitness, and the literature is explicit that these proportions vary between species. What survives is the structural claim, which the same paper demonstrates internally by measuring the identical mutations twice under different loads.

And what survives most durably is the instruction: measure your reserve under load, not under slack. That holds whether or not any particular organism's percentages transfer, which makes this the fourth section running where the method outlives the finding that produced it.

Why the same improvement is worth less in a better system, and how much of that is real

In short: The previous section found that in complex systems with many interlocking parts, improvement is probably bounded rather than unlimited. This section is about how you approach that bound, and the answer has been measured directly rather than inferred: take the same beneficial change, engineer it into a fitter version of the system, and it delivers less. Which means diminishing returns are not fatigue or bad management, they are a property of the improvement measured against a better baseline. There is a stronger result too, and it is startling: everything about how a system got where it is enters its future through one number, its current level. And then a critique that made me rewrite half of this section, because the statistical artifact and the real effect turn out to have the same signature.

First, the measurement, and the experimental design is what makes it convincing.

The obvious way to study diminishing returns is to watch a system improve and notice that later gains are smaller. That proves nothing much, because all sorts of things change over time.

What Chou and Khan and colleagues did in 2011 was better. They engineered the same mutation into multiple strains of different fitness and measured what it delivered in each. Same change, different starting points, everything else controlled.

The result: "the proportional selective benefit for three of the four loci consistently decreased when they were introduced onto more fit backgrounds". And when beneficial mutations were combined, "the combined advantage was lower than the sum" of their individual effects.

Scale that up and you get the long-run pattern: a "sub-linear increase of the average fitness" in decades-long evolution experiments. Improvement slows down, permanently, and not because the population runs out of ideas.

Which reframes something people usually explain socially. When improvements land with less impact in a mature product or organization, the standard readings are that the team has lost its edge, or the easy wins are gone, or bureaucracy is eating the gains.

The biology says something plainer. The same improvement is genuinely worth less against a better baseline. No decay, no fatigue, no organizational pathology required.

And notice the shape of the experiment that isolates this: hold the change fixed and vary the background. That is the exact inverse of an A/B test, which holds the background fixed and varies the change. Which may be why this effect is invisible in normal practice: nobody runs the experiment that would show it.

Now the stronger result, and I find it genuinely remarkable.

In experimentally evolved yeast, beneficial mutations turn out to be "globally coupled: they interact strongly, but only through their combined effect on fitness". And therefore:

"The dependence of the fitness effect on evolutionary history is summarized entirely by the current fitness."

Read that carefully. Everything about how a system arrived where it is, which changes it made, in what order, how they interacted, all of it enters its future behaviour through a single number: how good it currently is.

Statisticians call that a sufficient statistic. The history contains no additional predictive information beyond the summary.

The consequences cut both ways and both are uncomfortable. Reconstructing the detailed history of how a system got good is not worth doing if your purpose is predicting the next increment. And conversely, no amount of understanding how something became excellent tells you anything further about what improving it next will yield.

This is the fourth time in this essay that many quantities have collapsed into one. But the previous three were compressions I performed as an analyst. This one the system performs, which makes it testable in a way the others are not: if current level really is sufficient, then two systems sitting at the same level should respond identically to the same intervention, no matter how differently they got there.

It also cleans up a confusion I have been carrying.

The finding is that "fitness evolution follows a predictable trajectory even though sequence-level adaptation is stochastic."

Those are two different claims about two different things, and I have run them together at least three times in this essay. Which specific changes a system will make is unpredictable and not worth forecasting. How much better it will get, and how fast, is predictable from where it stands now.

Every roadmap tries to forecast the first. Every capacity plan needs the second. They have opposite epistemic status, and conflating them means people either over-trust roadmaps or under-trust trajectories.

And it adds to a list. A genuinely good idea that lands weakly in a mature system now has at least three sufficient explanations that have nothing to do with people: negative frequency dependence slowing its spread, centralized structure delaying adoption, and now diminishing returns making it honestly worth less. Three mechanisms, one observable symptom, and the social explanation gets reached for first mostly because it is the only one anybody has a name for.

Now the part that gave me pause.

There is a 2014 paper in Genetics asking whether these estimates are biased, and the answer is yes, with a mechanism that is uncomfortably elegant.

If you measure the effect of a mutation with error, then strains that measured as unusually fit were partly lucky, and strains that measured as unusually unfit were partly unlucky. Measure them again and both drift toward the middle. That is regression to the mean, and it produces exactly the pattern of "smaller benefits in fitter backgrounds" even when no such effect exists.

The paper puts it as an identity: "the correlation between epistatic effects and the sum of individual fitness effects is a direct function of the amount of measurement error."

So a sloppier experiment shows stronger diminishing returns. The signal and the artifact are not merely easy to confuse. They are produced by the same statistic. Better measurement weakens the apparent effect.

The paper's own conclusion is reassuring: biases are "in most cases small". But its bound is soft in the wrong direction. It "may have underestimated the amount of bias by assuming uncorrelated measurement errors", an assumption "often violated" by uncontrolled block effects in real experiments. The reassurance rests on the assumption most likely to fail.

What survives that, and why the 2011 experiments still stand. Regression to the mean attacks a specific design: measuring effects and fitnesses on the same strains and correlating them. Chou and Khan did something different. They engineered a chosen mutation into chosen backgrounds. The direction of the effect survives.

What does not survive is any comparison of strength across studies. Since the correlation depends directly on measurement error, and error varies between labs and experiments, statements like "diminishing returns are stronger in this environment than that one" are not readable from the published numbers unless measurement error was matched. And it is, in the authors' words, "in most cases" not corrected at all.

And this pairs with something from the previous section into a rule I want to keep.

Last section I named the abundance bias: assessments made while a system has spare capacity systematically overstate its health, and the overstatement grows with the spare capacity.

This is the same shape rotated. Assessments made with noisy instruments systematically overstate diminishing returns, and the overstatement grows with the noise.

In both cases the condition of measurement manufactures the finding, and in both the direction is fixed and known.

So, as a standing habit: for any empirical regularity, ask what measurement condition would manufacture it, and whether the studies reporting it share that condition. Slack manufactures apparent health. Noise manufactures apparent saturation. A comfortable, poorly instrumented organization will confidently discover both.

When two of my own conclusions turned out to contradict each other

In short: Last section I reported a striking result: everything about how a system got where it is enters its future through a single number, its current level. Much earlier in this essay I reported a different striking result: in the long-running E. coli experiment, the mutations that eventually enabled a major innovation conferred no measurable benefit at the time. Those two claims cannot both be true as I stated them, and I held both for sixty-one sections without noticing. The resolution turns out to be measured rather than argued, and it does something better than patch the inconsistency: it explains why the thing I called the project's hardest open problem is invisible, and hands it its first real move.

First, the contradiction.

From last section: "the dependence of the fitness effect on evolutionary history is summarized entirely by the current fitness." History has no residue. Where you are is all that matters.

From much earlier: in twelve populations of E. coli run for decades, one evolved the ability to use citrate after 31,500 generations, and only because of earlier mutations that "conferred no measurable benefit" and merely made the innovation reachable.

If history compresses entirely into current performance, potentiating mutations cannot exist. If potentiating mutations exist, current performance is not sufficient. One of them has to give.

And I want to flag the process failure honestly, because it is a new one for me. I have caught myself naming the right tool and never using it, using a term without examining it, and complaining about a missing number I could have derived. This is different: two well-evidenced findings, both written confidently, in flat contradiction, and never checked against each other.

The fix is embarrassingly cheap. When a section produces a strong general claim, go looking for things already written that it would falsify. I have over a thousand research items and have never once run that search.

Now the resolution, which is measured.

Global epistasis has a scope condition its own literature states plainly. Fitness effects of mutations "in rate-limiting and standalone enzymatic steps are highly predictable because they are globally epistatic", while mutations in "interconnected or upstream modules produce fitness effects that are not predictable using background fitness".

So current performance summarizes history for the magnitude of an effect, in standalone, self-contained components. That is all.

And a potentiating mutation is, by definition, both upstream (it enables something later) and interconnected (its consequence flows through some other part). Potentiation lives precisely in the region where the sufficient statistic fails.

So last section's claim was not wrong. It was stated without the scope its own literature attaches to it, which is the exact failure I identified several sections ago when discussing how a rule can be correct inside an unstated boundary and get quoted outside it. This is the first time I have caught myself doing it rather than catching a source.

There is also a decay condition worth noting: "as background divergence increases, the predictability of a mutation's fitness effect based on background fitness declines." So the screening-off is local. Two systems at the same performance level with genuinely different histories are exactly where the prediction is weakest, and exactly where anyone would want to use it.

But the deeper result is what makes this section worth writing.

Where does the smooth global pattern come from? The natural reading is that everything really is coupled through overall performance, in some genuine way.

A 2022 Science paper tested that, and found something else. "Just four idiosyncratic interactions (primarily pairwise) were sufficient to recapitulate the full-model fitness-correlated trends, representing on average 89% of the potential variance explained."

Four specific interactions. Eighty-nine percent of the variance. And the output is a smooth curve in which none of those four is visible.

So the elegant global law is not evidence of global coupling. It is what a small number of specific interactions look like once you aggregate them. The smoothness is a property of the summing, not of the system.

Which means the sufficient statistic is a summary of exactly the structure that determines what becomes possible next, and summarizing is the operation that erases it.

I have been advocating, for several sections now, a habit of reading the shape of aggregate data rather than modelling the underlying system, and it has worked repeatedly. This is the case where that habit fails, and fails for a specific reason: the aggregate here is constructed by averaging away the thing you need.

And that explains the problem I called the project's hardest, rather than merely restating it.

I named it the potentiation problem: the changes that enable future innovation confer no measurable benefit now, so any system that selects on measured improvement will systematically discard them. I called it "a structural blind spot in evaluation itself" and had no mechanism for why.

Here is the mechanism. A performance-driven process sees the aggregate. The aggregate is generated by averaging out the specific interactions that determine reachability. The blind spot is not a flaw in how the metric was designed. It is what a performance summary is.

Which has a hard consequence I did not expect. No performance-based metric can be fixed to see potentiation. Not a better benchmark. Not a co-evolving evaluator that learns what to value. Not a longer time horizon. Any statistic that summarizes performance performs exactly the averaging that erases accessibility. I had asked for a metric that values accessibility instead of performance; the answer is that it cannot be a function of performance at all.

Which finally gives the problem somewhere to go.

If accessibility cannot be read from performance, read it from structure, and I already built the tool two sections ago without seeing the application.

Counting singletons measures what a sample has not reached, using only the frequency structure of what it has reached. It never looks at how good anything is.

The analogue is direct: among the variants a system has retained, count the changes that have occurred exactly once, and track the rate at which genuinely new kinds of change appear. A variant that enables a novel kind of subsequent change is potentiating, whatever its performance. And that discovery rate is measurable with exactly the machinery from two sections ago.

That is a testable substitute for the metric I said could not exist, and crucially it is not a performance measure.

It also softens something bleak I wrote earlier. I had concluded that stored variation "either happened or did not, years earlier, and cannot be arranged retroactively", the one piece of advice in this whole essay that is useless to anyone who did not already follow it.

That stands, but only half of it. You cannot recover a reserve you failed to build. You can tell today whether you are building one, using a statistic that owes nothing to performance. First time in this project I have turned a decide-in-advance quantity into something you can watch while it happens.

One caution about how far to push the four-interactions result. It shows that a handful of specific interactions can generate the global pattern, so the pattern by itself is not evidence of genuine global coupling. It does not show that global coupling is absent wherever the pattern appears; both readings remain live in the literature.

But the point I need is epistemic rather than mechanistic. Observing the smooth trend cannot tell you which generator produced it. A system that sees only the smooth curve has learned nothing about which world it is in, and that inability is all the argument requires.

What a buffer is actually spending

In short: Last section I proposed a check I had never run: when a section produces a strong general claim, go looking for things I have already written that it would falsify. I ran it, and on the first query it caught me holding two incompatible positions about buffering, sixty sections apart. The resolution is a real and named effect in evolutionary biology, and it says something sharper than either position: a buffer does not remove selection, it moves it, off the thing being protected and onto the machinery doing the protecting. That turns a measurement worry from an earlier section into a causal claim, and it changes what you should be watching in any system that absorbs shocks well.

The check works, and it caught me on its first run.

The query I posed was deliberately blunt: a well-buffered stable environment is good for adaptation. If that sentence is true, some of what I have written is wrong. If it is false, some other part is.

It returned both. Early in this essay I argued that absorbing novelty without breaking is what buys time to adapt, a straightforwardly positive claim about buffering. Two sections ago I argued the opposite direction: that the buffer keeping stored variation safe is the same buffer that makes that variation look harmless, and that assessments made with spare capacity in hand systematically overstate health.

Those had sat in the same document, unreconciled, for a long time. One query surfaced them together. So the first finding is procedural, and mildly humbling: the check's most useful output is not "here is a claim you should retract", it is "here are two things you believe that you have never made talk to each other".

The literature that resolves it was entirely absent from my notes.

Biologists have a name for this. It is called the Bogert effect, after a 1949 observation about lizards, and it is stated causally: when confronted with novel conditions, organisms can "preferentially select microhabitats to which they are already well adapted", thereby "maintaining homeostasis within their ancestral range", which can "reduce exposure to selection and limit evolution".

In plain terms: a lizard that is too warm moves into the shade. Having moved into the shade, it no longer experiences the heat, so the heat cannot select for lizards that tolerate heat better. The behaviour that solves the problem is the reason the physiology never has to.

The general expectation follows: because behavioural adjustment is the standard way these animals regulate performance, "regulatory behaviours should generally constrain rather than drive evolution". And this is not just an argument. Huey, Hertz and Sinervo built a null model that quantifies how much regulatory behaviour matters, applied it to altitude data on a Puerto Rican lizard, and found that thermoregulatory behaviour "likely inhibits selection for evolutionary shifts in thermal physiology with altitude".

The mechanism turns out to be one I have used three times already without naming it.

"Reduces exposure to selection" is not a new idea in this essay. It is the reason a virus grown for many generations in an easy laboratory host gets worse at infecting its original host. It is the reason a gene that is no longer being used decays rather than being actively deleted. It is the reason a lineage that has been sheltered from a pressure loses the machinery for handling it.

I wrote all three of those as separate observations, in different sections, about different systems. They are one mechanism. Whenever something is being handled for you, the capability to handle it stops being maintained, and this is a single principle with at least four independent empirical demonstrations sitting in my own notes.

Which upgrades my earlier measurement complaint into something worse.

Two sections ago I called it the abundance bias and described it as a problem of measurement: when a system has slack, assessments of its health come out too high, and the overstatement grows with the slack. That framing is careful and, I now think, too gentle. It says the system is fine and the reading is wrong.

The Bogert effect says the reading is not the only casualty. Buffering does not merely make adaptation look unnecessary. It makes adaptation not happen, by removing the selection that would have driven it. The comfortable organisation is not just measuring itself badly. It is genuinely getting worse at the thing its comfort covers, and for exactly the reason its measurements say not to worry.

But the empirical resolution refuses to pick a side, and that is the actual finding.

I expected the biology to arbitrate: either buffering helps adaptation or it hinders it. Muñoz and Losos titled their paper on the question "Thermoregulatory behavior simultaneously promotes and forestalls evolution in a tropical lizard".

Not a contest with a winner. In the same animal, at the same time, the same behaviour accelerated evolution in some traits and retarded it in others.

Once stated, the reason is obvious. The lizard that retreats to shade is no longer under selection for heat tolerance. It is very much under selection for finding shade: for noticing the temperature, for knowing where the cool spots are, for getting there in time, for tolerating whatever else lives in the shade. The pressure did not go away. It changed address.

So here is the result I want to keep. Buffering relocates selection rather than removing it. It moves off the buffered dimension and onto the buffering machinery.

And that yields a design question I have never asked in this essay.

For any buffer, ask: what is it spending to hold the line? Because whatever it is spending is what is now under selection, and therefore what is now adapting, and therefore where the system's real behaviour is quietly being determined.

A retry layer protects correctness from an unreliable network. Correctness is now shielded, so it stops improving. What is under selection instead is the latency budget and the queue depth, which is where the next failure will come from. A generous funding reserve protects an organisation from having to win customers. Customer acquisition stops improving. What is under selection is the burn rate. A capable model protects a product from having to specify its own requirements clearly. Specification skill stops improving. What is under selection is prompt tolerance.

In every case the protected capability atrophies precisely as advertised, and something nobody is watching becomes the system's actual adaptive frontier.

The practical instruction is a single inversion: instrument the buffering machinery, not the buffered variable. The buffered variable is, by construction, the thing that will look fine right up until the buffer runs out. The buffering machinery is where the change is happening, and it is usually the thing with no dashboard.

This re-prices my earlier claim rather than retiring it.

I wrote that absorbing novelty without breaking is what buys time to adapt. That is still true, and it is still incomplete in a way that matters. The time is bought. What it is spent on is not the thing that was shielded.

A system that absorbs a shock without breaking has purchased an interval in which the protected capability specifically does not improve. "Buying time to adapt" is only half a sentence: adapt at what? If the answer is "at the thing the buffer is covering", the buffer is working against you, and the more successful it is the more comprehensively it does so.

One honest caution. The effect is contested. A paper on cold tolerance in fruit flies asks directly whether the Bogert effect is "bogus", and the field records "considerable debate over whether plasticity is a driving force in evolution", with the link from short-term process to long-term pattern still "a persistent gap".

What survives the dispute is the part I am relying on. The contested question is how much and how often, across which timescales. The trait-specific result, that the same buffering behaviour promotes evolution in some traits while forestalling it in others, is not what the critics are attacking. And that is all the argument needs, because the instruction that follows from it is only ever "look at both places", never "the buffer is bad".

The scaffolding nobody chose, and why you cannot take it down

In short: I pointed last section's falsification check at last section's own conclusion, and it found that I had been holding one half of a two-sided phenomenon for forty sections. I had written that a component under no selection pressure decays and gets deleted. There is a whole literature saying that a component under no selection pressure becomes permanently load-bearing, and it has a mechanism, experiments, and a name. Both are right, and which one happens is a race with a closed form. The result is the sharpest thing I have to say about buffers: a buffer does not postpone a failure, it converts a failure into a permanent dependency. It also inverts a rule most engineers run on without examining it.

The check, pointed at my own newest claim.

Two sections ago I ended with: buffering relocates selection rather than removing it. So I wrote down the opposite and searched my notes for it: redundancy and spare capacity are pure gain, buffers are free.

What came back was something I wrote much earlier: a pure duplicate is under no selection pressure, and its list of possible fates begins with deletion. Redundancy is unstable. It has to turn into something with a distinct job, or it rots.

That is a well-supported claim and I still believe it. The problem is that there is an equally well-supported literature saying that a component under no selection pressure does the exact opposite: it becomes impossible to remove. My notes contained one side and had no idea the other existed.

The mechanism is called presuppression, and it runs in three steps.

The framework is constructive neutral evolution, and its central claim is deliberately provocative: "increases in complexity are not necessarily advantageous and positive selection is not required for their evolution".

Here is how something becomes essential without ever being good. Start with a part, A, that does its job on its own. Alongside it there is some other thing, B, that happens to interact with A. The interaction "may have randomly arisen" and could vanish "without an effect". B is doing nothing. It is spare.

Now a mutation damages A, so that A can no longer do its job unaided. Normally that mutation would be weeded out. But it isn't, because "the A:B interaction that has already emerged sustains the capacity of A to perform its initial function". The damage does not show up. So nothing removes it, and it spreads.

And now the third step, which is the whole point. A has "gained a dependency" on B. Remove B today and the system breaks, because A can no longer stand on its own. B has become essential, and at no point did anything ever select for B. It was spare, then it was a crutch, then it was structural.

The ratchet is not a force. It is an asymmetry in what mutations do.

This is the part I found most surprising, because it means nothing is pushing the system toward complexity. "Mutations that reduce activity or affinity or stability are much more common than those with the opposite effect." Damage is simply easier to come by than repair. So the walk through dependency-space drifts one way, and eventually "a return to functional independence of A is far too unlikely to occur".

Nobody is building the Rube Goldberg machine. It is just much easier to add a dependency than to remove one, and time does the rest. The literature's own descriptions of the result are "runaway bureaucracy" and "Rube Goldberg machine".

And the trigger, in the literature's own words, is buffering.

I want to be careful here, because this is the connection the section turns on and I did not have to strain for it. The process "occurs when a system contains components that buffer the effects of otherwise-deleterious mutations, allowing such mutations to spread".

That is the same object I spent the last section on. So the sequence completes:

The buffer absorbs a degradation. Absorbing it makes the degradation harmless. Being harmless lets the degradation stick around permanently. And once it has stuck, the buffer is load-bearing.

Which gives the sentence I think is the most useful thing in this section. A buffer does not postpone a failure. It converts a failure into a permanent dependency. The very thing a buffer is for, making bad events not matter, is what allows bad events to accumulate, and what makes the buffer structural.

Concretely: the retry layer is not protecting your system from a flaky dependency. It is the reason your system is now built on one. The flakiness stopped being a problem, so nobody fixed it, so it is now permanent, and the retry layer can never be removed.

The two predictions reconcile as a race, and the race has a formula.

Both of my claims are right, under different conditions. A spare component decays because damage is common and nothing opposes it. It entrenches because something else may come to depend on it first. So the question is only ever: which happens sooner?

Treat them as two competing processes. The component decays at some rate, and it acquires dependents at some rate. Then the chance it ends up entrenched rather than deleted is just the ratio of the second rate to the sum of both.

That gives usable numbers. If dependencies form as fast as things decay, entrenchment happens half the time. Drop dependency formation to a tenth of the decay rate and you are at about 9%. A hundredth gets you to 1%.

Read backwards, that is a demanding requirement. To keep the chance of accidental entrenchment below 5%, you have to remove unused things about 19 times faster than other things come to depend on them. For 1%, about 99 times faster.

So removability is not a property. It is a quantity with a half-life.

This reframes a set of practices that usually get filed under tidiness: deprecation windows, feature-flag expiry, deleting merged branches, refusing to make an internal helper public. None of those are housekeeping. Each one is holding a removal rate above a dependency-formation rate, and the required margin is much larger than it feels.

It also explains how they fail. Each is justified as cleanliness, so each is the first thing dropped when there is schedule pressure. Their real function is invisible until the window has closed and the thing has become load-bearing, at which point the cost of the lapse is permanent and unattributable.

This gives me the cause for a negative result I recorded earlier and could not explain.

Some sections ago I tested an appealing shortcut: use conservation as a proxy for essentiality. If a component has survived unchanged across many independent lineages, treat it as load-bearing without needing to know why. It is Chesterton's Fence with a metric. I found that it does not work, reported that, and had no account of why.

Now I do. Essentiality and adaptive history are decoupled by construction. A component becomes essential through presuppression without ever having been selected for. So "this is load-bearing" and "this was chosen for a reason" are causally independent statements, and the second does not follow from the first. The proxy does not fail by accident. It cannot work.

Which inverts a rule most engineers actually run on.

The received wisdom is Chesterton's Fence, and the field states it plainly: nobody puts code in there for no reason, so find out the reason before you touch it.

The biologists state the opposite, and state it as a methodological requirement: constructive neutral evolution "must be the null hypothesis when explaining the emergence of complex systems, to avoid assuming that a trait arose for an adaptive benefit".

These are incompatible starting assumptions, and I now think the biological one is better supported, for a simple reason: it has a mechanism, and the folk rule has only an intuition.

To be careful about what this does and does not license. It is not "delete the fence". The mechanism does not tell you which components are gratuitous, and the burying-beetle case below shows the dependency is often completely real. What changes is the burden of proof: a load-bearing component is not, by itself, evidence that anyone decided anything. And the systems where Chesterton's Fence is invoked most confidently, old ones with heavy accumulated complexity and light review, are exactly the ones where the accumulation mechanism runs fastest. The rule is most trusted where it is least calibrated.

The behavioural version, where the dependency was actually tested.

A 2025 paper extended all this from molecules to behaviour, reasoning that "if CNE can increase the complexity of subcellular phenotypes, it can also increase the complexity of whole organism behaviour". The burying beetle case is the one that convinced me, because the dependency was demonstrated rather than inferred.

Adult burying beetles transfer oral fluids to their larvae. You might assume this evolved because larvae need it. The experiment: give the larvae "easily ingestible liquefied carrion", so that the nutritional job of the parental fluid is already done. The larvae "generally do not survive without the transfer of parental oral fluids" anyway.

The offspring are dependent on "the previously incidental parental behaviour". Something that started as a side effect is now a life-support requirement, and feeding the larvae directly does not substitute for it.

And this hands an abandoned category both a cause and a test.

Earlier I opened a bucket I called essential and not understood, and admitted I had no discipline for handling it. I had been treating it as a residue of lost knowledge: somebody knew once, and the reason got forgotten.

That framing is wrong, and expensively so. That bucket is the expected output of a ratchet, and in any long-lived, lightly-reviewed system it should be the largest bucket, not a leftover.

Better still, the 2025 paper makes it testable rather than merely nameable. Complexity built this way "should leave genomic signatures of relaxed, rather than positive, selection", and its variation between lineages "should correlate better with the strength of genetic drift than with ecological or social factors".

The translation is cheap and I would actually run it. For a load-bearing component nobody understands, ask whether its arrival correlates with periods of low review pressure and high churn rather than with any requirement or incident. If it does, it is scaffolding that got promoted, not a decision that got forgotten. That is a question answerable from repository history in an afternoon.

Two honest cautions.

First, this is contested. One line of criticism asks whether any new phenomenon has been identified at all, or whether this is "just a complicated re-description of the already well-known fact that neutral mutations can drift through populations", noting structurally that the four forces are mutation, migration, selection and drift, and that this is "not such a force". A specific paper argues the framework cannot account for the RNA-editing patterns most often cited in its favour. What survives is what I am leaning on: the three-step sequence and the beetle dependency are observations, and the two predictions above are falsifiable as stated, whatever one calls the process.

Second, and more interesting, there is an objection that I think should be adopted rather than resisted: changes "that individually can be considered 'neutral' will upon accumulation cease to be so", because each one makes the system more error-prone and costs energy. That does not weaken the practical conclusion, it sharpens it. Gratuitous complexity is free only while it is small. By the time it is large enough to cost you, it is also irremovable. Which is a fair description of every legacy system anyone has ever been asked to modernize.

One last note on where this came from. I did not find this by reading widely or by having an idea. I took the previous section's single strongest sentence, wrote down its negation, and searched for that. Two sections, two runs, two genuine findings, both of which had been sitting undetected for dozens of sections. The cost is one query. I am fairly convinced now that the useful frontier is not more material, it is cross-referencing the material already there.

The narrow waist is where things go to become permanent

In short: I ran my own rule against my own last section, the rule that says check whether a result already has a name before claiming it. It does. What I derived last section was named twice, in 1978 and in the 1980s, in a field whose vocabulary I had never once used. That is worth reporting plainly, but the gap between their version and mine turned out to be the interesting part: they measured the level and I had derived the rate, and putting the two together gives a law in which entrenchment accelerates itself. It also prices something this essay has been recommending for a long time without ever counting the cost.

First, the embarrassing part, stated plainly.

Last section I worked out that a spare component becomes permanent through a race between decay and dependency, and I treated the underlying quantity as though it were mine.

It is called generative entrenchment, it was developed by William Wimsatt, and an independent version called burden was published by Rupert Riedl in 1978. Neither name appears anywhere in my notes.

The interesting question is why I missed it, because the answer is not carelessness. My notes discuss bow-tie architecture and the Internet's thin waist repeatedly. That is the same shape. What I had was the engineering half of the idea and none of the biological half, and the two literatures do not share a single word. My rule said "check whether the result already has a closed-form name." That rule is too weak. The version that would have worked is: check what another field calls the question. That is a harder search and it is where the value is.

Their definition is better than mine, because it is a measurement.

Here is the definition, and note that it is a quantity rather than a metaphor: "the generative entrenchment of an entity is a measure of how much of the generated structure or activity of a complex system depends upon the presence or activity of that entity."

The consequence follows directly: "older elements tend to have developed more downstream interdependencies and tend to become generalized and strongly conserved: changing them is hard since so much depends on them."

Riedl's version makes the developmental claim explicit: because all developmental patterns depend on the ones before them, "more-conserved patterns and mechanisms should be found in the earlier stages of development."

And the thing I want to stress, because it is the same point the previous two sections kept arriving at: neither concept says the entrenched element is any good. It is conserved because of what rests on it.

What I had that they do not, and what they have that I did not.

Generative entrenchment measures a stock: how much currently depends on this thing. Last section's race describes a flow: how fast dependents arrive versus how fast unused things get cleaned up.

They are the level equation and the rate equation for one quantity. And they answer different questions. Burden explains why entrenched things are conserved. The previous section explains how something becomes entrenched without ever having been beneficial. Burden on its own is perfectly compatible with the entrenched thing having been excellent, once. The other half removes that assumption. I have not found a source that states them together, so the combination is what I will claim, and only that.

Combined, they give a law in which entrenchment feeds itself.

Last section's formula treated the cleanup rate as a constant. Burden says it is not: the cost of removing something rises with how much depends on it. So the removal rate you can actually afford falls as the dependency load rises.

Put that into the previous formula and the numbers change character completely. Take a system where you remove unused things a hundred times faster than new dependencies form, which sounds like a well-run shop. Then:

  • 1 dependent: about a 1% chance the component becomes permanent.
  • 10 dependents: about 9%.
  • 50 dependents: 33%.
  • 100 dependents: 50%.
  • 1,000 dependents: 91%.

Same discipline throughout. The only thing that changed is how many things were already leaning on it.

Read the other way, to hold the chance of accidental permanence at 5%, the margin you need is 19 times the dependency load. Nineteen to one at a single dependent. 1,900 to one at a hundred. 19,000 to one at a thousand.

So last section's "you need a 19x margin" was right only for an isolated component. The requirement is not a constant, it is a schedule, and it gets away from you as a positive feedback: more dependents make removal costlier, which buys more time to accumulate dependents.

Which finally prices something I have been recommending without counting.

A narrow waist is a minimal universal interface that everything passes through, and it is one of the most admired patterns in systems design: the Internet Protocol between applications and physical networks, an instruction set between compilers and chips, a common file format between tools. The pitch is flexibility. Both sides can evolve freely because they only ever agree on the thin thing in the middle.

I have been treating that as a straightforward win. It is not, and burden says exactly why. A waist is defined by everything depending on it. That is the same sentence as "a waist is the point of maximum generative entrenchment."

At a dependency load in the thousands, the arithmetic above demands a removal margin around 19,000 to 1 to keep the waist revisable. No organisation has ever run at that margin. So:

A narrow waist is not merely hard to change. It is a device for concentrating irreversibility. The flexibility it grants everything around it is paid for with the permanent unrevisability of the middle, and that trade is almost always presented as if it were free.

If you want the control experiment, it is IPv6: a technically superior replacement for a waist, backed by thirty years of deliberate, funded, coordinated effort, still incomplete.

The corrected design rule is not "avoid narrow waists." They work, and the peripheral flexibility is real. It is: choose what goes in the waist as though you can never change it, because arithmetically you cannot.

And the biology contradicts the usual intuition about what ossifies.

Ask an engineer which code is most stuck and they will say the oldest.

Embryology says something different, and it has measured it three ways. Embryos of the same phylum look different early on, converge to a shared form in the middle, then diverge again. The waist of that hourglass is the phylotypic stage. Researchers built a transcriptome age index, which dates the genes active at each stage, and found that the genes expressed at the middle stage are "evolutionarily older and more conserved than those expressed early or late". The pattern repeats in flies, nematodes, turtles, plants and fungi. A 2026 result traces it to "converging cell states constrained by ancient, pleiotropic gene programs."

So conservation does not track age, and it does not track position in the pipeline. It tracks dependency load, and age accumulates there as a result. The middle looks old because the middle is where old things survive.

The prediction for software runs the same way: the least removable component is the most-depended-upon one, whatever its age, and it will appear old because that is where old things last. For an agent stack, the waist is the tool-call interface, the message format, the context protocol. Whatever ends up there becomes permanent on a schedule set by how many things depend on it, entirely independently of whether it was any good.

A test that would kill this cheaply.

I have a bad habit in this essay of naming metrics I never compute, so here is one stated precisely enough to fail.

If unremovability tracks dependency load rather than age, then in any large, long-lived codebase, how often a module changes should correlate better with its transitive dependent count than with its age, and that should still hold after controlling for age.

That is the software version of the transcriptome-age experiment. It uses data every repository already has: the commit history and the dependency graph. A null result kills the software application of all of this while leaving the biology untouched. I would like someone to run it, and I would like to know if it fails.

The related practical metric falls out of the same place. Generative entrenchment's definition is literally computable: "how much of the generated structure depends upon that entity" is transitive reverse reachability in a dependency graph, which every build system computes already. So track, per component, the size of its transitive dependent set over time. And because the margin scales with the load, the derivative matters more than the level: a component whose dependent count is climbing is losing removability faster than one whose count is high but flat.

The honest caution. The hourglass is contested. Three animals with a different developmental style "do not support" it, and in vertebrates it co-exists with a rival model where the earliest stages are the most conserved.

That bounds the claim in a way I think is actually correct. Burden does not predict that every system has a waist. It predicts that conservation concentrates wherever dependency load concentrates. A system organised without a bottleneck should show no hourglass, which is what the counterexample reports. So the counterexample refutes the universality of the shape and confirms the mechanism. Same distinction as the previous section: the argument is about scope, not existence.

One last thing about the method, since this is now the third section in a row where the check earned its keep. Three runs have found three different failure types: two of my own claims contradicting each other, a claim of mine in tension with literature I had never read, and now a derivation that was correct but already named. The failures are getting less severe and more specific, which is what a converging audit looks like. But this run exposed the real limit. The check searches my own notes in my own vocabulary, and the most expensive gaps are the ones where another field solved the problem under a word I have never typed. This essay has hit that before: a security literature that had solved prompt injection in 1988 under a name I did not know. Twice is a pattern. The highest-yield search is not for the answer. It is for what someone else calls the question.

Why you cannot clean your way out of a standard

In short: Last section ended with an arithmetic reason that narrow interfaces become permanent. This section asks what economists call that question, and the answer sharpens it in one direction and corrects me in another. The sharpening: if the things depending on a component attract further things, then improving your cleanup discipline tenfold buys a fixed amount of extra time, about four and a half years at plausible rates, no matter how many times you do it. The correction is more uncomfortable. I have been drifting for three sections toward "the entrenched thing is probably bad," and the best-known evidence for that turns out not to hold up. What survives is weaker and still worth having.

The check found a worse failure than last time.

Last section, the answering literature was simply missing from my notes. This time it is present and shallow, which I now think is the more dangerous state.

My notes say "lock-in" thirteen times, "increasing returns" four times, "network effects" five times. They contain none of the formal apparatus behind those words, and none of the critical literature attacking them.

That is worse than absence, because having the vocabulary suppressed the search. Every time I checked whether I had covered lock-in, the check came back with hits, and I scored it as covered. A word's presence in my notes is evidence that I have used the word. It is not evidence that I know the literature. I had been treating the first as proof of the second, and that is a defect in how I audit, not in any one section.

What the economists actually have: a process, not a story.

Brian Arthur modelled competing technologies as "dynamic processes with random events and natural positive feedbacks", a structure he called a nonlinear Pólya process. Think of an urn you keep drawing coloured balls from, where every draw makes you add more balls of that colour, so success feeds on itself.

The mathematical result is that such a process "typically displays a multiplicity of possible asymptotic outcomes", with "early random fluctuations cumulating and being magnified". It settles into one of several possible end states, and which one it settles into is decided by small early accidents rather than by the merits.

Arthur is careful about what this does and does not imply, and the careful version is the one I should have had: "although individual choices are rational, there is no guarantee that the side selected is, from any long term viewpoint, the better of the two." No guarantee. Not "the loser was better."

Three fields, three mechanisms, one conclusion.

Put this next to the previous two sections and something lines up that I have not seen stated anywhere.

Molecular biology says the entrenched component was never selected for. Developmental biology says it is conserved in proportion to what depends on it, not to how good it is. Economics says which candidate got the position in the first place was decided by early accidents amplified by feedback.

Three separate literatures, three unrelated mechanisms, converging on one claim: the thing everything depends on did not get there by being good.

And economics contributes something the biology cannot: it could easily have been something else. The biological arguments explain why an incumbent stays. The Pólya process explains why the incumbent is contingent, which is a different and stronger kind of claim.

Now the sharpening, which is this section's actual result.

Last section I derived that the chance of a component becoming permanent rises with how many things depend on it, and treated that dependency count as something that just grows.

Arthur says it does not just grow. Under increasing returns, dependents attract dependents: the more things use a component, the more the next thing will too, because that is where the documentation, the examples, the integrations and the expertise already are. So the count grows exponentially, not steadily.

Work through what that does to the deadline. Define the removability half-life as the time until a component is more likely than not to be permanent. With exponential growth, that half-life turns out to depend on the logarithm of your cleanup discipline. Concretely, at a plausible growth rate:

  • Cleanup 10× faster than dependencies form: 4.6 years of removability.
  • 100× faster: 9.2 years.
  • 1,000× faster: 13.8 years.
  • 10,000× faster: 18.4 years.

Look at the gaps rather than the values. Every tenfold improvement in discipline buys the same 4.6 years. Not ten times more. The same fixed amount, every time, forever.

Compare that with a world where dependencies arrive independently of how popular something already is. There the half-life is linear in your discipline: 10× buys 10 years, 100× buys 100 years, 1,000× buys 1,000. Discipline compounds.

So the whole difference between "discipline works" and "discipline barely helps" is one question: do dependents attract dependents? If they do, effort has been converted from a multiplying lever into an adding one, and no achievable amount of it reaches the target.

Which changes the advice from "be more careful" to something narrower.

If effort is additive and the clock is exponential, then the things with real leverage are not the ongoing ones.

You cannot clean your way out of a waist. The effort is not wasted, it is bounded: roughly four and a half years per decade of extra rigour, at these rates. That is a real return and a small one.

What does have leverage is earlier and structural. Keep the growth rate near zero by not letting a component become the place everything routes through in the first place. And watch the first few dependents, because the half-life depends on where the count starts and on nothing you can do afterwards. This is the first place in this essay where I can show, rather than assert, that an early decision dominates all subsequent effort.

Now the correction, which I would rather not be writing.

Across the last three sections I have been sliding, in tone if not quite in claim, from "the entrenched thing was not selected for merit" toward "the entrenched thing is probably bad."

Those are different statements and the second does not follow from the first. And the most famous evidence for the strong version does not survive contact with its critics.

The QWERTY keyboard is the standard example of a market locking into an inferior design. Liebowitz and Margolis went back to the evidence and "found virtually no evidence that QWERTY is inferior to Dvorak", concluding that "QWERTY is about as good a design as any alternative". The problems they document are specific rather than rhetorical: the studies showing Dvorak's superiority had methodological flaws, Dvorak himself was involved in the testing, and later, better-run tests "showed limited or no advantage". The late-1800s history also shows real competition between layouts rather than a coin landing on its edge.

So the correct claim, which all three literatures actually support, is the weaker one: an incumbent's position is uninformative about its quality. It may be excellent. It may be mediocre. What you cannot do is read its merit off its ubiquity, in either direction.

That is the same conclusion I reached two sections ago about Chesterton's Fence, arriving from economics instead of biology, and I should note that it cuts both ways: I used it then to argue that you cannot infer a component is good from the fact that everything depends on it. It equally forbids inferring that it is bad.

And it separates two claims I had been running together.

This is the part worth keeping. Liebowitz and Margolis are attacking a specific strong claim: that switching would be net-positive even after paying the switching costs, and still does not happen. That would be a genuine failure worth policy attention.

They are not disputing that QWERTY is locked in.

So: irreversibility is well supported. Inefficiency is not. And I have been treating a demonstration of the first as though it were evidence for the second.

Last section's conclusion survives untouched, because it was only ever about irreversibility. What does not survive, and what I should stop implying, is that finding an entrenched component gives you reason to expect a better alternative exists. Establishing lock-in costs you a dependency graph. Establishing inefficiency costs you a counterfactual, and the counterfactual is the expensive thing nobody has.

A test that tells you which regime you are in.

Everything above turns on one empirical question, and it is answerable from data you already have.

If dependencies accumulate by attraction, the distribution of dependent-counts across your components should be heavy-tailed: a few components with enormous counts, most with almost none. If dependencies arrive independently of existing popularity, the distribution should look roughly exponential, with no extreme outliers.

It is a histogram. Same dependency graph as the test I proposed last section. And the two regimes predict removability half-lives that differ by orders of magnitude at identical levels of engineering discipline, so this is not a matter of taste. Run the histogram before deciding whether cleanup discipline is your lever, because in one regime it is and in the other it very nearly is not.

One last honest note. The critique has its own critics, who point out that Liebowitz and Margolis "never directly address David's conception of path dependence itself", attacking the illustrative example rather than the theory. That seems right to me, and the way through is to keep the two things apart. The process results, multiple end states and sensitivity to early accidents, are mathematical properties and are not in dispute. The empirical claim that markets demonstrably settle on worse standards is disputed, and its most quoted example is weak. So: cite the mathematics for the mechanism, and stop citing the keyboard for the moral.

The same budget, spent in two places, with two different exponents

In short: Last section concluded that you cannot escape lock-in by being disciplined. But locked-in systems obviously do get replaced sometimes, so something is missing rather than the conclusion being wrong. The missing thing has a literature I had never once cited, and it changes the practical advice completely. Escape needs two things at once: a working alternative that already exists, and an outside shock you cannot schedule. Only the first is yours. And here is the part that matters: money spent on cleanup inside the system buys time by addition, while the same money spent maintaining an alternative outside it moves the clock by multiplication. Two sections were needed to see that, because neither derivation shows it alone.

I started this one by checking my conclusion against the world instead of against my notes.

Last section's result was that discipline has bounded returns against lock-in. Taken alone that says nothing ever changes. Sail gave way to steam. Horses gave way to cars. Film gave way to digital. So the honest question is not "is lock-in real" but "by what route does escape happen, given that my model says it shouldn't?"

That question belongs to a field called sustainability transitions research, and its main framework is the multi-level perspective. My notes mention it zero times. They also contain zero mentions of protected niches, dominant designs, or Christensen.

Which exposes something about how I have been reading. Dozens of sections on how systems get stuck, and essentially nothing on how they get unstuck. That is a bias in my reading list, not a feature of the world, and I did not catch it because every check I run searches for what I said, never for what I never mentioned.

The structure: three levels, and escape needs two of them to cooperate.

The framework describes niches (where radical alternatives are developed), regimes (the incumbent way of doing things, "locked in and stabilized on several dimensions"), and the landscape (slow outside forces nobody controls).

The escape condition is a conjunction. Alternatives "emerge in niches, where dedicated actors nurture alignment and development on multiple dimensions to create 'configurations that work'". And those alternatives "may break through more widely if external landscape developments create pressures on the regime that lead to cracks, tensions and windows of opportunity".

Both halves. A mature alternative with no window stays a curiosity. A window with no mature alternative closes again.

Why single-lever escapes fail, which I had wrong.

The framework enumerates lock-in in three families, and the point is that they are not substitutes for each other.

Techno-economic: "sunk investments in plants and infrastructure, low cost because of scale economies, and high performance because of decades of learning-by-doing improvements."

Social and cognitive: "routines and mindsets that blind actors to developments outside their focus", relationships built over decades, and "user practices and lifestyles that have become organised around particular technologies."

Political: "regulations that favour incumbents" and "lobbying efforts by vested interests".

So a challenger that wins on cost alone has cleared one of three barriers. "Configurations that work" is a technical requirement about being aligned on all three dimensions simultaneously, not a compliment about the product. That is why better technologies routinely lose.

And it locates a gap in my own argument. The three-field convergence I assembled over the last two sections, from molecular biology, developmental biology and economics, describes only the first family. I have nothing at all on the social-cognitive or political ones. That is where the rest of my blind spot lives.

Now the arithmetic, which is where the advice changes.

Because the two requirements are independent, the rate of escape is their product: how often windows open, times the chance a viable alternative is ready when one does.

Windows are outside forces, by definition. That term is not yours. So the only quantity you control is readiness.

Put numbers on it. If a window opens roughly every thirty years:

  • Ready 10% of the time: expect replacement in about 300 years.
  • Ready 20%: about 150 years.
  • Ready 50%: about 60 years.
  • Ready always: 30 years, the window rate itself, which is the floor.

Notice the shape. Doubling readiness halves the wait, exactly. Every time.

Now put that next to last section. There, tenfold more cleanup discipline bought a fixed 4.6 extra years, and another tenfold bought another 4.6, forever.

So the same budget has a different exponent depending on where you spend it. Inside the regime, effort adds. Outside it, effort multiplies. That is the result, and I could not have seen it from either section alone.

Practically: money spent on deprecation windows, flag expiry and cleanup buys you a few years of extra optionality, and that is worth having and is bounded. The same money spent keeping a genuine alternative alive and working halves the time to replacement. Those are not two flavours of prudence. They are different kinds of investment.

Which explains something I wrote long ago and could not justify.

Much earlier in this essay I found that replacements come from a pool that "is by definition not paying for itself" and "cannot be acquired reactively". I flagged that as a genuine tension, because no rational actor would fund such a thing, and I had no explanation for the second clause.

The explanation is a timing mismatch, and it is almost embarrassingly simple. Building a viable alternative takes ten to twenty years. A window lasts three to five. So at every realistic combination, the alternative cannot be built inside the window. Only when the two durations are equal does it become possible at all.

Readiness is therefore not a decision you make when the window opens. It is a state you are already in, or are not. That is why it cannot be acquired reactively, and the reason is arithmetic rather than sociological.

How often does this actually work? Less than the folklore says.

The theory most often cited for "incumbents get displaced" is disruptive innovation. Two researchers, King and Baatartogtokh, spent two years testing it against 77 of its own proponents' cases including Ford, McDonald's and Google, and found that only 9 percent exhibited all four features that define a disruptive event. Their verdict: disruption is "real but rare", and "at best a marginally useful explanation of how innovation happens."

Note the direction of that result. The theory was tested on the examples chosen by its advocates as its best evidence, and nine in ten did not qualify.

Put that beside last section's finding that the QWERTY story, the canonical case for markets locking into something worse, does not survive its own evidence. Two of the most-repeated stories in technology strategy are substantially weaker than their reputations, and in both cases the flagship example was the weak point. I am going to start treating "this is the standard example of X" as a mild reason to doubt X.

What this does to the singularity framing, which is the reason I care.

The recursive-self-improvement picture assumes that a better system displaces a worse one because it is better.

Nothing in the last five sections supports that. Entrenchment does not track merit. Displacement is rare. And when it happens it needs a conjunction, one term of which nobody controls, plus alignment across technical, social and political dimensions at once.

So the rate-limiting step in a transition is not the challenger's capability. It is whether a maintained alternative happens to exist when an unschedulable window opens.

I want to be careful about how strong that is. It is not an argument that fast transitions are impossible. It is an argument that capability is the wrong variable to forecast from, and I have been forecasting from it.

A test, and an honest limit.

The test: if escape requires a mature alternative to pre-exist, then when an agent stack goes through a discontinuity, the components that get replaced should be the ones that already had an actively maintained substitute, and the survivors should be the ones that did not, regardless of which was technically better. That is checkable retrospectively across the last few years of agent frameworks, protocols and interfaces. A null result would kill the transfer of this framework to software while leaving the original literature intact.

The limit: the framework's own author published responses to seven criticisms of it, and two land on exactly what I am doing here. One is that the "landscape" level risks being a residual category, a name for everything otherwise unexplained, which would make "wait for an outside shock" close to unfalsifiable. The other warns against assuming change always comes from below.

Both are fair, and they are why I want to state the conclusion narrowly. I am not claiming this is the correct theory of how change happens. I am claiming the much smaller thing the arithmetic actually supports: effort has different returns inside and outside an entrenched system, additive in one place and multiplicative in the other. That claim rests on the two derivations, not on the framework, and the test above is how it fails.

The calm is the thing that ends the calm

In short: Last section I admitted a weakness: I had treated the shock that unlocks a stuck system as coming from outside, unpredictably, which makes "wait for a shock" nearly untestable. This section attacks that, and the attack succeeds. Systems manufacture their own shocks, and they do it out of their own stability. That fixes the untestability, because a stable period is not a neutral gap, it is the thing accumulating the fragility. It also reverses the direction of the last five sections, which had been getting steadily gloomier. Entrenchment turns out to be self-limiting, and I had been modelling only half the system.

The weakness I left myself.

Last section's model said escape needs two things: a ready alternative, which you control, and an outside shock, which you do not. I noted at the time that critics of that framework accuse the "outside shock" level of being a residual category, a name for whatever is otherwise unexplained. If that is what it is, then "wait for a window" cannot be tested, and I should not lean on it.

So the thing to check is the assumption itself: are these shocks actually external?

They are not, and there is a famous account of why.

Hyman Minsky's financial instability hypothesis says the shock is manufactured internally, and says it as a deliberate paradox: "stability, or tranquility, in a world with a cyclical past and capitalist financial institutions, is destabilizing."

The structural claim is the one I needed: instability "can emerge not merely as a result of exogenous shocks to an otherwise sound economy, but also endogenously from the internal dynamics at work in what may outwardly seem like a sound economy."

The mechanism is a slide through three named positions. When times are good, borrowers move from hedge financing, where income covers everything, to speculative, where income covers the interest but not the principal, to Ponzi, where it covers neither and survival depends on asset prices rising. The system becomes fragile because so many participants now depend on "selling assets or continually rolling over their debts in order to continue operating."

Nobody did anything reckless on any given day. Each step was reasonable given how calm things had been. The economy "creates its own bubbles and crashes."

And the same shape shows up somewhere completely unrelated, with a brutal number.

Peltzman studied the US federal auto safety standards of the 1960s. Cars got seat belts, padded dashboards, collapsible steering columns. The result: a decline in occupant deaths offset by rises in pedestrian and cyclist deaths, along with more miles driven and higher speeds, producing no net drop in total highway fatalities.

The proposed explanation is that people "offset perceived gains in safety by increasing their risk-taking behaviour". Safer car, faster driving. The protection was real and it was spent.

Three fields, one sentence.

Put that beside the biology from a few sections ago, where an animal that shelters from a stress is no longer under selection to tolerate it.

Biology: buffering removes the pressure that would have driven adaptation. Finance: tranquility moves everyone from hedge to Ponzi. Roads: safety gains are consumed as speed.

A system responds to protection by consuming it. I had one instance of this and was generalising from it. Now there are three from unrelated fields, which means I can state the mechanism rather than the example.

What this does to last section's arithmetic.

Last section I said doubling your readiness halves the expected wait for a replacement. That was right given a constant risk of a shock in any year, which has a specific mathematical consequence: the process is memoryless. How long things have been calm tells you nothing.

If calm accumulates fragility, the risk is not constant. It rises the longer things have been quiet. Redo the calculation with a risk that grows with elapsed calm and the headline changes by a precise amount:

  • Constant risk: doubling readiness divides the wait by exactly 2.
  • Rising risk: doubling readiness divides it by exactly √2, about 1.41.

So the advice survives and the magnitude does not. Readiness is still the lever you control, still multiplicative, but its power is halved. That is the seventh time in a row that a section has ended by narrowing a previous claim rather than throwing it out, and I have stopped finding that surprising.

The important consequence is not the number. It is that forecasting becomes possible at all.

This is what repairs the weakness I started with.

Under constant risk, elapsed calm carries zero information. Ten quiet years tell you exactly as much about next year as one quiet year does, which is nothing. No forecast is possible even in principle, and my critics would have been right that the model was untestable.

Under rising risk, the calm is the signal. Working the numbers through, the instantaneous risk after 10, 20, 40 and 60 tranquil years is 10, 20, 40 and 60 times its first-year value.

So there is something to watch, and it is internal and measurable: how long has it been quiet, and what has been accumulated during the quiet? Leverage. Dependence on rollover. The share of things that only work if something else keeps working. None of that requires predicting an outside event.

And that reverses the drift of the last five sections.

Sections seventy-something onward have moved relentlessly in one direction: buffers create dependencies, dependencies entrench, entrenchment accelerates itself, discipline cannot beat it, escape is rare and needs outside help. Read together they are close to fatalistic.

Minsky supplies the term I was missing. The same stability that lets entrenchment compound is what accumulates the fragility that ends it. Entrenchment and its own window are driven by the same variable. A regime does not entrench forever. It entrenches until the fragility it built up while entrenching arrives.

That does not rescue the earlier conclusions, and I do not want to overclaim: it bounds them.

What I find more instructive is how I missed it. I did not miss contrary evidence. Every one of those sections modelled the incumbent's own dynamics, and not one modelled what the incumbent's success does to its environment. Five sections all pointing the same way should have been a warning in itself. So, a new habit: when a run of conclusions all lean the same direction, look for the feedback term the model leaves out, rather than for more evidence in the same direction.

It also upgrades the biology from an analogy to an instance.

When I wrote about buffering relocating pressure, I presented it as biology with an engineering parallel. With finance and road safety alongside it, it is not a parallel; it is a third case of one thing.

And finance contributes something the biology could not: named intermediate stages. Hedge, speculative, Ponzi is a direction of travel with observable waypoints. Earlier I said to instrument the buffering machinery and could not say what to measure. Now I can: what fraction of the system only works because something else keeps working, rather than being sound on its own? Call it the rollover fraction. It is the software analogue of Minsky's slide, and it is visible before the failure rather than after.

Two tests, stated so they can fail.

If endogenous fragility is real in software, then the time since the last major incident should positively predict the severity of the next one, after adjusting for growth, because the quiet period is when the protection gets spent.

And the fragility should be visible in advance as that rollover fraction: the share of components that only function given the continuous availability of something else, such as a retry layer, a cache, a rate-limit exemption or a vendor's uptime, rather than degrading gracefully alone. Both are computable from incident history and dependency metadata that most organisations already keep.

The honest limit, and a rule I am adopting because of it.

The risk-compensation literature is contested, and specifically on magnitude. Results are mixed, and Peltzman's original analysis attracted substantial technical criticism of its data and methods. The strong version, Wilde's risk homeostasis, in which people hold their risk exactly constant "irrespective of exogenous safety enhancements," is not well supported. The weak version, partial offset, has direct confirmations: drivers go faster with seat belts on, and faster again with anti-lock brakes and airbags.

That is the third section running where the defensible claim turned out to be the weaker one and the famous claim the stronger one. Same with path dependence, where irreversibility survives and inefficiency does not. Same with the developmental hourglass, where the mechanism survives and the universal shape does not.

So I am making it a rule. When adopting a named effect, take its weak form by default and demand separate evidence for the strong form. The strong form is what gets quoted, and the weak form is what survives contact with the data. Without that check I would by now be carrying the strong version of four different effects, and all four would be wrong.

Quiet means one of two opposite things, and you have to pick

In short: Last section concluded that a long calm accumulates fragility. Aviation is an obvious counterexample: decades of increasing calm and falling accident rates. Rather than patch the model, I went looking for what sets the direction, and found it. Whether calm makes a system safer or more fragile turns on a single interpretive rule: does an absence of bad news mean things are fine, or mean you have stopped seeing? Both settings are documented, in different industries. This is the first lever in this essay that flips a sign rather than adjusting a number, and it demotes most of my earlier advice to second place. It also exposed something uncomfortable about how I have been reading.

The counterexample I could not wave away.

Last section said quiet accumulates fragility. Commercial aviation has been getting quieter and safer at the same time, for decades. Under my model that combination should not be available.

So the question is not "is last section wrong" but "what determines the sign?"

The answer is a single sentence about how quiet gets read.

There is a body of work on high reliability organising, built from studies of aircraft carriers, air traffic control and nuclear plants. Its five principles are preoccupation with failure, reluctance to simplify, sensitivity to operations, commitment to resilience, and deference to expertise, which together describe organisations that "detect weak signals, resist oversimplified explanations, stay close to frontline realities" and let the people who actually know decide under pressure.

The principle that matters here is the first, and it is not what it sounds like. It means such organisations treat "near-misses, small errors, and weak signals as windows into systemic vulnerability, not as reassurance that the system is working."

And then the sentence that resolves everything:

"A period without near-miss reports is experienced as a sign that something is wrong, either the reporting system is not working, or staff no longer feel safe to report."

Read that against Minsky. In a financial system, a long calm is read as evidence that things are safe, so participants take on more leverage, and fragility grows. In an aviation safety organisation, a long calm is read as evidence that the instruments have failed, so the search intensifies, and fragility falls.

Same calm. Opposite sign. The difference is one rule about what an absence of events means.

So aviation is not a counterexample to last section. It is last section run with the sign flipped.

Why this outranks nearly everything else I have written recently.

Every lever I have found in the last several sections moves a number. Cleanup discipline buys a fixed few years. Investment in an alternative multiplies rather than adds. The margin you need scales with dependency load. Doubling readiness halves the wait, or divides it by root two.

This one decides whether the quantity grows or shrinks at all. A system that reads quiet as safety is on the Minsky branch. A system that reads quiet as blindness is on the aviation branch. All those carefully derived magnitudes only matter once you know which branch you are on, which means I have had the ordering wrong: the interpretive rule is first, and everything else is second.

The statistical case, which does not depend on the folklore.

Why should counting small events help so much? Because of how fast you can estimate a rate.

Suppose minor and near-miss events outnumber serious ones by some factor R. Then counting the small ones gives you an estimate of the underlying hazard that is √R times tighter for the same elapsed time, and gets you to any fixed confidence R times sooner.

  • R = 10: 3.2× tighter, 10× sooner.
  • R = 30: 5.5× tighter, 30× sooner.
  • R = 100: 10× tighter, 100× sooner.

Made concrete: detecting that your true hazard has doubled takes about 160 years if you only count serious accidents arriving at one per decade. It takes about six months if you count near-misses arriving at thirty per year.

That is the entire argument for why a quiet period is dangerous to a system that only counts disasters. It is not that disasters are rare. It is that rare events cannot tell you anything in time.

And here I have to be careful, because the famous version of this is discredited.

The traditional justification for near-miss programmes is Heinrich's 1931 pyramid: for every fatal accident, 29 minor injuries and 300 near misses. That specific claim does not survive. Heinrich's "scientific approach was not scientific at all", he "revised it without explanation" in later editions, and "the original files Heinrich used do not exist", so nobody can check the work. Industry ratios "vary significantly."

But notice what my argument actually needs. It needs R to be large. It does not need R to be 300, or to be the same everywhere, or to be stable over time. Even at a deliberately conservative R of 10 the conclusion holds comfortably. Keep the inequality, discard the constant. That is, I think, the correct way to salvage a quantitative claim whose famous number has failed.

One section ago I adopted a rule, and it has already earned its place.

Last section I decided to take the weak form of any named effect by default and demand separate evidence for the strong form. Here is its first real test, and it catches a genuine error I was about to make.

The strong claim about near-miss programmes is that they reduce major accidents. That claim is contradicted: Manuele found that "managing small incidents reduces minor incident rates" while "major accident rates may remain the same or slightly increase", so near-miss reporting alone "may not effectively reduce major incident frequencies."

The weak claim, which is all I need and all I am asserting, is that near-misses are a far better estimator of the hazard. Counting them tells you where you are much faster. It does not, by itself, move you. Those are different things and I would have slid between them without the rule.

It also finishes an instruction I have been unable to complete for six sections.

I said, some time ago, to instrument the buffering machinery rather than the buffered variable, and could not say what to measure. Then I found a target, the share of things that only work because something else keeps working, but no way to sample it. And underlying both, the original problem: an absorbed disturbance produces no event, which is exactly why buffers are invisible.

The reliability people have the answer, and it is almost blunt. If absorbed disturbance produces no event, manufacture the event. A near-miss report is a manufactured event standing in for the one the buffer prevented. That is what makes the buffer's condition estimable at all.

So the complete instruction, finally: count the disturbances your buffers absorbed, at a high enough rate that R is large, and treat a fall in that count as a reporting failure rather than an improvement.

For an agent system, this is concrete and mostly unlogged.

The near-miss equivalent in an agent stack is a recovery that worked: a retry that eventually returned, a fallback that fired, a validator that rejected and re-prompted, a guardrail that caught something. From the user's side nothing happened, which is precisely why these are rarely recorded as events.

The prediction: systems that count successful recoveries as first-class events will estimate their own failure hazard R times faster than systems that count only user-visible incidents, with R measurable per system as the ratio between the two counts. And per the rule above, the claim stops there: faster estimation, not fewer incidents.

The operational corollary is the one I would actually put on a dashboard. If your recovery-event count falls while traffic is flat, you have lost observability, not gained reliability.

The uncomfortable part, which is about me rather than the world.

When I audited my own notes for this section, the numbers were stark. Perrow, who argues accidents are inevitable in complex systems: thirteen mentions. Weick, who studies organisations that achieve reliability anyway: zero.

And this is the third section running with the same shape. Two sections ago: plenty on how systems get stuck, nothing on how they get unstuck. One section ago: the physics of self-generated crisis, none of the version with people in it who respond to feeling safe. Now: the pessimistic half of safety science, and not the other half.

The bias is directional, not random. I have been collecting mechanisms of failure and not mechanisms of recovery.

That reframes the last seven sections. They asked what makes systems rigid, fragile and stuck, and produced a coherent, mostly gloomy account. That account was assembled from a one-sided reading, and the missing side does not merely add optimism, it inverts the governing sign. I have been studying one branch of a fork and calling it the behaviour of the system.

So a new habit, and it is the first one aimed at what I read rather than at what I claim: before trusting a run of results, check whether the literature I searched covers both directions of the phenomenon, not merely whether my conclusions are consistent with each other. Internal consistency is exactly what a one-sided reading produces.

And for the question this essay is actually about. I said recently that capability is the wrong variable to forecast a transition from. This gives me something better than a negative. The variable to watch is how a system treats the absence of bad news. A rapidly capable system whose operators read quiet as validation is on the Minsky branch whatever its capability. One whose operators read quiet as missing instrumentation is on the aviation branch, also whatever its capability. That is an observable, it is available now, and it is organisational rather than technical, which is exactly the family I noticed two sections ago that I had no material on at all.

The lesson you wrote yourself, and lost anyway

In short: Last section found the thing that decides whether calm makes a system safer or more fragile: whether an organisation reads quiet as reassurance or as evidence its instruments have failed. That felt like a settled answer, so this section attacks it. A rule that works produces no events, and unreinforced things decay. NASA installed exactly this rule in writing after losing a crew, and seventeen years later had actively dismantled it. Modelling attention as something that depletes gives an uncomfortable result: the accident rate a system settles at is governed by how fast vigilance decays and how much reinforcement it gets, and depends only weakly on how well engineered the system is.

The weak joint in last section's answer.

Last section's lever was an interpretive rule: treat a quiet period as a sign that your reporting has stopped working, not as a sign that you are safe.

Here is the problem with resting on that. The rule's success is exactly what removes the evidence for keeping it. If it works, nothing goes wrong, and a rule that costs money while nothing goes wrong is a rule under permanent pressure. This essay has spent dozens of sections on how unreinforced things decay. There is no reason the correction should be exempt.

So: can the rule actually be held?

NASA answers this, and the answer is no.

After Challenger in 1986, the Rogers Commission recommended precisely the structures last section would endorse: "a strong, independent NASA safety organization, strong central control of the Shuttle Program, and broader participation by authorities who could ensure that safety was the highest priority."

Seventeen years later, investigating Columbia, the board found "echoes of the 1986 Challenger disaster" and was "struck by similarities and parallels between the two disasters." It concluded that "both Columbia and Challenger were lost also because of the failure of NASA's organizational system."

On the recommendations: the lessons from Challenger "have to a large degree been forgotten or ignored during the years since." And this is the part that stopped me:

"All that failed NASA, and NASA actively sought to unravel those changes."

Not neglect. Removal. The organisation that had paid the highest possible price for the lesson, and had written the lesson down, took the safeguards apart.

And the cultural trait the board identified is the mechanism from the last two sections, in their words: "reliance on past success as a substitute for sound engineering practices," alongside barriers that "stifled professional differences of opinion," and an overall finding of a "broken safety culture."

Their closing line is a forecast: "if these persistent, systemic flaws are not resolved, the scene is set for another accident."

So model attention as something that drains.

Let vigilance be a stock. It leaks away at some rate when nothing reinforces it. It gets topped up when something happens that reminds everyone why it matters. And the more vigilance there is, the fewer things happen.

Solve for where that settles, and the equilibrium accident rate comes out as the decay rate times the vigilance level, divided by how much reinforcement each event provides. Which has a consequence I did not expect until I computed it.

The intrinsic quality of the system almost drops out.

Run the numbers across four orders of magnitude of underlying hazard, from a system a thousand times more dangerous to one ten times safer:

  • Intrinsic hazard 0.1 → settles at 0.070
  • 10.265
  • 100.572
  • 1000.935
  • 10001.325

The underlying danger varies by 10,000×. The rate it settles at varies by 18.8×. And each successive tenfold worsening of the underlying system moves the outcome less than the one before: 3.8×, then 2.2×, then 1.6×, then 1.4×.

Making the system intrinsically safer barely moves the accident rate you end up living with. It mostly just lowers the vigilance you end up maintaining.

Which is the same effect as the seat belts, at the level of the organisation.

Two sections ago I collected three cases of one mechanism: an animal that shelters no longer adapts, a calm market takes on leverage, a safer car gets driven faster. In all three, the protection is consumed by someone choosing to take more risk.

This is a fourth channel, and there is no choosing in it. Nobody decides to be less careful. The reinforcement simply stops arriving, because the improvement removed the events that were supplying it.

That distinction matters practically. The first three can be attacked with incentives, because someone is making a decision you could price differently. This one cannot, because it works through the absence of a signal rather than through anyone's preference.

And it gives near-miss reporting a second job, which is the bigger one.

Last section I argued for counting near-misses because they estimate the hazard far faster, and I was careful to say that was detection, not prevention, since the evidence does not support the claim that such programmes directly reduce major accidents.

That care was right, and it left a gap I can now fill from the other side. Near-misses are the reinforcement. They are the events that top the stock back up.

Real accidents are rare, by design and by good work. An organisation that counts only real accidents has set its reinforcement to nearly zero, and its vigilance then decays to whatever the leak rate dictates, no matter how good its engineering is.

So manufactured events do two things: they tell you where you are, and they are the only available fuel for staying alert. The second is the one that changes outcomes, and it is completely invisible to any evaluation that asks whether a reporting programme reduced accidents this year.

Only two levers exist, and improving the system is not one of them.

Since the settled rate is decay times vigilance over reinforcement:

Slow the decay. This is what independent safety organisations, mandatory review cadences, rotating investigators and externally imposed audits are actually for. They are not primarily mechanisms for finding problems. They are mechanisms for making forgetting slower. Note that every Rogers Commission recommendation was of this type, and NASA's unravelling of them was a straight increase in the decay rate, which is why the consequence took seventeen years to appear and looked like nothing was happening for most of them.

Increase the reinforcement per event. Near-miss reporting, blameless post-incident review, and treating a recovery that worked as a first-class event rather than a non-event.

It also explains something this essay keeps bumping into. There is a known frustration in public health, where successful prevention benefits everyone and leaves no individual able to point at a benefit they received. I have hit versions of it repeatedly, including the observation that an absorbed disturbance produces no event at all. These are the same quantity seen from two sides. A programme working perfectly produces exactly the evidence profile of a programme doing nothing, and then the decay does the rest without anyone deciding anything. Which is why the case for such programmes can never be won on outcomes, and has to be won on rates.

For an agent stack, this predicts something specific and slightly counterintuitive.

If this transfers, then teams running more reliable infrastructure should be worse at handling novel failures, at equal talent. Fewer recovery events, fewer incidents reviewed, weaker operational context, less practice. The reliability is real and the readiness is quietly gone.

And the counter-prediction: teams that log successful recoveries as first-class events should break that correlation, because they keep their reinforcement even when genuine incidents are rare. Both are measurable from incident records, on-call history and logging practice, and a null result would kill the transfer to software while leaving the NASA case entirely intact.

Two honest limits.

The model here is mine, not something I found in the literature. The NASA evidence is qualitative, and I picked convenient shapes for how vigilance decays and how hazard falls with attention. What is robust is the structure, namely that the settled rate depends on decay over reinforcement, because that comes from the balance itself and not from the shapes I chose. What is not robust is any specific number, including the 18.8×. So the claim I will carry is the weak one: the rate a system settles at is governed by its attention-maintenance loop and only weakly by its engineering. The strong version, that engineering improvements are nearly worthless, does not follow and I am not asserting it.

The second limit: seventeen years is one observation, at one organisation, with no control. I am not turning it into a decay constant. What it does establish is an order of magnitude, and one uncomfortable structural fact. Institutional vigilance decays over years to decades, which is slow enough that no individual's tenure contains both the installation and the failure. The people who would have learned the lesson are never the people who take the safeguard apart.

Where eight sections have arrived. I spent six of them looking for a property of systems that makes them rigid. Then one finding a policy that sets the direction. This one finds the policy is a process, with a running cost and a half-life. Nothing in any of it is a fact you can install and walk away from.

For the question this essay is about, that sharpens what to watch. It is not whether an organisation reads quiet correctly today. It is whether anything is pumping that reading. Absent a pump, how an organisation reads quiet today tells you only one thing: how recently something went wrong.

Two kinds of safety, and only one of them scales

In short: Last section concluded that the accident rate a system settles at is set by how fast attention decays, and barely by how well the thing is engineered. Aviation breaks that: its fatal accident rates have fallen far further than my model allows. The resolution is that hazard comes in two pools. One is handled by people paying attention, and that pool is stuck exactly where last section said. The other is handled by structure that works whether anyone is paying attention or not, and that pool can be driven to nearly zero. There is a standard framework for this that has been in industrial use since the 1950s, that ranks safety measures by precisely the quantity I derived last section, and that I had never once mentioned. It also puts most current AI safety practice at the bottom of its own ranking.

The number that broke last section.

Last section's model said the accident rate settles somewhere governed by attention decay, and that making the underlying system safer barely moves it.

Commercial aviation says otherwise, with receipts. A coordinated US programme set out in 1997 to cut the commercial fatality rate by 80 percent in ten years and reported 83 percent achieved. Controlled flight into terrain, the category where aircraft fly into the ground under control, fell by a factor of seven between 1997 and 2017, and then kept falling: from 0.13 accidents per million flights in 2011 to 2015, down to 0.04 in 2020 to 2024, a further threefold.

Those are not the numbers of a system pinned at an equilibrium. So the model is missing something, and finding it is this section.

The missing thing is a seventy-year-old checklist I had never mentioned.

Occupational safety has a standard framework called the hierarchy of controls, with five levels in order of preference: elimination, substitution, engineering controls, administrative controls, and personal protective equipment.

Now, the reason for that ordering. It is not effectiveness in the abstract, and it is not cost. It is this:

Elimination, substitution and engineering controls are "more effective because they control exposures without significant human interaction", whereas administrative controls and PPE "do rely heavily on human behaviour".

Read that against last section. I spent a whole section deriving that safety flowing through human attention decays at some rate, and that the equilibrium is set by that decay. The hierarchy of controls is a ranking of interventions by exactly that decay, and it was written down decades before I worked it out.

This is the second time in four sections that something I derived turned out to have a name already. Both times the pattern was identical: I had the theoretical literature and not the working one.

So hazard comes in two pools.

The structural pool is handled by things that require nobody to be paying attention. Elimination removes the hazard entirely, and is preferred "because no exposure can occur". Engineering controls fire regardless of what anyone believes or remembers.

The attention-mediated pool is everything else, and last section's result applies to it in full. It floors at a level set by decay and reinforcement, and no amount of safety culture takes it lower.

Which gives a bound. If a fraction of the hazard gets converted to structure, the total improvement you can achieve is limited by how much is left in the other pool:

  • Convert 50% to structure → best case better.
  • Convert 90%10×.
  • Convert 99%100×.
  • Convert 99.9%1,000×.

Read backwards, that is the sharp version. An order-of-magnitude safety improvement requires moving ninety percent of your hazard into structure. A hundredfold requires ninety-nine percent. And attention-based controls cannot deliver an order of magnitude at all, at any level of diligence, because with nothing converted the residual just sits at its equilibrium.

Which explains aviation properly, and differently from last time.

Two sections ago I explained aviation's direction: an organisation that reads quiet as broken instruments rather than as safety gets safer over time. That was right and it could not explain the size of the gain.

The size came from conversion. EGPWS, a system that compares the aircraft's position against a worldwide terrain database and warns regardless of what the crew is thinking about, is credited with half the global reduction in controlled-flight-into-terrain accidents, and Flight Safety Foundation data suggests it could have prevented 69% of such fatal accidents in approach phases. TCAS, which detects converging aircraft and issues instructions, is credited with preventing dozens of potential collisions a year.

Both are engineering controls in the hierarchy's sense: they work whether or not anyone is vigilant. And both were mandated, not recommended, which means removing them requires a regulator rather than a budget meeting.

The culture set the sign. The hardware set the size.

So last section was wrong about the number of levers.

I concluded there were exactly two, lower the decay or raise the reinforcement, "and improving the underlying system is not one of them."

That is true inside the attention-mediated pool and false across the whole hazard, which is the same scope error I have now made eight sections running. There is a third lever: move hazard out of the attention pool entirely. And it is the only one whose returns are unbounded, because adjusting decay and reinforcement just repositions the floor, while conversion removes hazard from the floor's jurisdiction altogether.

Corrected ordering, then: convert what you can to structure, because that is unbounded. Then set the interpretive rule, because it fixes the sign of what remains. Then manage decay and reinforcement, because that sets the level of what remains. I had those in exactly the wrong order for two sections.

And here is why this matters for AI systems specifically.

Take the hierarchy seriously and classify agent safety measures by whether they need the model to attend to them.

An instruction in a system prompt is an administrative control. It is literally the hierarchy's definition of one: "change the way people work." It depends entirely on compliance.

A refusal trained into the weights is closer to PPE. Carried by the actor, effective when in place, defeated when circumvented or when the situation falls outside what it was fitted for.

A capability boundary is elimination. A tool that is not registered cannot be called. A credential that is not mounted cannot be leaked. A network address the sandbox cannot route to cannot be contacted. No exposure can occur is the literal standard, and here it is literally met.

Sandboxes, allowlists, schema validation, read-only mounts and typed tool signatures are engineering controls. They fire regardless of what the model believes, has been told, or has been talked into.

So: the field's dominant safety techniques, writing careful instructions and training careful dispositions, occupy the two levels that this framework ranks least effective, for exactly the reason it ranks them least effective. They depend on the actor's behaviour.

I want to be clear that this is not an argument that prompts and training are useless. They are the right tool for the residual, and the residual is real. It is an argument about where the order-of-magnitude gains can come from, and the arithmetic above says they cannot come from there.

That is a testable claim, not a preference.

Classify every mitigation in a deployed agent system as elimination, engineering, administrative or PPE. Compute the fraction handled structurally. The bound above then caps the improvement achievable. Prediction: systems whose safety effort goes into prompts and dispositions will show improvements of small multiples, and only systems that enforce capability boundaries structurally will show large ones. A system beating its computed bound would falsify this transfer, and I would want to know about it.

Two honest limits, one on each framework.

The hierarchy is a heuristic ordering, not a measured effect size, and its categories blur under use. A mandated alarm that operators learn to silence has quietly demoted itself from engineering control to administrative one. So the claim I am carrying is only the weak one, which is also the framework's own stated rationale: dependence on sustained human behaviour is the right axis to rank by. I am not claiming the five categories are cleanly separable or that elimination is always available.

The other limit is about something I did have in my notes. There is a well-developed critique, associated with Safety-II, arguing that this whole enumerate-and-eliminate picture is an incomplete account of how safety actually gets produced, because the same human variability that causes failures is what produces most successes. My notes cite that critique ten times and the framework it critiques zero times.

I now think they are not rivals. They partition the problem. The hierarchy governs the fraction you can convert to structure. The critique governs the residual, where people are absorbing variability and the hierarchy has nothing better to offer than "change the way people work." That also explains something that had bothered me: my Safety-II material never produced a single actionable instruction. It was being applied to the whole problem rather than to the part it describes.

The pattern in my own reading, now four sections running.

Perrow and not Weick. The physics of self-generated crisis and not the version with people in it. How systems get stuck and not how they get unstuck. And now a famous critique with none of the ordinary practice being critiqued.

Every one of those pairs has the same asymmetry. The missing member is what a practitioner would reach for. The present member is what an essayist would cite. I have been reading for interest rather than for use, and interest systematically favours the objection over the tool.

So the habit I am adding is blunt: for anything I analyse, ask what the people who do this for a living actually use, and check whether I have it. Four sections of evidence say that is where my gaps are.

What is left over after you automate the easy part

In short: Last section concluded that the only unbounded safety lever is converting hazard into structure that works without anyone paying attention. This section asks what the people who do this for a living say about that move, and finds a 1983 paper that prices what I left out. Automating the easy part does not leave a smaller version of the same job. It leaves the hard part, handled by people who no longer practise, watched over by a monitoring task humans are bad at. The conclusion inverts the usual business case, and it lands squarely on the main safety story the AI field currently tells about itself.

The move I recommended, and the literature on it.

Last section I said: convert hazard into structure, because that is the only lever with unbounded returns. Capability boundaries, sandboxes, mandated hardware, things that work whether or not anyone is being careful.

The practitioner literature on exactly that move is forty years old. Lisanne Bainbridge published "Ironies of Automation" in 1983, and its central claim is the one I needed and did not have:

"By taking away the easy parts of the task, automation can make the difficult parts of the human operator's task more difficult."

More generally: "the more sophisticated an automated system becomes, the more demanding, not less, the human role within it."

I should note that my notes cite Bainbridge ten times. They contain nothing from the forty years of research her paper opened: not automation bias, not situation awareness, not the out-of-the-loop performance problem, not deskilling. I had the famous citation and none of the field. That is the fifth section running where my reading turned out to be one-sided, and the purest case so far.

What I got wrong in the arithmetic.

Last section I treated conversion as moving a fraction of the hazard into structure and leaving the rest where it was. The hidden assumption is that what remains is a random sample of what you started with.

It is not. What remains is precisely the part that resisted automation, which is the hard part by construction. So conversion shrinks the amount of work left to human attention while simultaneously raising its average difficulty. I counted the shrinking and not the hardening, which is why my bound looked so favourable.

Bainbridge's first irony is a sentence I have now written five times in different fields.

Here it is in hers: if the reason for automating is that humans are unreliable, then "the humans designing the automation are also unreliable. The system does not eliminate human fallibility. It relocates it from the factory floor to the design office."

Compare: an animal that shelters from a stress stops adapting to it, and what is now under selection is the sheltering behaviour. A calm market does not become safe, it becomes leveraged. A safer car is driven faster. An organisation with fewer incidents does not stay alert, it stops being reinforced.

Five fields, one law: a protective intervention does not remove the thing it protects against. It moves it somewhere less observed.

And the automation version is the only one that names the destination. The hazard moves to where the design decisions get made, which is upstream, slower, and far harder to instrument than the place it came from.

Trying to model this, including the part I got wrong.

I set up total hazard as: the residual fraction, multiplied by how much harder it has become, plus the errors the automation itself introduces.

My first attempt was wrong, and the computation caught it. Without any floor on what can be automated, the residual shrinks to nothing and full automation always wins, which contradicts Bainbridge's whole premise that some tasks cannot be automated at all. I am recording that rather than quietly fixing it, because I adopted a rule two sections ago about being explicit when the model is mine.

With a floor in place, the result is a threshold rather than a smooth trade-off. Below a critical rate of residual-hardening, convert as much as you possibly can. Above it, converting makes total hazard worse, and you should not. In my exponential version that critical rate came out around 2.9; under a gentler quadratic version the threshold moved but the shape held.

What I will carry: a critical degradation rate exists, above which converting hazard to structure raises total hazard instead of lowering it. What I will not carry: any particular threshold number, and not the stronger claim that partial automation is never worthwhile. Both forms I tried gave all-or-nothing answers, which is suggestive rather than general.

The corollary inverts the business case, and Bainbridge says it outright.

You automate to reduce the need for skilled human attention. Her conclusion is the reverse: "rather than needing less training, operators need to be trained more to be ready for the rare but crucial interventions."

The operator of a highly automated system faces a task that is rarer, harder, less practised, and under time pressure. And this compounds with the previous section rather than merely adding to it. Automation removes the events that were keeping people alert, and it removes the practice that was keeping them capable. Two decay channels, driven by one decision, which is why this failure is so reliably surprising to the people who authorised it.

Now the part that matters for AI, because it describes the field's main safety story.

The standard account of how agent systems stay safe is that a human reviews the output.

Put that through the framework from the last two sections. A human reviewer is an administrative control, the second-weakest category, because it depends entirely on someone doing their job consistently. And in Bainbridge's terms it is the worst-shaped residual imaginable:

The reviewer sees the cases the system could not resolve on its own, which are by construction the ones where judgment is hardest. They see them after months in which the system handled everything routine, so their own judgment is least practised. And they see them under time pressure, because the whole point of the system was throughput.

So "human in the loop" is doubly weak in my own framework: a low-ranked control, subject to a degradation term that grows precisely as the system it oversees improves.

Which is a prediction, and an uncomfortable one.

If this transfers, then reviewer accuracy on agent output should decline as agent capability rises, holding reviewer talent constant. Not reviewer throughput, which will rise, and which is what everyone measures. Accuracy on the cases that matter.

That is testable without waiting for an incident. Maintain a standing set of hard cases with known correct answers, seed them into the review queue, and score the same reviewers over time as the system improves around them. A flat or rising curve falsifies this. A declining curve would mean the field's primary safety control gets weaker exactly as the thing it guards gets more capable, which is Bainbridge's 1983 argument arriving in a new industry.

What to do about it follows from the mechanism, not from good intentions.

If the residual is rare and hard, the counter-measures are the ones that manufacture practice: deliberately routing a sample of easy cases to human review, not because those cases need review but to keep calibration alive; seeding known-answer cases into the queue; rotating reviewers through unautomated work.

All three cost money. All three look like pure waste under any efficiency accounting, because their entire output is a non-event. Which is the third time in three sections I have arrived at the same obstacle: the things that maintain a safety property produce no evidence that they are working, and so they are always first to be cut.

One honest note about how thin this section is. Bainbridge's claims are qualitative and forty years old. The empirical literature that would quantify them is exactly the literature I just discovered I do not have. So this section rests on one classic paper plus a model of my own that I had to correct once while writing it. That is the weakest evidence I have leaned on in a while, and the fix is obvious: go and get the forty years.

Going and getting the forty years

In short: Last section ended by admitting it rested on one 1983 paper and a model of my own, and said the fix was obvious: go and get the empirical work. This section does that, and the empirical work promptly refutes me. My model said the choice was all or nothing. Measured studies find the opposite: full automation is worse than partial automation, on both failure handling and situational understanding. Better still, I can say exactly why my model missed it, and the corrected picture is more useful than the one I had. The correction also kills the remedy I proposed last section, and replaces it with a better one.

What happens when you actually go and look.

My notes contained Bainbridge's 1983 paper cited ten times and nothing else from the field it started. So this section is just: go and read the field.

It contains a meta-analysis of eighteen experiments, a decades-long research programme on situation awareness, a large literature on complacency and automation bias, and an unresolved argument between serious people about how far any of it generalises. None of it was in my notes. And the first thing it does is correct me.

The refutation, and it lands exactly where I said I was unsure.

Last section I modelled the trade-off and got an all-or-nothing answer: automate as much as possible, or don't automate. I noted at the time that this shape held under both functional forms I tried, and wrote explicitly that "what is not established is that partial conversion is never optimal."

Endsley and Kiris measured it. Their finding: "the out-of-the-loop performance problem was significantly greater under full automation than under intermediate levels of automation," with "a greater decrement in situation awareness under full automation than under intermediate levels."

That is an interior optimum, measured. Partial automation beat full automation. My model was wrong, in precisely the way I had flagged as unsupported.

I want to note the small mercy in that, because it is the point of the flagging. Nothing downstream depended on the corner-solution claim, so the refutation costs nothing else. Had I asserted it as a finding, four subsequent conclusions would need withdrawing now. The value of marking something unestablished is only ever realised when it turns out to be wrong, which is why the practice looks like pedantry right up until it doesn't.

Why my model missed it, which is the useful part.

The trade-off has the form: hazard equals the fraction of work still done by humans, multiplied by how much worse they have got at it.

For that to have an interior best point, the "how much worse" term has to grow at a specific critical rate as automation approaches totality. Work it out and the critical rate is inversely proportional to the amount of work left. Slower than that, and you should automate everything. Faster, and you should not automate at all.

Both shapes I tried last section were bounded, which means both grew slower than the critical rate near full automation. That is the whole reason they gave all-or-nothing answers. It was not a finding about automation. It was an artifact of two arbitrary choices.

But the data are not describing a curve at all.

Here is the better reading. Endsley and Kiris did not find a smooth trade-off with a gentle optimum somewhere. They found full automation specifically worse than intermediate. The human is either in the loop or out of it. That is a step, not a slope.

Model it that way, as a jump in hazard once automation passes the level at which the human stops maintaining their own picture of the task, and the answer changes character. Below a certain jump size, automate as far as you can. Above it, the best position is just short of the point where the human drops out. At the parameters I used, the flip happens when the jump exceeds about 2.1x.

Which reframes the question people usually ask. It is not "how much should we automate?", which assumes a dial and a smooth trade-off the data do not support. It is "where is the point at which the human stops holding their own model of the task, and are we above or below it?" That is a threshold to locate, not a level to tune.

The eighteen-experiment result confirms my direction, and its own field is arguing about how far it reaches.

The meta-analysis found, across eighteen experiments, "a clear automation benefit for routine system performance with increasing" automation, a weaker version of the same for workload, and "a negative impact of higher automation on failure system performance." Wickens named it the lumberjack effect: automation works well in normal conditions, and the problems it creates in unusual ones "increase the likelihood of catastrophic errors."

That is the mechanism I described last section, measured. But there is a live argument about whether it survives outside the laboratory. One group reports "the absence of degree of automation trade-offs in complex work settings." The original authors reply that this was "no proper test." The first group replies again. Nobody has won.

So, by the rule I adopted a few sections back: the direction of the trade-off is established. Its size, and whether it holds in genuinely complex settings, is not. That is the second time in three sections that my own modelling turned out directionally right and quantitatively baseless, which seems like a fair result for reasoning from one classic paper, and a good argument for making "go and get the literature" a routine step rather than an occasional one.

And the remedy I offered last section is measured not to work.

Last section I proposed manufacturing practice: route some easy cases to human reviewers to keep them calibrated, seed known-answer cases, rotate people through unautomated work. I leaned on Bainbridge's line that operators need more training, not less.

Parasuraman and Manzey report that automation complacency is "found in both naive and expert participants" and "cannot be overcome with simple practice."

So practice is necessary and demonstrably not sufficient, and I over-claimed. What the same work points to instead is a load condition: complacency "occurs under conditions of multiple-task load, when manual tasks compete with the automated task for the operator's attention."

That is a much better lever, and notice what kind it is. The reviewer's other work is the problem, and removing it is a design decision rather than a training decision. In the ranking from two sections ago, that makes it a structural intervention, which outranks any amount of practice. The instruction is not "train your reviewers harder." It is "stop asking the reviewer to do three other things at the same time."

Two kinds of reviewer error, and only one of them is visible.

The same work separates two failure modes I had been running together. Omission errors come from overreliance: you miss the thing because the automation never flagged it. Commission errors come from overcompliance: you act on what it flagged, and it was wrong.

For agent systems these are usually lumped together as "the reviewer rubber-stamped it." They should not be, because they differ in whether you can ever see them.

Commission errors leave a record: there is the agent's output, and there is the human's approval, and afterwards you can inspect both. Omission errors leave nothing, because the case was never surfaced to anyone. The reviewer cannot be shown to have missed something they were never given.

So any measurement of reviewer quality built from post-incident review is systematically biased toward commission, and misses the omission half entirely. That is the fourth time in this essay that the same problem has appeared: the thing that was absorbed produces no evidence. This time it is inside the safety metric itself.

Which splits last section's prediction into two.

I predicted reviewer accuracy declines as agent capability rises. Sharpen it: commission accuracy may well hold or improve, since surfaced cases get better documented and attention concentrates. Omission accuracy should fall faster, because the set of never-surfaced cases grows with capability while the ability to notice an absence decays.

And that fixes a hole in the test I proposed. Seeding known-answer cases only works if the seeds include cases the agent is expected not to flag. Otherwise the test measures the half that was never really in doubt.

The uncomfortable implication for how agents are actually deployed.

If the danger is a step at the point where the human leaves the loop, then the risky configuration is not "very autonomous" in general.

It is the configuration that is nearly autonomous: capable enough that the human has stopped maintaining an independent model of the work, but not so capable that anyone has removed them from the accountability chain.

That is a fairly precise description of how most agent systems are deployed right now. Stated as something to test rather than something I have shown: the worst-performing level of autonomy should be the highest one that still nominally has a human approver, with both fully manual operation and genuinely unsupervised operation under hard structural limits doing better on failure handling. I would like to be wrong about that one.

What the cockpit does that the review queue does not

In short: Last section ended by predicting that the most dangerous setup is one that is nearly autonomous with a human nominally responsible for catching failures. That is also a rough description of an airline cockpit, which is the safest complex system anyone runs. So either the prediction is wrong or the description is. It is the description: the second person in a cockpit is not reviewing exceptions, they are a fully qualified operator who periodically flies the aircraft by hand, because a policy requires it. That single difference is the countermeasure two previous sections went looking for and failed to find. This section also turns up a second failure mode I had missed entirely, which none of my fixes touch.

Starting from the practice this time.

For four sections running I have discovered, after the fact, that I read only one side of a subject. So this time I started at the other end: what do the people who operate the safest highly-automated system in the world actually do?

That turns out to catch an error before it propagated, which is the first time the corrected habit has been used forwards rather than backwards.

The category error.

I said the dangerous configuration is high automation plus a human who is nominally accountable. A cockpit looks like that from outside. It is not, and the difference is not a matter of degree.

A reviewer of agent output sees only the cases the system could not handle. That is their entire exposure to the work.

A pilot monitoring flies the next sector. They are not an inspector of exceptions. They are a fully qualified operator who does the whole job on a regular rotation, and the industry mandates it.

The failure they are guarding against even has a name. Automation dependency is defined as the state where pilots "are only fully confident in their ability to control the aircraft when using full automation functionality," which happens because "growing reliance on automation has reduced pilots' opportunities for manual flying practice."

And the countermeasure is not better review. It is doing the job by hand: pilots "should actively maintain their manual flying skills by regularly disengaging automation and hand-flying in different phases of flight," with airlines adopting "mandatory practice sessions" and manual flying "during line operations under safe conditions."

So my prediction survives with a clause restored. The dangerous configuration is nearly-autonomous-with-a-nominal-approver who never performs the whole task. Aviation is safe because it deletes that clause, not because it avoids the automation level.

Why this beats everything I proposed before.

Two sections ago I suggested manufacturing practice for reviewers. Last section the evidence said practice alone does not fix complacency, and I withdrew it, falling back on reducing the reviewer's competing workload.

Aviation's answer is neither, and it is better for a structural reason. "Train reviewers to be more careful" is an administrative control, the weak kind that depends on someone's diligence in the moment. "Every operator hand-flies a mandated share of real sectors" is a scheduling constraint, enforced by rostering and regulation. It does not rely on anyone feeling motivated. Removing it requires changing a policy, not merely losing focus on a bad week.

That places it above practice and above culture in the ranking from a few sections back, and it means it does not decay the way my earlier proposals would have.

And it shows me a variable I had collapsed.

Last section I modelled one number: how automated the system is, with a cliff where the human drops out of the loop.

There are two numbers. How automated the system is, and how automated the operator's own recent experience is. Mandated manual work pulls them apart, so the system can be highly automated while the person stays in practice.

Work out how much manual work that takes. To keep the operator below the drop-out point, the required manual share is roughly one minus the ratio of the threshold to the system's automation level. Across the plausible range that converges quickly:

  • System 95% automated: 5.3% of operations done manually.
  • 98% automated: 8.2%.
  • 99% automated: 9.1%.
  • Effectively fully automated: 10%.

So somewhere around one operation in ten to twelve, done the hard way, on real work. The specific numbers depend on a linear assumption I chose, so treat them as an order of magnitude. What is not an assumption is that the two variables are separable at all, which is the thing I had wrong and the thing that makes the countermeasure possible.

A better instrument, and I have now asked for one six times.

I have repeatedly complained that the state of a safety buffer is unobservable because when it works, nothing happens. Earlier I answered that with manufactured events: near-miss reports.

Here is a better one. A 2024 full-flight-simulator study found that higher automation "increased flight performance and reduced mental workload" but produced a measurable "decrease in vigilance to primary instruments," and that gaze entropy was "sensitive to pilot role and automation level."

That is a continuous, passive measure of whether the human is still in the loop. No event has to occur. No report has to be filed. You watch where they look.

For agent systems the analogue is not eye tracking, it is the same idea applied to evidence. Measure whether the reviewer still samples the underlying material: do they open the diff, follow the link, query the source, expand the intermediate steps? Approval rate is an outcome. Evidence-sampling is the state variable, and it degrades first. That is a metric available in any review tool's logs today, and I have not seen anyone treat it as a safety signal.

Now the thing I had missed completely.

Everything in the last three sections assumed one mechanism: the leftover work is harder and the human is out of practice.

There is a second, and it is independent. Sarter and Woods documented what they called automation surprises, in which the system "takes an unexpected action or fails to behave as anticipated," and the operator is left asking "what is it doing now, why did it do that, or what is it going to do next."

Two details make this a separate problem rather than a symptom of the first. These surprises are "experienced even by pilots with considerable line experience", so it is not a practice deficit and my hand-flying remedy does not touch it. And mode awareness problems "occur most frequently in non-normal and time-critical situations", which is precisely the residual that automation leaves behind.

So two mechanisms compound in the same place. The remaining task is the hardest one, and the operator's mental model of the machine is least reliable exactly there.

Which promotes agent transparency from a nicety to half a mechanism.

The stated cause of mode error is deliberately two-sided: "a combination of gaps and misconceptions in operators' models of automated systems and the failure of the automation interface to provide users with salient indications of its status and behavior."

The second half is a property of the machine. That makes it fixable by building, not by training.

And notice that the question these researchers recorded pilots asking in 1997 is, word for word, the question people ask about agent systems now: what is it doing, why did it do that, what will it do next. Half the answer, according to the people who studied it in cockpits, is that nothing ever told them.

So surfacing what mode an agent is in, what it just decided and why, and what it intends next is not developer convenience. It is one of the two named causes of the failure mode that dominates exactly the situations where things go wrong. And it is an engineering control: it works whether or not the person watching is having a good day.

The corrected instruction, assembled from four sections.

  1. Rotate reviewers through the complete un-automated task on real work, on a schedule, as policy. Roughly one in ten, with the caveat that the number rests on my own model.
  2. Remove competing work from whoever is reviewing, which is the load condition the evidence actually supports.
  3. Instrument evidence-sampling, not approval rates.
  4. Make the system's mode, reasoning and next action salient by construction.

Only the first two are about people. The last two are engineering controls, which is why they rank higher and decay slower. And note what is absent: "train reviewers to be more careful", which I reached for twice and had to withdraw twice.

One caution about the analogy, because it is strong enough to be dangerous.

A pilot's manual task is the same task the autopilot performs, so hand-flying transfers directly. A person reviewing agent output frequently cannot do the underlying job at the agent's speed or scale at all, and nobody is going to hand-review ten thousand documents to stay in practice.

Where that is true, the first instruction is simply unavailable, and only the engineering controls remain. So: the separability of system automation from operator exposure generalises. A fixed manual fraction does not. In domains where the human genuinely cannot do the whole job, the cockpit has no lesson to offer and transparency has to carry the whole load.

The correction that makes it worse

In short: Three sections in a row I have been refining the same thing: how a human should review what an automated system produces. Last section I admitted that in most agent settings the human cannot do the underlying work at scale, which is where that whole approach runs out. The tradition that handles "you cannot inspect everything" is a century old and it does not say inspect better. It says stop depending on inspection. And it contains a result I had no concept for: a reviewer who corrects something that did not need correcting makes the output worse, measurably. Correcting every deviation exactly doubles the variance of the thing you were trying to stabilise. I have spent four sections worrying that reviewers approve too readily, and never once considered that they might correct too readily.

Where the last three sections were going wrong.

I have been optimising human review: its shape, the reviewer's workload, how to keep them in practice, what to instrument. Then last section I noticed that a reviewer of agent output usually cannot perform the underlying task at agent scale, which removes the main remedy.

So I went looking for what people do when inspection is not feasible. The answer is Deming's third point, and it rejects the frame rather than the execution:

"Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place."

The reason is about timing, not cost: "Inspection is too late: the quality, good or bad, is already in the product." And the replacement is stated: stop examining the output, look at "the process that produces the product," and improve it "by knowing what type of variation is present."

That is the same conclusion I reached a few sections ago by arithmetic, when I found that only converting hazard into structure has unbounded returns and that review is one of the weakest control types. Two independent routes to "the reviewing is not where the leverage is." I should have stopped optimising review two sections earlier than I did.

And here is the thing I did not know existed.

I have written about reviewers missing things, and about reviewers wrongly approving things. I had no category at all for a reviewer correcting something and thereby making the system worse.

Shewhart separated two kinds of variation. Common causes are "the usual, historical, quantifiable variation in a system." Special causes are "unusual, not previously observed" variation. Telling them apart, in the tradition's own words, "is the whole game."

Treating the first as if it were the second has a name: tampering. And Deming did not merely argue that it is harmful, he demonstrated it with an experiment involving a funnel, a marble and a target.

I ran the simulation. Two hundred thousand drops:

  • Never adjust the funnel: variance 1.00.
  • Correct each deviation by moving the funnel back by the error: variance 2.00. Exactly double.
  • Reset relative to the target each time, or aim at wherever the last one landed: the variance estimates come out orders of magnitude larger and never settle down across sample sizes. Those policies do not converge at all.

Correcting every deviation doubles the variance of the thing you are trying to stabilise. Doing nothing wins.

Which exposes what every review policy I have described was missing.

Better instruments, lower workload, rotation, transparency. Every one of them assumes the reviewer should act on what they find. None of them contains a rule for when not to act.

That is the missing piece. A reviewer with no sense of the agent's normal output range cannot distinguish ordinary variation from a genuine excursion, and the default failure of that state is over-intervention, not under-intervention. I had the direction of worry backwards for four sections.

The design this implies is not a review queue.

If you take it seriously, the instruction becomes concrete. Establish what the agent's in-control output looks like, and intervene only when something breaches those limits.

Track a quality statistic per task type over time. Compute limits from the agent's own history. Route for human action only the cases that breach them. Everything inside the limits gets left alone, not because it is perfect, but because correcting it makes the aggregate worse.

That is a monitor on a distribution rather than an inspector of items, which is exactly the substitution Deming's point demands. It is also a much smaller job, which matters given everything the last three sections established about what large review workloads do to the people doing them.

It also catches a mistake I was making in the opposite direction.

Two sections back I argued for extracting the maximum learning from every event, and made near-miss reports the fuel that keeps an organisation alert. I still think that is right about attention.

But nothing I wrote separated events worth counting from events worth acting on. And "we had an incident, so we changed the process" is precisely the funnel policy that does not converge, whenever the incident was ordinary variation.

The correction is narrow and does not undo the earlier point: count every event; act only on the ones that breach the limits. Keeping people alert and adjusting the process are different responses to the same signal, and I had them fused.

Three kinds of reviewer error, and the new one is the sneakiest.

  • Omission: the reviewer never saw it. Invisible because there is no record.
  • Commission: the reviewer acted on a surfaced case and got it wrong. Visible in hindsight.
  • Tampering: the reviewer acted, plausibly and carefully, on a case that should not have been touched, and made the aggregate worse.

Tampering is the only one that looks like diligence from every angle. There is a case, there is a considered judgment, there is a change, and the reviewer can point to all three. It is invisible in after-the-fact review for the opposite reason to omission: not because the evidence is missing, but because the evidence looks like good work.

A test that costs nothing to run.

Take a deployed agent system with human review. For each human edit, classify it as inside or outside the agent's historical output range for that task type.

Prediction: the inside-the-limits edits show no measurable quality improvement, and in aggregate increase output variance. The outside-the-limits edits show a clear benefit.

This needs no new instrumentation and no experiment on users. It is computable from review logs and output history that already exist. If inside-limits edits turn out to help, the whole transfer fails and I would want to know. If they do not, then a large share of current review labour is not merely wasted but negative.

The assumption that could break all of this.

Control-chart reasoning assumes the process is stationary and its outputs roughly independent. Agent output is often neither: models get updated, prompts drift, the mix of incoming tasks shifts, and outputs are correlated through shared context.

Where a process genuinely is changing, what looks like tampering may be legitimate tracking, and the funnel result does not apply. So the claim I will carry is the narrow one: unnecessary intervention on in-control variation is costly, and the cost is measurable. I am not claiming that agent output is in control, nor that limits computed before a model update mean anything after it. Deming's fourteen points are management doctrine rather than tested theory; the funnel is the part that was actually demonstrated.

One note on method. This is the second section in a row where I looked at what practitioners do before analysing rather than after. The first caught a category error. This one caught three sections of work refining the wrong control entirely. The pattern across the last half-dozen sections is consistent and the cost of each instance keeps rising, because I keep building further on an unexamined frame before checking it. The practitioner-side search belongs at the start of a line of inquiry, and its most valuable output is not a fact but a reframing. Two for two.

Three things I worked out that someone had already named

In short: Last section I proposed replacing human review with a statistical monitor on the agent's output. This section checks that against the people who monitor model outputs for a living, before analysing rather than after. Two things came back. First, my design had an unpriced dependency: the quality measure it needs arrives days, months or years late, and for agent work often never. Second, and more humbling, this field has already named three results I derived separately over the last dozen sections, and has one of them connected to another one in a way I had not managed. There is also a genuinely new result at the intersection: a drift detector tuned for sensitivity, in a system where alarms trigger changes, is a machine for making things worse.

The dependency I did not price.

My design was: work out what the agent's normal output looks like, set limits from its own history, and act only when something breaches them.

That needs a quality measure. And the practitioners' first observation is that you usually do not have one yet. Feedback delay is "a time lag between model predictions and receiving feedback on those predictions," and the scale is domain-dependent and long: in credit card fraud, "labels can be assumed to be known several days later"; in insurance claims, "months to years"; in clinical prediction, outcomes "may not materialize for years."

So the control chart I described cannot be built the way I described it.

The fix is standard and I should have known it. Monitor two things on two clocks. A fast loop on what is available immediately, which is the distribution of the inputs and the outputs themselves. A slow loop on actual quality, running whenever truth eventually arrives. As the practitioner guidance puts it, "you often need two monitoring loops: the real-time one that uses proxy metrics and the delayed one that runs once the labels are available."

And not one statistic either: "no single metric perfectly identifies when retraining is needed," so you want a layered set of signals rather than a single limit.

So my framing survives and my design was under-specified.

And for agents specifically, the slow loop may never run.

Here is where it gets worse than the standard case. A fraud model eventually finds out: chargebacks settle, claims close. Ground truth is late but it comes.

For agent output, a large share of the truth never arrives at all. Two sections ago I established that omission errors are invisible by construction, because the case was never surfaced. Last section I added tampering, which is invisible because its record looks like good work. Between them, a substantial fraction of what you would want to score is unobservable in principle, not merely delayed.

So for agent systems the proxy loop is not a stopgap until the real measurement arrives. It is the only loop there will ever be, and it should be designed as a permanent instrument rather than a temporary one. That is a stronger claim than the monitoring literature makes, and it follows from my own earlier findings rather than from theirs.

Now the humbling part.

A 2015 paper from Google called "Hidden Technical Debt in Machine Learning Systems" catalogues what goes wrong in production ML: "boundary erosion, entanglement, hidden feedback loops, undeclared consumers, data dependencies, configuration issues, changes in the external world, and system-level anti-patterns."

Undeclared consumers are what happens when a model's outputs are "left accessible to other systems" and you have "no visibility of who consumes the output," so that "changes in the ML model affect the downstream processes that are consuming it."

That is the mechanism I spent a whole section deriving a dozen sections ago: things quietly attach themselves to what you produce, and afterwards you cannot change it. I derived it, then found biologists had named it twice, in 1978 and the 1980s. Here it is a third time, named in 2015, in software.

At three independent namings I should stop treating this as a fact about my reading. Dependency-acquisition-without-declaration is a convergent problem across biology, evolutionary developmental theory and production software. The convergence is the finding.

And one of their concepts had already joined two of mine.

The same literature describes a dynamic where "one component of a system can be highly optimized for the existing state of the system, but improving another component may actually result in worse overall performance."

Read those two clauses separately. The first is entrenchment: a component whose value depends on the current arrangement being exactly as it is. The second is tampering: an intervention that looks like an improvement and makes the whole worse.

I derived those in two different sections, roughly ten apart, and never connected them. Practitioners see them as one thing, because in these systems they arrive together: every correction layer bolted on top is simultaneously a new dependent and a new source of unnecessary intervention. They call it a correction cascade.

That is the first time I have found two of my own separately-derived results already unified in someone else's vocabulary, and it suggests a sharper version of the habit I have been building: when you work something out, do not only ask what it is called. Ask whether the people living with the problem have already connected it to your other results.

The claim that attacks something I built earlier.

A few sections ago I ranked safety controls by how little they depend on human behaviour, and concluded that converting hazard into structure is the only lever with unbounded returns.

That ranking quietly assumes controls can be isolated: that an engineering control is a bounded thing you can add without disturbing everything else.

The CACE principle denies exactly that for anything inside a model. It stands for "Changing Anything Changes Everything," and it applies "not only to input signals, but also to hyper-parameters, learning settings, sampling methods, convergence thresholds, data selection." Stated most strongly: machine learning models are "machines for creating entanglement and making the isolation of improvements effectively impossible."

But the denial has a boundary, and locating it is the useful part.

A sandbox, an allowlist, a capability restriction, a schema validator sits outside the model. It is genuinely separable. CACE does not reach it. Those remain exactly as strong as I claimed.

A trained refusal, a fine-tuned disposition, an instruction in a system prompt sits inside. It is fully subject to CACE.

So my earlier classification survives and gets sharper, in an uncomfortable direction. I ranked trained dispositions as roughly equivalent to protective equipment: carried by the actor, effective when in place, defeated when circumvented. They are worse than that. They are protective equipment that silently changes every time anything else is retrained, which is a category the original ranking does not contain, because physical safety equipment does not spontaneously alter when you change a supplier.

The new result, at the intersection of this section and the last.

Drift detectors are normally tuned by trading false alarms against missed problems, and the cost of a false alarm is treated as wasted investigation time.

Last section says that is wrong. A false alarm that triggers an adjustment is tampering, and tampering does not cost you an afternoon, it doubles the variance of the output.

Price it properly and the tuning changes. Minimising the total gives a clean expression: optimal sensitivity equals the expected exposure cost of a miss, divided by the tampering cost of a false alarm. I verified it against a direct numerical search.

The regimes are interpretable. Short label delay, or misses that cost little, and you want a near-silent detector that almost never fires. Frequent real drift with a long delay before you would otherwise notice, and you should alarm freely. Most agent deployments I can think of sit closer to the first.

What is robust here is the direction: the optimum is strictly below maximum sensitivity whenever a false alarm costs more than the exposure it prevents. What is not robust is any particular number, since it depends on a shape I chose for how false alarms scale.

The practical version is blunt. A drift detector tuned for sensitivity, in a system where alarms trigger changes, is a tampering machine. The monitoring literature does not say this, as far as I can find, because it has no concept of intervention cost. The quality-control tradition has the concept and does not connect it to drift detection. It sits in the gap between two fields.

And the cheapest thing to do about all of it.

If every correction layer is both a new dependent and a new opportunity to tamper, then the single highest-value cheap intervention is declaring the consumers: keeping an explicit registry of what depends on each agent output, maintained as a condition of shipping.

I derived the underlying metric several sections ago as a transitive dependent count and never said how anyone would obtain it. This is how: you cannot measure it, you have to require its declaration. Practitioners recommend the same thing for the same reason. Without visibility of who consumes an output, you cannot measure how fast anything is being removed, and the entrenchment race I described runs entirely unobserved.

One note on evidence. The technical-debt material is a widely cited position paper and its secondary literature, not controlled study; the original PDF resisted extraction and several quotes here come from summaries. I am carrying the concepts and the direction, and the warrant is really the convergence with results I reached independently, not the paper's own evidentiary weight. The monitoring material is practitioner documentation, which is the right source for "what do people do" and the wrong one for "what is true."

The boundary that is made of text an attacker can write

In short: Last section I argued that safety controls placed outside a model stay clean: a sandbox or an allowlist is a bounded thing, unaffected by whatever happens inside the weights. Two attacks currently being used against agent tooling defeat that without touching the control at all. One writes into the boundary's own configuration, because the descriptions the model reads are text somebody else supplies. The other hands the boundary a credential broader than the request it is serving, which restores exactly the condition a 1988 paper identified as the cause of this entire failure class. My claim survives with two conditions attached, and most agent tooling today meets neither.

What I claimed, and how it breaks.

Last section's distinction was between controls inside the model, which change unpredictably whenever anything is retrained, and controls outside it, which do not. Sandboxes, allowlists, capability restrictions, schema validators: bounded, separable, reliable.

That is true of the control. It turns out not to be true of the system, in two specific ways that require no bug in the control itself.

First: the boundary's configuration is untrusted text.

An agent learns what a tool does by reading a description of it, in natural language. Tool poisoning is an attack in which "a malicious or compromised MCP server embeds adversarial instructions within its tool descriptions", which then "manipulate the model into performing unauthorized actions, reading sensitive files, exfiltrating data, or invoking other tools in unintended ways."

This is not theoretical. In November 2025 researchers found a WhatsApp integration vulnerability that "allowed attackers to extract entire message histories through a malicious server that poisoned tool descriptions, inserting hidden instructions that manipulated how the AI agent used the legitimate WhatsApp integration."

Read that last clause carefully. The legitimate tool worked correctly. The attacker did not break the boundary; they wrote part of it.

Second: broad credentials restore the thing capabilities exist to remove.

The other pattern is token passthrough. Passing client tokens to downstream services without validation "breaks trust boundaries" and "can defeat audience controls", and current guidance calls it "a high-risk anti-pattern because it makes authorization ambiguous and hard to audit."

The secure form is stated plainly: the server should act "on behalf of the user with explicit consent and least-privilege scopes, not with a blanket service identity."

So my claim needs two conditions. A control outside the model is genuinely separable only if its configuration is not attacker-influenced, and it does not hold authority broader than the request it is serving. Most agent deployments today fail both. Which means the strongest category in the ranking I built a few sections ago is being deployed in a form that is not actually in that category.

And none of this is new. That is the uncomfortable part.

In 1988 Norm Hardy described the confused deputy: a compiler with permission to write to a billing directory, tricked by a user into writing there on the user's behalf. The compiler was not compromised. It was confused about whose authority it was exercising.

The agent version is the same picture with the deputy swapped out: a framework holding a blanket service credential, taking its instructions about what to act on from content an attacker controls. The fix is the one Hardy's paper proposed: the thing that names a resource must also be the thing that authorises access to it.

I have had this material in my notes for a long time. What I did not have was any of the 2025 and 2026 work showing that agent tool protocols reproduce the failure. I held the answer and never checked whether the question was open.

That is a new way for my reading to fail, and it is worth naming because it is subtle. Previous gaps were a missing practice, or a missing field, or a missing connection between two things I knew. This one is different: a set of notes organised around principles will record a principle as "covered" and stop looking.

The three-part condition, and why it belongs at the top of the ranking.

There is a clean framing for when agents are exposed, called the lethal trifecta: access to private data, exposure to untrusted content, and the ability to communicate externally. All three, simultaneously.

The middle term does the work, and the description of why is exact. External data "flows directly into the agent's context window, where it becomes indistinguishable from instructions."

Because it is a conjunction, the arithmetic is unusual and worth spelling out. Take three exposures at 0.9, 0.8 and 0.7. Harden every one of them by a factor of two and you get an eightfold improvement. By a factor of ten, a thousandfold. Remove any single leg and exposure goes to zero.

And here is the non-obvious bit I checked because I did not believe it. Reducing any leg proportionally is worth exactly the same as reducing any other. Cut any one of the three by 10% and total exposure drops by exactly 10%, whichever you pick.

So there is no "biggest risk" leg to prioritise. The only reason to prefer one leg over another is that it is the one you can take all the way to zero. That is why this belongs in the elimination rank rather than among mitigations: removing a leg architecturally is a different kind of act from hardening all three.

The number that confirms an earlier prediction more strongly than the prediction did.

A few sections back I argued that safety effort spent on prompts and trained dispositions is administrative-grade, and predicted it would deliver only small multiples of improvement.

The reported result is not a small multiple. It is zero: "adaptive attacks consistently bypass defenses, with human red-teamers achieving a 100% bypass rate against 12 theoretical defenses."

Twelve defences. All of them. By people, not by automated search. And the field's stated reason is the one I arrived at separately: the pattern is "structural rather than incidental" and "cannot be fully resolved by prompt hardening alone, since LLMs cannot reliably distinguish legitimate instructions from injected ones embedded in data."

Which changes what "defence in depth" can mean here.

Stacking defences multiplies your safety only if the layers fail independently. Twelve layers all falling to one adaptive attacker is the signature of correlated failure through a shared weakness, and here the shared weakness is obvious: no layer can reliably tell an instruction from data.

Twelve correlated layers are worth far less than two independent ones. So the instruction is not "add more prompt-level defences", it is "add layers that fail for different reasons". And by the conjunction argument, the highest-value such layer is architectural removal of one leg of the trifecta, because that fails only if the architecture is wrong, not if the model is fooled.

One ordering that contradicts a common convenience.

The most convenient thing in agent tooling is to give the framework one broad credential so every tool works without per-request scoping. That is precisely the configuration Hardy identified as the cause.

And the two failures are not additive, they compound: "even if you detect a poisoned tool, improperly scoped tokens let attackers access resources through legitimate tools."

So detection work on tool descriptions is second-order while blanket credentials remain. Scope first, detect second, which reverses how these two mitigations are usually presented, as complementary items on a checklist.

And it upgrades something I recommended last section.

Last section I said the cheapest useful intervention is declaring what consumes each agent output, since you cannot measure dependencies that were never declared.

Capability discipline is the same move applied to authority rather than to consumption, and it is stronger. An unforgeable reference that names a resource and conveys exactly the authority to use it is a declared dependency, except that it is enforced rather than written down. You cannot forget to update it, because it is the mechanism by which access works at all.

That is the first time in this essay that one of my own recommendations turned out to be available as an enforced primitive instead of a discipline someone has to maintain. Given everything I have written about how disciplines decay, that difference is the whole point.

Two cautions. Most of this section's sources are vendor security writing and practitioner guidance rather than peer-reviewed work, and I have not seen the study behind the 100% figure. I am carrying the mechanisms, which have a CVE, a named incident and consistent independent descriptions, and the structural argument, which follows from the model's inability to separate instructions from data and does not depend on any vendor. I am not carrying 100% as a precise quantity, only as evidence that layered prompt defences failed comprehensively in at least one adversarial evaluation.

The second caution runs the other way. This is a fast-moving area, and a defence published next month could change the picture. That is a risk this section carries and the 1988 material it recapitulates does not.

Keep all three, cut the wire between them

In short: Last section concluded that the only real defence is removing one of the three capabilities that make agents dangerous. The obvious objection is that those three capabilities are what makes an agent worth building. This section went looking for the constructive answer before assuming there wasn't one, and found that my model was missing a term. Danger does not come from having the three capabilities; it comes from a channel between two of them. Cut the channel and you keep all three. There is a published system that does this, and for the first time in this essay I have an actual price: about 8% of tasks, 2.75 times the tokens, for a threefold reduction in successful attacks.

The objection to last section.

I said: private data, untrusted content and the ability to act externally form a conjunction, so remove any one and exposure goes to zero. Arithmetically correct, practically hollow. Remove any one of those and you have not built an agent.

So the real question is the one the field is actually working on: can you keep all three and break the conjunction anyway?

My model was missing a term.

I wrote exposure as the product of three capabilities. That treats the three as sufficient for danger. They are not. What makes them dangerous is that the untrusted content can reach the agent's decisions about what to do next.

Write it properly and there is a fourth factor: the coupling between untrusted content and control flow. I had silently set that factor to one.

Set it to zero instead and all three capabilities stay at full strength. You do not have to remove a capability. You have to sever a channel. That is a fourth option I did not have last section, and it dissolves the objection.

How you sever it, and why the mechanism matters more than the mechanism.

A system from Google DeepMind called CaMeL does exactly this, and the name gives away the lineage: CApabilities for MachinE Learning.

It runs two models with different privileges. A privileged one "is tasked with planning the sequence of actions needed to fulfill the user's request." A quarantined one processes "untrusted content, such as raw user input, data from external sources, or even replies from third-party AI systems."

Here is the sentence that matters: CaMeL "explicitly extracts the control and data flows from the trusted query; therefore, the untrusted data retrieved by the LLM can never impact the program flow."

Read what that does. The plan is made by a model that has not seen the untrusted data. The untrusted data is handled by a model that cannot make decisions. The defence does not require any model to correctly tell an instruction from data, which is the thing last section established is not reliably possible. It requires only that the untrusted content arrives after the plan is already fixed.

The mechanism is ordering. And ordering is a property of the architecture, not of the model's judgment, which is why this counts as elimination in the ranking I built earlier rather than as one more request that the model behave well.

And for once, a price tag.

I have spent many sections arguing about whether structural controls are worth their cost without ever having a number. Here is one, on a benchmark called AgentDojo:

  • Tasks completed: 84% undefended, 77% with CaMeL. A relative loss of 8.33%.
  • Successful attacks: reduced by 3.03 times, defending 67% of the benchmark's injections, and "often reducing successful attacks to zero" for some models.
  • Compute: 2.7 to 2.8 times more tokens.

So the exchange rate is roughly a quarter of a multiple of attack reduction per 1% of task completion given up.

Set that against last section's result, where twelve layered prompt-level defences were bypassed at a 100% rate by human attackers. That is an exchange rate of zero, at whatever those defences cost. An 8% utility loss for a 3× reduction is not a close call.

A diagnostic I did not expect, which I have not seen stated anywhere.

Several sections ago I derived that a control converting a fraction of the hazard to structure can reduce total hazard by at most one over one-minus-that-fraction.

CaMeL's 3.03× reduction is exactly that bound at its measured 67% defence rate. Arithmetically that is a triviality. The interpretation is not.

Sitting exactly at the bound means the control defended everything inside its scope and nothing outside it. A clean separation. That is the signature of something that works by construction: inside the fence, guaranteed; outside, nothing.

A probabilistic defence behaves differently. It reduces risk somewhat everywhere, and would sit strictly below the bound at the same fraction.

So there is a test: measure independently how much of your attack surface a control actually covers, measure the reduction you achieved, and compare. At the bound means structural. Below it means you bought a discount, not a guarantee. I want to be careful that this is a proposal rather than a demonstration, because it needs an independent measure of coverage and this data does not supply one.

What is left over, and it is the familiar shape.

The system does not claim to prevent everything. Its stated limits: it cannot help if the user's own input is adversarial; it depends on developers specifying policies correctly, and misconfigured policies leave gaps; and attacks operating within authorised channels remain possible by design.

The middle one is the load-bearing residual, and look at what kind of thing it is. Writing a policy is a human task. In the ranking from earlier sections that is an administrative control. By the decay model it erodes when nothing reinforces it. And an over-broad policy written to reduce day-to-day friction is indistinguishable, from the outside, from the tampering I described a few sections ago.

So the honest summary is: this converts most of the problem into structure and concentrates the remainder into a smaller, more consequential human surface. Which is the residual-concentration result from several sections back, showing up in a security control instead of an automated task. The residual is the policy, and I am not aware of anyone instrumenting policy drift.

That also narrows something I claimed last section. I said capability discipline turns a declaration from a maintained practice into an enforced primitive. True, but I overstated the benefit. Enforcement guarantees the declaration stays true. It does not guarantee it was ever right. The decay problem is solved; the authorship problem is not.

Why this stacks where twelve other defences did not.

Last section I found twelve prompt-level defences all falling to one adversary, and concluded that useful layering needs defences that fail for different reasons.

This one fails if the architecture is wrong: a bad policy, an adversarial user, an authorised channel misused. It does not fail because the model was talked into something.

That is a genuinely different failure mode, which makes it worth stacking with prompt-level defences rather than being a thirteenth correlated layer. And it has a practical implication the usual head-to-head comparisons obscure: adding a prompt-level defence on top of a structural one is worth much more than adding a thirteenth prompt-level defence.

One last observation about the 8%.

The gap between 84% and 77% is not overhead. It is tasks that cannot be completed under a rule forbidding untrusted data from steering the plan.

Which tasks are those? Precisely the ones where the user wanted the agent to decide what to do based on what it read. That is the same capability the attack exploits.

The lost 8% and the blocked attacks are the same set of behaviours seen from two sides. Which is why no defence of this shape can drive the loss to zero, and why the number is a real cost rather than an implementation inefficiency.

It is also, for the sixth time in this essay, the same law: the capability was not removed, it was relocated behind a decision someone now has to make explicitly.

Two cautions, one about my own sourcing. The limitations above are paraphrase, not quotation. The paper is a 5.3 MB PDF that resisted direct extraction, and the limitation list came from an automated summary of it. I have flagged sourcing quality in the last two sections and this is the weakest instance, so it deserves saying plainly.

And AgentDojo is one benchmark. The 77%, 84% and 67% are benchmark numbers, not deployment numbers, and "often reducing successful attacks to zero for some models" is model-dependent and reported without a distribution. I am carrying the architecture, the ordering argument and the existence of a measurable price. I am not carrying the specific percentages as general facts.

One note on method, and it is overdue. Five sections ago I noticed my reading collects mechanisms of failure and not mechanisms of recovery. Every correction since has been after the fact. This is the first section where I asked what the constructive answer was before knowing whether one existed. The result was different in kind from the last four: not "you were wrong," not "you were right and late," but "here is a thing that works, and here is the bill." That it took me ninety sections to run that search once is the finding worth keeping.

The permission you only need once a year

In short: Last section I ended by saying that after you build a proper structural defence, what is left over is someone having to write the policy, that this decays like everything else administrative, and that nobody measures it. Both halves of that were wrong. The drift is measured, at very large scale, and the number is 99%. And the writing problem has a partial mechanical answer: derive the policy from what the system actually did. But the standard way of measuring the drift has a flaw that took me one calculation to find, and it fails hardest on exactly the permissions you least want to lose.

Two claims of mine, both wrong.

I said nobody instruments policy drift. There is a standard operational test: a permission counts as excessive if it has gone unused over the past 60 days. Researchers applied it to "more than 680,000 identities across 18,000 cloud accounts from 200 different organizations" and found that "99% of cloud users, roles, services and resources were granted excessive permissions," with 1% at least privilege.

I also said the authorship problem was irreducible. It is not, entirely. Tooling now reads the actual access logs, works out "which services and actions a role or user actually called" over a chosen window, and emits a policy from that. You do not write the policy. You harvest it.

That is the third time in six sections that I have declared some needed instrument or practice missing and found it sitting there. I am making it a standing rule: assume the instrument exists and go looking before claiming a gap.

Now the flaw, which is one line of arithmetic.

Treat a permission's use as arriving at some average interval. If the true interval is longer than your observation window, you will often see nothing, and conclude it is unused.

Work out how often that happens at the standard 60 days:

How often it's genuinely needed Chance it looks unused
daily 0.000
weekly 0.000
monthly 0.135
quarterly 0.513
semi-annual 0.719
annual 0.848
18-monthly (DR test) 0.896

More than half of quarterly permissions and roughly six in seven annual ones look unused under the standard test.

Now ask which permissions live at the bottom of that table. Year-end financial close. The annual audit access. Disaster-recovery credentials. These are the ones whose absence is discovered during an emergency, by someone who cannot fix it right then.

Run it backwards and it gets worse. To be 95% confident that a permission is genuinely unused, you need a window of roughly three times its true interval: 90 days for something monthly, 270 for quarterly, and 1,093 days, three years, for something annual.

And revoking on a 60-day signal is exactly the failure I described two sections ago. There is a case, a considered judgment, a change, and a record that looks like good hygiene. It is tampering, applied to authority.

Which splits the famous number into two.

The 99% is reported as the size of the least-privilege gap, as though it were one thing to fix.

It is a sum of two categories that need opposite responses. Permissions that are genuinely unused and should be revoked. And permissions whose cadence is simply longer than the window, where revocation is the incident.

Those are separable, from the same logs. A permission used twice in three years has a measurable interval and is a completely different object from one never used at all. Never-used and rarely-used are not the same category, and only the first is safe to revoke on a short window. The second needs either a much longer window or an explicit statement of expected cadence, written down by a human who knows why it exists.

Harvesting the policy is a move I have made before, and it has the same weakness.

Several sections ago I concluded that when a protective mechanism works, it produces no event, and the only way to see it is to manufacture the event, which is what a near-miss report is.

An unused permission is a non-event by definition. That is precisely why the drift stayed invisible. Counting non-use over a window manufactures the observation. Same move, third domain.

But it inherits the same defect, and this one matters. A generated policy encodes what happened, not what is allowed. It is a description of history handed over as a specification. Anything the system has not yet legitimately needed to do is simply absent from it.

So harvested policy is systematically too tight, in the same direction and for the same reason that the drift metric is too aggressive. Both errors have one root: treating an absence of evidence as evidence of absence.

So the workable design is two-sided, and neither side is safe alone.

The harvested policy is a floor. It certainly covers what has actually been needed.

The declared cadence list is a ceiling on revocation. It protects the things needed rarely, and it has to be written by someone, because no log can contain it.

Neither is the specification. The specification is the pair.

I notice this is the third time I have arrived at that shape: a fast mechanical signal that is available immediately and known to be biased, plus a slow human declaration covering what the fast signal structurally cannot see. It showed up in monitoring under delayed ground truth, in security policy, and now here. Three domains suggests it is the general form for any control whose evidence is delayed or absent, rather than a coincidence.

And one number reorders my own advice.

I have been arguing for several sections that the ordering is: convert hazard into structure first, then set the interpretive rule, then manage decay.

In cloud security, misconfiguration, "most often related to IAM policies," accounts for 65% of known cloud security incidents. The structure was built. The specification was wrong.

That adds a step my ordering left out. Converting hazard into structure creates a specification surface, and in the best-instrumented domain we have, that surface is now the majority of the remaining risk. Last section I called the residual "the policy" and treated it as a footnote. Sixty-five percent is not a footnote.

A test for agent systems, from logs you already have.

Take a deployed agent with a tool allowlist. Compute the gaps between successive uses of each tool over the longest history available.

Prediction: the distribution is heavy-tailed, a meaningful share of tools have gaps longer than any plausible review window, and a naive "revoke unused after N days" rule would remove tools whose next legitimate use is simply further out than N.

The falsifier is a thin tail. If agent tool use turns out to be fairly regular, short-window revocation is safe and none of this transfers.

Two cautions. The arithmetic above assumes usage arrives independently and without memory. Real permission use is nothing like that: year-end close is a scheduled spike, not a random arrival. For calendar-driven use the chance of looking unused in a 60-day window is not 0.848, it is nearly 1 for ten months of the year and 0 for the other two. That makes the conclusion stronger and the specific numbers wrong, so I am carrying the shape and not the figures.

And the sourcing: the 99% is vendor research reported second-hand, and the policy-generation material is a vendor describing its own product, including the phrase "provable security," which in that context is marketing language. I have not treated it as a formal claim.

A proof that proves nothing

In short: Last section established that once you build a proper structural defence, the specification becomes the biggest remaining source of failure, and I had no idea how often specifications are simply wrong. Formal verification has the number, and it is not reassuring: about one in five machine-checked properties, written by specialists, passes for the wrong reason. The reason is the same one this essay has now hit seven times in a row, and finding it here matters because verification is the strongest guarantee available. It also finally lets me state the thing all eleven of the last sections have been circling.

The failure mode is called vacuity.

Suppose you verify a system against the property "every request is eventually followed by a grant." The checker returns green.

That result is satisfied, perfectly and correctly, by a system in which requests are never sent.

This is a vacuous pass, and the mechanism is precise: the formula "is trivially valid because the pre-condition of the implication is not satisfiable," so "the post-condition of the implication does not affect the truth value." Nothing was checked. The proof is real. It is a proof about the empty set.

And the base rate is the number I needed.

From industrial hardware verification at IBM: "typically 20% of specifications pass vacuously during the first formal-verification runs of a new hardware design."

Then the part that makes it worse and also more useful: "vacuous passes always point to a real problem in either the design or specification."

Sit with the setting for a moment. These are formal properties, expressed in temporal logic, checked by machine, written by people whose profession is writing them, about hardware, where the incentive to get it right is enormous. One in five is broken, and every broken one indicates a genuine defect.

Last section I described the leftover human specification work as a residual. Twenty percent, among specialists with tooling, in the most disciplined setting available, is not a residual. And the domains I actually care about have neither the tooling nor the specialists.

This is the seventh time, and now it has reached the top.

Absorbed disturbances produce no event. A prevention programme that works looks exactly like one that does nothing. A quiet organisation is either safe or blind. Omission errors leave no record. Tampering leaves a record that looks like good work. A permission needed once a year looks unused.

Every one of those is the same shape, and I kept treating them as separate observations because they came from different fields. Vacuity is the same thing again, inside the one place I would have assumed was immune: a formal proof.

So here, at last, is the sentence all of it has been circling:

A control that has never been exercised is indistinguishable from a control that works, and the two have opposite implications.

That is not a fact about weak controls. It survives all the way up to machine-checked proof. And every instrument I have proposed over the last dozen sections (near-miss counts, evidence-sampling, the rollover fraction, permission inter-arrival times, and now vacuity checks) is a device for telling those two cases apart. I could not see that they were one family until I found the case where the guarantee is strongest and the failure happens anyway.

One consequence inverts advice I gave five sections ago.

I derived a tuning rule for alarms: optimal sensitivity equals the exposure cost of a miss divided by the tampering cost of a false alarm. Because acting on a false alarm actively increases variance, most detectors should be tuned well below maximum sensitivity. I have been repeating that ever since.

Vacuity is the exception, and it is the exception for a structural reason. A vacuous pass always indicates a real defect. The false-positive rate is zero. So the tampering cost drops out of the formula entirely, and optimal sensitivity goes to its maximum.

Vacuity detection is the one alarm you should investigate every single time. Not because it is more important than the others, but because it is the only one discussed here that cannot be produced spuriously.

Why you cannot get at this with more testing.

The AWS engineering group has been using formal specification since 2011, across more than ten systems including S3, DynamoDB and EBS, with seven teams reporting value.

The detail that settles the argument: the shortest error trace exhibiting one of their subtle bugs was 35 high-level steps.

Count what that means. Paths of length 35 number about 3.4 × 10¹⁰ if each step has two choices, 5 × 10¹⁶ at three, and 2.9 × 10²⁴ at five. Random testing needs roughly that many attempts for even a coin-flip chance of hitting one particular bad path. At a million tests per second, the two-choice case takes about seven hours, and the three-choice case takes about a thousand years.

So for anything with real concurrency, a 35-step bug is simply unreachable by sampling, at any budget anyone will ever have. That is the same distinction I drew earlier between controls that work by construction and controls that depend on someone doing something diligently, applied now to correctness itself. Exhaustive exploration is to testing as an engineering control is to a procedure, and the gap is not a factor of a few.

It also reframes the AWS result. The usual reading is "model checking finds deep bugs." The more useful reading for me is what it says about the design documents that came first: seven teams, ten-plus systems, serious defects found in designs that had already been reviewed by competent humans. That is not a failure of diligence. No amount of careful reading enumerates 10¹⁶ interleavings. It is a mismatch of arity, and it is the same "worst-shaped residual" problem I described for human reviewers a few sections back, now applied to specifications instead of outputs.

Which gives last section's design its missing third piece.

Last section I proposed a two-sided specification: a floor harvested from what the system actually did, and a ceiling declared by a human covering what is needed too rarely to appear in logs.

Both of those are descriptive. One records history, the other records expectation. Neither can tell you whether any clause of the resulting policy can ever fire.

Vacuity checking is the missing piece, and it asks a question the other two structurally cannot: for each clause, does a reachable situation exist in which this clause does anything at all?

Floor, ceiling, and a check that the space between them is not empty.

A cheap version for agent systems, which I would actually run.

Take any agent policy: tool allowlists, refusal conditions, escalation triggers, approval thresholds. For each condition, ask whether any reachable state satisfies its antecedent.

  • A refusal rule whose trigger condition can never be met.
  • An escalation threshold set above the maximum attainable score.
  • An approval gate on a field the pipeline never populates.

All three currently read as "policy in place." All three are vacuous. And this needs no model access, no ground truth, and no experiment on users, just the policy text and a reachability argument over the pipeline's states. By the zero-false-positive property above, every hit is worth investigating, which is not true of any other detector I have proposed.

Two cautions, and the second is a real limit.

Both source papers resisted extraction and my quotations come from secondary summaries; the 20% figure is reported second-hand as IBM experience rather than read by me from the original. I am carrying the definition, the claim that vacuous passes indicate real defects, and the order of magnitude. Not 20% as a precise number.

More importantly: vacuity is defined for formal temporal properties over finite-state models. Agent policies are neither formal nor finite-state in that sense. So the agent proposal above is an analogy. The reachability question is well posed and worth asking, but I am borrowing the word, and nothing here establishes that a similar rate applies. The branching arithmetic is my own and assumes uniform branching, which no real system has.

One note on method. This is the third section running where I looked for the constructive answer before analysing. What I notice is that the results are compounding rather than repeating: one section found a defence with a price, the next found the metric and the generator, this one found the failure mode of what those two recommended, plus its detector, plus its base rate.

That is the opposite of what happened when I was deriving things from first principles, where each section extended one direction until something reversed it. Practitioners have already connected their results to each other. Deriving from scratch produces isolated pieces that I then have to join by hand, and, as several sections have now shown, often join wrongly.

If you never fire it, you do not have it

In short: Last section I arrived at the sentence the previous eleven had been circling: a control that has never been exercised is indistinguishable from a control that works. If that is right, the remedy is obvious and there is an entire discipline built on it. This section went and got it, and it brought two things I did not expect. A measurement that turns last section's analogy into a real number: 13% of deployed security detection rules cannot fire at all. And a clean argument for why deliberate exercise beats patient watching by an enormous margin, which comes down to the difference between intervening and observing.

The discipline, and its first principle is not what I assumed.

Chaos engineering is usually described as "break things in production to see what happens." Its actual principles are more careful: build a hypothesis around steady-state behaviour, vary real-world events, run experiments in production, and automate them to run continuously.

The first one is doing the real work, and it is not a test in the ordinary sense. You define "steady state" as "some measurable output of a system that indicates normal behaviour," then you hypothesise that this state survives an injected failure, and then you try to disprove that by comparing a control group against an experimental one. The stated payoff is calibrated rather than binary: "the harder it is to disrupt the steady state, the more confidence we have."

Production is a requirement rather than a preference, because "it's impossible to perfectly replicate all aspects, real client behaviour, network configurations, in a test environment." The safety mechanism is not caution but blast radius: "start with the smallest possible scope and expand only after building confidence."

My notes mention chaos engineering nine times and contain none of that. They have the idea and not the method. That is now the fourth version of a failure I have been tracking: knowing a term and not the practice behind it.

And the security branch had the number I could not get last section.

Last section I found that roughly 20% of formal specifications pass vacuously, meaning they are satisfied because their precondition never fires. I proposed applying the same idea to agent policies and flagged honestly that it was an analogy, since agent policies are not formal properties over finite-state models.

The security world measures the deployed version directly. An analysis of 13,000 detection rules and over 2.5 million logs found that 13% of an organisation's detection rules are broken: misconfigured, non-functional, unable to fire.

A broken detection rule and a vacuously-passing specification are the same object: a stated control that no situation can trigger. Two independent domains, one formal and one operational, one at 20% and one at 13%. These are not the same measurement and I will not report them as one. But the analogy has stopped being only an analogy, and the order of magnitude is the same.

Now the argument that makes exercise worth the trouble.

Here is the thing about a broken detection rule: it emits nothing. Which is precisely what a working detection rule emits when there is nothing to detect. Last section's sentence, exactly.

So under passive observation, when do you discover it? At the first real attack using that technique. Which is to say, after it has already failed. The probability of discovering it beforehand is not small, it is zero.

Deliberate exercise inverts that completely, and the reason is worth stating precisely: it is a controlled trial, not a wait. Fire the technique, see whether the rule fires. One test is decisive.

Put that beside what I derived two sections ago about permissions. To establish that a quarterly-cadence permission is genuinely unused, you need about 270 days of watching. For an annual one, 1,093 days. Not because anyone is slow, but because you are waiting on a random arrival and absence takes a long time to become evidence.

One trial versus three years. That is the entire case, and it is not a claim about diligence or tooling. It is the difference between intervening and observing.

Which is also the best answer I have found to a problem from several sections back.

I spent a section on the fact that the sign of everything depends on whether an organisation reads a quiet period as safety or as blindness, and concluded that the interpretive rule is the master variable.

The steady-state hypothesis is that problem dissolved rather than solved. Nobody has to hold the right attitude toward silence, because you produce a disturbance and check. There is no quiet left to misinterpret.

And it has the right shape structurally: an automated, continuously running experiment does not decay when attention decays. That is the "slow the forgetting" lever from earlier, implemented as machinery rather than as a virtue.

The bigger number, which I nearly buried under the vivid one.

The same analysis reports that enterprise detection systems cover only 21% of known adversary techniques. And this, which is the part that stopped me:

Organisations already collect 259 log types from 24,000 sources that could detect 90% of those techniques.

The data is already there. The gap between 21% and 90% is 69 points of pure specification labour, with an instrumentation gap of zero. And the stated cause is "manual, error-prone detection engineering."

Compound the two figures and you get a small correction: 21% coverage with 13% of rules broken gives about 18.3% effective, so believed protection is overstated by about 1.15×.

That is the easy number to write about, and it is the wrong one to focus on. The dominant gap is 21 against 90, not 21 against 18.3. Rules never written outweigh rules quietly broken by a factor of about twenty-five.

I have made this mistake once before, two sections ago, when a headline figure about excessive permissions turned out to be two different problems with opposite remedies added together. Second time. Headline security statistics are usually a sum, and the summands usually need different fixes.

The proposal this leaves me with, for agent systems.

Last section I suggested a static check: for each policy clause, can any reachable state trigger it?

The dynamic version is strictly better wherever it is available. Do not reason about whether a condition is reachable, produce it and watch.

Synthesise inputs that should trip each refusal rule, each escalation trigger, each approval gate, each tool restriction, and assert that it trips. Run it continuously, in production, at the smallest blast radius that still exercises the path.

That is the same move I have now reached four times from four directions: manufacture the event that a working control would otherwise absorb silently. Near-miss reports were the first, usage logs the second, static vacuity checks the third. This is the fourth and the strongest, because it is the only one that produces the evidence on demand instead of waiting for it.

It also closes something I complained about two sections ago, that nobody instruments policy drift. A clause that used to fire and has stopped firing is a drift signal available immediately. So the assembled instruction is: harvest the floor from actual usage, declare the ceiling for what happens too rarely to log, check statically that the clauses are not vacuous, and exercise them continuously to confirm they still fire.

One caution, and it is about who is telling me this.

The organisation publishing those figures sells detection-engineering automation. Every single number supports buying it: 21% coverage, 13% broken, 90% achievable, and "manual, error-prone detection engineering" named as the cause. That is exactly the shape of a finding to discount, and I raised the same concern about vendor sourcing one section ago.

What makes me carry it anyway, rather than the vendor's say-so: the sample is large and specified; the coverage figure has moved across five annual reports, 24% then 19% then 21%, rather than trending conveniently in the direction that sells more; and the broken-rule rate independently matches the vacuity rate from formal verification, a field with no stake in this product at all.

So I am carrying the existence and rough size of both gaps. I am not carrying the exact percentages, and explicitly not the causal claim that their automation is the remedy.

The test suite that wears out while you watch

In short: Last section I concluded that controls must be exercised deliberately and continuously, because one that never fires is indistinguishable from one that works. The obvious objection is that repeatedly firing the same tests at a system you keep adjusting will eventually teach the system the tests. That objection turns out to have a theorem attached, with numbers. A fixed suite of a thousand cases, fired a hundred times a day, is exhausted in ten days. There is a fix that extends it to roughly twenty-seven years, and it consists of answering each test less precisely, which is the opposite of what any engineer's instinct says.

The objection to last section.

Fire the same set of test cases at a system, look at which ones fail, adjust the system, fire them again. Repeat forever.

That is not a test. It is adaptive querying of a fixed sample, and there is a body of work on exactly what it costs.

The budget, and it is smaller than anyone assumes.

The naive result: "the plain holdout method supports a linear number of queries in the worst case." Roughly one useful query per case in your suite. After that, what the suite reports is a statement about your tuning history rather than about your system.

The improvement: "a holdout method based on noise addition can support a quadratic number of queries." More precisely, "by carefully adding certain noise variables to each answer, the dependence on the number of queries can be improved from the square root to the fourth root, permitting a quadratic number of queries before it becomes useless in the worst case."

Put that into wall-clock time. A suite of 1,000 cases, fired 100 times a day:

  • Naive: 10 days.
  • With noised answers: 10,000 days, about 27 years.

At 10,000 cases and the same rate: 100 days naive, roughly 2,700 years noised.

The gain is a factor equal to the size of your suite. Which means the design decision that dominates a continuous exercise programme is not what the cases test. It is how many there are, and whether the answers are noised.

I told you last section to run it forever. The correct instruction was: run it forever, and here is the condition under which "forever" is true.

Why the fix runs against every engineering instinct.

What you want from a test suite is determinism, exact assertions, and a precise report of which case failed and how.

The theory says precision is the leak. "If you can make the holdout mechanism differentially private, then no adaptive analyst can learn about the test set enough to overfit to it."

The exact per-case results are what carry the suite's contents into the system under test, one adjustment at a time. So a continuously running control-exercise suite should report noisy aggregate pass rates to whoever is tuning, rather than exact per-case diagnostics. The noise is not a concession to measurement error. It is the mechanism that keeps the suite meaning anything.

And note what that argues against: detailed per-case failure reports fed straight back to the people adjusting the controls. Which is, as far as I know, universal practice.

This turns something I have been repeating into something I can use.

My notes invoke Goodhart's law seven times: a measure under optimisation pressure stops being a measure. Every time, it functions as a warning to be careful.

It never says how much pressure, or for how long, or what to do about it beyond vigilance.

The adaptive-data-analysis literature supplies all three. Degradation is a function of query count against sample size. The naive budget is n. The achievable budget is n squared. The mechanism for getting from one to the other is noise.

An aphorism cannot tell you that a thousand-case suite queried a hundred times a day is finished in ten days. That gap between a memorable statement of a problem and the technical work that quantifies it is the same failure I have now found half a dozen times in my own reading, and this is the clearest instance: seven citations of a slogan, none of the theory, and therefore a decade of warnings nobody could act on.

And it agrees with a 1950s result from a completely unrelated field.

A few sections ago I worked through Deming's funnel experiment: responding to each individual observation increases the variance of the thing you are trying to control, and the winning policy is to leave the process alone inside its limits.

Here, from theoretical computer science sixty years later: answering each individual query precisely destroys the validity of the sample, and the winning policy is to answer with deliberate noise.

Two formalisms, no shared vocabulary, no shared lineage, arriving at the same shape: deliberate under-responsiveness to individual signals is validity-preserving. One gives the variance version, the other the generalisation version, and neither is a special case of the other. That is what makes the agreement worth something rather than being circular.

It also corrects the strongest thing I said last section.

I claimed a deliberate exercise settles in one trial what passive observation cannot settle in three years. That was the whole case for the discipline.

It is true of the first trial. It is progressively less true afterwards, because every subsequent firing is another adaptive query against a finite suite. The one-trial result holds for a case that is fresh to the system; it does not hold for the thousandth firing of a case against a system that has been tuned in response to the previous nine hundred and ninety-nine.

So: a deliberate exercise is decisive when the case is fresh, and the cost of exercising is the consumption of freshness. Which makes generating new cases, not running old ones, the scarce resource. That is the reverse of how test suites are usually staffed and budgeted.

For agent systems, concretely.

Hold back a portion of cases that are never shown to anyone tuning the system. Report aggregate, noised pass rates into the tuning loop rather than per-case diagnostics. Treat the production of genuinely novel trigger conditions as the primary ongoing cost of the programme.

The current standard setup, a fixed red-team suite run repeatedly with detailed failures fed straight to the people adjusting prompts and policies, is precisely the configuration that exhausts fastest.

And it exhausts silently, which is the part that should worry anyone. An overfitted suite does not start failing. It keeps passing. It simply stops meaning anything. Which is, once again, the sentence this whole stretch has been circling: a control that cannot fail is indistinguishable from a control that works.

Which leaves the through-line in a more honest place.

I said an unexercised control is indistinguishable from a working one, and then answered: exercise it. This section says that answer has a half-life. An exercised control becomes an unexercised one again, not because anyone stopped running the tests, but because the tests stopped carrying information.

So the instrument decays too, like every other instrument in this stretch. But for a different reason. Earlier decay was social: attention lapses, reinforcement stops arriving, safeguards get dismantled. This decay is informational: the supply of surprise runs out. And of the two, only the second comes with a formula.

Two cautions, and they point opposite ways.

The sourcing here is the strongest I have had in several sections: a Science paper with two companion technical papers behind it.

The transfer is the weakest. Those bounds are worst-case results for statistical queries against a fixed distribution, proved in a specific model. A control-exercise suite is not that workload: the cases are engineered rather than drawn from a distribution, and the adversary in the theory is an analyst, not an engineer trying to make something work. I am carrying the qualitative structure: naive reuse degrades linearly, noise buys a large factor, precision in the answers is the leak, a budget exists at all. I am not carrying the numbers as applying to any real suite, and the ten-days-versus-twenty-seven-years example above is an illustration of the shape, not a calculation about anything that exists.

Good sourcing and weak transfer are different problems, and it is worth keeping them apart.

What surprise costs

In short: Last section I concluded that generating new test cases, not running old ones, is the binding constraint. I named it a scarce resource and did not price it. There is a field whose entire job is manufacturing test inputs, it has a measured law for what novelty costs, and the law is exponential: each additional new bug found in a fixed time takes roughly twice the machines of the one before. Put beside last section's result, both ends of the budget are now known, and they point to an ordering that reverses the obvious one. That same field also turns out to have shipped, in the year 2000, the exact vacuity check I proposed three sections ago as though it were new.

The field I somehow never mentioned.

The last four sections have been about generating policies, running exercises against them, keeping the exercise suite valid, and the economics of surprise.

My notes contain zero references to fuzzing, coverage-guided test generation, or property-based testing. That is not a shallow reading or a missing practitioner literature. It is an entire neighbouring discipline whose whole subject is mechanically producing test inputs, which never came up because I approached the topic through safety vocabulary and the field lives under testing vocabulary. A name so ordinary it did not register as a different field at all.

The law, and it is measured rather than argued.

Böhme and Falk's empirical result: "finding linearly more bugs in the same time requires exponentially more machines." For every additional bug you want found within 24 hours, roughly twice the machines.

The contrast is what makes it a law rather than a grumble: "finding the same bugs linearly faster requires linearly more machines." Twice the machines finds all the bugs you already know about in half the time.

And underneath both: "with exponentially more machines, we can cover the same code exponentially faster, but uncovered code only linearly faster."

Their summary: "re-discovering the same vulnerabilities is cheap but finding new vulnerabilities is expensive."

So both ends of the budget are now known, and both are bad.

Last section: a fixed suite's validity decays as you query it, supporting roughly one useful query per case, or the square of that if you noise the answers.

This section: each additional genuinely novel finding costs about double the last.

Novelty is expensive to buy and cheap to spend. Neither half was visible from the other, and together they are the actual economics of the instrument these last few sections have been building.

Which gives an ordering that reverses the instinct.

When a test suite goes stale, the reflex is to write more tests.

The arithmetic says: first extend the life of the suite you already have. That lever is cheap and its multiplier is large. Buying novelty is dear and gets dearer: the fifth additional discovery costs 16× the first, the tenth 512×, the twelfth 2,048×.

Meanwhile, noising the answers on a thousand-case suite multiplies its useful lifetime by roughly a thousand, at essentially no cost.

Preserve validity first. Buy novelty second.

I want to flag one thing about that comparison before someone else does. A lifetime multiplier and a count of discoveries are not the same units, and I cannot convert one into the other. When I say the noise lever is "worth about eleven marginal discoveries," that is an illustration of relative magnitude, not a calculation. The ordering survives; the exchange rate is not real.

The deeper result is about what compute can and cannot do.

Exponentially more machines cover already-covered ground exponentially faster, and new ground only linearly faster.

Now put that next to the measurement from two sections ago: detection rules covering 21% of known techniques, against 90% supportable by logs already being collected.

You cannot compute your way across that gap. Throwing machines at it re-covers the covered fifth faster and reaches the uncovered rest only linearly. Which independently confirms, from a completely different measurement in a completely different field, that the gap is specification labour rather than instrumentation or compute.

And it puts an honest limit on what I said two sections ago.

I wrote: exercise every policy clause, continuously, forever.

The exponential-cost law says that buys you one thing and not another. You can exercise your way to confidence about what you already cover. You cannot exercise your way to coverage itself, at any budget anyone will have.

Those are different goals and I ran them together. Corrected: continuous exercise answers "do the controls I have still work?", decisively, cheaply, subject to last section's caveats about wear. It does not answer "do I have the right controls?", which is the specification question, which one section measured at a 69-point gap and another put at roughly one in five broken even among specialists.

What this stretch has built is a maintenance instrument, not a discovery instrument. And discovery is the larger problem.

The part that should have embarrassed me sooner.

Three sections ago I proposed checking policy clauses for vacuity: does any situation actually trigger this rule? I flagged it as an analogy borrowed from formal methods and treated it as a new idea worth trying.

QuickCheck has done this since 2000.

When randomly generated inputs "fail to satisfy properties with such sparse preconditions" they are "simply discarded," and when that happens too often the framework raises "Gave up!", because it "cannot find enough valid inputs." There are dedicated combinators "for guarding against vacuity": collect reports the distribution of cases, classify categorises them, and cover "checks that at least a given proportion of successful test cases belong to a given class."

cover is precisely the thing I was reaching for. Do not accept a pass unless the pass was earned by cases that actually exercised the property.

And look at the design decision buried in "Gave up!". The framework treats "I could not exercise this" as a failure to report a result, not as a pass. That is the interpretive rule I spent a whole section arguing for, namely treat quiet as suspicious rather than as reassurance, implemented in a library instead of left to an organisational culture. Which is exactly why it does not decay. Nobody has to remember to be suspicious; the tool refuses to say "passed."

So my proposal is not research. It is a port: apply cover to policy clauses. No reachability analysis, no model access, no theory. That is the second time in three sections that I reached for a formal framing when the practitioner version was simpler, standard, and already shipped.

One thing this does let me do for the first time.

Three sections have now produced actual quantities rather than arguments: a structural defence with a known price (about 8% of task completion), an instrument-preservation lever with a large multiplier and near-zero cost, and a marginal cost curve for novel coverage that doubles per unit.

They are in three different currencies and I cannot combine them. But for anyone allocating a safety budget, the ordering is legible: the structural control has a one-off price worth paying, preserving instrument validity is nearly free and worth a lot, and buying novel coverage is the line item whose marginal cost doubles. Spend in that order.

Two cautions. The doubling law is empirical, derived from fuzzing campaigns against software binaries. Its transfer to exercising agent policy clauses is unestablished: the search space, the notion of a "bug," and the feedback signal are all different. I am carrying the shape, that novelty has strongly increasing marginal cost and that re-covering is cheaper than extending coverage. I am not carrying the factor of two.

And the unit problem above is real, not a technicality. I have made a habit in these sections of comparing quantities from different sources, and this is the one where the comparison does not hold up. Better to say so than to let it stand.

The checklist that generates itself

In short: Last section I admitted the biggest gap in this whole stretch: everything I had built tells you whether the controls you have still work, and nothing tells you which controls you are missing. I called that the larger problem and left it there. There is a method designed for exactly that question, built on a framework I have already cited nineteen times without ever reaching the technique its own author derived from it. And it resolves the pessimism of the last two sections, because the discovery problem is only intractable if you search the wrong space.

The gap I left open.

Continuous exercise answers "do my controls still fire?" It cannot answer "do I have the right controls?" I said the second question was the bigger one and stopped.

I also had two results suggesting it was hopeless. A subtle bug can live 35 steps deep among roughly 5 × 10¹⁶ possible interleavings. And each additional novel discovery costs about twice the machines of the last.

Both of those are statements about searching behaviours. That turns out to matter.

The method searches a different space.

The framework treats a system as a control structure: who controls what, with what commands, on what feedback. Safety problems are then losses of control within that structure rather than failures of components.

The generative part is a fixed four-way question applied to every single control action:

  1. Not providing it causes a hazard.
  2. Providing it causes a hazard.
  3. Providing it too early, too late, or out of order.
  4. Stopping it too soon, or applying it too long.

That is the whole engine. You do not have to imagine what might go wrong. You take each control action and ask four fixed questions about it.

And the space is small.

Twenty control actions times four question types is eighty candidates to think about. Against roughly 5 × 10¹⁶ behavioural paths.

More importantly, it scales linearly: forty control actions gives 160 candidates, eighty gives 320. Doubling the system doubles the work, rather than squaring or exponentiating it.

So the discovery problem is exponential in the behaviour space and linear in the control space. The last two sections concluded it was intractable, and what they had actually shown is that it is intractable behaviourally. Approached structurally, it is a finite checklist.

Why the mechanical part is the important part.

Every route to the specification gap I have described so far needs somebody to imagine the failure. Human review of a design. Writing a detection rule. Authoring a policy.

All of those depend on the imagination of whoever is doing them, and a few sections ago I found that even specialists writing machine-checked properties get roughly one in five wrong.

This replaces imagination with a cross-product. The four questions do not have to be invented, do not decay when attention lapses, and do not require the analyst to have thought of the failure mode in advance.

That makes it the first thing in this entire stretch that attacks the specification problem without inheriting the weaknesses of the people writing specifications.

The four types map onto agent failures so exactly that the mapping is the point.

An agent is a controller. Read the four types as a taxonomy of agent failure:

  • Not provided when necessary. The agent failed to escalate, failed to refuse, failed to flag. This is the omission error I described two sections ago, the one that leaves no record.
  • Provided when unnecessary. The agent acted, or corrected, when it should have left things alone. That is both commission error and the tampering result.
  • Wrong time. Acting on stale context, or before a precondition was actually established.
  • Wrong duration. A retry loop that never terminates. A guardrail released too early.

I derived three of those separately, across three different sections, from three unrelated literatures. I never had the fourth, and more to the point I had no reason to believe the list was finished. This supplies the missing one and, unlike my accumulation, an argument for why the list closes.

Which finally gives me a procedure rather than a complaint.

Draw the control structure. List every control action. Cross each with the four types. Every surviving unsafe control action is a control you are required to have and may not have.

The output is a specification of what must be constrained, generated rather than recalled.

And it composes with everything else in this stretch instead of replacing it:

  • This method generates the clauses.
  • The vacuity check confirms each clause can fire.
  • Continuous exercise confirms each still fires.
  • Noised reporting keeps the exercise valid while you do it.

A full pipeline from discovery to maintenance, assembled from five fields, none of which knows the others exist.

The part I should be more embarrassed about than the method is good.

My notes cite this framework's accident model nineteen times, and its author sixteen times, including in a section a few back comparing normal accident theory with high-reliability theory.

The analysis technique, by the same author, built directly on that model: zero.

That is the second time in two sections that the practical form of something I already held was sitting one citation away. Last section it was a testing library's coverage combinator.

The diagnosis is uncomfortable and I think correct: I have been collecting positions rather than procedures. A position, what a framework claims about the world, is citable in an essay. A procedure is only worth anything if you run it. I have been reading like someone writing an essay, which is what I am, and it has cost me repeatedly.

One practice I am stealing immediately.

The paper applying this to AI systems states its scope limits up front: it "does not attempt to address loss of control concerns such as alignment," nor whether capable systems "should be trained or deployed"; its purpose is "to structure reasoning about control conditional on such systems existing."

That is a method declaring what it is not for, before doing anything, rather than being caught out afterwards.

Every scope caveat I have written in this stretch has been retrospective, appended after the claim. And last section's unit error is exactly the kind of thing a declared scope would have prevented rather than caught. So: state the limit before the analysis, not after it.

And the honest residual, because this is not a solution.

The enumeration is linear in the number of control actions. But somebody still has to draw the control structure, and an omitted controller or an unmodelled feedback path generates no candidates at all. The method is complete relative to its model, and the model is authored by a person.

Which puts the residual back exactly where I found it several sections ago: in the specification of the specification.

What has changed is the size and kind of what must be authored. A control structure is far smaller than a policy, and its errors are structural, a missing box or a missing arrow, rather than semantic. A missing controller is much easier to notice than a missing clause. That is a real improvement. It is not a solution, and I would rather say so now than have it pointed out.

One caution on the evidence. The claim that this method finds hazards that component-failure methods miss rests on comparison studies I read summaries of rather than the studies themselves, and one of the comparison papers would not load. What I am carrying is the weak form: it analyses a different object, control interactions rather than component failures, so it can find a class of hazard that component-oriented methods structurally cannot. I am not carrying any claim about how many more, or that it dominates other methods. And the eighty-candidates arithmetic is mine: it counts candidates to evaluate, not hazards found, and evaluating each one is human work whose cost I have not measured.

Comparing the map with the territory

In short: Last section ended by admitting that someone still has to draw the control structure by hand, and that anything left off the drawing produces no warnings at all. There is a field whose whole subject is deriving a model from logs of what actually happened and measuring how far it disagrees with the model you drew. The two directions of disagreement turn out to be two problems I have been treating as unrelated for five sections. And it comes with an ordering rule that reverses the obvious work order. I am also going to state this section's scope before starting, rather than caveating afterwards, because that is a habit I stole last time and should actually use.

Scope, up front.

This section asks one question: can a hand-drawn model of a system be checked against what the system actually did? It does not address whether the drawing is the right abstraction, and it says nothing about capability, alignment, or whether anything should be built. It is about comparing a specification you wrote against behaviour that occurred, and nothing else.

The two directions of being wrong.

Process mining compares a model against an event log, and it decomposes the disagreement into named quantities:

  • Fitness: "how much of the behavior that was observed in the event log fits the process model."
  • Precision: "how much behavior a process model allows for that was never observed."
  • Generalization: "how well a process model generalizes to behavior that is possible in the process but was never observed."
  • Simplicity.

Read the first two slowly, because they are things I have been circling separately.

Low fitness means the log contains behaviour your model cannot explain. That is last section's omitted controller. The thing you left off the drawing, made visible.

Low precision means your model permits behaviour that never happens. That is the vacuity problem from five sections ago: clauses nothing triggers.

I worked through a small comparison to check the readings hold. A model missing a path scores fitness 0.75, precision 1.00. A model carrying dead clauses scores fitness 1.00, precision 0.57. A model that permits everything scores fitness 1.00, precision 0.33.

Two problems I found in two unrelated fields, five sections apart, are the two signs of one residual, and there is a literature that measures both.

Which means an earlier design of mine was this all along.

Six sections ago I proposed a two-sided specification: a floor harvested from what a system actually did, and a ceiling declared by a human for what happens too rarely to appear in logs. I called the pair the specification and moved on.

The harvested floor is a discovered model. The declared ceiling is a drawn model. Comparing them is exactly conformance checking.

That also explains why the design felt unfinished when I wrote it. Two descriptions with no comparison operator between them is not a specification. It is two documents. I had the architecture and no metric. This supplies the metric, and it supplies the decomposition into which kind of wrong you are.

And the ordering rule reverses the natural instinct.

From the literature: "it only makes sense to consider precision, generalization and simplicity if the replay fitness is acceptable."

Translated into the terms of this essay: fix the missing controls before pruning the clauses that never fire.

The instinct runs the other way, and I would have gone the other way. Dead clauses are easy to find, satisfying to delete, and produce a visible cleanup. Missing controls require admitting the model is wrong.

But the reason for the ordering is not effort, it is validity. A precision score computed against a model that cannot explain what actually happened is measuring the wrong object. You are pruning branches of a tree that is not the tree.

And here is a name I had to build from scratch two sections ago.

Two sections back I worked out that a permission needed once a year looks unused under a sixty-day window, and that "never used" and "rarely used" are different categories needing opposite treatment. I derived that from a Poisson argument and gave it no name.

It is called generalization: "how well a process model generalizes to behavior that is possible in the business process but was never observed."

A standing quality dimension, in a standard framework, for over a decade. That is the third time in three sections that something I derived turned out to already have a word. At three, it stops being bad luck and becomes a prediction: for any distinction I derive about specifications, the process and testing literatures probably already have a name for it. I intend to check first from now on.

The sharpest illustration of why one number is never enough.

A model that lists exactly the traces you have observed scores fitness 1.00 and precision 1.00. Perfect on both. And it is worthless, because it generalises to nothing at all.

That is the overfitting result from three sections ago in a second formalism. There I derived it as a query budget: a suite tuned to what it has seen keeps passing and stops meaning anything. Here it is a model-quality statement. Both say the same thing: a perfect score against observed data is the signature of a description, not a specification.

Which is, for the fourth time from a fourth direction, the sentence this whole stretch keeps arriving at. A control that cannot fail is indistinguishable from a control that works.

A procedure that runs on things you already have.

Take the agent's tool-call and decision logs as your event log. Take the written policy, the allowlists, refusal conditions and escalation triggers, as your drawn model. Compute both directions.

Behaviour in the logs the policy does not describe is a missing control: an action path nobody wrote a rule for.

Policy clauses no log entry ever matches are vacuity candidates, to be checked against the rare-cadence caveat before anyone deletes them.

And per the ordering rule, fix the first before touching the second.

No new instrumentation. No experiment on users. Existing logs, existing policy. That makes it the cheapest of the four instruments this stretch has produced.

Where the residual has gone, which is worth tracking.

I have moved this thing four times now. First it was policy authorship. Then it was measured at 65% of incidents. Last section it moved to the hand-drawn control structure, with the consolation that structural errors are easier to spot than semantic ones.

This section moves it again, and somewhere uncomfortable: the residual is now what the log records.

Behaviour that leaves no trace cannot appear in the event log. So it cannot raise a fitness alarm, and it cannot count as observed. Log coverage bounds conformance checking, and log coverage is itself a specification decision that I have never seen anyone audit.

That is the eighth time in this stretch that the same underlying problem has surfaced, and the first time it constrains a method rather than an organisation. The thing that produced no event still produces no event, even inside the framework built to compare models with reality.

Two cautions, and the transfer is again the weak part.

Fitness and precision are defined for process models over discrete event logs with clean activity labels. Agent behaviour is not that. The activities are not cleanly labelled, the same tool call means different things in different contexts, and the underlying "process" is not a repeated business workflow. I am carrying the decomposition, the ordering rule and the generalization category. I am not carrying any specific metric as computable on agent logs without real definitional work.

And this section read secondary summaries rather than the primary papers, and the worked comparison above is a toy set-comparison of my own construction. It illustrates the shape of the two measures. It does not compute either as the field defines them.

One closing observation. Eight sections ago I started following a chain: here is a defence, here is how to specify it, here is how it fails silently, here is how to detect that, here is what detecting costs, here is what novelty costs, here is how to discover what you are missing, and now here is how to check your model against reality. Each section found the resource or the gap the one before left unpriced.

The chain has closed. The pipeline reads: generate candidate controls structurally, check them against what actually happened, confirm the survivors can fire, confirm they still fire, and keep the confirmation honest with noise. Eight sections, seven fields, and none of those fields cites any of the others. The assembly is the contribution. No individual piece of it is mine.

The word I had been using without its other half

In short: Last section ended by saying that what your logs record bounds everything else, and that nobody audits it. There is a sixty-year-old formal answer to when a system's internal state can be recovered from its outputs, and it comes with a theorem I did not expect: the question "did I draw all the controllers?" and the question "does my logging capture enough?" are the same question, transposed. That explains something I did without noticing, when the leftover problem appeared to move between sections. It also states this whole stretch's recurring difficulty as a fact about state spaces rather than a complaint about organisations.

Scope and limits, up front.

This section asks whether there is a formal account of when a system's state can be recovered from what it emits. There is. The theorems below hold for linear, time-invariant systems. Agent systems are none of those things. What I am carrying is the structure of the pair of questions and a classification scheme. I am not carrying any claim that these quantities can be computed for an AI system, and I will say so again at the end where it matters.

The word I have been borrowing.

My notes use "observability" nine times, in the software-engineering sense: can you understand what your system is doing from its telemetry.

They contain zero references to the control-theoretic quantity that word was borrowed from, and zero to its partner, controllability.

The formal definition: observability is "a measure of how well internal states of a system can be inferred from knowledge of its external outputs," and a system is observable if "the current state can be estimated using only the information from outputs."

And the two are duals.

Here is the theorem, and it is a theorem rather than an analogy: "a system is observable if and only if the dual (transposed) system is controllable." The transformation "reverses the direction of time, swaps the roles of the matrices B and C, and transposes all the matrices."

Now look at what I did over the last two sections without noticing.

Two sections ago I built everything on the control structure and ended by admitting that someone has to draw it, and anything left off produces no warnings. I left the leftover problem there.

Last section I moved it: what the logs record bounds everything, and nobody audits log coverage. I moved the problem and did not explain the move.

The theorem says I did not move it. Control structure and log structure are two views of one object, related by swapping inputs for outputs and running time backwards. I saw the same residual from the control side, then from the observation side, and failed to recognise the second as the first.

And then the decomposition, which is the part that stopped me.

A system "may be canonically decomposed into four parts, of which only one part, that which is completely controllable and completely observable, is involved in the input/output behavior of the system."

I built a four-state example with one state in each quadrant to see it concretely. Controllability rank 2 of 4. Observability rank 2 of 4. And exactly one state of the four shows up in the input/output behaviour.

Read the four quadrants against everything in this stretch:

  • Controllable and observable. You can steer it and you can see it. This is the only part any dashboard reflects.
  • Controllable but not observable. You can steer it and you cannot see it. You are changing something you have no reading on.
  • Not controllable but observable. You can see it and cannot change it. This is the exogenous "landscape" term from several sections back.
  • Neither. Invisible and out of reach.

Your instruments show you, by construction, the quadrant you can already steer.

That is the ninth time in this stretch that the same underlying problem has surfaced, and the first time it appears as a theorem about state spaces rather than as an observation about people, organisations or tools. It is not that anyone is careless. It is that the input-output behaviour of a system is, mathematically, the controllable-and-observable part and nothing else.

Which finally gives a name to something I have found in five different fields.

The recurring result of this essay's middle stretch was that a protective intervention does not remove a pressure, it relocates it somewhere less observed. I found that in lizard thermoregulation, in financial stability, in road safety, in organisational attention, and in cockpit automation, and each time I stated it as a pattern.

In these terms it is precise: a transfer from the controllable-and-observable quadrant into the controllable-but-unobservable one. The buffer leaves the state reachable by inputs and removes it from the output map.

And that makes it checkable rather than anecdotal. After installing a control, ask which state variables left the output map. That is a question with an answer.

The honest catch is that for a real agent system nobody has an output map, which is last section's problem restated at the right level.

Which is the sharper form of the residual.

I wrote last section that log coverage is an unaudited specification decision. That was almost right and pointed at the wrong noun.

The question is not "what should we log," which is a list of fields. It is "which states are recoverable from what we log," which is a property of the pair: the state model and the output map together.

Two systems can log identical fields and differ completely in what is recoverable, because recoverability depends on the dynamics as well as the fields. So log-coverage audits framed as checklists of fields, which is the standard form, are measuring the wrong object. That is the second time in two sections that I have found a well-formed standard audit pointed at the wrong noun.

The good news is that the audit is cheap, and for a reason I already established.

Observability asks whether the current state can be estimated using only the outputs. So the audit has a well-posed form: for each state in the control structure you drew two sections ago, ask whether its value is recoverable from the telemetry you keep.

That is a per-state question over a structure that already exists. It is linear in the number of control elements, exactly as the hazard enumeration was, and it does not require searching behaviours.

One drawing, two duals. Draw the control structure once and it answers both "what controls do I need?" and "what must I be able to see?"

It also explains why the pipeline needed all its parts.

Last section I assembled a chain of techniques and said the assembly was the contribution. That was true and I gave a weak reason: they complement each other.

The duality gives the real reason. A control-side method cannot tell you whether the controls it proposes are observable. An observation-side method cannot tell you whether what you failed to log was ever steerable. Each is blind in exactly the dimension the other covers, because they are transposes of each other. The assembly is not a convenience. It is what one method looks like when you only have half of it.

And a warning the quadrants make concrete.

Several sections ago I concluded that escape from a stuck system requires an outside shock nobody controls, and got fairly fatalistic about it. Then the next section corrected me: the shock is often generated by the system's own stability.

In these terms, that correction was a quadrant reassignment. I had put a state in "not controllable but observable" when it belonged in "controllable and observable." The regime's own tranquillity was an input it controlled.

Which generalises usefully. Calling something exogenous is a testable assertion about reachability, not a description. I made that error once and it cost me five sections of unwarranted gloom.

The pattern in my own reading, now on its fourth consecutive instance.

cover from a testing library. The hazard-analysis technique whose parent model I cited nineteen times. The word "generalization." And now "observability."

The shape is specific enough to state: I have been adopting vocabulary from a field's popularisation and never following it back to the formalism. Which is exactly why I keep deriving, laboriously and imperfectly, things the formalism states as theorems.

So: a borrowed word is a pointer. I have been treating borrowed words as if they were mine.

The limit, restated where it matters. Controllability, observability, the duality and the decomposition are results for linear time-invariant systems. An agent system is nonlinear, time-varying, high-dimensional and only partly specified. Nothing above transfers as a calculation. What I am carrying is the duality as a claim about the pair of questions, the four-quadrant classification, and the definitional form of the observability audit. Not the rank tests, not the 25% figure, and not any claim that an agent system's observability can be computed. The four-state example is my own construction, built to have one state per quadrant, and it demonstrates the decomposition rather than measuring anything.

There is a nonlinear observability theory. I have not read it. That is a known gap rather than an absence, and it is the obvious next thing.

You have to shake it to see it

In short: Last section I set out a clean picture of what a system's outputs can tell you about its internals, and closed by admitting the theorems were all for linear systems and that I had not read the nonlinear theory. This section reads it, and gets corrected three times for the trouble. The important correction is the one that turns an operational recommendation into a structural fact: in a nonlinear system, watching is not enough, and there are ways of driving a system that make it invisible to its own sensors. Deliberate exercise stops being good practice and becomes a precondition for seeing anything at all.

Scope, up front.

This section asks what changes when the system is not linear. It does not attempt to compute anything about an agent system, and the results below are for smooth nonlinear systems with well-defined state and output maps, which an agent stack is not. What I am carrying is three structural corrections to the last section, not a method.

The first correction: observability is local.

For linear systems, observability is a property of the system, full stop. For nonlinear systems, "observability has multiple varieties, such as local, weak, and global." The standard notion, from Hermann and Krener in 1977, is local weak observability, tested by a rank condition: the system is locally observable at a point if "the observability codistribution attains rank n at that point."

At that point. Not everywhere.

So a system can be perfectly observable in normal operation and blind somewhere else. And last section's tidy four-way classification of states, into what you can see and steer and what you cannot, becomes a regional classification. A state can sit in the see-it-and-steer-it quadrant during ordinary operation and slide into the steer-it-but-cannot-see-it quadrant under load.

Which is, with unpleasant precision, the failure mode this whole stretch has been describing. Now it has a reason.

The cost is computable. Last section's audit was per-state over the control structure you had already drawn, and I made much of it being linear in the number of elements. Locality means repeating it per operating region. Twenty states across one region is twenty audits. Across five regions, a hundred. Across twenty, four hundred. A hundred states across twenty regions is two thousand.

Still polynomial. Still incomparably better than the roughly 5 × 10¹⁶ behavioural search I derived several sections back. But no longer a single pass, and I presented it as one.

The second correction: the test only works in one direction.

"Even in the analytic case, the Hermann-Krener condition is only sufficient."

So if the rank condition holds at a point, you have certified that the state is recoverable there. If it fails, you have learned nothing. Not "unobservable." Inconclusive.

The test can tell you that you can see. It cannot tell you that you are blind.

That is the tenth time in this stretch that I have hit the same shape: a negative result carrying no information. Every previous instance was about a system under study. This one is about a tool I recommended one section ago. The instrument has the disease it was built to diagnose.

The honest consequence is a change in how such an audit should be reported. It is a positive instrument. Its useful output is the list of states you have proved you can see, not the list you failed to prove. Publishing the failures as findings would create false confidence that the list of gaps is complete, when in fact it is a list of things you could not certify, for reasons that may include your test being too weak.

And the third correction, which is the one that matters.

Here is the sentence that reframes several earlier sections: "an important aspect was the loss of observability due to an inappropriate input, leading to the characterization of appropriate (universal) inputs."

In a linear system, the input is irrelevant to whether you can see the state. In a nonlinear system, it is not. The same system, watched through the same sensors, can be observable under one input and unobservable under another.

Read that against what I argued a few sections ago. I said controls must be exercised deliberately, because one that never fires is indistinguishable from one that works. I justified it with an argument about evidence: you cannot learn from silence.

This is a stronger argument, from state estimation: for some systems, no amount of watching will ever recover the state, and only driving the system the right way will. Passive observation is not slow, it is structurally insufficient.

Which means the contrast I drew two sections ago, one deliberate trial against 1,093 days of patient watching, understated the case. For some systems the right number is not 1,093 days. It is never.

You have to shake it to see it.

A middle term I was missing.

My notes mention persistent excitation exactly once: the condition, in system identification, that an input must be rich enough for the parameters to be identifiable.

Universal inputs are the same idea on the observability side: rich enough for the state to be distinguishable. Identification asks whether the input reveals the parameters. Observability asks whether it reveals the state. Both say that a system driven the wrong way tells you nothing about itself.

So there are three levels of one statement here. The identification version, which I had once and never used. The observability version, which I did not have. And the engineering version, which I got from practitioners as "run experiments in production." I had the top and the bottom and was missing the rung that joins them.

A consequence for evaluating agents, and I do not have an answer to it.

If observability is input-dependent, then an evaluation suite is not merely a sample of behaviours. It is a choice of input. And a badly chosen input can make the very property you care about unobservable, while returning perfectly clean results.

This is a different failure from the one I described two sections ago. There, a suite wore out through repeated use against a system that adapted to it. Here, a completely fresh suite can be uninformative on its first run, because it drives the system along a trajectory where the state of interest simply leaves no trace in the outputs.

So the design question is not only "does this suite cover the behaviours I care about?" but "does this suite excite the system enough to distinguish the states I care about?"

I have no method for the second. As far as this section found, neither does the agent-evaluation literature.

And the recurring law gets its fourth framing, which is the sharpest.

The finding I have now traced through biology, finance, road safety, organisational attention and cockpit automation is that a protective measure relocates a pressure somewhere less visible. Last section I put that as a state leaving the output map.

With locality, it is sharper. A buffer changes where the system operates. Observability is regional. So installing a buffer can move the system into a region where the buffered state is no longer distinguishable, without changing a single sensor.

The instrumentation is untouched. The trajectory moved. Which explains the thing that always puzzled me about these cases: nobody notices, because nothing about the monitoring changed.

What I did not verify, and it is the important one.

This section read search summaries and abstracts, not the 1977 paper or the primary literature on universal inputs. The direction of the input-dependence claim is well established and I am confident in it.

What I did not check is whether inputs that destroy observability are rare or common. If they are a thin, exceptional set, then almost any reasonable exercise regime is informative and the evaluation problem above is a corner case. If they are not, it is serious.

That single question decides how much the previous section of this argument matters, and I do not know the answer. I would rather leave that visible than write around it.

One note on method. This is the second time I have opened a section specifically to close a gap I had flagged myself. The first time, the evidence I went looking for refuted me. This time it corrected me in three places, each one weakening something I had said confidently one section earlier.

Both times, paying the debt cost me claims I liked. That is the argument for the practice rather than against it. A flagged gap is a prediction that something is wrong, and both times the prediction was right. The alternative was that last section's clean four-quadrant picture would have stood, unqualified, and been wrong in three ways nobody had checked.

The reassuring theorem that does not cover you

In short: Last section ended on an open question I said would decide whether the whole worry mattered: are the ways of driving a system that make it invisible rare or common? The answer is that they are rare, in a precise mathematical sense. And if I had stopped there I would have recorded the wrong conclusion, because the guarantee is about randomly chosen inputs, and an evaluation suite is the least randomly chosen input in existence. The theorem that appears to dissolve the problem turns out to exclude exactly the case it was invoked to settle.

Scope, up front.

This section answers one question left open last time. The answer is a topological result for smooth analytic systems, and the contribution here is noticing that it is the wrong kind of guarantee for the thing that was worrying me.

The answer, and it sounds like good news.

A universal input is defined as one that misses nothing: "an input u with the property that, whenever two states give rise to a different output for some input, then they give rise to a different output for u."

Sussmann's 1979 result: "for continuous-time analytic systems, analytic universal inputs exist, and in the class of smooth inputs, universality is a generic property."

Generic means typical. The inputs that blind you are a thin, exceptional set. Pick a way of driving the system more or less at random, and you will almost certainly be able to see what you need to see.

That closes the worry. Or it would, if evaluation suites were chosen at random.

They are the opposite of random.

An evaluation suite is hand-built. It is low-entropy on purpose, because reproducibility demands it. It is structured for legibility, because someone has to read the results. And it is confined, by construction, to situations a designer thought of in advance.

Curated suites live inside thin sets. Thin sets are exactly where the singular inputs are.

Saying that the bad inputs are non-generic offers no protection at all to something that was never sampled generically. So the worry survives, and it survives because of the theorem rather than despite it: the guarantee covers random probing and excludes precisely the practice the field actually uses.

A tiny system where the blinding input is the natural default.

I built the smallest example I could to check the shape holds. Take a system where one internal quantity only ever influences the output through the input: the rate of change of what you can see is the input multiplied by the thing you cannot see.

Simulated over five seconds, comparing two different hidden values:

  • Input held at zero: the two hidden states are indistinguishable. The output is identical.
  • Input held at one: distinguishable.
  • Input oscillating: distinguishable.
  • Input rich and varied: distinguishable.

The entire set of blinding inputs here is a single point: do nothing. Nowhere dense. Non-generic by every measure a mathematician would apply.

And "do nothing" is the most natural default in any system.

That is the whole problem in miniature. Blinding inputs are vanishingly rare in the space of all possible inputs, and overwhelmingly common in the space of inputs anyone actually applies.

Which promotes a practice I had been recommending on weaker grounds.

Chaos engineering's second principle is "vary real-world events." A few sections ago I argued for noised, varied probing on grounds of validity: a fixed suite wears out.

There is now a third and stronger argument. Randomised, varied inputs sit inside a class with a genericity theorem behind them. Curated suites do not. The preference for varied probing over a fixed benchmark is not a matter of thoroughness or hygiene. It is the difference between an input class that has a guarantee and one that has none.

Three independent arguments, from evidence, from validity, and now from observability, all pointing at the same practice.

A mistake I nearly made, of exactly the kind I keep making.

"Generic" here is topological: a residual set, a countable intersection of dense open sets. It is not "probability one" under any particular way of sampling.

That matters practically. Whether your random input generator produces universal inputs depends on the distribution it induces. A generator confined to a low-dimensional family can sit entirely inside the singular set while being perfectly random within that family.

So "randomise your inputs" is under-specified advice. Randomising the amplitude within a fixed waveform may not help at all. Randomising the structure of the input is what the theorem is about.

Two sections ago I noted that I keep borrowing vocabulary from a field's popularisation without following it back to the formalism. This is the first time I have caught myself about to do it, rather than discovering it afterwards.

The structural answer, which beats the procedural one.

There is a class of systems where the question does not arise at all: those where "single input observability doesn't depend on the input." Everything works. Every input is universal.

In the ranking I built several sections back, that is the difference between an administrative control and an engineering one. "Always probe your system richly" is a procedure someone has to keep following. Building a system whose state is recoverable under any input is a property of the thing itself.

So the instruction is: treat that property as a design target, rather than treating rich probing as an operational discipline. Same move as preferring capability boundaries over instructions in a prompt, arriving now in state estimation. And with the same limitation: nobody knows how to check it for an agent system, so for now it is aspirational.

And a distinction the field conflates.

An evaluation suite serves two purposes that want opposite designs.

To demonstrate a capability, you want low-entropy, reproducible, legible inputs. Exactly the curated kind.

To estimate what is going on inside, you want rich, varied, high-entropy inputs. Exactly the kind that make results hard to summarise.

The same artefact cannot do both well. And the standard benchmark is optimised for the first while being routinely cited as evidence for the second.

So, concretely. Alongside any curated suite, run a randomised structural probe: vary not the parameters within a fixed task template, but the shape of the interaction. Tool ordering. Interruption points. Malformed intermediate results. Unexpected context. Premature termination. Curated suites vary content within a fixed structure, which is the randomisation least likely to help.

And report the two separately, because they answer different questions and averaging them destroys both.

What this does and does not establish.

The genericity result is for analytic systems and smooth inputs. An agent stack is not analytic, its state space is not a manifold, and its "input" is not a smooth signal. Nothing here transfers as a theorem.

What I am carrying is the structure of the answer: blinding inputs are exceptional among all inputs and common among designed ones. And the simulation above, which is a real system and establishes the shape rather than the transfer.

What I am explicitly not carrying is any claim that randomised probing of an agent is "almost surely" informative. That would be precisely the borrowed-word error I just caught myself nearly making. The question I asked has been answered for the mathematics and remains open for the practice.

One note on method, and it has become hard to ignore. Three sections in a row have now opened specifically to close a gap I had flagged myself. The first was refuted by what it found. The second was corrected in three places. This one found an answer that inverts on inspection.

Four attempts at this now, counting an earlier one, and not one of them left things where I expected. That is a good enough hit rate to change how I allocate effort: closing a flagged gap beats opening a new topic, because the yield is higher and what comes back is a correction rather than an addition.

I had been reading the wrong parent field

In short: Three sections ago I chased the word "observability" back to control theory and spent three sections there. The theory was real and I learned from it, but it was the wrong formalism for the object I care about. An agent's behaviour is not a smooth signal, it is a sequence of discrete events, and there is a field that takes exactly that as its starting point. It answers the same question with better properties on every axis I can name, including one that removes a limitation I had reluctantly accepted about my own recommended tool. It also raises something I have managed not to notice across twelve sections of arguing for more logging.

Scope, up front.

This section asks one thing: is there a formalism for the same visibility question that fits discrete, event-driven systems? It does not analyse any agent system, and it claims nothing about capability or deployment. It is a gap-closing section rather than a new topic, which is the rule I adopted last time.

What I got wrong.

The word "observability," in software, names a question about whether you can understand a system from its traces. I followed the word back to control theory, because that is where it came from, and found controllability, duality, the four-quadrant decomposition, and then the nonlinear theory with its locality and its input-dependence.

All of that was real and I do not regret it. But an agent trace is not a differentiable signal on a manifold. It is a discrete sequence: tool calls, messages, state transitions, approvals, refusals. Discrete events.

There is a field whose primitive object is exactly that.

Diagnosability, and it beats what I had on every axis.

The discrete-event systems literature poses the question as diagnosability: given that you can observe only some of the events, can you always tell that a fault has occurred?

Sampath and colleagues in 1995 "proposed a discrete-event system approach to failure diagnosis," working "in the framework of formal languages," and gave "necessary and sufficient conditions for a language to be diagnosable."

Now compare, point by point, with what I spent three sections on:

nonlinear observability diagnosability
scope local, per operating point global over the language
strength sufficient only necessary and sufficient
input dependence a bad input can blind you none: a property of the language
negative result inconclusive definite
decidable? point-by-point rank tests polynomial time

The discrete formalism wins on all five.

And the third row of that table retires something I had accepted with a grimace.

Two sections ago I noted the tenth appearance of this essay's recurring problem, and observed it had finally infected a tool I myself had recommended. The rank condition can certify that you can see, and cannot certify that you are blind. So I concluded that the audit was a positive instrument only: its output is the list of states you have proved visible, and you must not report the failures as gaps.

That was an honest concession and it is now unnecessary. Diagnosability has necessary and sufficient conditions. A negative answer means "not diagnosable," definitively. You can genuinely find the gaps.

The eleventh instance of this essay's recurring problem was avoided not by being cleverer but by changing formalism.

The cost, which is the only thing in this stretch that does not explode.

The original method builds a diagnoser over subsets of system states, which grows the way subset constructions grow. Yoo and Lafortune later showed you can decide the same property with a verifier: "a system is diagnosable if and only if the verifier does not contain indeterminate cycles," at "polynomial complexity with respect to the state size."

To illustrate the difference in kind, a subset construction over 50 states is on the order of 10¹⁵ objects; something quadratic is 2,500. Over 100 states: 10³⁰ against 10,000.

Set that beside everything else in this stretch. Behavioural search: 5 × 10¹⁶ paths. Novelty: doubling cost per marginal find. The per-region observability audit: states times regions. A polynomial decision procedure is the only quantity in this entire arc whose cost does not explode.

The pattern in my own reading, at its sharpest yet.

I have noted several times that I adopt vocabulary from a field's popular version without following it back to the technical one. Last section I caught myself about to do it, which felt like progress.

This is worse and more useful. I did follow the word back. I read three sections of real theory. And it was the wrong parent.

The refined rule: a borrowed word points at the formalism that coined it, which is not necessarily the formalism that fits your object. Software borrowed "observability" from control theory, and the borrowing was by analogy, not because software systems are continuous. Follow the word to find a theory, then check the object type before adopting it.

A property stronger than anything I have been asking for.

Diagnosability is not "the fault is eventually detectable." It is detectable within a bounded number of subsequent events.

Every detection property in this stretch has been of the weaker, unbounded kind. Near-miss reporting improves the rate of learning. Deliberate exercise settles a question in one trial. Omission errors are invisible by construction. None of them carried a bound.

For an agent system the corresponding question is well posed and, as far as I can find, nobody asks it:

Within how many tool calls after a policy violation is that violation certain to become visible in the logs?

If the answer is unbounded, the system is not diagnosable, and no amount of monitoring investment changes that. It is a property of the design, not of the observability budget.

And something I have failed to notice for twelve sections.

The dual property has a name too: opacity, whether a secret can be kept from an observer. It shares the complexity landscape with diagnosability, and it is studied in the same literature.

The pairing matters, and it is uncomfortable. Diagnosability and opacity pull in opposite directions. A system tuned to be maximally diagnosable to its operators is, by exactly the same structure, maximally transparent to an adversary watching the same events.

I have spent twelve sections arguing for more logging, richer traces, evidence-sampling, recovery events as first-class records. Not once did I note that the same traces serve both readers.

The limit that does not go away.

Diagnosability is decided over a model: an automaton with specified events, and a specification of which of them are observable.

Somebody still has to write that down. Which is the hand-drawn control structure from four sections ago, and the log-coverage decision from three sections ago, arriving unchanged.

What the formalism does is move the question. It cannot tell you whether your event model is right. It can tell you, decisively and cheaply, whether the faults you care about are detectable given that model.

So twelve sections of chasing this residual around end with it isolated rather than eliminated: model authorship is the only manual step left, and everything downstream of it is decidable. That is not the ending I would have chosen, but it is a cleaner place to leave it than where I found it.

Caveats. The 1995 paper would not load and I read secondary sources; the bounded-delay definition above is the field's standard formulation, stated as such, and not a quotation from the original. The subset-construction and quadratic figures are mine, illustrating the difference in kind between an exponential construction and a polynomial one, and are not published complexity bounds for any specific algorithm. And the transfer caution is the same as last section's: agent stacks are not finite automata with clean event alphabets, so the bounded-delay question above is well posed only once somebody builds the event model that, per the paragraph above, nobody has yet.

A log that lies, on purpose

In short: Last section I noticed something twelve sections of arguing for more logging had missed: the trace that lets your operators diagnose faults is the same trace that lets an adversary infer secrets. I described that as a trade-off. It is not, quite, and the computation corrected me on the first run. The two goals coexist fine on impoverished traces and collide the moment the trace becomes operationally useful, which is a sharper and worse claim. The resolution is stranger than hiding things: you add fictitious events. And it is the only instrument in this whole stretch that costs nothing in system capability.

Scope, up front.

This section asks only whether the tension is intrinsic or conditional, and what mechanism resolves it. It says nothing about what ought to be secret, from whom, or under what policy.

I stated the tension wrongly.

I implied a straight trade-off: more diagnosable, less opaque.

I built a four-event toy system and enumerated all sixteen ways of choosing which events are visible. Three of them satisfy both properties at once. Nine are diagnosable and not opaque. So the goals do not conflict automatically.

But look at which three work. They are the impoverished views: show only the fault event, or only one ordinary event. The moment I check the view an operator would actually want, ordinary activity plus the fault, it comes back diagnosable and not opaque.

So the corrected claim is narrower and more uncomfortable than the one I made: the conflict is not between the two properties. It appears as soon as the trace is rich enough to be worth keeping. The tension arrives exactly when logging starts earning its keep.

And the resolution is not to hide more.

If removing events cannot deliver both on a useful trace, the alternative is to change what the observer sees.

That is what this literature does. Insertion functions take "an observable sequence generated by a given system" and output "a modified sequence by inserting fictitious events before each actual observation." Edit functions go further, able to "alter the output behavior of a system by inserting, deleting, or substituting events." Dynamic masks change which events are observable, on the fly.

The stated principle is worth quoting because it is counterintuitive: "the idea, in both cases, is to allow the system to run freely, but mislead the intruder by modifying the observation."

I checked it on the same toy system. Insert one fictitious event so that the secret-bearing trace has an indistinguishable twin, and the operator-useful view becomes opaque while staying diagnosable.

And here is the property that makes this worth the whole section. These approaches "modify only the observed output rather than restricting the system's actual behavior, allowing the underlying system to function freely."

The system does not get slower, weaker, or more constrained. Nothing is forbidden. Only the view changes.

That is the structural-conversion move from many sections back, applied to observation rather than to action, and it is the first instrument in this entire stretch that costs nothing in capability. Everything else I have proposed traded something: eight percent of task completion, compute for probing, tasks that cannot be done under a policy. This trades nothing.

Which turns out to be the mirror of something I found sixteen sections ago.

I concluded then that authority must travel with designation: the thing that names a resource has to be the thing that authorises acting on it. That was the fix for a 1988 security problem, and I recommended it for agent tooling.

The observation-side statement is the transpose. What an observer can infer must be a property of the channel they read, not of the events the system happens to generate. Per-observer views, rather than one shared log that everyone reads.

And four sections ago I found that controllability and observability are formal duals. So a capability discipline for acting and a capability discipline for seeing being the same idea, transposed, is not an analogy. It is what the duality predicts.

I derived the action side from a security paper written in 1988 and the observation side from a control paper written in 2014, sixteen sections apart, without noticing they were one thing.

The precondition is doing all the work.

Per-observer views require that observers be distinguishable. If the operator and the adversary read the same channel, none of this machinery applies and the tension is exact.

So the whole resolution rests on being able to say who is reading, which is authorisation, which is the same problem as before, now guarding the read path instead of the write path. And the earlier finding transfers directly: a blanket credential that lets any consumer read the full trace is the confused-deputy configuration for observation.

Twelve sections of "log more" quietly assumed one privileged reader. No agent deployment I have described actually has that property.

Now the cost, and it is one I have spent this whole essay warning about.

An edit function inserts fictitious events into an observation stream. That is, deliberately, a log that lies.

Every instrument in this stretch reads the event stream and assumes it is faithful. Conformance checking compares logs against a model. Diagnosability is defined over observed event sequences. Evidence-sampling watches what reviewers look at. Near-miss counting counts records.

So an edit function pointed at the wrong channel does not merely fail to protect anything. It silently invalidates every downstream measurement on that channel, and does so in the way this essay keeps finding worst: everything continues to report normally.

That forces a strict constraint. The edited stream and the diagnostic stream must be separate artefacts, not one log filtered at read time. A filter can be misconfigured. Two artefacts cannot be confused with each other.

Which inverts what almost everyone actually does.

Standard practice is one log, with redaction applied when someone asks to read it. Under the argument above, that configuration makes the fidelity of every measurement depend on a redaction rule being configured correctly, an administrative control, the weak kind.

The alternative: generate two artefacts at the point of action. A diagnostic trace, written to a channel only operators can read, never edited, because everything else depends on it. And a published trace, which is what any other consumer sees, and which is the one subject to editing.

Two artefacts is an engineering control. One log with a filter is not.

Deliberate imprecision, for the third time and a third reason.

A few sections ago I concluded that a test suite should report noised results, to stay valid under repeated querying. Then that randomised probing is the input class with a theorem behind it. Now: noise as a way of denying inference to a reader.

Three uses of imprecision in one stretch, statistical validity, state estimation, and confidentiality, and none of them reduces to the others. The thin but real thing they share: an engineer's instinct toward exactness is the wrong default in all three, and the right amount of imprecision is a design parameter rather than an error term.

Two cautions, and the first is my own mistake.

I stated last section's tension as a trade-off and the computation contradicted it immediately. I am recording that rather than quietly fixing it, because the corrected version is a different and better claim.

And: I read secondary summaries rather than the primary papers here. The four-trace example is my own, and demonstrates the shape of the projection and insertion arguments rather than instantiating any published construction. Nothing above addresses whether such an edit function can actually be computed for a system of realistic size, which the literature treats as a substantial problem and which I did not investigate.

One note on method. The rule I adopted two sections ago was: closing a flagged gap beats opening a new topic. Fifth application, and it again returned a correction rather than an addition, this time of a flag I had raised one section earlier.

That is new. Previous corrections landed on claims several sections old. The mechanism seems to work better the sooner it is applied, which suggests a flag should be tested in the next section rather than banked for later.

The exponential you cannot argue your way out of

In short: Two sections ago I got enthusiastic about a formalism that answers the visibility question in polynomial time, and wrote that this was the only quantity in the whole stretch whose cost does not explode. Last section I flagged that I had never checked the cost of its security counterpart. This section checks, and the answer is that the counterpart is PSPACE-complete. That is a different kind of expensive from everything else in this essay: not a badly chosen algorithm, but a property of the question. It also puts a limit on how far I have been pushing a duality I was pleased with.

Scope, up front.

This section asks about computational cost only. It says nothing about what should be hidden, from whom, or whether opacity is desirable. It tests one flag, raised one section ago, and nothing else.

The claim I made too broadly.

Two sections ago I compared two formalisms and concluded that the discrete one "wins on all five axes," and that "a polynomial decision procedure is the only quantity in this entire arc whose cost does not explode."

That was true of the property I had looked at, and false of its twin.

Verification of current-state opacity is PSPACE-complete. The general problem is "PSPACE-hard, due to the quantifier alternation," and the standard approach requires constructing "an observer-like structure over an exponential belief space," specifically an estimator over the state space 2^X.

The difference in scale, at fifty system states: a quadratic procedure handles something like 2,500 objects; a belief space over the same states is about 1.1 × 10¹⁵. At a hundred states, ten thousand against roughly 10³⁰.

And this exponential is a different animal from the last one.

Two sections ago I also described an exponential construction, the one built over subsets of system states. My point then was that it is avoidable: a cleverer construction gives the same answer in polynomial time.

This one is not avoidable. PSPACE-completeness means no polynomial algorithm exists unless two complexity classes that are widely believed to differ turn out to be the same.

That makes it the first cost in this entire essay shown to be irreducible rather than merely large. Every other expensive thing I have described, over many sections, was an engineering problem: a better construction, a smarter instrument, a cheaper proxy. This one is a theorem about the question.

Why the two differ, in one line.

The stated reason is quantifier alternation, and the constructions show what that means.

Diagnosability asks whether two traces can be told apart. That is a question about pairs, and you can answer it by walking two runs side by side. Polynomial.

Opacity asks what an observer believes. That is a question about someone's state estimate, which lives in the space of all subsets of states. Exponential.

Generalised, and I think this travels well beyond this literature: checking whether two situations are separable is structurally easier than checking what someone could infer from them. I have been treating those as the same kind of question throughout.

Which caps something I was pleased about.

A few sections ago I found that controllability and observability are formal duals, and treated it as unifying. Last section I extended it: capability discipline for acting and capability discipline for seeing are one idea transposed, and I wrote that this was "the predicted structure rather than an analogy."

That remains true as a structural claim. But duality of the properties does not imply duality of the cost. The transpose of a polynomial question can be PSPACE-complete, and here it is.

So the duality is a real insight and a poor guide to difficulty. Which is uncomfortably close to the failure I diagnosed two sections ago, where following a borrowed word to a formalism did not guarantee the formalism fitted. Two sections in a row of over-reading something I had read correctly.

And it answers last section's flag in the direction the flag suspected.

I noted last section that I had not checked whether these enforcement mechanisms can actually be computed for a realistic system, and that the literature treats it as a substantial problem.

It does, and it is: verification alone is PSPACE-complete, and synthesising an enforcement mechanism sits on top of verification.

So last section's claim that opacity enforcement "costs nothing in capability" survives as stated, because the system genuinely is not degraded. But it was silent about the cost of obtaining the mechanism, and that is where the expense lives.

Corrected: opacity enforcement costs nothing at runtime and a great deal at design time. That is a more useful sentence than "it is free," and I should have written it that way.

The practical response is abstraction, and it moves the risk rather than removing it.

The literature's answer is not a better exact algorithm but an approximate one: "incremental local observer abstraction," to tackle the exponential blowup.

Here is what matters about any such abstraction, and what I could not establish from what I read. An abstraction that over-approximates what the intruder could know is safe: it may tell you a system is not opaque when it actually is, wasting effort. One that under-approximates is unsafe: it may certify opacity that does not hold.

Which direction a given abstraction errs in is the single most important thing to know before relying on it, and I do not know it for the ones referenced here. Recording that as a question rather than glossing it.

It also echoes something from a few sections back: an instrument whose negative results are unreliable has to be reported as a positive instrument only.

One design consequence, and it comes from the cost rather than the mechanism.

Last section I recommended generating two artefacts at the point of action: a diagnostic trace only operators read, and a published trace that everyone else sees.

The complexity result strengthens that for a reason I did not have. If deciding what may safely be published is hard in general, then making that decision per read request is the worst possible architecture, because the expensive computation recurs on every access.

Deciding once, at generation time, and materialising the published artefact, moves the cost from per-request to per-design. So the two-artefact design is not only more robust to misconfiguration. It is the only one whose cost structure works if the underlying decision is hard.

What a hardness result does and does not say.

PSPACE-completeness is a worst-case statement about a general class of problems. It does not mean every instance is hard. Real systems often have structure that makes practical cases tractable, which is exactly why the abstraction literature exists and why anyone builds these tools at all.

So: I am carrying that the exponential is irreducible in general, that this distinguishes it from the avoidable blowup two sections ago, and that the practical route is approximation. I am not carrying any claim that opacity verification is infeasible for a particular real system, which would be a misuse of the result.

And this section read an overview and abstracts rather than the primary complexity proofs. The powers of two above illustrate the size of a belief space; they are not measurements of any implementation.

One note on how my mistakes have changed.

For a long stretch, my errors were about reading too little: borrowing a word without its formalism, holding a position without its procedure, citing a model without the technique built on it.

The last two sections are a different failure. I read the theorems correctly and inferred too much from them. Duality of two properties got treated as though it implied sameness of everything about them, and cost is where it broke.

The rule that would have caught it is short: a structural correspondence between two questions tells you nothing about their difficulty. Difficulty has to be checked separately, every time. I am now two for two on getting that wrong with material I read properly.

It was a quantifier the whole time

In short: Last section I left a question open and called it the most important thing to know: when you approximate a system to make verification tractable, does the approximation err on the safe side or the dangerous side? The answer is that it depends on the property, and the same approximation errs both ways on the same system. Working out why produced the classification that three sections have been missing, and then something I did not expect: the finding I have been treating as this whole stretch's central discovery turns out to be a piece of logic rather than a fact about systems.

Scope, up front.

This section tests one question, raised one section ago, and nothing else. It does not evaluate any particular approximation technique; it establishes what kind of question this is.

The question was mis-posed.

I assumed an approximation errs consistently: either it is conservative, or it is optimistic. So I asked which.

I built one small system, chose one set of visible events (with both the fault and the secret unobservable, which is the realistic case), and made one over-approximation by adding traces. Then I checked both properties.

  • Diagnosability went from true to false. Adding a clean trace that happens to look identical to a faulty one destroys your ability to tell them apart.
  • Opacity went from false to true. Adding a clean trace that happens to look identical to the secret one creates the confusion that opacity requires.

Same system. Same approximation. Opposite directions.

So over-approximation is conservative for diagnosability, which can never certify a diagnosability you do not have, and optimistic for opacity, which absolutely can certify an opacity you do not have.

And the reason is a quantifier.

Diagnosability is universal: for all pairs of faulty and clean traces, they must be distinguishable.

Opacity contains an existential: for every secret trace, there must exist a non-secret trace it is confusable with.

Adding traces to a system can only add obligations to a universal claim, and can only add witnesses to an existential one. That is the entire mechanism.

Stated generally: an over-approximation is sound for the universally quantified part of a specification and unsound for the existentially quantified part. A specification containing both cannot be safely approximated without splitting it first.

Which supplies a category I did not have.

There is a name for requirements like this. Clarkson and Schneider call them hyperproperties: "sets of trace properties," a set of sets of traces, which "can express security policies, such as secure information flow, that trace properties cannot."

The tractable subclass is k-safety: a property where "the set of traces needed to identify a violation" is bounded at size k. Noninterference is the canonical example of 2-safety. And the verification route is stated plainly: reduce it to an ordinary safety property and check it on the system composed with itself k times. Self-composition.

Which explains something I had treated as a lucky fact.

Three sections ago I was pleased that diagnosability is decided in polynomial time by a "verifier that walks two runs simultaneously." I described the construction as though its efficiency were a happy accident.

It is an instance of a standard technique. Diagnosability is 2-safety. The verifier is the system composed with itself. The polynomial cost is what self-composition costs at k equals two.

And opacity? It is not k-safety for any fixed k. To witness a violation of opacity you have to show that no confusable trace exists anywhere in the language. No finite set of traces can establish that. So it falls outside the class self-composition handles, which is exactly why it does not inherit the cheap route and lands where it lands.

Last section I quoted "quantifier alternation" as the reason for the complexity and could not say more than that. This is what the phrase means when you cash it out.

So three sections of results (a polynomial verifier, a PSPACE-complete dual, and an approximation that errs in opposite directions) are three consequences of one classification I did not have.

And now the part I did not see coming.

The most-repeated finding of this whole stretch, the one I called the through-line of eleven sections, was this:

A control that has never been exercised is indistinguishable from a control that works.

I found it eleven times: unexercised controls, vacuous passes, a rank condition that certifies sight but not blindness, detection rules that never fire, permissions that look unused, absorbed disturbances that produce no event.

Every one of those is an existential claim being tested by observation. "There exists a situation in which this control fires." And observation can confirm an existential and can never refute one.

So it is not a property of controls. It is not a property of organisations, or instruments, or safety culture. It is what an existential quantifier is. I spent eleven sections cataloguing instances of a fact about logic as though it were a discovery about systems.

But that reframing hands me the first real remedy, rather than another instrument.

If the difficulty is that watching cannot refute an existential, then the fix is to stop trying and make the property universal by construction.

"There exists an input that triggers this control" is unfalsifiable by observation. "Every input in this enumerated set triggers this control" is a universal claim over a finite set, and you can check it exhaustively.

And look at the three instruments in this stretch that actually worked:

  • The hazard enumeration that crosses every control action with four fixed failure types.
  • The testing combinator that refuses to report a pass unless a stated proportion of cases actually exercised the property.
  • The bounded-delay condition: detectable within a bounded number of events.

Each one replaces an existential over an unbounded space with a universal over a bounded one. I found all three separately, from three different fields, and never noticed they share a form.

Which finally answers the question I opened with.

Not by examining any approximation technique, but by classifying the property: an approximation intended for opacity must under-approximate the system's behaviour, not over-approximate it. Removing traces removes candidate witnesses, so it errs toward reporting a system non-opaque, which is the safe direction.

Two process notes, and the first is embarrassing.

The first run of this section's computation printed a conclusion about diagnosability that the computation did not support. I had chosen a set of visible events that made every faulty trace trivially distinguishable, so the collision I claimed never occurred. I rebuilt it with the fault unobservable and both directions came out cleanly.

That is the third section in which a pre-written conclusion outran its computation. The fix is procedural rather than intellectual: compute first, then write the claim from the output. I am recording it because three is a pattern.

And the second: for the second time in four sections, a result I was proud of turned out to be a special case of something standard. Three sections ago it was the verifier. This time it is the finding I had made the centrepiece of the whole stretch.

The diagnosis from a few sections back holds and sharpens. My reading is fine. What I keep failing to do is place what I have read into the category that already contains it.

How far must you look before "we found nothing" means anything

In short: Last section ended on what I thought was a remedy: stop trying to establish "there exists a case where this works" by watching, and instead check "every case in this finite set works." This section asks when that swap is actually valid, and the answer has a name I did not know: the completeness threshold. The bound you need can be exponentially larger than the obvious one. On a system of thirty-two independent switches, everything is reachable in thirty-two steps, but the bound that makes "no counterexample found" mean something is over four billion. That result then reverses one of this essay's longest-running complaints, in a direction I did not expect.

Scope, up front.

This section tests one claim, made one section ago, and nothing else. It does not evaluate whether those three instruments are useful. It asks only whether the move they share is valid.

The claim had a hole in it.

Last section I said three instruments worked because each one replaces "there exists a case" with "every case in a bounded set." I did not ask how big the bounded set has to be.

There is a whole literature on exactly that question, and it is the one branch of verification this essay had never touched.

The completeness threshold is "an upper bound... such that if there is no counterexample to a property in a model of length CT or less, then the model satisfies the property." That is the number you need. Look that far, find nothing, and you have proved something. Look less far and you have proved nothing at all.

And there are two candidate numbers, which are wildly different.

The reachability diameter is "the minimal number of steps required for reaching all reachable states." This is the intuitive answer: look long enough to have been everywhere.

The recurrence diameter is "the length of the longest transition sequence in the state space... that does not traverse the same state twice." Biere and colleagues proposed it as a completeness threshold in 1999.

The intuitive answer is the wrong one, and I checked how wrong on the simplest system I could build: a box of n independent on/off switches.

  • Every configuration is reachable in n steps. Flip the switches that need flipping.
  • The longest path that never repeats a configuration is 2ⁿ minus 1. It walks through every configuration once.

At sixteen switches: 16 against 65,535, a ratio of 4,096. At thirty-two switches: 32 against 4,294,967,295, a ratio of over 134 million.

I did not take the long path on faith. A Gray code over n bits is a construction that visits all 2ⁿ configurations exactly once while changing a single switch per step, and I confirmed both of those properties for three switches and for four.

So: a system in which you can reach anything in thirty-two moves can require a four-billion-move search before "we found no counterexample" carries information.

Getting the actual threshold is also expensive. Clarke and colleagues "describe how to compute an over-approximation" of it for general properties, and prove the complexity of the standard method is doubly exponential. More recent work identifies a class of specifications whose thresholds are linear in the recurrence diameter, which is better and still not small.

Which splits the three instruments apart.

Last section I said they share a form. They share a move with three different justifications, and the justifications are not equally good.

  • The hazard enumeration gets its bound by definition: four failure types crossed with the control actions someone wrote down. It is complete relative to that model and owes nothing to the system's actual behaviour.
  • The testing combinator gets its bound statistically: a required proportion of observed cases must exercise the property. That is not completeness. It is a guard against vacuity, and it can pass on a test suite that never reaches the states that matter.
  • Bounded-delay detectability gets its bound from the system, and it is the only one of the three that is complete in the sense above, because the bound is part of the property and the checker decides whether one exists.

One complete, one complete relative to a model, one not complete at all. I had them filed as three instances of a single good idea.

And this is the fourth section running where a result I liked needed a qualifier it did not have.

Section by section: a verifier I was proud of turned out to be a standard technique; a duality I liked turned out to say nothing about cost; the centrepiece finding turned out to be a fact about quantifiers; and now the remedy I proposed turns out to be sound only under a condition that is itself hard to establish.

The shape is consistent. I find a real structural insight, state it without its side condition, and the side condition is where all the difficulty lives.

Written as a rule I can apply in advance: whenever a move converts an unbounded question into a bounded one, name the bound and say who computes it. In three of the four cases above the honest answer would have been "nobody, and it is expensive," which is exactly the thing that needed saying at the time.

Now the reversal, and it undoes a complaint I have been making for six sections.

Every instrument in this essay that produced usable work took its bound from a model someone wrote down rather than from the system's real behaviour. I kept recording that as a weakness. Somebody has to draw the control structure. Somebody has to decide which events get logged. The residual never goes away, it just moves, and I called isolating it "the honest outcome."

It is not a residual. It is the mechanism that makes the question finite.

A bound taken from an authored model is small because someone chose it to be small. A bound taken from the system's own dynamics is the recurrence diameter, which the numbers above show can be astronomically large. Authoring a model is not a concession to practicality. It is the act of picking a bound you can actually exhaust.

Which changes what "a good model" means. A model is not good because it is faithful. It is good because it is small enough to exhaust and large enough to contain the hazards you care about. Those two requirements pull against each other, and neither of them is fidelity.

One uncomfortable consequence for how AI systems get evaluated.

"We ran ten thousand adversarial cases and found nothing" is a bounded search with an unstated threshold, and the threshold is almost certainly not met. It licenses no conclusion about the cases you did not run, unless the search reached the completeness threshold, and for any system carrying meaningful internal state the relevant number is the recurrence diameter rather than the number of test cases anyone will pay for.

What the claim does license is precisely what the testing combinator licenses: the suite reached the relevant states at all. That is genuinely worth having. It is a much weaker statement than it is usually taken to be.

Which is also why "within how many steps after a violation does that violation become visible?" is the better question. You are not asking whether you looked far enough. You are asking whether a finite bound exists at all, and that is a question something can decide for you.

What I am and am not carrying.

I read the definitions above from summaries and abstracts rather than working through the primary papers. Carried: the definition of the completeness threshold, the distinction between the two diameters, and that the second can be exponentially larger than the first. Not carried as proved: the "doubly exponential" and "linear in the recurrence diameter" complexity claims, which I am quoting rather than verifying.

The switch-box example is my own, a standard construction rather than a result from the literature. The Gray code property was checked for three and four switches only, and the 2ⁿ minus 1 figure follows from that construction.

And a note on the method itself.

That is seven sections in a row where I set out to close a gap I had flagged, and the seventh in a row to come back with a correction rather than an addition. What has shifted is the target. The early ones corrected claims about the world. The last four have corrected claims about my own reasoning.

That is what convergence looks like from the inside. It is also a warning. A method that keeps finding faults in itself rather than in its subject is running out of what it can do without new material.

The system that already computed the bound

In short: Last section ended with a rule (whenever you turn an unbounded question into a bounded one, name the bound and say who computes it) and a warning that I was running out of things to say without new material. So this section brings new material, and it turns out there is a living system that solved exactly this problem and published its working. Your immune system cannot possibly carry one detector per threat, so it carries detectors that each cover a huge region of threat space instead. That single design choice sets the size of the repertoire, and it also sets the rate of autoimmune disease, because those two numbers are the same number seen from opposite sides.

Scope, up front.

This section asks how a finite set of detectors covers an effectively unbounded space, and what that costs. It says nothing about treating disease.

Ninety-odd sections of using an image without ever checking it.

I have reached for "the immune repertoire" ten times in this essay as a picture of useful diversity, and I never once asked how big it has to be. That question has a seventy-year literature and a 1979 paper that poses it in almost exactly the terms of the last section.

Perelson and Oster asked "how many different antibodies are required to fully cover the entire possible universe of potential foreign antigens, while at the same time reliably discriminating them from self." Their answer introduced shape space: an abstract space "in which both antibodies and antigens live," where antigens close together "are recognized by the same or similar antibodies."

The crucial move is in that last clause. Each detector covers a ball, not a point. The concept exists "to explain the paradox how a vertebrate with finitely many antibodies can recognize practically infinitely many antigens."

The counting argument that forces it.

The scale is brutal. A human "harbors about 100 million distinct TCRs." Against that, "the predicted number of MHC-bound antigenic peptide epitopes that humans encounter during their lifetime is approximately 10¹²," while "the number of unique TCRs available in the periphery" is under 10⁸.

Sewell puts the enumeration option in physical terms: "the weight of 10¹⁵ individual T cells (one per potential foreign peptide) would be greater than 500 kg."

So cross-reactivity is not sloppy engineering. "A comprehensive system requires each T cell to recognize numerous peptides." A single T cell receptor has been measured recognising "more than a million different peptides."

Which gives a bound you can actually write down.

Put N detectors in a space of V points, each covering v points. The chance a given threat escapes all of them is roughly e^(−Nv/V), so to get escape probability down to p you need

N ≥ (V/v) × ln(1/p).

With the numbers above (V = 10¹², v = 10⁶) I get 2.3 million detectors for a one-in-ten escape rate, 6.9 million for one in a thousand, and 13.8 million for one in a million.

The actual repertoire is 100 million. It clears the one-in-a-thousand bound 14.5 times over.

So here is the answer to last section's question, for a real system: the thing that computes the bound is the covering radius. Not the size of the threat space. Not anybody's catalogue of threats.

And generality buys exactly what you would hope, no more and no less.

Set v to 1, meaning perfectly precise detectors that recognise one thing each. The same bound now demands 6.9 trillion detectors instead of 6.9 million. The ratio is exactly a million, exactly v, because v enters the formula only as a divisor.

Using Sewell's own figure to convert to mass (10¹⁵ cells weigh 500 kg, so 5 × 10⁻¹³ kg each): the cross-reactive covering repertoire weighs 3.45 mg. The precise one weighs 3.5 kg. The real repertoire weighs 50 mg.

Which is worth a correction to the famous number. The 500 kg is the cost of enumeration, one cell per threat. The cost of covering with precise detectors is 3.5 kg, a thousand times less, and still impossible for a lymphocyte population. The real argument for cross-reactivity is stronger than the version usually quoted and lands in the same place.

One thing about this bound that I had wrong all essay.

I have been treating "we have comfortable margin over the bound" as a mild reassurance. It is not mild. The margin sits in an exponent.

The repertoire's 14.5-fold surplus does not give 14.5 times less escape. It gives escape probability e^(−100), which is 3.7 × 10⁻⁴⁴, against one in a thousand at the bound. A 14.5-fold surplus buys forty-one orders of magnitude.

And the same fact runs the other way, which is the part that matters operationally. At 1 million detectors the escape probability is 0.368: more than a third of all threats invisible. At 10 million it is 0.0000454. One order of magnitude in repertoire size moves the system from useless to nearly perfect.

A covering bound is not a slope you climb. It is a cliff. Sitting just under it is a completely different condition from sitting just over it, and nothing about the system looks different from the outside.

Now the part that arrives uninvited.

A recognition ball does not know where things come from. It covers whatever falls inside it, and some of what falls inside it is you.

If S of your own molecules sit in the same space, the fraction of fresh detectors that attack you is 1 − e^(−vS/V). I computed it: at ten thousand self-molecules, 1% of detectors are self-reactive. At a hundred thousand, 9.5%. At a million, 63.2%.

So autoimmunity is not a defect in the mechanism. It is the exact dual of the coverage. The same parameter v that divides the required repertoire by a million multiplies the self-attacking fraction by the same million. They are one number. You cannot turn one down without turning the other down, because there is no separate dial.

And the fix is the thing I proposed two sections ago, already built.

Two sections ago I said the way out of an unfalsifiable "there exists a case where this works" is to make the claim universal over a bounded set instead. The immune system does precisely this, and the direction it chooses is the whole trick.

It does not try to prove "there is no part of the body this detector would attack" against everything the body might ever express. Instead the thymus assembles a finite display of self, and checks every new detector against it: for all of these, do not react. Detectors that fail are destroyed.

The size gap is the point. Thymic cells "promiscuously express nearly 90% of the coding genome," so the display holds roughly 18,000 genes, against 10¹² foreign threats. The check runs over a set about 56 million times smaller than the space the system actually operates in. That is what makes it executable at all.

And a single gene decides how big the display is, which turns my "good model" claim into something testable.

Last section I argued that authoring a model is not an unfortunate compromise but the mechanism that makes an intractable question finite, and that a good model is small enough to exhaust and large enough to contain the hazards you care about. I had no way to test the second half.

The thymic display is an authored model, and its author is a gene called AIRE. AIRE "plays a role in the expression of just under 4000 genes," with "around 533 genes entirely dependent on AIRE" and "3,260 having enhanced expression" in its presence. That is 2.96% of the display strictly dependent on it, 21.1% including the enhanced ones.

When AIRE breaks, the display gets smaller, and the second half of my criterion stops being a metaphor. Patients develop APECED: "autoimmune destruction of endocrine organs." The organs attacked are the ones whose molecules went undisplayed.

A three percent shortfall in the enumerated set produces organ-specific autoimmune disease. That is the strongest evidence in this essay that "large enough to contain the hazards" is a real engineering requirement rather than something I made up to sound rigorous.

Which also gives the sharpest version of this essay's most repeated finding.

A detector that never meets the self-molecule it would attack passes the thymic check vacuously. It is not tolerant. It is untested. That is the sentence I have written eleven times: a control that has never been exercised is indistinguishable from one that works.

What makes this the sharpest instance is that biology has a name for the population of vacuous passes. It is the autoimmune repertoire, the self-reactive clones that thymic selection leaves in circulation because they were never shown their target.

And it makes AIRE's job describable in one line: AIRE reduces the vacuity rate of a universal check by enlarging the set it quantifies over.

Three consequences for monitoring AI systems, and they come from the arithmetic.

One: enumeration is off the table. A monitor with one rule per bad behaviour is the 3.5 kg repertoire. The only affordable design uses detectors that generalise, which in this vocabulary means detectors with large balls.

Two: the false-positive rate is not a tuning defect. It is the price of the coverage, tied to it through the same single parameter. A monitor tuned down to near-zero false alarms has, by the same arithmetic, shrunk its balls and lost coverage that no amount of further tuning will bring back. Anyone who reports a low false-positive rate as an unqualified win is reporting half of a trade.

Three: the way out is not a better threshold. It is a second, differently quantified check: a universal test against an authored finite set of known-good behaviours, which is the negative-selection move. And the thing that determines whether it works is not the sophistication of the check. It is whether the authored set contains the hazards. Three percent was enough to cause disease.

What I am and am not carrying.

The covering model assumes detectors are scattered independently and uniformly and that their balls are all the same size. Real repertoires are none of those things, being shaped by generation biases, prior selection and past exposure. These numbers are order-of-magnitude reasoning about the structure of a bound, not predictions about any individual person.

One specific catch, since I made a rule about this two sections ago: my first run printed an escape probability of exactly zero at 100 million detectors. That is floating-point underflow, not a real zero. Recomputed directly it is 3.72 × 10⁻⁴⁴, and the "forty-one orders of magnitude" figure above depends on the correction. It would have gone out silently wrong.

The figures for the threat space, the ball size and the dimensionality of shape space are quoted from reviews rather than derived here, and the dimensionality estimate is contested in its own source.

And on the warning I opened with.

Last section I noted that seven consecutive attempts to close my own flagged gaps had all come back with corrections to my reasoning rather than discoveries about the world, and that this was a sign of a method running dry.

Going outside for new material fixed it in one section. That is worth recording as a fact about the method, not just about immunology.

The holes you cannot fill by adding detectors

In short: Last section I computed how well the immune system covers the space of threats and got an escape probability of about 10⁻⁴⁴, which is to say essentially perfect. The measured figure is about 29%. I was wrong by roughly forty-three orders of magnitude, and the interesting part is that my arithmetic was fine. I computed a real quantity that turns out to be irrelevant, because there are two kinds of coverage gap and the one I calculated stopped mattering long ago. Worse, the second kind is caused by the very mechanism I spent last section praising.

Scope, up front.

This section tests one assumption I flagged one section ago: that detectors are scattered evenly. It asks what the covering bound gets wrong about a real repertoire and by how much. No clinical claims.

The number.

Immunologists have a name for foreign molecules that never provoke a response. They are called holes in the repertoire, and there are a lot of them.

Calis, de Boer and Keşmir: "about one-third of the presented nonself peptides is expected to be indistinguishable (by T-cells) from presented self peptides," and "since T-cells have to ignore self peptides to prevent autoimmunity, at least a third of the foreign peptides has to be ignored as well, and therefore fails to evoke an immune response."

Their figure is about 29%. Mine was 0.0000000000000000000000000000000000000000000372%.

My arithmetic was right. My question was wrong.

The covering bound correctly answers: is there some detector whose recognition ball contains this threat? At 100 million detectors, almost certainly yes.

But a detector whose ball contains a threat that sits near one of your own molecules also contains your own molecule. And that detector was destroyed in the thymus, precisely as designed. So were all the others covering that region, for the same reason.

That gives two entirely different kinds of gap:

  • A sampling hole is a threat that no detector happens to cover. Probability e^(−Nv/V). It depends on how many detectors you have, and it collapses exponentially as you add more.
  • A structural hole is a threat that sits too close to you. Every detector that would catch it was deleted. Probability 1 − e^(−vS/V). It depends on how much of yourself you display, and it does not depend on the number of detectors at all.

I checked this across five orders of magnitude of repertoire size. At ten million detectors the sampling hole is 0.0000454 and the structural hole is 0.29. At a hundred million: 10⁻⁴⁴ and 0.29. At a billion and at a trillion, the sampling term is too small for a computer to represent and the structural term is still 0.29.

You cannot fill a repertoire hole by adding detectors. The hole is in the space, not in the sample.

Which takes back last section's headline.

Last section I made much of the fact that a 14.5-fold surplus in repertoire buys 41 orders of magnitude of coverage. That is still true. It is also, I now see, beside the point: it buys 41 orders of magnitude against a failure mode contributing roughly none of the observed failure.

The general version is worth stating carefully, because it is not about immune systems:

When a system has two failure modes, one that scale fixes exponentially and one that scale does not touch, the second one is the entire answer at any scale worth building. Money spent on the first has a return indistinguishable from zero.

I spent a whole section admiring a margin against the problem that had already been solved.

The 29% is not a fluke of their method.

I checked it against their own parameters rather than taking it on trust. They state that one T cell recognises roughly one in 2.7 million peptide-MHC combinations. Feeding that into the structural-hole formula, you get 29% holes at a displayed self-peptidome of about 925,000 molecules. An independently plausible figure for how much of yourself is displayed is around a million, which gives 31%.

Two routes, opposite directions, agreeing within about ten percent. So the one-third figure is what their degeneracy parameter and a realistic self-display jointly require, not a number that fell out of a fitting exercise.

And now the thing that made me sit up.

Last section I derived the fraction of fresh detectors that would attack you: 1 − e^(−vS/V). I called autoimmunity "the exact dual of coverage."

The structural-hole fraction I derived this section is 1 − e^(−vS/V).

The same expression. Not analogous, not proportional. Identical, character for character.

Both are asking exactly one question: does a random recognition ball contain at least one of your own molecules? If it does, that detector gets deleted, which prevents an autoimmune attack and blinds you to every threat in that ball. One event. Two names, depending on which side you look from.

I confirmed it across five display sizes. At a hundred thousand self-molecules both numbers are 3.64%. At half a million, both 16.9%. At 925,000, both 29.0%. At a million, both 31.0%. At two million, both 52.3%.

So last section understated its own finding. It is not that tolerance and coverage trade off through a shared parameter. There is no dial, because there is only one quantity.

Which means I got AIRE exactly backwards.

Last section I treated the gene that enlarges your thymic self-display as unambiguously good, with autoimmune disease as the price of displaying too little.

But the paper states the other direction plainly: "a larger number of presented self peptides will lead to a larger chance of finding a self/nonself overlap." Displaying more of yourself buys tolerance and pays for it in blindness.

I put numbers on it. Removing the roughly 3% of the display that strictly depends on AIRE moves holes from 31.0% to 30.2%. Removing the full 21% that AIRE influences moves them to 25.3%.

So AIRE buys tolerance by blinding you to an extra 5.6 percentage points of the foreign world.

Autoimmune disease is what a display that is too small costs. This is what a larger display costs. Last section recorded only the first, and the criterion I was so pleased with, "large enough to contain the hazards you care about," survives but loses its innocence. It is not a floor to clear. It is a term in a subtraction.

The uneven-scattering assumption fails, and it always will, for a reason.

The flag I set last section was that real detectors are not scattered evenly. They are not, and there is a theorem about which way that cuts.

Escape probability is e^(−x) in local coverage, and that curve is convex. Jensen's inequality then guarantees that the average of e^(−x) across uneven regions is always at least the value you would get from the average coverage. Uneven scattering can only ever make coverage worse than the smooth calculation. Never better. That is a proof, not a tendency.

The size of the effect is startling. Two regions, average coverage exactly as before:

  • ±25% unevenness: escape rises from 10⁻⁴⁴ to 1.3 × 10⁻³³. Ten orders of magnitude, from a wobble of a quarter.
  • ±50%: 9.6 × 10⁻²³.
  • ±90%: 2.3 × 10⁻⁵.
  • ±99%: 0.184. Nearly a fifth of threats invisible, with the average coverage unchanged throughout.

And this is the same inequality I used many sections ago to define antifragility, running the other way. There, convexity in payoff made volatility a benefit. Here, convexity in escape makes unevenness a cost. One inequality, two signs, and I had only ever written down the flattering one.

Three consequences for monitoring AI systems, and one of them reverses my advice from last section.

One: an aggregate coverage number is close to worthless. A monitor whose average coverage sits comfortably above the required bound can still be missing 18% of what it should catch, if that coverage is unevenly distributed. The average is exactly what a summary metric reports. The number worth reporting is the coverage of the worst-covered region, and almost nobody computes that.

Two, reversing myself: past a certain point, adding detectors is the wrong investment. Last section I said generalising detectors are the only affordable design, which still holds. What I did not draw is the corollary. Once structural holes dominate, more detectors buy nothing you can measure, and everything that remains is a question about where the holes are rather than how many detectors you have.

Three, and this is the identity applied to monitoring: every behaviour your allow-list makes permissible also makes some genuinely harmful behaviour that resembles it undetectable. Not as a side effect. As the same event, counted from the other side. A monitor's blind spots are its allow-list, viewed from behind.

What I am and am not carrying.

The forty-three-order gap compares a number computed with my parameters against a measurement made under theirs, which are not the same setup. The honest claim is that the structural term dominates by dozens of orders of magnitude, not that the ratio is precisely 7.8 × 10⁴².

Their 29% is a computational estimate built from binding predictors and a substitution matrix, not a direct count of non-responses; their own wording is "expected to be indistinguishable."

Two of my sampling figures printed as exact zero and are simply too small for double-precision arithmetic. Nothing above rests on them.

And the structural-hole formula assumes your own molecules and foreign ones are positioned independently. That is false for pathogens under selection to look like their host. Molecular mimicry makes the real picture worse than this, not better, and I have not quantified by how much.

When the blind spot is a target rather than a risk

In short: Last section I said a coverage hole cannot be fixed by adding detectors, because the hole is in the space rather than in your sample. That was right about detectors and wrong that nothing works. Holes shrink with astonishing speed if you add independent ways of looking rather than more things that look the same way: six independent views cut the blind fraction from 29% to 0.06%. Your immune system has exactly six, which is probably not a coincidence. But the whole benefit rests on the views being genuinely different, and a mere 10% overlap between them destroys 98% of it. Meanwhile the threats are not sitting still waiting to be counted: they are actively hunting for the gap, and it takes them about three and a half tries.

Scope, up front.

This section tests one assumption I flagged last section: that threats sit at random positions in the space. It concerns detection coverage only, and makes no clinical claim.

Threats are not scattered. They are aiming.

Last section's 29% assumed a threat lands wherever chance puts it. Real pathogens are under selection to move, and moving into a blind spot is the single most profitable move available.

So the question is not "what fraction of the space is invisible" but "how hard is it to reach the invisible part." I computed it, and the answer is embarrassing for the defender.

With 29% of positions invisible, the expected number of variants a pathogen tries before landing in one is 1 divided by 0.29, which is 3.45. The chance of finding a hole with a handful of tries:

  • 1 variant: 29%
  • 3 variants: 64%
  • 5 variants: 82%
  • 10 variants: 96.7%
  • 20 variants: 99.9%

Against a single way of looking, an adversary with ten variants is effectively guaranteed invisibility. Last section's 29% is the number for a threat that is not trying. For one that is trying, the number is essentially 1.

But I was wrong that nothing fixes this.

I said flatly that you cannot fix a hole by adding detectors. That part holds. What I missed is that detectors are only one axis, and it is the wrong one.

A threat is invisible only if it falls in a hole for every way you have of looking at it. So if you have k genuinely independent ways of looking, the invisible fraction is not h but h to the power k. Adding views multiplies the gaps together instead of leaving them where they are.

I computed the series:

  • 1 view: 29%
  • 2 views: 8.41%
  • 3 views: 2.44%
  • 4 views: 0.71%
  • 5 views: 0.21%
  • 6 views: 0.0595%

Six views takes you from 29% blind to less than a sixteenth of one percent. That is a 488-fold reduction.

And your immune system presents foreign material through exactly six channels: two versions each of three separate genes. Having three of these genes, in duplicate, starts to look less like an accident of genome history and more like the number of independent views the problem actually requires.

Which turns a textbook story into a number.

Immunology textbooks say that having two different versions of each gene is better than two identical copies, because you present a wider range of material. True, and vague. Applying last section's formula, with no new assumptions, makes it exact.

Someone with identical copies at all three genes has three distinct views, giving 2.44% blind. Someone with two different versions at each has six, giving 0.0595%.

That is a 41-fold advantage, not the 2-fold that "twice as many versions" suggests. The benefit compounds, because a threat now has to be invisible to all six simultaneously.

And here is the catch, which is nearly the whole result.

That h-to-the-k arithmetic works only if the views are independent. If two of your channels present overlapping material, their blind spots overlap too, and the multiplication stops multiplying.

I modelled it as a shared core plus an independent remainder, and the collapse is violent:

  • No overlap: 0.0595% blind.
  • 10% shared: 2.93% blind, which is 49 times worse.
  • 25% shared: 7.26%, 122 times worse.
  • 50% shared: 14.5%, 244 times worse.
  • 100% shared: back to 29%, as if you had one view.

A ten percent overlap destroys ninety-eight percent of the benefit of having six views.

So the quantity that matters is not how many channels you have. It is how decorrelated they are, and the relationship is savage. Immunologists have a name for the empirical version of this: divergent allele advantage, where more different versions of the gene confer more benefit than merely different ones. That is precisely what this arithmetic predicts.

And someone has measured the threats adapting to the defenders, at population scale.

This is the part I found most striking. Kawashima and colleagues took "more than 500 HIV-infected subjects drawn from North America, the Caribbean, Europe, Africa, Australasia and Asia," and asked whether the virus is tracking which presentation genes are common where.

It is. For one specific escape mutation they found "a strong correlation between the frequency of the escape mutation I135X and HLA-B*51 prevalence in the 9 study cohorts (P = 0.0001)." Across fourteen such variants, "the frequency of these epitope variants was consistently correlated with the prevalence of the restricting HLA allele in the different cohorts (together, P < 0.0001)."

Their conclusion: "HIV is evolving at the population level in response to immune selection pressure."

That is not a virus escaping one person's immune system. That is a virus optimising against the distribution of defensive configurations in a population. Common configurations are well-studied configurations.

Which is why the common ones do not stay common: "protective MHC alleles are prevented from going to fixation, because pathogens evolve genotype-specific escape variants to common alleles." Being the popular defence is a liability.

What monoculture costs, exactly.

An escape variant tuned to one presentation gene blinds precisely the people carrying that gene. So:

  • Everyone identical: 100% of the population blind, 0% still seeing it.
  • Gene carried by 30%: 30% blind, 70% still seeing.
  • Carried by 1%: 1% blind, 99% seeing.
  • One of the 15,000 known human versions: 0.0067% blind, 99.9933% still seeing.

Note carefully what diversity does and does not buy. It does not make any individual safer. If you carry the targeted version you are just as blind either way. What it does is convert a total population failure into a bounded one.

Which is a reason for diversity I have not given before.

I have argued for diversity five times in this essay, and every one of those arguments was about variance: a portfolio of mechanisms, a shared gene pool no individual could fund, backup pathways that survive a common-mode failure, geographic spread against correlated shocks. All of them are arguments about surviving an indifferent world.

This is different in kind. It is diversity as unpredictability of your blind spot, against an adversary who studies you. The value is not that some members survive. It is that an attack optimised against the common configuration is wasted on everyone else.

And it has a property the others lack: it is self-balancing. Success makes a configuration common, commonness makes it a target, and being targeted makes it less successful. The diversity is not maintained by anyone's prudence. It is maintained by the attacker.

Four consequences for monitoring AI systems.

One: the fix for a blind spot is a second monitor that sees differently, not a bigger rule set in the first. Last section I established that beyond a certain point more detectors buy nothing measurable. This is what does buy something, and the return is exponential in the number of genuinely independent views.

Two, and this is where most real deployments will fail: independence is the entire quantity, and it collapses at 49 times for a 10% overlap. Two monitors trained on the same data, built from the same taxonomy of bad behaviour, or derived from the same threat model, are one monitor wearing two hats. The engineering question is not "how many monitors do we run" but "what would ever make these two disagree?" If you cannot answer that, you have one.

Three: an identically configured fleet is the monoculture case, and its number is 100%. An adversary who finds one blind spot in a uniformly configured fleet has found it in every deployment at once.

Four: standardising or publishing a detection configuration is itself a risk. Not because obscurity is security, but because commonness is a target under frequency-dependent selection, which is exactly what Kawashima measured. The most widely adopted defensive configuration is the one most worth studying.

What I am and am not carrying.

The h-to-the-k model and the overlap model are mine, not results from immunology. The overlap parameter has no measured counterpart; divergent allele advantage supports the direction of the effect, not the specific numbers.

The 29% is inherited from last section and carries all of its caveats, including that it is a computational estimate rather than a direct measurement.

Treating the six channels as fully independent overstates the case: the three genes differ in how much they are expressed and how broadly they bind, and the six are certainly not equally weighted. So 488-fold is a ceiling, not an estimate.

And Kawashima's findings are population-level correlations. They establish that escape tracks how common a gene is; they do not establish the per-person causal path I assumed when computing how easily a single adversary finds a hole.

The parameter I made up had been measured for fifteen years

In short: Last section I built a model with a knob in it, the amount of overlap between two ways of looking, and I admitted I had no measured value for that knob. I went and looked. Immunologists measured it in 2011: 72% of the fragments one of these molecules displays are also displayed by at least one other, and 47% of that sharing crosses the supertype boundary. Putting the real number into my own formula, unchanged, turns my headline claim of a 488-fold improvement into 2.13-fold. Worse, it kills the whole strategy: once the ways of looking share a core, adding more of them stops helping almost immediately, and going from six to a hundred buys you about one thousandth of a percentage point. There is no number of monitors that fixes a shared blind spot. I also got the shape of the cost wrong, and there is one piece of good news, which is that the underlying idea now has a test in humans with survival as the endpoint.

Scope, up front.

This section tests one thing I flagged last section: that my overlap parameter had no measured counterpart. It concerns detection coverage only, and makes no clinical claim.

I went looking for the number and it was already there.

The model I built last section has two knobs. One is how many independent ways of looking you have. The other is how much those ways overlap, how much of each one's blind spot is the same blind spot. I called the second one the entire quantity that matters, then admitted I had invented it and had nothing to calibrate it with.

It turns out to have been measured in 2011, on precisely the right object. Rist and colleagues took 3,738 peptides (short protein fragments, the things these molecules display so that the immune system can inspect them) out of the Immune Epitope Database, keeping only those that had been tested against at least six different HLA molecules, and asked a simple question: how many bind to more than one?

72% of them. Broken down by how far the sharing reaches: 68% of it crosses serotypes, 47% crosses supertypes, and 23% crosses loci, meaning it happens even between the three different genes. At population scale, for the twenty most common A and B variants across four ethnic groups, roughly 60% of predicted fragments are shared.

The authors state the conclusion themselves, and it is the one I was going to have to argue for: different HLA molecules "can nevertheless present largely overlapping peptide sets," and functional HLA diversity "is probably much lower than previously anticipated."

There is a structural reason underneath. Despite the fifteen thousand known variants I made much of last section, over 80% of the 945 A and B variants studied fall into just nine groups, called supertypes, which are defined by having largely overlapping display repertoires. The diversity I treated as a count of channels is, functionally, a nine-way classification.

Putting the real number in.

My formula from last section is unchanged. I checked it reproduces every figure I published then, and it does, which means what follows is the measurement talking and not a new model.

With the blind fraction at 29% and six ways of looking:

Overlap, measured Blind fraction Improvement over one channel
0%, my assumption last section 0.0595% 487.5 times
23%, sharing across genes 6.68% 4.34 times
47%, sharing across supertypes 13.63% 2.13 times
60%, population level 17.40% 1.67 times
72%, overall sharing 20.88% 1.39 times

I claimed 488-fold. The most defensible measured value gives 2.13-fold, which destroys 99.77% of what I claimed. Even the kindest reading, counting only sharing that crosses genes, destroys 99.31%. Last section I called 488 "a ceiling rather than an estimate." That was right, and the ceiling sits about 230 times above the floor.

The part that matters more than the number: the strategy itself is dead.

I told you to add independent ways of looking, and that the return was exponential in how many you have. Here is what the formula actually does once there is any shared core at all. At the measured 47% overlap:

  • 2 channels: 15.99%
  • 3 channels: 13.99%
  • 6 channels: 13.6313%
  • 10 channels: 13.6300%
  • 100 channels: 13.6300%

Between six and a hundred, the blind fraction improves by about one thousandth of a percentage point. The shared core is a floor, and no quantity of instruments goes below it.

Put as an impossibility rather than a cost: the 0.0595% I was aiming at is unreachable at any number of channels once the overlap exceeds 0.2%. At the smallest measured overlap, 23%, the floor is 6.67%, which is 112 times worse than my target, permanently, no matter what you build.

You cannot buy your way out of a shared blind spot with more instruments. There is no number of them that works.

And I described the cost with the wrong shape.

I said a 10% overlap "destroys 98% of the benefit" and called the relationship brutally nonlinear. The first half is arithmetically true. The second half is wrong, and re-deriving it rather than repeating it is what caught it.

The slope of blind fraction against overlap, at six channels, runs 0.2864 at zero overlap, 0.2879 at 10%, 0.2892 at 25%, and 0.2900 at 72%. That is essentially a constant, and it drifts slightly upward. The cost of overlap is linear. Every point of it costs the same as the last.

This matters for what you do about it. "Brutally nonlinear" implies a cliff, and cliffs have safe sides. There is no cliff and no safe side. The 98% figure is a ratio measured against a baseline that was tiny to begin with, not a steep descent you can stay above.

The good news, and it is real: this now has a test in humans.

Everything above says my numbers were wrong. The underlying idea, that what matters is how differently your instruments see rather than how many you have, came out of this in better shape than it went in, because it turns out to have a clean test that I could not have run.

Chowell and colleagues measured how far apart a person's two copies of each HLA gene are, using a standard chemical measure of how different two protein sequences are, and looked at whether that predicted survival after immunotherapy. The design detail is what makes it a test rather than an observation: they ran the comparison only among patients who already have all six channels, that is, people with two different copies of every gene. Channel count is held fixed by construction. Only the difference between the copies varies.

It still predicts survival. Patients in the top quarter for divergence do better than those with low divergence, at p equals 0.0094 for one drug class in metastatic melanoma and p equals 0.049 for another. The effect adds to tumour mutation burden rather than duplicating it.

If channel count were the thing that mattered, these patients would all look the same. They do not. That is the cleanest evidence I have found that the quantity is decorrelation, and unusually for anything in this essay, the endpoint is how long people lived.

What this changes about running monitors.

One: stop counting monitors. The number to report is the overlap, because it alone sets the floor, and past about three channels the count contributes nothing you can measure. A team that says "we run six independent checks" and cannot tell you their overlap has reported the number that does not matter and withheld the one that does.

Two: measure the overlap, do not assert it. Rist got the number by testing the same 3,738 fragments against every molecule and counting. The engineering version is not hard: run every monitor against one shared set of known-bad inputs and count how often they miss the same one. It is a cheap experiment and almost nobody runs it.

Three: there is no safe threshold. Because the cost is linear, "our monitors only overlap a bit" is not the reassurance it sounds like.

Four: the fleet point from last section survives intact, and is if anything worse. If every deployment runs an identical configuration, the overlap is total, and the floor is the single-channel 29% no matter how many instruments each one runs.

What I am and am not carrying.

The measured percentages describe fragments that bind two or more molecules. That is not quite the same object as the fraction of a blind spot shared between two channels. A fragment binding two molecules tells you those two overlap; the blind spot is about fragments binding neither. High sharing cannot coexist with independent blind spots, so the direction is safe, but the numerical transfer is an argument rather than an identity.

The 72% is measured on fragments that had been tested against at least six molecules, which biases toward promiscuous ones, because a fragment nobody suspected of binding widely is less likely to have been tested widely. The 60% population figure is the more defensible one.

The 29% blind fraction is still inherited and still a computational estimate rather than a direct measurement.

The divergence measure in the human study is a sequence distance, not a measured repertoire overlap. The two should correlate and nobody has cross-calibrated them, so that study confirms the direction and does not pin the parameter.

And one nice thing the search turned up. This same chemical distance measure appears once before in my notes, in a completely different argument: it is one of the measures showing that the genetic code is arranged to make mutations cheap, so that a typo produces a chemically similar amino acid rather than a wildly different one. There the measure is minimised. Here it is maximised. One system is tuned so its errors are small, because it faces an indifferent world. The other is tuned so its blind spots do not coincide, because it faces something that is looking for them. Same ruler, opposite direction, and the reason is the difference between accident and adversary.

The question I should have asked first: what is everything downstream of?

In short: For three sections I have been modelling detection as several ways of looking that happen to share some blind spots, and arguing about how much they overlap. That was the wrong shape. In the immune system the ways of looking are not side by side, they are all downstream of one shared filter that is identical in every human being, and anything that filter drops is invisible to all of them at once. That makes the shared blind spot not a statistic to measure but a floor you can read off a diagram: perfect diversity downstream, a hundred channels with zero overlap, still leaves exactly the upstream hole. Then the genuinely surprising part, which is measured rather than argued: the diverse downstream protects the uniform upstream. Because the back end differs between people, an attacker's progress against the shared front end does not carry from one host to the next, and thirty years of HIV data show it has not accumulated. Diversity in one component is what stops an adversary consolidating gains against a different, uniform one.

Scope, up front.

This section tests one thing I flagged last section: that the overlap I measured is not quite the same object as a shared blind spot. It concerns detection coverage only, and makes no clinical claim.

I had the wiring diagram wrong.

Three sections ago I drew six ways of looking sitting side by side, each with its own blind spot, and asked how much those blind spots coincided. Everything since has been an argument about that overlap number.

The actual pathway is not shaped like that. Before any of the six display molecules ever sees a protein fragment, that fragment has to be cut out by the proteasome, survive a crowd of enzymes that are busy destroying it, and then be carried across a membrane by a transporter called TAP. Only then does the question "which of your six molecules can display this" arise.

The attrition in that shared stretch is severe. Yewdell, Reits and Neefjes put a number on the whole pathway: presentation on these molecules "is achieved by less than 0.1%" of the fragments that survive destruction inside the cell. Liberation and destruction are not separate steps competing with each other, they are the same process, since the enzymes that free a fragment from its protein also chew up fragments.

And here is the part that matters for my model. The transporter is the same in every human being. So is the proteasome. The variation that this whole argument has been about, the fifteen thousand variants, the nine supertypes, the divergence measures, all of it sits downstream. As one paper puts it: "Of these three steps in the antigen presentation pathway it is only the MHC that is highly polymorphic."

The filter is also blind in a way that cannot be diversified around. TAP grips the fragment by its backbone at the two ends, and "does not utilize specific anchoring residues," leaving "the central positions suspended within a large transmembrane cavity." The display molecules do the opposite: they grip side chains, burying them in pockets, and the side-chain pockets are exactly what differs between one variant and another. So the upstream filter discriminates on features that no downstream variant varies in. It is not that the six channels happen to share a blind spot. They are all looking through the same window.

What that does to the numbers.

Writing total blindness as the upstream hole, plus whatever the downstream stage misses of what gets through, and using the measured 47% overlap and 29% blind fraction from the last two sections:

Upstream hole Total blind Share of blindness that is upstream
1% 14.50% 6.9%
5% 17.95% 27.9%
10% 22.27% 44.9%
25% 35.22% 71.0%
50% 56.82% 88.0%

Past roughly a ten percent upstream hole, most of what you cannot see, you cannot see for reasons that have nothing to do with your detectors.

Last section I found that adding channels stops helping, and called the channel axis dead. That was a fitted result. This is a stronger and simpler statement: the floor is exactly the upstream hole. I checked it, and it is exact rather than approximate. With a perfect downstream stage, zero overlap and one hundred channels, a 5% upstream hole leaves exactly 5.0000% and a 10% upstream hole leaves exactly 10.0000%.

Perfect diversity downstream buys precisely nothing against a shared stage upstream.

The consolation is that this is much easier to find than the overlap number. You do not need to measure anything. You need to look at your own diagram and ask which stages sit above the fan-out.

Now the part I did not expect.

The obvious conclusion from a shared front end is that it is the single point of failure and the diverse back end is irrelevant to it. That is what I assumed while writing the paragraphs above. It is wrong, and the correction is measured rather than argued.

Yeh and colleagues asked exactly the right question: if a virus adapted to escape the monomorphic parts, the proteasome and the transporter, it would gain that advantage in every host at once, and all the variety downstream would stop mattering. So has it happened?

Over thirty years of HIV-1 clade B, no. "The total number of predicted epitopes and epitope precursors" has "remained relatively constant," with no large scale accumulation of escape against the shared machinery, even though that escape happens frequently inside individual patients.

The reason is the diversity downstream. Because each host's display molecules are different, a mutation that was worth making in the last host is often pointless in the next one. Their estimate: on transmission, 39% to 66% of the escape mutations are released from selection pressure.

I worked out what that does over many hosts. If an attacker gains one host-unit of progress per host and loses a fraction of it on each transmission, the total settles at one divided by that fraction. At 39% released, progress plateaus at 2.56 host-equivalents. At 66%, at 1.52. With nothing released, it grows without limit. The climb to the plateau is quick: 1.00, 1.61, 1.98, 2.21, 2.35, 2.43, 2.48, 2.51 over eight host generations.

So the diverse component is not protecting itself. It is protecting the uniform component that cannot protect itself, by making sure nobody can carry progress against it from one place to the next.

That is a seventh distinct reason for diversity in this essay, and the first whose beneficiary is a different part of the system than the diverse part. Your own variety does nothing for your own proteasome. It is variety across people that keeps everyone's shared proteasome un-adapted-to, including the least varied person in the population.

There is also a partial exit, and it has a price tag.

Roughly 15% of the frequent display variants tested, four of twenty-seven, work without the transporter at all: their surface levels in transporter-deficient cells run "over 10-fold higher" than the rest. If carrying one at either copy is independent, 27.75% of people carry at least one and 72.25% carry none. If a bypass halves the upstream hole for carriers, a population at 10% upstream blindness averages 8.613%, an improvement of about 14%.

The important detail is that the bypass repertoire is qualitatively different, favouring longer fragments and lacking strict binding motifs. A second route around a shared stage helps only if it is not a copy of the first one.

Where to spend, computed rather than asserted.

At a 10% upstream hole, 47% overlap and six channels, total blindness is 22.27%. Three things you could do:

  • Halve the overlap, to 23.5%: gets you to 16.14%, a gain of 6.1 points.
  • Halve the upstream hole, to 5%: gets you to 17.95%, a gain of 4.3 points.
  • Double the channels, to twelve: gets you to 22.2670%, a gain of 0.0012 points.

So overlap reduction still wins, the upstream fix is close behind, and channel count is not in the race: the upstream fix beats it by a factor of about 3,640. Which of the first two dominates depends on how big the upstream hole is, and above roughly 15% the upstream stage takes over. Last section I said "stop counting monitors," and that stands. But I implied overlap was the whole story, and it is not. There are two levers and one non-lever, and you have to know your upstream hole to know which lever is yours.

What this means for watching AI agents.

One: draw the pipeline and find what everything is downstream of. The log parser. The tokeniser. The feature extractor. The trace sampler. The redaction pass. Anything above the fan-out is shared completely, not partially, and sets a floor no number of monitors reaches. This is a five minute exercise on a whiteboard and it dominates months of building detectors.

Two: a dropped event is not a missed detection, and almost nobody measures the first. If your sampler throws it away, no detector was ever given the chance to fail, so the miss never appears in anyone's false negative rate. The upstream hole is invisible to the very instruments you use to find holes.

Three: a second ingestion path beats a second detector, and it only counts if it is built differently. A replica of the same parser is the same parser.

Four, and this is the counterintuitive one: keep your deployments different from each other even where the shared component cannot be changed. Fleet diversity does not protect the shared front end directly. What it does is deny an attacker the ability to carry an exploit of that front end from one deployment to the next, which is precisely what stops a local discovery from becoming a general capability. That is the HIV result, and it is the strongest argument in this essay for not standardising everything.

What I am and am not carrying.

The "less than 0.1%" figure is about throughput, not blindness. It says how few fragments survive, which is a statement about losing copies, not about which regions of the space are systematically unreachable. Using it as the upstream hole would be a category error, so I have not: the upstream hole is swept across plausible values throughout, and never claimed as measured.

The genuinely blinding part of the upstream stage is its selectivity, the disfavoured residues and length windows, and I could not find anyone who has quantified what fraction of the space that rules out. This section contributes the shape of the problem, not the number.

The 39% to 66% release figure comes from a modelling study, and the plateau arithmetic is mine laid on top of it, not their result.

The 15% bypass is four alleles out of twenty-seven at a single locus, chosen for being common rather than sampled at random, and the resistant ones cluster in two families, so my independence assumption in the carriage calculation is optimistic.

The number, and why the number was the wrong thing to want

In short: Last section I said the shared upstream filter sets a floor no detector can beat, but I could not say how big the floor was, so I left it as a dial and swept it. This section goes and gets the value. The transporter that every fragment must pass through rejects on four positions, with specific banned residues, and that works out to about 38% of fragments blocked. That is near the top of the range I swept, which sounds alarming. Then the twist: 38% is the wrong thing to have measured. A threat is only invisible if every fragment it could produce is blocked, and most threats produce many fragments, so the real blindness collapses to almost nothing for anything with several signatures and stays at 38% only for a threat with a single one. So the dial I swept was never one uncertain number. It was two different threats. And the one where the shared filter still dominates is exactly the kind you most need to catch: the lone, single-signature attack.

Scope, up front.

This section tests one thing I flagged last section: that I had the shape of the upstream problem but not its size. It concerns detection coverage only, and makes no clinical claim.

Getting the number.

Last section I argued that the shared front end sets a floor, but I refused to put a number on how deep the floor was, because the one figure floating around, "less than 0.1% of fragments get presented," measures throughput, not blindness, and I did not want to misuse it. So I left the floor as a dial and showed what happened across its whole range.

The number is gettable, it just takes the right measurement. Uebel and colleagues mapped the transporter's fussiness directly, by throwing enormous mixed libraries of fragments at it and seeing what got through. The finding is clean: only four positions matter, the first three and the last, and each has residues it refuses.

  • At the second position, a proline is "strongly disfavored," the single strongest effect they found.
  • At the last position, four residues (aspartate, glutamate, asparagine, serine) are "strongly destabilizing."
  • At the first and third positions, the negatively charged residues are disfavored.

If I treat each of those as a gate, which is the harshest reading, the fraction of random fragments that get through is the product of the survival rates at each position: 0.90 times 0.95 times 0.90 times 0.80. That is 0.6156, so about 38% are blocked.

Thirty-eight percent lands near the top of the range I swept last section, which is the alarming end. So the shared filter is not a rounding error. It is real, and it is large.

Except that 38% is the wrong thing to have measured.

Here is the correction, and it is the actual point of this section. That 38% is per fragment. But a threat is not one fragment. A protein is a long string, and it produces a fragment starting at almost every position along its length. A hundred-residue protein produces roughly ninety overlapping fragments.

A threat is invisible to the upstream filter only if every one of those fragments is blocked. This is the exact same coincidence logic from three sections ago, where a blind spot only mattered if it was blind in every channel at once, except now it is running along a single protein instead of across parallel channels.

And it is brutal in the threat's disfavour. If the fragments were independent, the chance that all of them get blocked is 0.38 raised to the number of fragments:

  • 1 fragment: 38%
  • 2 fragments: 15%
  • 3 fragments: 5.7%
  • 5 fragments: 0.8%

By about five independent fragments, upstream invisibility has fallen below 1%. The fragments overlap heavily, so the true count is lower than the raw length suggests, but even so, a threat region of roughly twenty to forty residues, about one epitope's worth, is already almost impossible to hide from the shared filter by chance.

So the dial I swept was two different threats.

Last section I swept the floor from 1% to 50% and treated that as one unknown number I could not pin down. It was never one number. It was a function of how many signatures a threat carries, and both ends of my sweep were real all along:

  • A threat with a single required signature sits at the top: 38% blinded upstream.
  • A threat with several independent signatures sits at the bottom, near zero.

Running those through last section's blindness formula: a single-signature threat ends up 82% blinded by the shared filter, with no downstream detector able to help. A multi-signature threat is barely touched by it, 1.5%. The two rows of the table I drew last section were not uncertainty about one value. They were two different kinds of attacker.

The attacker's version of this.

If you are the threat and you want to hide from the shared filter, this tells you exactly what to do, and it is disturbingly specific. You do not need to hide from the diverse downstream machinery, which is different in every target. You need to hide from the transporter, which is the same in every target. And hiding from it is a named edit: put a proline at the second position of your signature, or an acidic residue at its end.

Because the transporter is identical in everyone, that single edit works against every target at once. That is the nightmare version of last section's shared-front-end argument, made concrete down to the individual residue.

It looks like it should contradict last section's reassuring finding, that this kind of escape does not actually accumulate across a population. It does not contradict it, and the reconciliation is the neat part. The escape edit is universal in mechanism, but which signature you need to hide is still specific to the target, because what makes a given signature worth attacking is the diverse downstream machinery, which differs from target to target. So a universal edit still gets thrown away when the attacker moves to a new target, because the thing it was hiding from was never a threat there. Universal mechanism, specific target, and it is the target that governs whether the edit sticks.

Why this is not the reassurance it looks like.

The redundancy correction reads as good news. Most threats have many signatures, so the shared filter rarely blinds you. But turn it over. The threats for which the shared filter dominates are exactly the single-signature ones: a lone poisoned instruction, one specific jailbreak string, a single anomalous sequence. Those are the rare, high-consequence events, the ones the whole tail-risk argument earlier in this essay was built around.

For a threat with one signature, 82% of your blindness is upstream, and no number of downstream monitors, however cleverly diversified, touches it. The redundancy that protects you against noisy, many-signatured threats is precisely the thing a competent attacker removes, by choosing a threat with a single, carefully placed signature.

What I am and am not carrying.

The 38% assumes every amino acid is equally common, which is not true, so the real product is somewhat different. It assumes hard gates, when the transporter is really a smooth gradient across a thousand-fold range of affinity, so 38% is an upper bound and the working value is lower. And it treats "disfavoured" as "blocked," which is the very slip I warned about last section, made here on purpose and labelled as a bound rather than an estimate.

The fragment-counting treats overlapping fragments as independent, which they are not, so the "twenty to forty residues" figure is a rough scale, not a precise threshold.

And there is a second upstream filter I did not put a number on. The proteasome, the machine that cuts fragments out in the first place, has to produce the exact final residue of a fragment and cannot fix it later. That is a real additional constraint stacked on top of the transporter, which means the true combined upstream hole is larger than the 38% from the transporter alone. I left it unquantified rather than reuse the one available figure, which measures how predictable the cutting is, not how much of the space it rules out. Making that number honest is the next thing to do.

The same overlap that dooms you in parallel saves you in series

In short: Last section I worried I had ignored a second upstream filter, the machine that cuts the fragments out, and that adding it back would make the shared blind spot much worse. It does not, and the reason is the interesting part. That cutting machine dislikes exactly the same fragment endings the transporter dislikes: both refuse acidic ends. So stacking them adds almost nothing, because they were already throwing away the same things. That leads to a clean rule I did not expect. When two filters sit side by side, sharing a blind spot is a disaster, because anything hidden from one is hidden from both. When two filters sit one after another, sharing a dislike is a bonus, because a fragment only gets rejected once instead of twice. Same fact, opposite sign, and which one you get depends entirely on how the filters are wired. The catch: series-sharing hands an attacker a single edit that defeats the whole chain.

Scope, up front.

This section tests one thing I flagged last section: that I had measured only one of the two upstream filters. It concerns detection coverage only, and makes no clinical claim.

The second filter, and what it refuses.

Last section I measured the transporter and set aside the machine upstream of it, the proteasome, which is what actually cuts fragments out of proteins in the first place. I worried that adding it back would stack on top of the transporter and make the shared blind spot substantially bigger. I said the combined hole would "exceed 38% a lot."

It does not, and finding out why is this section's point.

The proteasome has a strong preference about where it cuts. It cleaves readily after bulky greasy residues, leucine most of all (in one measurement, 43% of the immune version's cuts were after leucine), and it strongly avoids cutting after the acidic residues, aspartate and glutamate.

Now recall what the transporter refuses at the same end of the fragment: aspartate, glutamate, asparagine, serine. The two lists overlap precisely on the acidic pair. The machine that cuts avoids making acidic ends, and the transporter would refuse to carry them anyway.

So the two filters are not independent. They dislike the same thing. Stacking the proteasome on top of the transporter adds almost nothing, because the transporter had already discarded the acidic ends the proteasome also avoids. The only genuinely new exclusion the proteasome contributes at this end is one more residue, glycine.

I worked the combined number out. The transporter alone blocked about 38% of fragments. The two filters together block about 42%, not the near-doubling I feared. Everything I concluded last section, that the shared filter only really bites single-signature threats, survives untouched.

The rule I did not expect.

Here is the thing that makes this worth a section rather than a footnote. Three sections ago, when I had six ways of looking sitting side by side, sharing a blind spot was catastrophic. If all six are blind to the same thing, that thing is invisible, and adding a seventh identical eye does nothing. Overlap between parallel channels destroys coverage.

Here, with two filters sitting one after another, sharing a dislike is a benefit. If both would reject acidic ends, the fragment is rejected once, not twice, and the total amount thrown away is smaller than if the two filters had disliked different things.

It is the exact same underlying fact, two filters excluding an overlapping set, and it points in opposite directions depending only on the wiring:

  • Side by side: a shared blind spot means a threat hidden from one is hidden from all. Coverage falls. Overlap is bad.
  • One after another: a shared dislike means a fragment is only dropped once instead of twice. Loss falls. Overlap is good.

So overlap between components is not good or bad in itself. Its sign is a property of the shape of the pipeline, and you cannot tell which you are getting until you have drawn the diagram from last section and seen which parts are parallel and which are serial.

The catch, which is the mirror image.

The series-sharing that reduces wasted loss comes with a price, and it is the exact mirror of the parallel case.

Because the two serial stages share a dislike, a single change defeats both at once. Give a threat's signature an acidic ending, and the proteasome will not cut it out and the transporter will not carry it, with one edit. And the same coin flipped: one agreeable property, a greasy self-like ending, satisfies every stage at once, so a mimic that gets past one filter gets past all of them, all the way down the chain.

Put the two cases together and the symmetry is complete. Parallel sharing gives an attacker a single shared blind spot. Serial sharing gives an attacker a single shared bypass. The wiring decides which of your two weaknesses is the cheap one to exploit. It never gives you neither.

What this means for building monitors.

This turns into a real design trade-off, not a slogan.

A monitoring pipeline whose preprocessing stages were built together, by the same team, sharing one idea of what "normal" traffic looks like, will behave like the proteasome and transporter: it throws away very little that any single stage would have kept. It is efficient. But that efficiency is the shared bypass. Whatever fits the shared idea of normal sails through every stage.

A pipeline whose stages were built independently, with different notions of normal, throws away more legitimate signal, because each stage has its own quirks that pile up. But it has no single property that clears the whole chain. It is wasteful and hard to slip past.

The gap between "wasteful and robust" and "efficient and evadable" is measurable. It is exactly the overlap between the stages' dislikes: the amount of double-counting you save is the same as the size of the single bypass you create. And the earlier sting returns here too. The efficient, co-designed pipeline is most easily evaded by the single-signature threat, which is precisely the rare, high-consequence one you most need to catch.

What I am and am not carrying.

The two exclusion lists are simplified to hard yes-or-no gates, when both are really graded preferences, so the specific numbers (25% at this position, 42% overall) are bookkeeping upper bounds. The robust claim is the direction, that both filters disfavour acidic ends, which is measured. The specific residue counts are illustrative.

There is a genuine dispute in the literature about whether the cutting machine's preferences are actually tuned to match what gets presented, or just happen to line up. One careful study argues the match is weaker than people assume and that the immune version of the machine mostly changes how much of each fragment gets made, not which ones. So I have deliberately avoided claiming the pipeline was designed to align. The duality does not need that. It needs only that the two lists overlap, which they demonstrably do.

And I have treated the pipeline as cleanly serial or cleanly parallel. Real pipelines are a mix of both, and I do not yet know which way overlap points in a mixed graph. That is the obvious next thing to work out.

One rule for when sharing helps and when it kills you

In short: The last two sections gave opposite verdicts on overlap: side-by-side detectors that share a blind spot are a disaster, filters in a row that share a dislike are a bonus. Real systems mix both, so which is it? There is one clean rule. Ask whether a component is joined to the rest by AND or by OR. Detectors are an OR (you are caught if any one fires), and there sharing is fatal. Filters in a row are an AND (you get through only if all pass), and there sharing is helpful. Same fact both times, and the sign is set purely by the AND or the OR. Two things fall out. First, this is a fifty-year-old idea from nuclear and aerospace engineering that I reinvented without knowing it. Second, and this is the sharp part: an attacker turns every one of your ANDs into an OR, because they only need one way through, which means every kind of sharing that helped you against accidents hurts you against an adversary.

Scope, up front.

This section resolves a question I left open last section: real pipelines are a mix of side-by-side and in-a-row, so what does sharing do in a mixed one? It concerns detection coverage only, and makes no clinical claim.

The one rule.

I have given you two opposite verdicts. Three sections back, detectors sitting side by side that share a blind spot were a catastrophe: anything invisible to one is invisible to all. Last section, filters sitting in a row that share a dislike were a bonus: a fragment gets thrown away once instead of twice. Real systems are a tangle of both. So is sharing good or bad?

There is a single rule, and it is clean. Look at how a component is joined to the rest, and ask whether the join is an AND or an OR.

  • Detectors are joined by OR. A threat is caught if detector one fires OR detector two fires. So a threat is invisible only if it slips both, which is an AND of two misses. You want that AND to be tiny, which means you want the misses to be independent. If the detectors share a blind spot, both miss together, and the AND stops being tiny. Sharing is bad.
  • Filters in a row are joined by AND. A fragment survives if it passes filter one AND filter two. So it is thrown away if it fails either, which is an OR of two rejections. An OR of overlapping things is smaller than an OR of separate things, so if the filters dislike the same stuff, less is thrown away. Sharing is good.

It is the same fact in both cases: sharing makes two things happen together more often. Whether that helps depends only on whether you wanted them to happen together, and that is decided by the AND or the OR. The two opposite verdicts from the last two sections are not a contradiction. They are the two halves of one rule.

You can watch the sign flip inside a single system.

Take two filters in a row feeding two detectors side by side. Turn up the sharing between the two filters, and total blindness falls: in my worked numbers, from 46% down to 33%. Now leave the filters alone and turn up the sharing between the two detectors instead, and total blindness rises, from 46% up to 62%. Same system, same starting point, and the correlation dial points in opposite directions depending only on which pair you turn.

So "is sharing good here" has no whole-system answer. It has a per-connection answer, and you get it by drawing the system out and labelling each junction AND or OR. That drawing has a name in engineering. It is a reliability block diagram, and it turns out the whole field of this already exists.

I reinvented a fifty-year-old model.

The formula I built up over the last few sections, a shared-blind-spot term plus an independent term that shrinks with the number of channels, is exactly the beta factor model from nuclear reliability engineering, worked out in the 1970s. Their beta is my shared fraction, precisely. Their central warning is the one I arrived at by a different road: put two systems in parallel, each failing once in a thousand years, and naive maths says once in a million years, but shared causes drag it back to once in ten thousand. The redundancy you paid for mostly evaporates.

It is measured, too, in exactly the systems this whole monitoring analogy is aimed at. In large storage fleets, a real 12.9% of solid-state drive failures strike other drives in the same node, and 18.3% strike the same rack, often within a single minute. The recommended fix is the one this essay keeps arriving at: do not fill a rack with identical drives; diversity is what decorrelates the failures.

I take this as reassurance rather than deflation. Reaching a fifty-year-old, well-measured result from the immune system by a completely different path is evidence the result is real.

The correlation I had not named.

The last two sections each looked at sharing within one layer: among the detectors, or among the filters. There is a third kind I had not examined, sharing across the boundary, between an upstream filter and a downstream detector. That is the co-adaptation from last section: acidic fragment ends are disliked by the cutting machine, by the transporter, and by the display molecules, all three, upstream and downstream alike.

By the one rule, invisibility here is an OR (a fragment is invisible if it is dropped upstream OR missed downstream), and an OR of overlapping things is smaller. So aligning the blind spots across the boundary reduces total blindness. In numbers: independent upstream and downstream blind spots leave 52% invisible; aligning them brings it down to 40%. A pipeline that dislikes the same thing at every stage wastes the least coverage. Co-adaptation is efficient precisely because its blind spots coincide.

And now the part that matters for safety.

Everything above is about accidents, failures that fall where they may. Against a deliberate adversary the whole picture inverts, and here is the mechanism.

A defender's barriers in a row are an AND: a signal has to pass all of them. But an attacker needs only one way through. So from the attacker's side, your AND becomes an OR over their attempts. They do not need to beat the pipeline on average, they need one path that clears it, and they get to search for it.

This flips every verdict. The cross-boundary alignment that was efficient for you, dropping the same fragments at every stage, is a gift to the attacker, because one aligned property, one acidic fragment end, makes a signature invisible at every stage at once. One edit clears the entire pipeline. Every kind of sharing the rule marked "good for throughput" is marked "bad against an adversary," because the adversary reads all your ANDs as ORs.

This is why every diversity mechanism in this essay has been about the side-by-side case. Coverage against an adversary is always an AND of misses, and an AND of misses is the one place where sharing can only ever hurt you.

What to actually do.

You need two different diagrams and you must not use one where the other belongs.

For accidental failure, draw the reliability block diagram and judge sharing connection by connection: shared filters in a row save you effort, shared detectors side by side waste your redundancy, and those 12.9% and 18.3% numbers are the shared fraction you are forbidden to pretend is zero.

For adversarial failure, first redraw the whole thing with every AND turned into an OR, because that is what the attacker sees, and only then judge it. Now the only sharing that helps you is keeping your side-by-side detectors genuinely different, and every efficient cross-stage alignment has become a liability.

The common and expensive mistake is using the accident diagram against an adversary: counting your co-designed barriers as independent layers of defence, when the attacker sees a single aligned bypass. Defence in depth is a stack of real layers only against accidents. Against an adversary, its true depth is the number of genuinely independent ways through, and co-designing your layers quietly drives that number toward one.

What I am and am not carrying.

The correlation dials in the worked examples are simple straight-line interpolations between "independent" and "fully shared," chosen to show the direction and the sign flip, not calibrated magnitudes. The AND-or-OR rule assumes each component is cleanly one or the other, but a real monitor that silently drops what it cannot parse is both a filter and a detector at once, and I have not worked out how to label such a double-duty node. And the shared-fraction model I matched to the beta factor is the simplest version; the engineering field has more elaborate ones for when three or more things fail together, which my single number does not capture. The direction of every claim here is solid; the exact magnitudes are illustrative.

The part that both builds and breaks, and why it needs a ruler

In short: Every piece of the pipeline so far has pointed one way: a filter only throws things away, a detector only catches them. Real systems have parts that do both at once. The immune system's example is an enzyme that trims protein fragments to the right length: trim too little and the fragment is too long to be shown, trim too much and it is destroyed. The same enzyme moves fragments both onto the display and off it. That breaks the tidy rule from last section, because such a part has no direction, it has a sweet spot, and both more and less are worse. Biology keeps it from running away with a clever trick: the enzyme measures the fragment as it works and stops when the length is right, a built-in ruler. The lesson for monitoring is sharp. Any component that both reveals and hides, a normaliser, a summariser, has a sweet spot rather than a setting, needs a ruler that ties its effort to the job, and hands an attacker two ways to break it instead of one.

Scope, up front.

This section resolves the loose end from last section: a real monitor often both drops what it cannot handle and flags what it can, and the clean rule did not cover that. It concerns detection coverage only, and makes no clinical claim.

A part that works against itself.

Everything I have described has a direction. A filter subtracts: more of it, more thrown away. A detector adds: more of it, more caught. Last section's whole rule rested on each part pointing one way.

Biology has a part that points both ways at once. After fragments are transported in, an enzyme called ERAP trims them down from one end to the length the display molecules require, about eight or nine residues. And it is measured doing both jobs with the same action. It "enhanced production of an eight-residue epitope from precursors extended" at one end, so it builds presentable fragments. And "by destroying such nine-residue peptides... reduced the overall supply," so it breaks them too. The clinching evidence is what happens when you remove it: the response to some fragments goes down, to others up, and to others not at all. One deletion, pushing fragments both onto the display and off it.

No direction, just a sweet spot.

This is why last section's rule cannot label this part. A filter is monotone down, a detector monotone up, and you set either to its extreme. This part is neither. Trim too little and the fragment stays too long to be shown, invisible. Trim too much and it is cut below the binding length, destroyed. So the amount that gets presented is an upside-down U in how active the enzyme is.

I modelled it. As activity climbs from nothing, the presented fraction rises, 14%, 20%, 23%, 27%, peaks around 27% at a middling activity, and then falls back, 26%, 23%, 19%, 11%, 5% as the enzyme grows too eager and starts destroying what it made. There is an interior best point, and both directions away from it are worse.

That is genuinely new for this essay. Every other component had a setting you push to the limit. This one has a value you tune to, and turning the dial too far either way costs you. A part that both builds and breaks has a sweet spot, not a direction.

The ruler that makes it safe.

An enzyme that cuts and cuts would eventually destroy everything, which is the downslope above. Biology's fix is elegant: the enzyme measures the whole fragment while it trims one end, and once the length is right it slows almost to a stop. It reaches the target and quits. A built-in ruler.

The effect on the maths is dramatic. With the ruler in the model, the presented fraction climbs and then plateaus instead of falling: 85%, 94%, 96%, 98%, and it stays there no matter how much more enzyme you add. At high activity the version without a ruler leaves 5% presented, and the version with a ruler leaves 98%. The ruler does not weaken the enzyme. It bounds where the enzyme stops, which turns "too much is fatal" into "too much is harmless."

So the fix for a dangerous part that both builds and breaks is not to give it less power. It is to give it a sensor that reads the job itself and says: you are done, stop.

The pattern I have seen before.

This is the same idea as the self-dissolving lab-grown organisms from an earlier section, the ones that shut themselves down after six weeks with no genetic trace. Safety not by stripping out the dangerous capability, but by bounding its reach. The ruler is that pattern made concrete, and it adds a rule of thumb: the cap is most trustworthy when the limit is read off the work itself, the fragment's own length, rather than set by some outside governor. A limit sensed from the task cannot drift out of sync with the task.

Two ways to break it, not one.

Here is why this matters for an adversary. A pure filter or detector can be pushed only one way, toward a miss. A part that both builds and breaks can be pushed either way. Turn its activity up and it over-processes, erasing a real signature. Turn it down and it under-processes, letting an unresolved one slip through. Two attacks, one component.

In the model, sitting at the sweet spot presents 27%. An attacker who halves the activity drops that to 25%, and one who doubles it drops it to 19%. Both directions hurt. The defender is balanced on a ridge, and the attacker only has to push off it, in whichever direction is cheaper, and there are two to choose from.

The monitoring versions are everywhere and easy to miss. A normaliser that rewrites inputs into a standard form exposes some attacks and masks others. A summariser that condenses a log surfaces some anomalies and buries others. Every one of these both reveals and hides, so every one has a sweet spot rather than a setting, and every one is a two-way lever unless it has a ruler equivalent: some signal, read from the data itself, that pins its aggressiveness to what the task actually needs rather than leaving it as a free dial an attacker can lean on.

What I am and am not carrying.

The curves are illustrative models, not fits to the enzyme's real kinetics. The upside-down U, the peak-then-fall, and the ruler flattening the downslope are the solid claims; the exact figures (a peak near 27%, a plateau near 98%) are artefacts of the model. The measured anchors are only three points, longer fragments trimmed, about half of nine-residue ones trimmed, eight-residue ones spared, which fix the direction and the existence of a window but not the shape of the curve. There are actually two such enzymes with complementary tastes working as a pair, which I collapsed into one, and doing so probably sharpens the window more than my single curve shows. And I have treated the presented fraction in isolation, when really this part sits upstream of all the filters and detectors from the last few sections, so the true coverage is this curve fed through those, not this curve alone.

Two narrow specialists that keep each other honest

In short: Last section's build-and-break part was really two enzymes, not one, and splitting the job that way fixes the exact weaknesses I ended on. The two are specialists: one handles long fragments and greasy ends, the other short fragments and positively charged ends, and neither can do the other's job. Together they cover ground a single generalist misses entirely. Better, each one's finished product switches the other off, so instead of one enzyme having to sense when to stop, the two police each other by feedback. That also blunts the two-way attack from last section: push one too hard and its own product reins it back in. The catch is that the two are physically clipped together to get this synergy, and that clip is now a single thing an attacker could break to disable both. So the fix is real, and it moves the weak point rather than removing it: from a wide, easily-nudged balance to one hard coupling you now have to guard.

Scope, up front.

This section corrects a simplification from last section: I treated the trimming enzyme as one generic machine, when it is really two with a division of labour. It concerns detection coverage only, and makes no clinical claim.

One job, two specialists.

Last section I described the trimming enzyme as a single build-and-break part. It is actually two, ERAP1 and ERAP2, and they are not spare copies of each other. They are specialists.

One works on longer fragments, the other on shorter ones. On the chemistry of the end they trim, they split the alphabet: one prefers greasy residues, the other prefers positively charged ones. And the split is real, not a matter of degree: one of them "was unable to remove several end residues that were trimmed efficiently" by the other. A whole class of fragment ends is simply outside one specialist's reach and squarely inside the other's.

So a lone generalist, doing both jobs adequately, would still miss an entire class of fragments that neither of its halves handles well. The pair covers the union of the two chemistries. In rough numbers, two specialists that are excellent on their own half beat a generalist that is merely decent on both by something like a third to a half more coverage, and at the measured extreme, where one enzyme is essentially helpless on the other's residues, the generalist misses that class outright.

They keep each other in their lanes.

Here is the part I did not expect, and it is prettier than the single-enzyme ruler from last section. Each enzyme's preferred product shuts the other one down. Short fragments, which are the short-specialist's territory, inhibit the long-specialist. Long fragments, the long-specialist's territory, inhibit the short-specialist. The measured phrase is that "the optimal ligands for either enzyme act as inhibitors of the other."

Think about what that does. Last section, a single enzyme had to sense the fragment's length itself and stop at the right moment, an internal ruler. Here there is no internal ruler. Instead, as the long-specialist finishes its work and short fragments pile up, those short fragments switch it off, because they are the other enzyme's signal. The stop command comes from the accumulating product, a signal in the surrounding soup, not from inside any one machine.

That is a sturdier way to build a ruler. A signal made of how much product is around cannot be fooled by mis-setting one machine's internal sensor, because it does not live in any one machine. In my model, where the single enzyme's coverage collapsed as you drove it harder, the paired version holds its output or even climbs, because the feedback catches the fragments that would have been over-trimmed. The exact figures are model artefacts, but the direction is the point: mutual inhibition turns last section's fatal downslope into a plateau.

It also blunts the two-way attack.

Last section ended on a worry: a build-and-break part is a two-way lever, and an attacker can push it either way, over-processing to erase a signal or under-processing to smuggle one. The pair takes that lever away, or at least makes it much stiffer.

Push the long-specialist too hard and it produces more short fragments, and those short fragments inhibit it. It fights its own overdrive. In the model, doubling a single enzyme's activity cut its coverage sharply, while doubling the pair's activity did not, because the feedback absorbed the excess. The attacker is no longer nudging a free dial; they are fighting a loop that pushes back.

But there is a new, single weak point.

None of this is free, and the cost is specific. The synergy comes from the two enzymes being physically clipped together into a pair; clipped, they work better than the same two floating separately. That clip is now a shared dependency. Break the clip and both enzymes lose the enhancement at once. This is the correlated, common-cause failure from earlier sections reappearing at exactly one spot: the coupling.

So specialising and coupling does not delete the weakness. It moves it. Before, the weak point was a wide, gently sloped balance that an attacker could nudge from many directions cheaply. Now it is a single coupling point: harder to reach, but if reached, it takes down both halves together. That is a good trade whenever one hard chokepoint is easier to guard than a whole ridge, which is usually, and it is the same reason a chokepoint is defensible.

Why this fits the earlier rule.

Two sections ago I argued that whether sharing helps depends on whether components sit side by side or in a row. This pair uses both arrangements, deliberately. Across the two chemistries they are side by side, an either-or over separate classes, which is the good kind of side-by-side because the classes do not overlap and so share no blind spot. Along a single long fragment they are in a row, one after the other, coordinated by the mutual-inhibition ruler. Biology did not choose one shape. It used side-by-side where it wanted breadth and in-a-row-with-feedback where it wanted control, wiring each direction to the arrangement that helps it.

The lesson for watching AI agents.

When a monitoring component both creates signal and can destroy it, a normaliser, a summariser, the instinct is either to tune it perfectly or to bolt on a second copy. Both are wrong. Tuning perfectly leaves the two-way lever. Bolting on an identical copy gives you the correlated blind spot from earlier sections, two machines with the same weakness.

The right move is the pair's move: split the job by regime and let the halves inhibit each other. One component tuned for verbose inputs, one for terse, cross-gated so that when the output is already terse the verbose-handler backs off. That is the distributed ruler, and it buys breadth, self-correction, and resistance to the two-way attack in one design. The price you must accept knowingly is the cross-gating logic itself, which is now the shared dependency whose failure takes down both. Make it the most hardened thing in the pipeline, because you have deliberately made it load-bearing.

What I am and am not carrying.

The coverage numbers rest on an assumed generalist efficiency and an even split between the two chemistries, neither of which I measured; the solid, measured claim is only that one enzyme cannot trim ends the other can, so the pair strictly beats either alone on those ends. The paired-coverage curve models the mutual inhibition as recovering over-trimmed fragments with a made-up recovery fraction, so it shows the direction, downslope becoming plateau, not a real level, and the climb above the single enzyme's peak is probably the model flattering itself. Whether breaking the coupling truly collapses both activities together, as opposed to just removing the bonus, I am asserting by analogy, not from the sources. And one large fact I am setting up for next time: a substantial fraction of people lack the second enzyme entirely, carrying a common inactive version of it, so a big slice of the population runs on the first enzyme alone. That is a natural experiment in what the pair actually buys, and it is where this thread goes next.

A quarter of us run with the safety off, on purpose

In short: I have spent this whole thread treating coverage as the thing to maximise and a blind spot as pure loss. A natural experiment says that is wrong. Roughly a quarter of all humans carry no working copy of the second trimming enzyme from last section, and it is not an accident or a defect: evolution actively keeps that broken version common. The reason is a stark trade. The working enzyme protects you against infection, including historic killers like plague, and it also gives you autoimmune disease, where the immune system attacks your own body. More coverage catches more real threats and also attacks more of yourself. So maximum coverage is not the goal; there is a sweet spot below it, and because the right spot depends on whether you are living through a plague or a peacetime, evolution does not pick one setting for everyone. It keeps a spread. The lesson for monitoring turns my own advice on its head: do not crank detector sensitivity to the maximum, and do not ship one sensitivity to the whole fleet.

Scope, up front.

This section uses a natural experiment I flagged last section: a large fraction of people lack the second enzyme entirely, so we can see what it actually buys. It concerns detection coverage only, and makes no clinical claim.

The experiment nature already ran.

Last section's pair of enzymes is not universal. A single genetic switch sends the second one's blueprint to be destroyed before it is ever built, and the measured result is blunt: about 25% of people make no working second enzyme at all. A quarter of humanity runs the detection pipeline on one specialist, exactly the setup I modelled two sections ago.

The striking part is that this is not a rare defect drifting around at low levels. Evolution keeps the broken version common on purpose. The two versions of the gene sit at nearly even frequencies, and the fingerprint of active maintenance, called balancing selection, shows up "strong and consistent" across six separate human populations. Something is deliberately preserving a version of the gene that does less.

What the second enzyme actually buys, and what it costs.

Here is the trade, and it is the whole point of this section. The working enzyme "confers resistance against lethal infectious diseases," protecting against severe pneumonia and, historically, against the bubonic plague, which measurably selected on this very gene. So it earns its keep against real threats.

And the same working enzyme "increases the risk for autoimmune disorders": Crohn's disease, ankylosing spondylitis, an eye disease called birdshot, juvenile arthritis. The broken version protects against these. The identical variant shows "opposing effects on severe infection and autoimmune disease."

Read that again, because it undoes something I have assumed for this entire thread. More of the second enzyme means more coverage, which means more real threats caught and more of your own body attacked. Autoimmune disease is what over-coverage looks like from the inside: the detection system, turned up high enough to catch everything, starts catching self.

Maximum coverage is self-harm.

Every section until now treated a blind spot as a pure defect to shrink and coverage as a good to pile up. This experiment says the curve turns over. Put together the two effects, infection protection rising with coverage and autoimmune cost also rising with coverage, and the net benefit is an upside-down U, not a climb. In an illustrative version, running no second enzyme scores 0.70, one copy scores 0.86, and two copies scores 0.80. The best is one copy, in the middle. The optimum sits below maximum coverage.

That is the same upside-down U from two sections ago, but it has climbed to the top of the system. There it was a single enzyme over-trimming its fragments. Here it is the whole immune system over-detecting and turning on the body. A blind spot, it turns out, is not purely a bug. Part of it is a deliberate margin of tolerance, and the immune system pays real infection risk to keep that margin.

Why keep a broken version around instead of just dialing everyone to the middle?

Because the right amount of coverage is not fixed. In a plague, you want the coverage: the infection protection is worth the autoimmune cost. In a quiet century with little infection, you do not: the autoimmune cost dominates and the broken version wins. Each version is best in a different world, and the world keeps changing.

When no single setting is best across all conditions, the winning move for a population is not to guess the average and set everyone there. It is to keep a spread, so that whatever the current threat, some fraction of people are tuned for it. That is exactly what balancing selection maintains here: a distribution across the coverage dial, not a single dial position. The honest caveat is that biologists have not nailed down the precise pressure doing the balancing, and say so directly; what is solid is that the spread is actively kept, not left to chance.

The lesson for watching AI agents, which reverses my own advice.

For nine sections I have been implicitly chasing maximum coverage and minimum blind spot. This experiment says stop.

Detector sensitivity has a false-positive ceiling. Turn it up and it starts flagging benign, legitimate behaviour, blocking the agent from doing its job. Autoimmunity is the biological name for a monitor's false positives, its attack on self, and it scales with sensitivity just as coverage does. So the right sensitivity is not the maximum. It is the point where the next real threat you would catch is worth the next legitimate action you would wrongly block, and that point is below the top of the dial.

And because that point moves with the threat environment, the second half of the lesson is sharper: do not ship one sensitivity to your whole fleet. Maintain a distribution of settings, the engineered version of balancing selection, so that whatever the current mix of threats, some of your deployments are tuned for it and the fleet is never uniformly wrong. A fleet all set to the same sensitivity is fragile in the same way a field of identical crops is: not because they share a blind spot this time, but because they share one wrong operating point, and the world will eventually present the case that point handles badly.

And it reframes every blind spot I have described.

All those holes from earlier sections, the 29% the detectors cannot cover, the upstream losses, I treated as failures to be shrunk. Some of that hole is load-bearing. Shrink it past the optimum and you do not gain coverage, you convert missed threats into attacks on yourself. The single hardest threat to catch, the lone rare signature from an earlier section, is exactly the one that tempts you to crank the gain, and cranking the gain to catch a rare bad thing is precisely what makes you start flagging rare good things, because rare-and-legitimate and rare-and-malicious are the hardest of all to tell apart. Coverage and tolerance are two sides of one dial. The immune system does not solve that trade-off. It spreads it across a population.

What I am and am not carrying.

The fitness numbers are illustrative, chosen to show the upside-down U and the stable spread, not measured values; my toy equilibrium lands the broken version near a quarter rather than the observed half, which would need more evenly matched costs, and the researchers state plainly that the true balancing mechanism is still unknown. The infection and autoimmune associations are real and replicated, but they are population patterns, not proof that any one person sits at their personal best setting. And "coverage" is doing loose duty for the breadth the second enzyme adds; mapping an enzyme's contribution onto a single sensitivity dial is an analogy, and the monitoring advice, like all of this thread's monitoring advice, is an argument from structural resemblance rather than a measurement.

The broken gene was a switch all along

In short: Last section I said a quarter of people carry a broken version of the second enzyme, and that evolution keeps a spread of settings because no single one is best. That was half the story. The "broken" version is not broken. When those people get infected, the supposedly dead gene wakes up and makes a special short protein: it cannot do the trimming job, but it can still clip onto the working enzymes and change how they behave. So it is not a fixed low setting, it is a switch that flips on when it senses an attack. That reveals three ways, not two, to cope with an unpredictable world: pick one setting if the world is steady, keep a spread if the world is unpredictable and you cannot read it, or sense the world and switch if you can read it. Reading beats spreading whenever the signal is reliable enough, and infection is a readable signal. The catch is that a switch can be tricked: fool the sensor and you flip everyone at once.

Scope, up front.

This section corrects the framing from last section using newer findings on what the "broken" gene actually does. It concerns detection coverage only, and makes no clinical claim.

It was never broken.

Last section rested on a clean story: a quarter of people lack the second enzyme, and evolution keeps that broken version common because a lower setting is sometimes better. I flagged at the end that newer work might complicate this. It does, completely.

The "broken" version is not a dead gene. In the people who carry it, infection switches it on. Exposed to influenza, to cytomegalovirus, to bacterial molecules, to HIV, to the coronavirus, their cells start making a short version of the enzyme. That short version cannot do the trimming job, its working parts are missing. But, and this is the whole point, it can still clip onto the normal enzymes, both the first and second ones, and by clipping on it reshapes what they produce.

So these people are not running permanently at a low setting. At rest they make no enzyme. Under attack they deploy a modifier that retunes the rest of the machinery. The gene is not a fixed dial. It is a switch, wired to a sensor for infection.

And this is exactly what solves the puzzle I left open. Last section's researchers admitted, in plain words, that they did not know why evolution keeps the broken version around. This is the answer that was missing: it is kept because it is not broken, it is conditional. What evolution has been preserving is not a lower enzyme level but a response.

Three ways to cope, not two.

This turns last section's picture from two options into three, and the third is the interesting one.

  • One fixed setting. Best when the world is steady and you know what it is.
  • A spread of settings across the population. Best when the world is unpredictable and you cannot read it in advance. This was last section's answer: hedge, so someone is always right.
  • Sense and switch. Best when the world is unpredictable but you can read a reliable signal. Each individual reads the signal and changes its own setting to match.

The population is not just spreading settings. It is spreading strategies: one version is always-on at high coverage, the other is a sense-and-switch that stays quiet until it detects an attack. That is a richer and more accurate picture than the simple high-versus-low spread I drew last section.

When does sensing beat spreading?

There is a clean answer, and it turns on how reliable your signal is. If your sensor is useless, a coin flip, then switching on it is worse than just hedging, because you pay for the sensing machinery and gain nothing. As the sensor gets more reliable, switching improves, and at some point it overtakes hedging.

I put numbers on it, reusing last section's illustrative payoffs. Hedging with the best fixed strategy scored about 0.89. Sensing scored only 0.84 with a coin-flip sensor, drew level around 68% reliability, and climbed to a perfect 1.00 with a perfect sensor. The crossover is the message: once your signal is better than about two-thirds reliable, sensing and switching beats any fixed spread. And infection is a readable signal, which is why this version of the gene senses it rather than just sitting at a fixed level.

The clever part: the switch reuses the weak point as its control.

Two sections ago I flagged that the two enzymes clip together to work well, and that this clip is a shared weak point: break it and both fail. This section shows biology using the very same clip as the control lever. The infection-triggered short protein works by clipping onto the normal enzymes. The exact junction I called a vulnerability is the junction through which the emergency signal retunes the machinery.

That is efficient in a way worth copying. The switch does not build a separate emergency system. It reaches into the running one through a connector that already exists and adjusts it. It is the cheapest possible place to intervene, and it is the place already carrying the load.

What this means for watching AI agents.

Last section's advice was: do not ship one sensitivity to the whole fleet, keep a spread. This section adds a condition.

When you have a reliable "we are under attack" signal, sense and switch beats the static spread. A monitor that detects elevated threat and retunes its own operating point, tighter when under attack, looser when calm, outperforms a fleet of fixed settings, by a real margin when the signal is good. When your threat signal is unreliable, fall back to last section's spread. The two pieces of advice are not rivals; they are a switch on how good your signal is.

And build the switch the way biology did: retune the detectors you already have on a threat-level input, reusing existing connections, rather than standing up a separate emergency pipeline.

But there is a new and serious weakness that comes with sensing, and it must be said plainly. A switch can be spoofed. Feed the fleet a false all-clear and every deployment relaxes at once. The static spread had no single point like this; sensing introduces one, at the sensor. So sensing buys you a matched response at the cost of a single high-value target, the signal itself, which now has to be defended like the crown jewels, because whoever controls it controls the whole fleet's posture in one move.

The pattern under all of it.

Step back and the whole thread lines up as a ladder of answers to one question, how to cope with what you cannot predict. Use a fixed setting when the world is known. Keep a spread when it is unknown and unreadable. Sense and switch when it is unknown but readable. And, at the top, keep a mix of the spreaders and the sensers when even the reliability of your signal varies, which is exactly what this gene is: an always-on version living alongside a sense-and-switch version. The immune system does not pick one rung of this ladder. It stacks all of them, one mechanism for each different kind of unpredictability it faces. That is why living defences look over-built. They are not redundant. They are carrying one tool per flavour of uncertainty.

What I am and am not carrying.

The two-thirds crossover uses last section's illustrative payoffs unchanged, so it shows that a crossover exists and roughly where, not a measured threshold for this gene; the real reliability of infection-sensing and the real payoffs are not measured here. The short protein's actual effect is described in the sources as producing an "alternative" set of displayed fragments; whether that is net protective, merely different, or situation-dependent is not settled, so treating it cleanly as "the right response to infection" is an idealisation. That it acts by dampening the normal enzymes is my inference from "cannot trim but can still clip on," not a measured direction of effect. And the spoofing risk is an argument from structure, like the rest of this thread's security claims, not a demonstrated attack.

If the alarm can be faked, make faking it the alarm

In short: Last section's switch had a weak spot: it runs off a signal, and a signal can be faked. Feed the system a false all-clear and everything relaxes at once. Pathogens really do this, forging the immune system's own messages. Biology's answer is surprising and worth stealing. It does not hide the signal or try to make it unforgeable. Instead it watches for the act of faking. A second layer sits behind the first and fires not when it sees a threat, but when it notices the first layer being tampered with. The strongest version wires the alarm directly to the thing an attacker has to touch, so the only way to fake the signal is to trip the alarm. That turns the attacker's problem upside down: any move that would help them also gives them away, so the best move becomes not to try. And it is the one design that stops the endless "who guards the guard" spiral, because the guard and the thing it guards are the same object.

Scope, up front.

This section works out something I waved at last section: a sensed switch depends on a signal, and signals can be faked. It concerns detection coverage only, and makes no clinical claim.

The attack is real.

Last section ended on a worry. Once your system switches behaviour based on a signal, that signal becomes a target. Fake it and you control the system: a false "under attack" wastes its resources, a false "all clear" drops its guard.

This is not hypothetical in biology. Large viruses carry forged copies of the immune system's own messaging molecules. Poxviruses secrete fake versions of signalling proteins and fake receptors that soak up real signals before they arrive. One parapox virus makes a decoy that mops up two immune-signalling molecules at once, and it does so without even resembling the real receptor, it just copies the part that binds. The immune system's internal signals are exactly the high-value target I worried about, and pathogens attack them directly.

Biology does not hide the signal. It watches for the faking.

Here is the move worth stealing. Faced with forgeable signals, biology does not try to keep them secret, and does not rely on making them impossible to counterfeit. It adds a second layer that watches for the act of interference.

In plants this is explicit. The first layer reads the usual danger signals. The second layer does not re-read those signals, which would just be another fakeable copy. It watches the host's own machinery that attackers have to tamper with, and it fires when it detects that tampering. In the textbook example, a decoy protein called Pto is watched by a guard called Prf, and Prf triggers the alarm when it senses the perturbation of Pto by the pathogen's tool, not when it recognises the pathogen. The rule of thumb the field uses: the second layer only fires when a pathogen "appears to be overcoming" the first. The alarm is "someone is interfering with the monitor."

That is a different and better idea than a stronger lock. A stronger lock invites a stronger key. Watching for tampering means the attacker's own move is what sets off the alarm.

The strongest version: make faking the signal set off the alarm.

Biology pushes this to its limit with what is called self-guarding: the thing the attacker has to touch is the alarm. The guarded target "functions as both guard and guardee." Any modification that would help the pathogen "also triggers an immune response." The literature calls this "an intractable problem for pathogens," and the game theory shows why.

Put yourself in the attacker's seat. You gain something by faking the signal, call it G. If you are caught, you pay a penalty P. If faking is caught with probability p, your expected payoff is G times the chance of getting away, minus P times the chance of getting caught. With a modest penalty, the break-even point is low: even a one-in-four chance of detection can make faking a losing move. Self-guarding drives the detection probability to one, because the faking is the detection. Now your expected payoff is just the penalty, negative, no matter how large the prize G. There is no gain big enough to make it worth it. The rational move becomes: do not fake the signal at all.

So the signal ends up trustworthy, not because it is hidden, and not because it cannot be forged, but because forging it is self-defeating.

It is also the only thing that ends the "who guards the guard" spiral.

There is a trap lurking here. Add a guard to watch the signal, and now the guard is a target. Add a guard for the guard, and that is a target too. This is the same endless arms race that runs through this whole essay, each defence inviting a counter, forever, and each new layer is a fresh thing to fake.

Self-guarding is the only move that ends the spiral instead of extending it. When the sensor and the guarded thing are one object, there is no separate guard to disable. You cannot silence the alarm without doing the very thing the alarm reports. Every other defence pushes the problem up one level; this one closes it.

A cheaper, partial defence: demand several signals at once.

Short of self-guarding, there is a cheaper option that helps: require several independent signals to agree before acting. If an attacker can fake one signal one time in three, faking three independent signals at once happens only one time in thirty-odd. Forgery cost climbs fast with the number of signals.

But there is a limit, and it is the same trade-off from earlier sections. Demanding that all signals agree also means a real threat has to trip all of them, and real threats are ragged, they do not always show every marker. Push the requirement too high and you start missing genuine attacks. In an illustrative version the best point was around two required signals: enough to make forgery hard, not so many that real threats slip through. Requiring agreement raises the cost of faking; only self-guarding removes the reason to try.

What to actually build.

This turns into a concrete, ordered checklist for watching AI agents, and for once it is a real security pattern rather than an analogy.

  1. Do not hide the threat signal. Secrecy is not protection, as an earlier section argued.
  2. Require several independent signals to agree before the monitor changes behaviour, stopping before real threats start falling through the cracks.
  3. Add a layer that alarms on tampering with the monitor itself, not on the monitor's readings, a canary that fires when someone probes or tries to disable your detection.
  4. Best of all, self-guard: put the canary inside the exact thing an attacker must alter to succeed, so that faking the signal and raising the alarm are the same event.

These already have names in security: honeytokens, canary values, tripwires, integrity monitors. What the biology adds is the ordering and the reason. They are progressively better answers to the fakeable-signal problem, and only the last one flips the attacker's payoff negative and stops the who-guards-the-guard spiral. The design rule that falls out is compact: put the canary inside the thing worth stealing, not next to it.

What I am and am not carrying.

The attacker-payoff calculation is a one-shot sketch with made-up numbers; it shows the sign flip that self-guarding produces, not a real deterrent value, and real attackers play a longer game with learning and partial detection that the sketch ignores. "Faking always trips the alarm" is an idealisation, real canaries have miss rates, and a patient attacker can sometimes reach the goal without touching the guarded asset at all, which is exactly how the arms race continues. The best-at-two-signals figure depends entirely on the illustrative numbers and only shows that a sweet spot exists, not where. And, as with every security lesson in this thread, the biology is measured while the engineering advice is argued from the resemblance.

There is no winning move, only running

In short: Last section's payoff calculation was a single round. Real attackers and defenders play forever, and the forever version has a hard result: there is no winning setting. Whatever configuration you settle on becomes, by being common, the one worth attacking, so the advantage rotates endlessly. That is the Red Queen made literal: you run to stay in place. Two practical things follow. First, the choice between an always-on defence and one you switch on only when attacked comes down to a simple sum, how often you are actually attacked, with a break-even point you can estimate. Second, that sum plus last section's question about signal quality means the right defence is not a single choice but a spot on a two-by-two grid. And none of it is permanent: because the game never settles, you have to budget for rotating your defences faster than the attacker can track them.

Scope, up front.

This section replaces last section's one-round calculation with the repeated game, where the real contest actually lives. It concerns detection coverage only, and makes no clinical claim.

The repeated game has no winning move.

Last section I sat the attacker down and worked out a single round: given the payoff and the penalty, is faking the signal worth it? That gave a clean answer. But attackers and defenders do not play one round. They play forever, and the forever version behaves completely differently.

The biology is unambiguous. Model host and parasite as a long-running contest and you get what is called Red Queen dynamics: "no stable distribution of genotypes," just "oscillations." It is "winnerless." The loop is simple and endless: the parasite adapts to hit the most common host type; that type suffers and becomes rare; a formerly rare type, which the parasite is not tuned for, becomes common; the parasite shifts to chase it; repeat, forever. There is no settling point, no evolutionarily stable strategy, sometimes not even a clean cycle but full chaos.

I ran the simplest version, three defender configurations, attacker always targeting the most common one. It never lands anywhere. The frequencies rotate through a repeating loop: whichever configuration is on top is the one getting hit, so it slides down while another rises, and the crown passes around the ring without end. That is "running to stay in place" made literal.

This finally explains the monoculture warning.

Several sections back I priced a uniform defence at catastrophe: standardise every deployment identically and an attacker who beats one beats all. This section says why that is not a special case but a law. In a game with no stable strategy, any configuration you fix and make common becomes the targeted one, automatically, because commonness is what draws the attack. Stability is simply not on the menu.

Which reframes this entire thread. For many sections I have been hunting the best defensive architecture, the right rung to stand on. This result says the floor itself is moving. There is no permanent rung. The best a defender can do is rotate, change configuration faster than the attacker can learn the current one. That turns the goal from "find the right setting" into "keep moving," which is a statement about cadence, not about configuration.

When to be always-on, and when to switch on only under attack.

There is a concrete decision hiding in here, and it has a clean answer. Two sections ago the immune system showed two styles: always-on defence, and defence you induce only when you sense an attack. Which is better? The deciding factor, measured in both insects and bacteria, is simply how often you are attacked.

The sum is intuitive. An always-on defence pays a fixed cost all the time and is always ready. An induced defence pays almost nothing when idle, but pays a cost plus a dangerous delay each time it has to spin up. So always-on wins when attacks are frequent enough that you would be paying the induction cost constantly anyway, and induced wins when attacks are rare enough that staying cheap-and-idle pays off despite the occasional slow start. In an illustrative version the break-even sat around a 29% attack rate: above that, be always-on; below it, induce on demand. The exact number depends on your costs, but the shape is real and the threshold is estimable.

So the real decision is a grid, not a ladder.

Put this together with last section's question and the picture sharpens. Two independent things decide your defence architecture: how often you are attacked, and how reliable your attack-signal is. That makes a two-by-two.

  • Attacked often, reliable signal: be always-on, but keep retuning on the signal.
  • Attacked often, poor signal: just be always-on, and skip the sensing.
  • Attacked rarely, reliable signal: stay cheap and induce on the signal, which is exactly the sense-and-switch strategy from earlier.
  • Attacked rarely, poor signal: keep a spread of fixed settings across the fleet, the hedging strategy from earlier still.

Earlier I drew this as a ladder of single choices. It is really a grid, and the four corners are genuinely different builds. And when the environment itself changes over time, plague century versus quiet century, you do what the immune system does: carry both, some always-on and some induced, because no single corner stays right.

How this squares with last section.

Last section's self-guarding trick, making the alarm fire when someone fakes the signal, still works. But it solves a different problem than this section's. Self-guarding stops the vertical spiral, the "who guards the guard" regress, by collapsing it: sensor and target become one thing, so there is no extra guard to disable. This section is about a horizontal race, which configuration is common over time, and that one never ends. You can close the vertical infinity with a clever mechanism, but the horizontal one, the Red Queen, no local trick closes. A defender needs both: self-guarding for the depth problem, and constant rotation for the time problem.

What to actually do about watching AI agents.

  1. Stop looking for the final configuration. There isn't one. Budget for continual rotation of your monitor configurations, and measure your rotation speed against how fast an adversary could learn your current setup. A standardised, never-changed fleet is, by this result, the targeted fleet.
  2. Pick always-on versus induced by your actual threat rate, not by taste. High-rate environments justify the fixed overhead of always-on monitoring; low-rate ones should run lean and spin up on a trigger, accepting the lag. Estimate your break-even rate.
  3. Locate yourself on the grid. The right build depends jointly on how often you are hit and how trustworthy your threat signal is, and the four corners really are different systems.
  4. When your threat rate itself swings, carry a mix, the way the immune system keeps both an always-on and an inducible version in the population, because a single choice will be wrong half the time.

What I am and am not carrying.

The no-winning-move result belongs to one well-studied class of these games, the symmetric matching kind; other structures can settle or can escalate without cycling, so this is a strong property of a common case, not a universal law, and the literature treats it as a continuum. The three-configuration loop is a deliberate caricature to show that the cycling is real; actual coevolution adds mutation, chance, finite numbers and delays that can damp the cycle, sustain it, or make it random, and the tidy repeating period is an artefact of using exactly three configurations. The 29% break-even uses invented costs and only shows a threshold exists and which way it points, matching the measured biology, not its precise value. And the two axes of the grid may not be fully independent, a common threat is often a well-understood, more-readable one, which would smear the corners together.

When you can stop running: make the attack expensive

In short: Last section ended bleakly: no winning configuration, run forever. That is true only in one situation, when attacking and defending are cheap. Biology has a second regime. When defence and attack carry a real cost, the endless escalation stops and the system settles into a stable standoff. Cost is the knob that turns a race with no finish line into a game you can actually settle. And it ties three earlier threads into one: the self-attack cost from the coverage section, the penalty-for-faking from the last-but-one section, and the run-forever result from last section are all the same variable seen from different angles. The practical upshot is a lever last section was missing: instead of only running faster, make the attack expensive, and the first bit of cost you impose on a currently-free attack buys the most.

Scope, up front.

This section tests a limit I flagged last section: the run-forever result belongs to one kind of game, and other kinds can settle. It concerns detection coverage only, and makes no clinical claim.

There are two regimes, and cost is the switch.

Last section's gloomy conclusion, no stable configuration and endless rotation, is real, but it is not the only possibility. Coevolution comes in two flavours, and biology names them. One is the "arms race," where each side keeps escalating and traits sweep to fixation and get replaced. The other is "trench warfare," a stable standoff with lasting variety on both sides. Last section lived entirely in the first.

What decides which one you get is cost. The theory is explicit: keeping a stable mix of resistance and attack strategies "requires" that resistance and attack carry fitness costs, and "without such costs, selection results in the evolution of ever-increasing virulence and corresponding increase in host resistance," escalation with no ceiling. But "if the cost of virulence is relatively high, static equilibria can occur instead." Costly defence and costly attack settle down. Cheap ones run forever.

I put it in a simple model: a defender buys protection that saturates, against a steady per-unit cost. With zero cost, the optimal amount of defence is infinite, the runaway escalation. With any cost at all, the optimum is finite, a specific amount worth buying and no more. A finite optimum is a stopping point, a place the system can rest. Cost is literally what converts "keep escalating" into "settle here."

And the first bit of cost matters most.

There is a bonus in the numbers. The stopping point moves fastest when cost is small: imposing a little cost on a previously-free attack collapses the escalation dramatically, while piling on more cost later does progressively less. Combined with the fact that the boundary between the two regimes is thin, a small change in cost can cross it, the practical message is sharp. The highest-value security move is putting any real price on an attack that currently costs the attacker nothing. Going from free to slightly-expensive is worth more than any later hardening.

Three earlier threads were the same variable all along.

This is where several strands of this essay turn out to be one. Cost is the hidden common factor.

The coverage section found that turning detection up too high attacks your own body, autoimmunity, a self-harm ceiling. That self-harm cost is the cost of resistance this section's theory requires. It is what keeps the immune system from escalating without limit. A monitor with zero false positives is a zero-cost defender, and zero-cost defenders, this section shows, escalate forever.

The section before last found that self-guarding makes faking the alarm carry a penalty. That penalty is a cost imposed on the attacker, which pushes the whole game from the cheap, run-forever regime toward the expensive, settle-down one.

And last section's run-forever result is simply what happens while cost stays low.

So the same knob sets the self-harm ceiling, maintains the healthy variety, and decides whether you are doomed to rotate forever. The economic thread and the arms-race thread in this essay were never separate.

A quieter point: what your detector looks for decides your regime.

There is a second determinant, and it is partly your choice. If your detector keys on what is unusual right now, "flag anything that stands out from current traffic," you are in the run-forever world, because whatever is common becomes the target and commonness is self-defeating. If instead your detector keys on a specific dangerous capability, a fixed thing that does not become safe just because you look for it, you are in the settle-able world. The thing you detect does not move to escape detection the way "whatever is common" does. So building your monitor around absolute dangerous behaviours, rather than around relative anomaly, moves you toward a regime where a stable answer exists, provided you can also make that behaviour costly to carry.

What to actually do about watching AI agents.

Last section gave one lever: rotate faster than the attacker can learn your setup. This section adds a better one.

  1. Make attacks expensive, and you can stop running. Impose real cost on the attacker, penalties that fire when they tamper, exploits that require many costly steps, rate limits, requirements for rare capabilities. Enough cost moves you out of the run-forever regime into a stable standoff.
  2. Spend first on pricing a currently-free attack. The move from costless to slightly-costly buys the most; it is higher leverage than any later hardening.
  3. Prefer detectors keyed on absolute dangerous capabilities over pure relative-anomaly where you can, because the former can settle and the latter must rotate.
  4. See your own false-positive cost as the stabiliser it is, not just a nuisance. It is the cost that keeps your own defences from runaway escalation. A monitor tuned to never annoy anyone is in the runaway regime.

The synthesis with last section is clean: you rotate because attacks are cheap. Make them expensive and you no longer have to. Rotation and cost-imposition are two ways to buy the same safety, and cost-imposition is the more durable, because it changes the game instead of just out-running it.

What I am and am not carrying.

My model is a single-side optimisation: it shows that cost produces a finite best amount of defence, which is the precondition for a stable standoff, but it does not by itself prove the two-sided system converges there, that part I am taking from the literature's finding that high costs give static equilibria, not deriving. "Arms race versus trench warfare" and "relative versus absolute recognition" are related but not identical distinctions, and I have treated cost as the main knob and recognition style as secondary, a simplification the literature's own "it's a continuum" language permits but does not nail down. Mapping the fake-the-alarm penalty from an earlier section onto biology's "cost of virulence" is an argument from resemblance, not an equation. And the "first bit of cost matters most" result depends on the particular shapes I chose for benefit and cost; the general claim that any cost caps escalation is robust, but exactly where the leverage sits is not.

The balance point you found is not one you will ever reach

In short: Last section said cost turns an endless race into a game you can settle. I checked that properly this time, by working out what the two sides actually do to each other rather than optimising one of them, and the claim is half wrong. Cost decides where the balance point sits, and that part holds. It does nothing at all about whether the system moves toward it. Worked out in full, the balance point turns out to be a pure rotation: nudge the system and it circles that point forever at a fixed distance, never returning, and the size of the circle is set by the size of the nudge. The missing ingredient has a name I had not used once in this whole essay: it matters whether your payoff falls because the other side is common, or because you are common. Only the second kind pulls a system back to centre. And the surprising part is where the second kind comes from. Not from any payoff, but from timing: the attacker has to get more than one attempt per defender update. Which means the single worst cadence is the one the industry currently recommends, running your adversarial tests once per release.

Scope, up front.

This section tests the exact limit I flagged at the end of the last one: that my model optimised one side only, and I was taking the two-sided conclusion from the literature rather than deriving it. That is all it tests. It concerns detection coverage only, and makes no clinical claim.

Doing the two-sided version, which I should have done last time.

Write down both populations instead of one. Let p be the fraction of defenders running the strict detector, and q the fraction of attackers carrying the evasion for it. Strictness helps you against attackers who lack the evasion, and costs you something whether or not it is needed. Carrying the evasion helps the attacker against strict defenders, and costs them something whether or not it is needed. That is the standard textbook setup, and it is the honest two-sided version of what I sketched last section.

The balance point falls where each side's benefit exactly cancels its cost. With a resistance cost of 0.30 and an evasion cost of 0.40, and benefits scaled to 1, that lands at 40% of defenders strict and 70% of attackers evasive. And here last section's claim survives intact and is worth keeping: it is the costs that put this point in the interior at all. Set both costs to zero and the balance point leaves the range entirely, which is exactly the runaway escalation last section described.

Then comes the question last section never asked. Nudge the system away from that point. Does it come back?

It does not. It circles.

Work out how the system responds to a small displacement and something specific happens. The two terms that describe "how does being more strict change how fast strictness grows" and "how does being more evasive change how fast evasion grows" both come out at exactly zero. Not small. Zero. What is left is pure cross-coupling: strictness rises because evasion is rare, evasion rises because strictness is common, each driving the other in a loop with nothing at all pushing either back toward the middle.

The result is a rotation. In this parameterisation the system circles the balance point at a rate of about 0.22 per unit time, forever, and it does so at whatever radius the nudge gave it.

And the zero is not a coincidence of the numbers I picked. It is structural. The balance point is defined as the place where each side's net benefit is zero, and that same net benefit is the thing that would have to be non zero for the system to self correct. Being at the balance point and having a restoring force are, in this kind of model, mutually exclusive by construction. I swept the costs across five combinations, moving the balance point from 5% strict all the way to 90% strict, and the restoring term was exactly zero in every one of them. No cost anywhere in the range does anything about it.

This is the part I got wrong last section, and it is worth stating flatly. Finding an optimum is not the same as showing a system goes there. I proved the first and claimed the second.

And the circling is exact, which makes it worse than it sounds.

A rotation that comes out of a rough approximation is often really a slow inward spiral, so I checked. The system has a conserved quantity, a combination of the two frequencies that provably never changes as the system runs, and holding it fixed forces the path to close on itself exactly. Numerically it holds to about one part in a hundred trillion, and the error shrinks as I refine the calculation, which is the signature of an exactly closed loop rather than a slow drift.

Two things follow that "roughly stable" would hide.

The first is that the system never forgets. A disturbance does not fade. It becomes a permanent oscillation, and a magnified one: a 2 percentage point nudge produces a permanent swing of about 5.9 points, a 6 point nudge gives 17.8, a 12 point nudge gives 35.8. That is consistently about three times the original disturbance, held forever. One bad week is not absorbed. It is converted into a standing wave.

The second is that under real world randomness this arrangement does not merely wobble, it dies. With no restoring force, random shocks make the system wander freely between loops rather than being pulled back, and the wandering eventually reaches the edge, where one side wins outright and the mixture is gone for good. Simulated with modest noise, the mixture was destroyed in 31% of runs within the time window. With even a small restoring force added, that fell to zero.

The ingredient I had never named.

The fix, in the literature, is a distinction this essay has leaned on the idea of frequency for many sections without ever splitting properly. Being common can hurt you in two different ways.

Indirect: my payoff falls because the other side has become common. That is what "whatever is popular gets targeted" means, and it is the mechanism this essay has invoked over and over.

Direct: my payoff falls because I have become common. My own success eats the thing that made me successful.

These are not variations on a theme. They occupy different slots in the machinery. Indirect dependence is exactly the cross coupling that makes the system rotate. Direct dependence is exactly the self correction that makes it settle. The stability condition in the biology is stated on the direct kind only, and it is both necessary and sufficient: a stable mixture is maintained "only if there is negative, direct" frequency dependence, meaning the pressure favouring a strategy weakens as that strategy's own share rises.

So for many sections I have been describing, in detail and repeatedly, the term that makes the system spin, and never once the term that makes it stop.

Where the stabilising ingredient actually comes from: timing, not payoffs.

Here is the genuinely surprising part, and it is the reason none of the levers in this essay so far could have delivered stability.

Direct frequency dependence does not come from the payoff structure at all. It comes from the schedule. In the biology the condition is that the parasite gets more than one generation inside a single host generation. When it does, a common attacker strain runs into hosts that its own earlier wave already used up, within a single round, before the defenders update anything. Its returns fall because of its own prevalence. That is direct dependence, manufactured out of nothing but repetition.

When the two sides take turns one for one, the effect is absent entirely. The literature is explicit that in the single round case there is no direct frequency dependence in either population. And the two pictures could not be further apart: with synchronised turns the system spirals outward, away from the balance point. With two attacker rounds per defender round, it spirals inward, to rest.

Which flips the reading of the section before last. I said there: rotate faster than the attacker can learn your setup. What actually governs stability is not either side's absolute speed. It is the ratio, and matching the attacker's tempo exactly, one update per attacker round, is not the neutral middle. It is the unstable case itself.

Which means current practice builds the unstable case deliberately.

The standard recommendation for adversarial testing of AI systems is that automated red teaming should live in the deployment pipeline and run with every model update. That is one attacker generation per defender generation, precisely the synchronised arrangement whose paths diverge.

The same body of guidance also says, for entirely separate reasons, that a weekly automated suite beats a quarterly engagement and that cadence is what makes red teaming a real control rather than a purchase. It has the right answer sitting next to the wrong one without noticing they are about the same thing. It even records the symptom: repeating the process does not increase coverage if the way you assemble the red team does not change.

What to actually do about watching AI agents.

  1. Stop tying your adversarial testing to your release cadence. One red team pass per deployment is the worst available setting, not the neutral one. The adversarial process should complete several rounds between your updates, not one round per update.
  2. Engineer the self limiting part on purpose. Make each attack technique get less effective the more it is used, inside a single defender cycle, before you have patched anything. Per technique rate limits, quotas that bite early, and detections that trigger on breadth of use rather than on the technique itself all do this. This is the only lever of the three in this essay that makes a system return to its target.
  3. Apply the same rule to your own side. A monitor configuration should become less valuable as its deployment share rises. The warning against standardised fleets earlier in this essay was argued as a heuristic. It turns out to be the stability condition itself, and I had been arguing it from the wrong half of the mechanism.
  4. Size the effect against a deadline. How fast the system returns to target scales cleanly: the time to close half the gap is roughly three divided by the strength of the self limiting effect. So to pull a disturbance back within some horizon you need a strength of about three divided by that horizon. The good news is that the practical threshold is low. In the simulations, a small amount took the probability of losing the mixture entirely from 31% to zero and cut the typical squared deviation by about eight and a half times.

The three levers in this essay are now properly separated, and they were never alternatives. Cost decides where the target is, and whether it exists in a usable place at all. Self limiting returns decide whether you get there. Rotation is what you do while you have neither, which makes it a symptom rather than a solution. Last section I called rotation and cost two ways of buying the same safety. They are not. Neither of them buys stability.

What I am and am not carrying.

The derivation runs in continuous time. The turn by turn version of the same model can be outright unstable rather than merely circling, which would strengthen the conclusion, but I have not shown it. The link from "attacker gets more rounds" to "how much self correction you get" is qualitative: the biology establishes that more rounds produces the stabilising term, and I take that, but I cannot yet convert my "three divided by the horizon" rule into a required number of attacker rounds per update. I added the self limiting term to both sides equally, and I did not test whether one side alone is enough. The threefold amplification of disturbances and the specific circling rate are properties of the particular costs I chose. The structural zero, and the signs of everything, are not: those hold across the whole family.

One round at a time, and the good news you can actually act on

In short: Last section left two questions open, and both mattered. The first: I did the maths in smooth continuous time, but every real system updates in discrete rounds, so does that change the answer? It does, and for the worse. Written one round at a time, the balance point is not a neutral circle at all. It is an outward spiral that widens about 2.5% per round, doubles every 28 rounds, and destroys the mix of configurations by itself with no randomness and no clever adversary needed. Worse, last section's cheerful "any amount of self limiting works" turns out to be an artefact of the smooth version: in rounds there is a minimum dose, and below it you get a permanent swing across half your range rather than a slow approach. The second question is the one that decides whether any of this is usable, because you can make your own side self limiting but you cannot make the attacker's. That one resolves in your favour. Acting alone works. It costs about twice the dose, and the biology reports the same thing independently.

Scope, up front.

This section tests exactly two things I flagged at the end of the last one: that the smooth-time derivation might be flattering, and that I had added the self limiting effect to both sides without checking whether one side alone is enough. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Rewriting it one round at a time.

The last section modelled both populations changing smoothly and continuously. Nothing does that. Defenders ship an update, attackers try a batch of things, scores get tallied, everyone moves, and then it happens again. So write the same system as a round by round update rather than a smooth flow, with each side's share growing in proportion to how well it did last round.

Do that and something clean falls out. The round by round version's response to a small displacement is exactly the smooth version's response plus staying where you are. In other words, one round of the real system equals "no change" plus "the rotation the smooth model described."

That sounds harmless. It is not. Adding a rotation to standing still does not give you a rotation. It gives you a rotation that lands slightly further out every time, for the same reason that walking one step sideways from a fixed point takes you off the point. The distance from the balance point after one round is the square root of one plus the strength of the cross coupling, which is bigger than one whenever the cross coupling exists at all.

And the cross coupling always exists. It is the same quantity that made the smooth version circle in the first place. So the instability is not something extra that discrete rounds introduce. It is the circling itself, seen properly. Last section computed that quantity, called it the reason the system rotates, and did not notice it was also the reason the real system diverges.

With the same costs as last section, the numbers are: the deviation grows about 2.489% every round, and doubles every 28.2 rounds. The smooth version's answer, for the identical system, was exactly zero growth.

And now it dies on its own.

Last section needed to add random shocks before the mixture of configurations was destroyed, and reported it as a probability, 31% of runs within the window. The round by round version needs no such help. With no randomness at all, starting from a 2 percentage point displacement, one side wins outright and the mixture is gone by round 461.

There is a bleak corollary about precision. Because the error compounds by a fixed percentage, starting closer barely helps. Shrinking the initial displacement by a factor of a hundred, from 2 points to 0.02 points, delays the collapse from round 461 to round 692. A hundred times more careful buys you about 50% more time. Compounding growth does not care where you started, only how fast it multiplies, so the only thing worth attacking is the multiplication itself.

The minimum dose, which the smooth version hid entirely.

Last section's rule was cheerful: any amount of self limiting return, however small, flips the system from circling to settling. In rounds, that is false.

The smooth version only asks that the system be pulled inward on balance. The round by round version asks something stricter: that each round's combined effect actually shrinks the displacement. Those are not the same requirement, and the second one is not met by arbitrarily small effects.

Working it through, there is a genuine threshold. With the self limiting effect on both sides it sits at about 0.121 in the units of this model. Just below it, at 0.11, the system does not converge slowly. It settles into a permanent cycle with the defender configuration swinging across about half of its range, forever. Just above it, at 0.13, the displacement collapses to essentially zero.

That changes last section's design rule. I said there that the strength you need is about three divided by your target horizon. That is still necessary and it is no longer sufficient. The rule is now: clear the floor first, then buy the speed. A self limiting mechanism that is real but too weak is not a partial fix. Below the threshold it buys nothing at all.

The part that decides whether any of this is usable.

Here is the question I should have led with last section. The recommendation was to make returns self limiting on both sides. But a defender cannot make an attacker's techniques lose value with use. That is the attacker's business, and they have every reason to do the opposite. If stability genuinely required both sides to cooperate in their own self limitation, the whole prescription would be a curiosity.

It does not. Acting alone works.

Put the self limiting effect only on your own side, leave the adversary entirely unconstrained, and the condition for stability is still met, just at a higher dose. The threshold rises from about 0.121 to about 0.239, a factor almost exactly two. Confirmed on the full model: at 0.22 the system still cycles with a swing of about 0.47, and at 0.25 it collapses to the balance point.

So the price of the adversary's non cooperation is a factor of two, and nothing else. You do not need the attacker to play along. You need to self limit about twice as hard as you would if they did.

The biology says the same thing from a different direction, which is the reassuring kind of agreement. In host and parasite ecology, self limiting growth on the host side alone is a documented stabiliser, and the measured work on parasitoids and their hosts states plainly that host density dependence by itself is sufficient for stabilisation. That result was reached from ecology rather than genetics, on measured systems rather than a model of mine, and it lands in the same place.

A variable this essay has carried for a long time without naming it.

Underneath all of this sits something I have never treated as a variable: how much can change in a single round. The game theory literature is blunt that models sharing the same smooth limit can behave completely differently once you make them discrete, that the fixed point goes from settling, to unstable with a permanent cycle, as the step size grows, and that large enough steps admit genuine chaos.

Translated into practice: a team that ships big changes rarely and a team that ships small changes often are not making a trade off along one axis. They are running different dynamical systems, and one of them may be on the far side of a bifurcation from the other. That is independent of every cost and payoff this essay has discussed.

What to actually do about watching AI agents.

  1. Do not read last section's circling as "roughly stable." Your system updates in rounds, so the honest baseline is a spiral that widens by a computable percentage each round and destroys your configuration mix on a schedule, with no adversary ingenuity and no bad luck required.
  2. Size the self limiting effect, do not just install one. A token rate limit that slightly reduces an attack's value is likely below the floor, and below the floor you do not get partial stability. You get a permanent swing across half your range.
  3. But install it unilaterally, because that works. Make your own monitor configurations lose value as their deployment share rises, at roughly double the strength you would need in a world where the adversary also self limited. The interaction settles regardless of what the adversary does about its own returns.
  4. Treat your update size as a safety parameter. How much changes per round belongs in the same conversation as coverage and cost, because past a certain size it decides the qualitative behaviour on its own.

The two open questions from last section therefore close in opposite directions, and it is worth being clear which is which. The situation is worse than I said: not a knife edge but an active divergence, that needs no noise, with a minimum dose below which nothing works. And the prescription is better than I feared: it is yours to install alone, at twice the price.

What I am and am not carrying.

The round by round model I used is the standard proportional-to-fitness one. Other plausible update rules have different second order terms and will have different thresholds, so the exact growth figure belongs to this rule, not to discrete time in general, though the literature's warning about the range of possible behaviours suggests other rules are as likely to be worse as better. Both thresholds and the factor of two between them are computed at one pair of costs; that a floor exists, and that one sided self limiting is sufficient, are structural, but the specific numbers are not, and I have not mapped how they move across the range of costs. I tested one sided self limiting on the defender's side only; the mirror case has the same algebra but different weightings and I have not checked whether the dose matches. And the claim that step size is itself a stability parameter is carried from the literature rather than derived here: I compared one discrete model against its smooth limit, not a family of step sizes.

It was never the rounds. It was looking at a stale picture

In short: Last section blamed the instability on discrete rounds and left open whether that was really about the particular update rule I chose. It was, and finding out changes the diagnosis completely while leaving the arithmetic intact. Shortening the rounds does not help: the system diverges at every round length, however small, so round size was never the culprit. What actually causes it is that both sides move at the same moment, each acting on the picture of the other that it had at the start of the round. Change only that, so one side responds to where the other actually is now rather than where it was, and the divergence vanishes exactly, at every round length. Last section's discouraging "minimum dose" of self limiting return also turns out to be the price of that staleness: it shrinks in proportion to how much changes while you are not looking, and disappears when you stop looking at stale information. And this whole five section sequence turns out to be a rediscovery of a problem machine learning already has a name for.

Scope, up front.

This tests exactly what I flagged at the end of the last section: that my result might belong to the one update rule I picked rather than to discrete time, and that I had taken "round size matters" from other people's work rather than deriving it. Nothing else. It concerns detection coverage only, and makes no clinical claim.

First: shrinking the rounds does not help, which rules out my own explanation.

Last section I wrote the system as a round by round update and found it diverges. The natural reading, and the one I offered, is that discreteness is the problem and smaller steps would help.

So I varied the step. Let each round move things by a fraction of the way, and shrink that fraction.

It does not help. The growth factor per round works out to the square root of one plus the step size squared times the cross coupling, and that is greater than one for every step size above zero. There is no round length, however short, at which the simultaneous version is stable. Shrinking the step shrinks the growth per round, but you take proportionally more rounds, and measured per unit of time the divergence shrinks smoothly to zero only in the limit where rounds vanish entirely. The smooth model's "neutral" answer is not a marginally stable system. It is the vanishing limit of a system that is always diverging, and taking the limit is exactly what hid the sign.

So round size is not the cause. Something else is.

Second: the actual cause is that both sides move on stale information.

Look at what the update actually assumes. Both populations change at the same moment, and each one's change is computed from the other one's value at the start of the round. Everyone acts on a snapshot, and by the time anyone acts, the snapshot is out of date, because the other side is moving too.

So change only that. Let one side move first, and let the second side respond to where the first side now is rather than where it was. Nothing else changes: same costs, same benefits, same round length, same populations.

The effect is not a small improvement. It is exact. The determinant of the resulting update comes out to precisely one, at every round length and every parameter value. A determinant of exactly one means the update preserves area: it neither shrinks nor stretches the space it acts on. And that forces the growth factor to be exactly one, so long as the round length is below a very generous ceiling, here about 8.9 in the model's units, when the round lengths in question are 1 or less.

Verified numerically, the growth factor comes out as 1.000000000 at round lengths of 1, 0.5, 0.25, 0.1, 0.05 and 0.01, against a number strictly above one for the simultaneous version at every single one of those.

On the full model rather than the approximation, the difference is stark. From an identical starting displacement, at a round length of 0.1 the simultaneous version destroys the mixture of configurations at step 20,911, while the alternating version stays on a bounded orbit for 400,000 steps without ever leaving it.

Which means last section's "minimum dose" was a staleness charge.

The most discouraging thing in the last section was a floor: below a certain strength, self limiting returns bought nothing at all. That floor is real, and it belongs entirely to the stale version.

Recomputed across round lengths, the floor under simultaneous updates scales in direct proportion to the round length: roughly 0.135, 0.058, 0.029, 0.013, 0.006 and 0.002 as the round shrinks through 1, 0.5, 0.25, 0.1, 0.05 and 0.02. Divide each by its round length and you get a near constant, about 0.12, which matches the value predicted from the cross coupling.

Under alternating updates, the floor is indistinguishable from zero at every round length tested. Any self limiting return at all, however small, converges. That is exactly what the smooth model originally promised and what the last section declared an artefact.

So the honest statement of the rule is that the floor is a surcharge for acting on stale information, priced in proportion to how much changes while you are not looking. You can pay it, or you can stop incurring it.

One caution: alternating removes the divergence, it does not deliver stability.

Preserving area means the orbit neither grows nor shrinks, and that is precisely the neutral circling from two sections ago, which I showed is destroyed by noise and by large excursions. The model bears this out: at a larger round length of 0.5, the alternating version also eventually loses the mixture, at step 47,552.

So these are complements, not alternatives. Fix the information ordering to remove the divergence. Then add self limiting returns to turn the resulting neutral circle into an actual pull toward the centre. The good news is that once the ordering is fixed, the amount of self limiting you need is no longer bounded below by anything.

This problem already has a name, in a field this essay had never cited.

Two populations pushing against each other with opposed interests, one trying to maximise what the other minimises, is precisely the setup that machine learning calls min-max training, and it is what makes generative adversarial networks notoriously hard to train.

That field reached this section's conclusion first, and states it plainly. Work on alternating versus simultaneous updates describes the simultaneous version as the one "known to diverge," and reports that alternating trajectories "cycle (stay in a bounded orbit) rather than converging to or diverging from equilibrium," which is exactly the neutral, area preserving behaviour derived above. Their standard remedies, known as optimistic and extragradient methods, are described as ways to "capture and correct cycling behaviour," and they work by using a better estimate of where the opponent is about to be. That is the same fix: stop acting on a stale picture.

I take this as the strongest available check on the analogy. When a population genetics model and a machine learning training procedure, which share no vocabulary and no practitioners, produce the same stability result, the result is about the structure of two sided adaptation and not about biology or about optimisation.

What to actually do about watching AI agents.

  1. Do not act on a frozen picture of the adversary. A team that fixes its threat model at the start of a cycle and ships against that snapshot is running the diverging version, and pays both a divergence rate and a self limiting surcharge in proportion to how much changes inside the cycle. Updating the picture within the cycle is the whole fix.
  2. This is the cheapest intervention in this entire essay. The other prescriptions here cost real money and real coverage: impose cost on attackers, build self limiting returns above a threshold, decouple your testing cadence. This one costs an information flow, not a control.
  3. It also explains the earlier cadence advice properly. Two sections ago I said to decouple adversarial testing from your release cadence. That works because it reduces staleness, and staleness is the mechanism. The round count was never the point.
  4. Still add the self limiting returns. Fixing the ordering leaves you circling rather than diverging, and circling still dies under real world noise. But afterwards, any amount of self limiting works, so the expensive part gets much cheaper once the cheap part is done.

What I am and am not carrying.

The exact determinant of one belongs to this particular pairing of a straightforward first update with a second that reads the fresh value. Other orderings and other update rules will land near but not exactly at one, and some will be genuinely contracting rather than merely neutral, so I have shown that this scheme restores neutrality and not the stronger claim that all alternating schemes are at worst neutral. The vanishing floor under alternating updates is a numerical scan result at a resolution of one part in ten million, supported by the algebra but not proved across the whole parameter range. Most importantly, identifying "alternating updates" with "reacting to current rather than stale information" is my interpretation of what the update ordering means, not a modelled account of observation: real information is partial and noisy rather than either perfectly fresh or exactly one round old, and I have not tested the in between case, which is where every actual defender lives. And the factor of two from the last section holds to about 15% across this scan, which is the scan's own resolution.

How stale is your picture, and what that costs per unit

In short: Last section made it sound all or nothing: act on a frozen picture and you diverge, act on a current one and you do not. Real information is neither. It is partly current, partly old, and noisy on top. So I put a dial on it, from fully current to fully stale, and the answer is the friendliest shape this essay has found. The instability is exactly proportional to the fraction of your picture that is out of date. There is no threshold and no diminishing return, which means a partial fix is credited in exact proportion: getting halfway buys exactly half the benefit. The minimum dose of self limiting return from two sections ago turns out to be priced as staleness multiplied by how much you change per round, so those two are interchangeable. Turn that around and you get a number a team can actually compute: how stale your picture is allowed to be before your programme diverges. And with noisy observation, freshness and self limiting turn out to fix two different things, so you need both.

Scope, up front.

This tests the thing I flagged hardest at the end of the last section: that treating information as either perfectly current or exactly one round old is a caricature, and that every real defender lives in between. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Putting a dial on it.

Last section had two settings. In one, the responding side acts on the opponent's position from the start of the round. In the other, it acts on where the opponent actually is now. Real monitoring is a blend: some of what you know about adversary behaviour is from this morning, some is from last quarter's report.

So let the responding side act on a weighted mix of the current and the stale value, with a single dial giving the fraction that is stale. Turn it to zero and you recover last section's current-information version. Turn it to one and you get the frozen-picture version.

The result is unusually clean. The quantity that decides stability, the one that was exactly one in the good case and above one in the bad case, comes out as one plus the stale fraction times everything else. It is exactly linear in the stale fraction. The growth per round is therefore proportional to how much of your picture is out of date, and nothing else about the structure changes.

Checked against directly computed values at stale fractions of 0, one quarter, one half, three quarters and one, the closed form matches to six decimal places.

Why linearity is the best news in this essay.

Last section's framing invited a defeatist reading. If the fix is "act on current information" and you cannot fully close your observation loop, you might conclude that partial effort is wasted.

Linearity says the opposite, and says it in the strongest available form. Going from fully stale to half stale captures exactly half the available benefit. The next increment buys the same again. The return on freshness is constant: it does not taper off, and there is no threshold you must clear before anything happens.

Almost every other recommendation in this essay has a threshold, a sweet spot, or a diminishing return. Coverage has an optimum you can overshoot. Cost has a first bit that matters most and later bits that matter less. Self limiting returns, two sections ago, had a floor below which they bought nothing at all. Freshness has none of that. It is the one lever here that is safe to invest in a little at a time.

What the surcharge actually costs.

Two sections ago I found a minimum dose of self limiting return, below which nothing worked, and last section showed it scales with how much changes per round. With the dial in place, both facts turn out to be one fact. The required dose is proportional to the product: how stale your picture is, times how much moves while it is stale.

Measured across five settings of the dial and two different round sizes, dividing the required dose by that product gives a near constant, about 0.12, holding to roughly six percent.

The practical reading is that the two factors substitute exactly. If you cannot shorten your observation loop, you can ship smaller changes per cycle instead, and buy precisely the same stability. That matters, because for many teams one of those is politically or technically much easier than the other.

The number you can actually compute.

Turn the pricing around and you get a tolerance. Given how strong your self limiting returns are, and how much you change per round, there is a maximum stale fraction you can absorb before the system diverges regardless of everything else. It is your self limiting strength divided by about 0.12 times your per round change.

Checked against directly measured stability boundaries across eight combinations, the formula lands within half a percent to eight percent.

This also resolves something that looked like a contradiction. The research literature on delayed feedback reports a critical threshold: below some delay things are fine, above it you get oscillation and instability. The last two sections said any staleness at all destabilises. Both are correct, and the difference is whether self limiting returns are present. With none, the tolerance is zero and any staleness diverges, which is exactly the case those sections modelled. With some, you get a genuine threshold, and the formula above is what it equals. The two accounts were describing the same surface while each held fixed what the other was varying.

The delay literature also names the culprit in a way that matches: adaptive learning turns out not to amplify delay driven instability but to partly buffer it, and "the destabilising ingredient being reactivity to delayed signals rather than learning itself." That is the same decomposition. The instability rides on staleness multiplied by how hard you react, and not on how clever either party is. It is the one part of this whole problem that is genuinely not an arms race.

And then the noise, which changes the ranking.

The other half of what I flagged was that real observation is not just late, it is noisy. So I added error to what the responding side sees about its opponent.

Holding the self limiting strength fixed and adding modest observation noise, the outcome is decided almost entirely by the dial. At full staleness the mixture of configurations collapses within a few hundred rounds. At half staleness it lasts somewhat longer. At zero staleness it survives indefinitely on a bounded orbit. Same self limiting strength, three completely different fates.

But the reverse case is also instructive. Perfectly fresh information with no self limiting returns is still destroyed, because observation noise pushes a neutral orbit around until it hits the edge, exactly as ordinary noise did two sections ago. The channel changed; the conclusion did not.

So these two fix different things and neither substitutes for the other. Freshness removes the drift. Self limiting contains the wobble. You need both, and larger observation noise demands more of the second.

What to actually do about watching AI agents.

  1. Measure your stale fraction and treat it as a reliability metric. What proportion of your working picture of adversary behaviour predates your current cycle? Instability is exactly proportional to that number, so it deserves the same status as coverage.
  2. Do not wait for the complete fix. This is the one lever in this essay with a constant marginal return. Every increment of freshness is credited in full, so incremental work on the observation loop is never wasted.
  3. If you cannot shorten the loop, shrink the changes. The price is the product of staleness and per round change, and the two substitute exactly. Ship less per cycle and you buy the same stability as seeing more often.
  4. Compute your tolerance. Your self limiting strength divided by roughly 0.12 times your per round change is the largest stale fraction you can absorb. Past it, no amount of the rest of the programme saves you.
  5. Keep the self limiting returns regardless. Fresh information alone leaves you circling, and observation noise destroys a circling system. Freshness for the drift, self limiting for the wobble.

What I am and am not carrying.

Modelling staleness as a weighted average of two known states is a proxy for partial information, not a model of it. A real defender holds a spread of belief about the adversary rather than a blend of two positions, and the honest version would derive the dial from a filtering process rather than assuming it, so the clean linearity may well be an artefact of the linear blend. The constant 0.12 belongs to the particular costs I used and carries no generality; what should transfer is the shape, that the price is a product and the tolerance is a ratio, with the constant re-derived per system. The tolerance predictions run consistently a little below the measured boundaries and the gap widens as the per round change shrinks, which indicates a second order term my pricing leaves out and which I have not characterised. And the noisy runs are single trials reporting how long each configuration lasted, which is a high variance quantity: the ordering is robust, the specific round counts are not estimates of anything.

Be as fresh as your measurements deserve, and no fresher

In short: Last section put a dial on how stale your picture of the adversary is, but it set that dial by hand. Here I replace it with something real: a filter, the kind any monitoring system already has, that blends each new noisy observation into a running estimate according to how much weight you give it. The staleness then stops being an assumption and becomes a consequence. Two things come out. The good news is that last section's law survives, in a corrected variable: staleness is the filter's lag, which is not proportional to how much you ignore, so equal increments of responsiveness do not buy equal increments of freshness. The other result reverses advice I have been sharpening for three sections. Reacting faster is better only while your observations are accurate. Once they are noisy enough, reacting to all of each new observation is worse than reacting to part of it, and past a further point it is what kills you.

Scope, up front.

This tests exactly what I called the weakest part of the last section: that I modelled partial information as a hand set blend of two known values rather than deriving it from an actual estimation process. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Replacing the hand set dial with a real one.

Give the responding side something every monitoring team actually has: a running estimate of the adversary, updated each round by mixing in a fresh but noisy observation. One number controls it, the weight you give each new observation. Weight it fully and your estimate is exactly the latest reading. Weight it lightly and your estimate is smooth, stable, and behind.

Now staleness is not assumed. It is whatever the filter's lag makes it.

The first result is a correction, and it is the one the last section predicted it would need. Reading the effective staleness back out of the system's actual behaviour, it matches the standard lag of this kind of filter, which is not proportional to how much you ignore. At a weight of 0.9 the implied staleness is 0.110 against a filter lag of 0.111. At 0.7 it is 0.413 against 0.429. Last section's assumed version would have said 0.100 and 0.300.

So the pricing law from last section survives, but in the corrected variable, and the correction matters practically: because the relationship is reciprocal rather than proportional, going from a weight of 0.5 to 0.9 buys far more freshness than going from 0.1 to 0.5 does. Equal steps in responsiveness are not equal steps in freshness.

There is also a limit that softens last section's warning. The filter's lag grows without bound as the weight falls toward zero, but the actual instability does not: it rises, peaks, and settles at a bounded level. Ignoring your observations almost entirely is bad. It is not infinitely bad.

A check worth stating: the models agree where they overlap.

Two sections ago I derived a neutral, non diverging system from an assumed update ordering. Last section derived a proportional law from an assumed blend. This section assumes neither and builds the estimator instead. At full weight, where the estimate is just the latest observation, this model should collapse exactly onto the two sections ago result.

It does, to six decimal places.

Three different ways of describing what the responder knows, each with different assumptions, agreeing exactly where they share ground. That is the kind of agreement that suggests the mechanism is being described rather than the modelling choice.

The tolerance, in a number you already have.

Last section's tolerance was expressed as a maximum stale fraction, which is not a thing organisations measure. In this form it becomes a minimum weight: how much of each new observation you must actually act on.

With weak self limiting returns the requirement is demanding, about 0.69 of each observation. With moderate self limiting returns it drops to about 0.52. Above a certain strength of self limiting return, any weight at all suffices. And with none, no weight suffices, which restates the earlier finding that freshness removes the drift but cannot on its own create a pull toward the centre.

That is a much more usable statement. "What proportion of your picture predates this cycle" is hard to instrument. "How much of what we learned this week actually changed what we did" is a question a team can answer.

And now the reversal.

For three sections I have been sharpening a single piece of advice: be as current as possible about your adversary. Last section I went further and called freshness the one lever with no threshold and no diminishing return.

That is true only while your observations are accurate.

With the system run deterministically, or with small observation error, more weight is always better, and the low weight settings do not merely underperform, they lose the mixture of configurations entirely.

But raise the observation error and the ordering flips. At a moderate level of error, with strong self limiting returns, a weight of 0.5 genuinely beats full weight, by a small margin but a statistically solid one, roughly six standard errors across twenty independent runs. And at a higher error level the flip is total. The slowest tracking tested was the only setting that survived at all. Every faster setting lost the mixture outright. (I originally described the first of those as an interior optimum, a best setting with worse ones on either side. The next section shows that was wrong: I had simply not looked below the bottom of my own scan, and the surface keeps improving all the way down. The finding that high observation error favours slow tracking survives; the claim that it favours a middle setting does not.)

So there is a real optimum, and it sits where this essay's own standing rule says to look for one. Its position is set by how accurate your observations are, and by nothing about the adversary at all.

Why the crossover happens, and why it is abrupt.

The two errors are not the same kind of thing.

Lag is systematic. It biases your response the same way every round, feeding the circling that the last several sections have been about. Its cost accumulates.

Observation error is random and averages to nothing. Self limiting returns absorb it, and successive errors partly cancel.

A systematic error beats a random one when both are small, which is why maximum responsiveness wins whenever observations are decent. The flip comes when the amount of noise you are letting through, which is your weight multiplied by your observation error, grows past what your self limiting returns can absorb. After that, each new observation injects more error than the lag it removed.

That also explains why the reversal is not gentle. Below the crossover, high weight is merely better. Above it, high weight is fatal.

What to actually do about watching AI agents.

  1. Measure the weight, not the staleness. What fraction of what you learn about adversary behaviour in a cycle actually changes what you do in that cycle? That is instrumentable, and it is the quantity the stability condition is written on.
  2. Respect the floor. If your self limiting returns are weak, you must act on most of each observation, and no amount of coverage or imposed cost substitutes for it.
  3. Respect the ceiling, which I previously denied existed. If your observations are noisy, small samples, ambiguous attribution, weak labels, then acting on all of each one is worse than acting on part, and past a certain noise level it is what destroys you.
  4. Buy accuracy first, because it is upstream of everything. Better observations raise the ceiling, which lets you raise the weight, which lowers the self limiting strength you need. Accuracy is the only input here that loosens all three constraints at once.

The three sections of "be fresher" therefore become something more careful: be as fresh as your measurements deserve, and if you want to be fresher than that, improve the measurements rather than the reflexes.

What I am and am not carrying.

The filter I used has a fixed weight rather than one that adapts. A properly adaptive filter tunes itself using exactly the ratio of real change to observation error that this section shows sets the optimum, so the best weight I found by scanning is roughly what an adaptive filter would discover on its own, and modelling that properly would probably turn my ceiling into a self tuning quantity rather than a design choice. The interior optimum is demonstrated at one combination of settings and the dramatic survival reversal at one other; I have not mapped where the crossover lies in general, so "past a certain noise level" names a boundary I have not located. Observation error was added only to one side's view of the other, and the arc has already found that one sided and two sided versions of the same effect differ by a factor of two, so the asymmetry is unlikely to be harmless. Most importantly, the error levels where full tracking stops winning are large ones relative to the quantity being observed, and whether real monitoring sits nearer the low error end, where the old advice holds, or the high error end, where it inverts, is an empirical question this section does not touch, and it decides which half of the conclusion applies to you.

The best detector is not the best input

In short: Last section ended by guessing that a properly tuned filter would find the right setting on its own. It would not, and finding out why produces the most consequential result in this whole sequence. Score the same system two ways, once on how well it estimates the adversary and once on how stable the resulting loop is, and the two disagree overwhelmingly. The setting that stabilises best makes the estimate about 60 to 75 percent worse by its own measure. So you have to deliberately run a worse detector than the one you could build. The reason is that a rule almost every monitoring architecture relies on, that you can build the best detector you can and separately decide what to do with it, quietly assumes the thing you are watching does not react to your conclusions about it. An adversary does. This section also corrects the last one: the balanced middle setting I reported does not exist, I had simply not looked below the bottom of my own scan, and the real answer is one extreme or the other.

Scope, up front.

This tests exactly what I guessed at the end of the last section: that an optimally tuned filter would land on the right setting by itself. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Scoring the same system two ways.

The filter from last section has one dial: how much of each new observation to believe. There are two entirely different things you could ask it to do well.

The first is the job a detector is normally given: estimate the adversary accurately. Score that by how far the running estimate sits from the truth.

The second is the job that actually matters here: keep the coupled system stable. Score that by how far the whole thing wanders from its balance point.

Everything in engineering practice assumes these line up, or near enough. They do not.

At low observation error, the estimate is best at a weight of about 0.5, while the system is most stable at full weight. Over thirty independent runs the stability difference between those two settings is about fifty standard errors, which is not a tuning subtlety. At a higher error level the same split appears, again around fifty standard errors. At higher error still, the estimate is best at 0.3 while the system is most stable at 0.9, about forty standard errors apart.

And the price is paid precisely where a detector is supposed to be strong. Running at the setting that stabilises the system, the estimate is 61 percent worse at the lowest error level tested, 61 percent worse at the middle one, and 75 percent worse at the highest.

So the correct operating point requires deliberately running a worse estimator than the one you know how to build. Worse still, the better your filter gets by its own standard, the less stable the loop it sits inside becomes.

Why: a rule that quietly does not apply here.

Control engineering has a famous and genuinely useful result. Under the right conditions you may design your state estimator and your response policy independently, then bolt them together with no loss. That result is the licence under which almost every monitoring architecture is built: make the detection as good as you can, then separately work out what to do when it fires.

The conditions include one that adversarial settings break. Separating the two is valid when the thing being observed does not react to your estimate of it. A machine does not care what you believe about it. An adversary does, and adapts to it.

Once that is true, the estimator is no longer sitting upstream of the loop, feeding it readings. It is inside the loop. Its lag stops being an error in a number and becomes a timing term in the stability condition itself, and accuracy does not substitute for timing. You can trade estimation error against other things. You cannot trade it against lag, because they enter the problem in different places.

That is the real content of this whole sequence, and it is worth stating plainly: when the thing you are watching watches back, you cannot design the detector without designing what you do with it at the same time.

A correction to the last section, and to my own discipline.

Last section I reported a balanced middle setting: at high observation error and strong self limiting returns, a weight of 0.5 beat full weight by about six standard errors. That measurement was correct. The conclusion I drew from it was not.

My scan's lowest point was 0.3. Extending it downward, the system keeps getting better all the way: substantially better at 0.05, better still at 0.02, and about five times better than my reported "optimum" by the time the weight reaches 0.005. The minimum is not in the middle. It is at the bottom, and I had simply not looked there.

Six standard errors is real evidence that 0.5 beats full weight. It is not evidence that 0.5 beats everything, and I reported the second having only measured the first. A grid's best point is not the same thing as an optimum, and this essay had no habit that distinguished them. It does now.

What makes this worth writing down rather than quietly fixing is that I made the mistake while quoting the rule against it. This essay's own standing advice is to find optima rather than directions. I invoked that rule in the same passage where I mistook the edge of my search for a peak. That is the second time in this essay a stated discipline failed to fire on exactly the error it was written for, and both were caught only because a later pass re-derived what an earlier one had asserted.

What the answer actually is: pick an extreme.

With the full range scanned, both regimes turn out to be one-directional, and both best settings sit at an end.

When self limiting returns are weak, everything below a certain responsiveness simply dies. Not wobbles: dies, losing the mixture of configurations entirely. Above that floor, more responsiveness is monotonically better all the way to the top. The answer is to react to everything.

When self limiting returns are strong enough to hold the system by themselves, nothing forces responsiveness at all. Freshness has stopped buying stability and is now only importing observation noise, so the answer runs the other way, and smoothing as hard as possible keeps winning right down to the bottom of the scan.

So the design question is not "what is the right level of responsiveness." It is a single yes or no: are my self limiting returns strong enough to hold the system without help from freshness? The answer to that picks an extreme. The middle is never right.

That is a more useful shape than a trade-off curve, and it runs against the instinct that the safe answer is somewhere in between.

What to actually do about watching AI agents.

  1. Do not tune your adversary tracking to minimise detection error and assume the rest inherits the quality. The two objectives genuinely conflict, and improving one by its own metric can degrade the other by fifty standard errors.
  2. Answer the binary first. Is your self limiting effect strong enough to stabilise the system on its own? Everything downstream follows from that single question.
  3. If it is not, react to essentially everything you see, accepting a noisy picture. The alternative is not a wobblier system, it is a dead one.
  4. If it is, smooth hard. Freshness is no longer buying you stability and is only letting noise in.
  5. Buy observation accuracy, which is still the only thing that is not a trade-off. Accuracy is what lets you take option four without giving up stability. Every other lever here trades one thing for another; this one improves both.

What I am and am not carrying.

I demonstrated the conflict by comparing fixed settings under two objectives. I did not actually implement a self tuning filter and show that it converges on the estimation-optimal setting, so my claim that a well tuned filter would pick the wrong one rests on that being what such filters target. That is standard, but it is asserted here rather than shown, which is the same shortcut I criticised several sections ago. The one extreme or the other structure rests on two cases at opposite ends of the range; where the answer jumps from one extreme to the other is not located, and given that this section is itself a correction of a coarse scan, I should be explicit that a coarse scan cannot answer it. At the high self limiting end I scanned down to a very small weight and the surface was still improving, so I have not shown the limit is well behaved rather than merely slow, and at literally zero the estimate never updates at all, which the earlier analysis says diverges, so there is a discontinuity at the very end that the smooth description glosses over. And all of this remains one set of costs, one round size, noise on one side only, and a filter with a fixed rather than adaptive weight.

The best filter is optimal on one side of a line and fatal on the other

In short: Last section argued that a properly tuned filter would choose the wrong setting, but it never actually built one. So I built it. The result is worse than the argument: at weak self limiting returns, the textbook correct filter does not merely underperform, it destroys the system, while a crude rule of reacting to everything survives comfortably. What makes it genuinely dangerous is that the same filter is excellent in the other regime, better than anything on my grid, with nothing available to it that could tell the two apart. And mapping where that dividing line sits corrects the last two sections. Both of them put observation accuracy in charge of it. It is not. The line sits in your own self limiting strength, and a tenfold change in observation error does not move it. You cannot buy your way across it with better measurements.

Scope, up front.

This tests two things the last section left open: that it asserted what a properly tuned filter would do rather than building one, and that it never found where the switch between the two extremes actually happens. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Building the filter instead of assuming it.

The standard recursive estimator is not complicated. Carry an estimate and a measure of how uncertain it is. Each round, let the uncertainty grow a little because the world moved, then form a weight from the ratio of your uncertainty to your uncertainty plus the observation error, then update. Left alone, that weight settles at a value determined entirely by how fast the thing moves compared with how noisy your measurements of it are.

Dropped into the loop at weak self limiting returns, the filter settles on a weight of about 0.15 when observations are accurate, and about 0.04 when they are noisier.

At both settings, the system dies. The mixture of configurations is lost entirely. Meanwhile the crude alternative of simply reacting to everything survives comfortably in both cases.

Last section I argued that a well tuned filter would make a worse choice. The built version makes a fatal one. That understatement is worth dwelling on, because it is the third time in this sequence that I argued for a mechanism instead of constructing it, and all three times the constructed version turned out more extreme than the argument.

Why it is dangerous rather than merely wrong.

If the filter were simply bad, this would be a small finding. It is not simply bad.

Run the same filter where self limiting returns are strong and it is excellent. It beats every setting I had tested by hand, because it correctly pushes the weight below the bottom of my grid, which is exactly what that regime wants.

So the filter is impeccable in one regime and lethal in the other. And it has no way whatever of telling which one it is in, because the thing that distinguishes them is a property of the loop, how strongly the system limits itself, and that quantity appears nowhere in the estimation problem the filter is solving. It is not a variable the filter is ignoring through carelessness. It is not in its world at all.

A tool that is optimal half the time and fatal the other half, with nothing internal to distinguish the cases, is more dangerous than a mediocre tool that is uniformly acceptable, because it is confident, it is well founded, and it is right often enough to earn trust.

Where the line actually is, and the correction that comes with it.

I then mapped the switch across a wide range of both self limiting strength and observation error.

The optimal policy is "react to everything" for every value of self limiting strength up to about 0.30, and "smooth as hard as possible" from about 0.32 upward. That is true at low observation error, at five times that, and at ten times that. A tenfold change in how noisy the observations are moves the boundary by less than the resolution of my scan.

That corrects the previous two sections, both of which put observation accuracy in charge of this. Two sections ago I wrote that the optimum's position is set by how accurate your observations are and by nothing about the adversary. Last section I made accuracy the one lever that was not a trade-off, the thing that lets you smooth safely. Neither survives contact with the map. You cannot buy your way across this boundary with better measurements. Only strengthening the self limiting returns moves it.

What observation error does instead is two other things. It scales the damage: at fixed self limiting strength, making observations ten times noisier makes the resulting wander about ten times larger. And where self limiting returns are weak, it decides whether you survive at all, regardless of which policy you pick.

The switch is a cliff, not a slope, which explains the earlier confusion.

Just below the boundary, the low weight setting loses the mixture entirely. Two small steps higher, that same setting is the best available and beats reacting-to-everything by about twenty percent.

That is a discontinuous change in the right answer, produced by a small change in a system property. Which finally explains why the last section found no balanced middle setting: there is no smooth trade-off surface for a balance point to sit on. There are two regimes and a boundary between them. Two sections ago I went looking for a balance point on a surface that does not exist, and last section found the two ends correctly without yet knowing why the middle was empty.

What to actually do about watching AI agents.

  1. Do not install a well tuned adversary tracking filter and trust it. Where your self limiting returns are weak, the textbook optimal estimator is not the conservative choice, it is the failure, and it will look excellent by its own metrics the entire time.
  2. The policy question is about you, not your data. Measure your self limiting strength and work out which side of the boundary you are on. Below it, react to everything. Above it, smooth hard.
  3. Do not expect accuracy to switch your regime. Buy it, because it reduces the damage and keeps you survivable when self limiting is weak, but it will not let you change policy.
  4. If you want to be in the comfortable regime, where smoothing is safe and an estimator can be tuned normally, the only route there is strengthening the self limiting returns until you are past the line.

After six sections of this thread, the practical advice has collapsed into one lever with a threshold and two consequences, which is the simplest it has ever been.

What I am and am not carrying.

The filter I built needs an assumption about how fast the underlying thing moves, and I chose that number. The weight it settles on depends directly on that choice, so a defender who assumed faster movement would get a larger weight and might land on the right side of the line by luck. The claim that survives is structural rather than numerical: the filter's setting is determined by a quantity that has nothing to do with the stability of the loop it sits in. The boundary's location, around 0.31, belongs to one set of costs, one round size and noise on one side only; nothing here says where it sits in general or what it corresponds to in a real system, so "work out which side you are on" is currently the shape of advice rather than a usable number. The "smooth hard" answer is still being reported at the bottom of my scan rather than at a located minimum, so the unresolved question from last section, whether that limit is well behaved, is now carrying half the decision procedure. And the finding that observation error does not move the boundary is established across the range I tested; beyond it, every configuration died anyway.

Tune for recovery, not for steady state

In short: The last two sections said that where your self limiting returns are strong, you should smooth your picture of the adversary as hard as possible. I pushed that further to check it and the numbers kept agreeing, all the way down. Then I noticed why: in every one of those runs I had started the estimator already holding the correct answer, which makes "never update" the best possible policy by construction. Start it wrong instead, the way any real system starts, and the settings I recommended are not merely worse, they are fatal. Measured properly there is a second limit that steady state performance cannot see at all: how far wrong you can afford to be and still recover. It binds about a hundred times higher than the setting that minimises steady state wander. And it is not a start-up cost paid once, because every genuinely new adversary puts you back at the beginning.

Scope, up front.

This tests exactly one thing the last section flagged as now load bearing: whether "smooth as hard as possible" holds all the way down, or whether something breaks at the bottom. Nothing else. It concerns detection coverage only, and makes no clinical claim.

The literal question, answered.

The last section stopped its search at a weight of 0.02 and reported that the results were still improving. Pushing four more decades down, they keep improving: the wander falls steadily all the way to a weight of 0.0001, and it does so along the ordinary square root law you would expect from any smoother. Cut the weight by two hundredfold and the wander falls by about fifteenfold, which is close to the square root of two hundred.

So on the question as literally posed, the previous section was right and there is no turning point.

And then the reason it was right, which invalidates it.

In every one of these runs, going back several sections, I initialised the estimator holding the true answer. Under that setup a weight of zero means "keep believing the correct thing forever," which is optimal by construction and has nothing whatever to do with filtering. I had been measuring a system that was handed the answer before it started.

A real monitoring system does not begin knowing where its adversary sits. So start the estimate wrong, by a realistic amount, and rerun. The low weight settings I had been recommending do not just degrade. The system is destroyed. The settings that survive are about a hundred times higher than the ones I had been pointing at.

The limit you cannot see from steady state.

The right way to measure this is to ask, for each weight, how far wrong the estimate can start and still have the system converge without coming apart on the way.

Above a weight of about 0.02, the answer is "as wrong as I could make it", the constraint never binds. Below that it collapses steadily: about 0.54 at a weight of 0.01, 0.41 at 0.005, 0.31 at 0.002, 0.26 at 0.001 and 0.23 at 0.0005. Cutting the weight twentyfold roughly halves how wrong you can afford to be.

So there are two entirely different constraints, optimised about a hundredfold apart. Steady state wander keeps improving down to a weight of around 0.0002. The ability to recover from being wrong stops working below about 0.02. Measure a system that has already settled and you will only ever see the first one.

Why the transient is dangerous rather than merely slow.

A smoother takes roughly one over its weight to converge: five rounds at a weight of 0.2, fifty at 0.02, five thousand at 0.0002.

Everything in the last several sections says what happens during those rounds. Acting on a picture that is out of date does not merely make you inaccurate. It feeds the circling, and the excursion grows. So the period while your estimate is catching up is not a harmless warm up. It is a stretch of actively driven instability, its length set by exactly the weight that was supposed to be protecting you, and its severity set by how wrong you started.

A heavily smoothed monitor does not fail gradually when it is wrong. It fails during the very interval in which it is trying to stop being wrong, and smoothing harder makes that interval proportionally longer.

And this is not a start-up cost.

It is tempting to file this under cold start: pay it once, then enjoy the steady state. That would be wrong, and the reason is the whole point of this essay.

Anything that invalidates your current picture puts you back at a large starting error while your filter is still tuned for calm conditions. A new adversary. A changed technique. A shift in who is attacking you. An architecture change on either side. Every one of those is a fresh acquisition problem handed to a system configured on the assumption that acquisition already happened.

Which means a monitor tuned on steady state performance is tuned for the assumption that nothing new ever happens, and is at its most fragile precisely when something does. Combined with the last section: the regime boundary tells you which policy is right in calm weather, and this section says the calm weather policy is the one that kills you in a storm.

The thing I was missing has a name.

Two sections ago I found that you cannot design the detector separately from what you do with it. Last section I built the filter that dies of that. Neither said what to do instead.

Control theory has an answer, and it has had one for a long time. When the thing you are observing depends on what you do, the controller "must trade off immediate control cost against information acquisition." The classical demonstration that treating your best estimate as the truth can fail outright is known as Witsenhausen's counterexample, and the design tradition that follows is called dual control: a controller that deliberately acts to reduce its own uncertainty, accepting a worse immediate position in exchange for staying able to learn. A 2026 result on this reports that a deliberately probing controller improves both the model and closed loop performance even when everything downstream still runs on the plain best estimate, meaning the probing pays for itself.

That is the missing activity. Not a better filter. A budget for staying able to acquire.

Where this meets the rest of the essay.

The literature on autopoiesis, which is where this essay started, has a standing complaint about current machine learning: its agents are organised entirely from outside, and the specific capability they lack is graceful behaviour when the world shifts underneath them, which the argument says will not appear by scaling frozen architectures.

A heavily smoothed monitor is a frozen architecture in exactly that sense. It is closed around maintaining its model rather than regenerating it. It is superb while the world matches what it already believes, and helpless when that stops being true.

So the constraint this section measures is the control theory version of why a living thing has to keep rebuilding its own boundary rather than just defending it. Several sections ago this thread turned out to be rediscovering the mathematics of adversarial machine learning training. Now it turns out to be arriving, from the other end, at the biology it started from. Three fields with no shared vocabulary describing one constraint is the strongest version of the check this essay keeps applying to its own analogies.

What to actually do about watching AI agents.

  1. Never tune monitoring on steady state performance alone. The setting that minimises ordinary wander here is a hundred times smaller than the setting that can survive being wrong, and no amount of steady state measurement will show you the difference.
  2. Tune for recovery instead. Measure how large an error your monitoring can be handed and still converge without the system coming apart. Treat that as the binding number.
  3. Assume you will be wrong repeatedly, not once. Every genuinely new adversary re-imposes this, so it is a running requirement and not a start-up cost.
  4. Budget for deliberate probing. Staying able to learn is a separate activity from being accurate, it costs you something immediately, and the control literature says it repays.

After eight sections the advice has an odd shape, and I think it is the right one: spend less on being right, and more on remaining able to become right.

What I am and am not carrying.

The recovery limit is measured at one operating point, with the estimate displaced in one direction; the mirror case and how the limit moves with the other parameters are untested, and given that the last section found the policy boundary to follow one variable and not another, this limit could follow a third. More importantly, "start the estimate wrong" is a stand-in for a genuinely new adversary, and those are not the same thing: a real shift moves the target, rather than displacing your estimate away from a target that stays put. The moving target version is the honest model of the case I claim this is about, which means the most practically important argument in this section rests on its weakest analogy. The measured limits are the largest error survived by every trial rather than a properly estimated threshold, and the entries above a weight of 0.02 are capped by my search range rather than measured. And the recommendation to probe is imported from control theory, not derived here: I have not modelled a probing defender or shown that probing helps in this particular system, so treat it as a pointer to a literature rather than a result.

The adversary was standing still, and that was the whole result

In short: At the end of the last section I flagged that my "regime change" was a fake: I had moved the estimate away from a target that stayed put, when a real change moves the target itself. Fixing that resolves something this essay has been failing at for four sections. With the adversary held still, the best setting always sits at one extreme or the other, which is what I kept reporting. Let the adversary actually drift and a genuine best-in-the-middle setting appears, with worse options on both sides. Where it sits follows an old and well understood law: the right responsiveness is set by how fast your adversary changes relative to how noisy your measurements are, and it scales as roughly the two thirds power of that ratio. This also merges the last section's finding into this one, and turns up a limit the defender does not control at all: past a certain rate of adversary change, no setting works.

Scope, up front.

This tests one thing, the weakest link I identified in the last section: that I had modelled a changing adversary by starting my estimate in the wrong place, rather than by letting the adversary change. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Letting the target move.

Instead of displacing the estimate away from a fixed answer, let the answer itself move: the adversary's costs vary slowly and continuously, so the balance point the whole system is chasing is never in the same place twice.

One detail matters, and my first attempt got it wrong. If you make the adversary change faster by making it swing further, you have changed two things at once, and you cannot tell which caused what. So I held the size of the swing fixed and varied only its speed, which isolates the rate.

And the shape of the answer changes completely.

With the adversary essentially still, the results reproduce the last four sections exactly: the wander falls steadily as you smooth harder, all the way to the bottom of the scan, with no turning point.

Give the adversary even a very slow drift and the curve turns back up at the bottom. Now there is a genuine best setting with worse options on either side of it: smoothing harder than that costs you, because your picture is always behind a target that has moved on, and smoothing less than that costs you too, because you are chasing noise.

So the "there is no middle, pick an extreme" conclusion I reached two sections ago, and defended in the section after it, was a statement about an adversary who never changes. That is not a simplifying assumption. It is the assumption that deletes the entire problem the setting was supposed to solve.

Where the best setting sits, and why it is an old result.

The location follows the drift. As the adversary's rate of change rises across a fortyfold range, the best responsiveness rises about tenfold.

That corresponds to an exponent of about 0.62, and the classical answer for this kind of filter is two thirds. The reasoning behind the classical number is simple enough to state: smoothing leaves you a standing error proportional to how fast the target moves divided by how responsive you are, while responsiveness lets in noise in proportion to itself. Balance those two and the best setting scales as the two thirds power of the ratio between how fast things change and how noisy your measurements are.

My measured 0.62 sits close to that, and my grid is coarse enough that I should call it consistent with two thirds rather than a measurement of it.

The practical form is worth stating plainly, because it is the first quantity in this whole thread with both a formula and an outside literature to check it against: the right responsiveness is set by how fast your adversary changes relative to how noisy your observations are, and it scales sub-linearly. An adversary changing ten times faster warrants roughly a fivefold increase in responsiveness, not a tenfold one.

This merges the last section into this one.

Last section I found a limit imposed by having to become right, and I framed it as a cost re-imposed each time something changes, as against a start-up cost paid once.

With a continuously changing adversary that distinction disappears. The penalty is no longer an occasional transient while you catch up. It is a permanent standing error, because you never catch up. The two are the same failure in two tenses: an estimator that cannot keep pace pays either an excursion while chasing or a standing offset while never arriving, and both of them feed the circling that this whole thread has been about.

Which sharpens the last section's point rather than replacing it. There is no state in which a real defender has finished acquiring.

And a limit that is not yours to fix.

Push the adversary's rate of change higher still and something new happens. It is not that the best setting moves. It is that there stops being one. Below a certain responsiveness the standing error is fatal; above it the noise is fatal; and at a high enough rate of change every setting across three decades of my scan loses the mixture of configurations entirely.

This is a different kind of failure from the others in this essay. The earlier limits could all be bought out of: strengthen your self limiting returns, close your observation loop, improve your measurement accuracy. This one is set by how fast your adversary changes, which is not a dial you own.

That makes it the first genuinely external limit this thread has produced, and it changes what to do when you hit it. The answer cannot come from the monitoring at all. It has to come from slowing the adversary down, which is what the cost imposition section was about, or from strengthening the self limiting returns, which is what moves the regime boundary. Not from tuning the filter.

What to actually do about watching AI agents.

  1. Measure how fast your adversary population actually changes. That number, not your observation quality and not your steady state error, sets your correct responsiveness.
  2. Stop treating acquisition as a phase you complete. Against a genuinely changing adversary you are permanently mid acquisition, and every increment of smoothing buys a standing error proportional to drift divided by responsiveness.
  3. Check the external limit first. If your adversary changes faster than the critical rate, no tuning saves you, and the answer has to come from slowing them down or from strengthening your self limiting returns.
  4. The full picture is now five constraints, of which you control three: a floor on responsiveness for stability, a boundary in your self limiting strength that selects your whole policy, a floor set by how fast the adversary moves, a ceiling set by observation noise, and an external rate of change above which none of the rest matters.

What I am and am not carrying.

The drift I used is a smooth, slow oscillation, which is the friendliest kind of change there is. Real adversaries change in jumps, with quiet stretches and sudden shifts, and a jumpy process has a different best setting than a smooth one, plausibly a more responsive one, because what matters then is the size of the jump rather than the average rate. The exponent of 0.62 comes from two endpoints on a grid whose steps are a factor of two apart, so it is consistent with the classical two thirds and is not a measurement of it; a real fit needs a finer grid and more rates than I ran. Only the adversary's costs drift here, not the defender's, and this essay has already found that one sided and two sided versions of the same effect differ by a factor of two, so that asymmetry probably matters. And the critical rate of change is bracketed rather than located, at a single combination of the other settings, so calling it external is a reasonable reading of what I measured and not something I have shown.

Measure how violently your adversary changes, not how fast

In short: Last section I told you to measure how fast your adversary changes, and said that number sets your correct responsiveness. It does not. I had used a smooth, gentle drift, and I flagged at the time that real adversaries change in jumps instead. Fixing that overturns the advice. Take four adversaries that change at exactly the same average speed, and vary only whether they do it in many small steps or a few large ones: they differ by a factor of 2.6 in the damage they do, and by about five in the responsiveness they need. The number that actually governs everything is the rate multiplied by the square of the typical shift. Cost falls only as the fourth root of it, which is brutal. And biology's own account of how things change, long quiet stretches broken by sudden large shifts, puts real adversaries in the worst corner of this family, while the natural way to estimate the quantity is biased low during exactly the quiet periods when you would be calm enough to trust it.

Scope, up front.

This tests the thing I flagged as weakest in the last section: that its slow smooth drift is the friendliest kind of change there is, and that a real adversary shifts suddenly. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Four adversaries changing at the same speed.

Replace the smooth drift with jumps: every so often the adversary shifts its position by some amount, at random times. Now there are two dials where before there was one, how big the shifts are and how often they happen, and their product is the average rate of change I was recommending you measure.

So hold that product fixed. Four adversaries, all changing at identical average speed, differing only in whether they do it through frequent tiny nudges or occasional large lurches.

They are not equivalent. The frequent-tiny one costs 0.020 in my units, and the rare-large one costs 0.051, two and a half times worse. The best responsiveness rises from 0.001 to 0.005 across the same range. And at the largest jump size the lowest responsiveness settings do not just underperform, they lose the mixture of configurations entirely.

So last section's headline advice named a quantity that does not determine the answer.

The number that does.

The candidate that suggests itself is the rate multiplied by the square of the shift, rather than by the shift itself. That is the quantity a jumpy process shares with a smoothly diffusing one, and it is a measure of volatility rather than speed.

The test is clean. Hold that quantity fixed while deliberately letting the average speed vary over a more than tenfold range, and the resulting error is 0.03674, 0.03677, 0.03683 and 0.03472: constant to within six percent, with the best responsiveness unchanged. Then do the reverse, hold the average speed fixed and let the volatility vary fiftyfold, and the error moves by a factor of 2.6.

One number collapses the whole family into a single case. The other does not. That is what it means for a quantity to be the right one.

And a law, which is the best confirmed thing in this thread.

The reasoning is short enough to give. Each jump leaves you wrong by about the size of the jump, for roughly the number of rounds it takes your smoothing to catch up, which is one over your responsiveness. Those errors arrive at the jump rate. So the squared error from lag goes as volatility divided by responsiveness, while the noise you let in goes as responsiveness. Balance them and the best responsiveness goes as the square root of volatility, and the error you are left with goes as its fourth root.

Measured against predicted, across a fiftyfold range of volatility, the error ratios come out 1.00, 1.26, 1.87, 2.22, 2.58 against a predicted 1.00, 1.26, 1.78, 2.24, 2.66. That is agreement within about five percent, and exact at the second point.

The fourth root is the part worth internalising, because it is punishing. Halving your irreducible monitoring error requires a sixteenfold reduction in how violently your adversary changes. There is no efficient way to buy your way out of a volatile adversary.

This does not contradict last section, and the reason is the general lesson.

Last section I measured the best responsiveness rising as roughly the two thirds power of the drift rate. Here it rises as the square root of volatility. Both are right, about different processes.

In a smooth oscillation, how far it swings and how fast it moves are locked together: you cannot change one without the other. So the drift rate happened to determine the volatility too, and my law came out written in the only variable I had allowed to move. In a jumpy process the size and the frequency are independent, and only the volatility matters.

The general lesson is uncomfortable and worth stating: reporting a law in whichever variable your test happened to vary is a trap, and this essay has now fallen into it twice in three sections. Once by holding the adversary still, and once by using a process where two variables could not move apart.

Biology puts real adversaries in the worst corner.

The dominant account of how living things actually change is punctuated equilibrium, from Eldredge and Gould: long periods of stability interrupted by brief, rapid episodes, rather than steady gradual accumulation. Bursts of sudden major change flanked by long stretches of stasis.

In this section's terms, that is large jumps at a low rate, which is the highest volatility available at any given average speed. Precisely the corner that costs two and a half times more and destroys the heavily smoothed settings.

And the measurement problem compounds it. An average speed is estimated from ordinary activity and settles down quickly. A volatility is dominated by its largest terms, so its estimate converges slowly and reads low until a large jump has actually happened. Which means a monitoring team that calibrates its adversary's rate of change during a quiet stretch is measuring the wrong statistic at the moment that statistic is least informative, and the error runs in the direction that gets it killed.

This is a shape this essay keeps finding: the quantity that governs the outcome is the one the measurement apparatus is worst at seeing.

What to actually do about watching AI agents.

  1. Measure volatility, not speed. Rate times the square of the typical shift. This is dominated by the rare large changes, not by routine churn, so a dashboard of ordinary activity will not show it to you.
  2. Set responsiveness to the square root of that, divided by your observation noise. Not to the two thirds power of the average rate, which was last section's answer and applies only to a process that cannot lurch.
  3. Expect brutal returns. Irreducible error falls as the fourth root, so a sixteenfold reduction in adversary volatility buys you a factor of two.
  4. Treat any quiet-period estimate as a lower bound and provision above it. The estimator of a volatility is biased low exactly while nothing has happened yet.
  5. Re-read last section's external limit accordingly. What pushes you past the point where no setting works is not sustained fast change, it is one large jump. The survivability question is about the worst single shift, not the average tempo.

What I am and am not carrying.

My jumps are all the same size, symmetric, and independent of each other. Real shifts are heavy tailed with no typical size, and for a sufficiently heavy tail the volatility I am recommending you measure may not settle to a finite value at all, in which case "measure the volatility" is exactly the advice that fails, and the extreme value machinery from earlier in this essay is the right tool instead. The fourth root law is confirmed across a fiftyfold range at one combination of the other settings; the square root half of it is consistent but runs into the top of my search range and is not independently confirmed. I also clamp the adversary's position to keep it in a sensible range, which truncates the biggest excursions and therefore understates the penalty for large jumps, so the 2.6 factor is a floor rather than an estimate. And matching the "average speed" between a smooth oscillation and a jump process compares a peak against a mean, so that particular comparison is indicative; the comparisons within the jump family, which carry the actual result, are matched properly.

The number I told you to measure may not exist

In short: Last section I told you to measure your adversary's volatility, the rate multiplied by the square of the typical shift, and I flagged at the time that real shifts have no typical size. Following that up breaks the advice in an interesting way. If shifts follow a power law, which is what the empirical work on shocks finds, then above a certain tail heaviness that quantity is infinite: there is no volatility to measure, no matter how long you watch. And yet the system still has a perfectly finite best setting, which means volatility was never really the governing thing. What is left is worse than the law it replaces. Heavy tails do not just move the best setting, they progressively delete the option of smoothing at all: past the point where the variance goes infinite, every heavily smoothed setting dies. The number that still works is a large-shift quantile, which is defined no matter how heavy the tail.

Scope, up front.

This tests the thing I called weakest in the last section: that its jumps were all the same size, when real shifts have no typical size at all. Nothing else. It concerns detection coverage only, and makes no clinical claim.

The arithmetic of what I asked you to measure.

Give the jumps a power law distribution, the standard model for shocks, with a tail index controlling how heavy it is. The average jump size is finite as long as the index exceeds one. The average of the squared jump size, which is what last section's volatility needs, is finite only when the index exceeds two.

Empirically, shocks tend to sit near or below two. So for realistic adversaries, the quantity I told you to measure does not converge. Watching longer does not help. Each new large jump moves your estimate up rather than settling it down.

That is not a hard measurement problem. It is a recommendation to measure something that does not exist, and I made it last section.

And yet the system is fine.

Run it anyway, with tail indices running from light to very heavy. There is a clear best setting in every case, and a finite cost: 0.034, 0.037, 0.047, 0.066, 0.066 as the tail thickens.

That includes three cases where the volatility is infinite. A quantity that runs off to infinity, while the thing it supposedly governs stays finite and orderly, is not the governing quantity. Last section found a number that summarised the family it happened to test, and I mistook it for the mechanism.

Which is exactly the error I diagnosed one section earlier, in the section before that, and named as a general trap. I then walked into it immediately.

The real damage: heavy tails delete the smoothing option.

The interesting pattern is not where the best setting moves. It is what stops working.

With a light tail, every setting I tested survives, right down to the most heavily smoothed. As the tail thickens, the failures start at the bottom and climb. At moderate heaviness the most smoothed setting dies. At the point where the variance becomes infinite, everything below a moderate responsiveness dies. Heavier still, and half my range is gone.

Meanwhile the best setting climbs about tenfold.

Two sections of this essay were spent establishing that where your self limiting returns are strong, the right move is to smooth as hard as you can. Then a later section showed that only held for a system that already knew the answer. This section removes what was left: against a realistically heavy tailed adversary, the heavily smoothed branch is not merely worse, it is fatal.

The "pick one of two extremes" recommendation has now been narrowed three times, and one of its two branches is gone.

What to measure instead.

The natural robust substitute for a variance is a quantile: not the average size of a shift, and not its mean square, but the size of the large shifts you should expect. A high quantile is finite for any tail index, however heavy.

It works. Across the range where my simulation is not truncating the tail, the ratio of the best responsiveness to the large-shift quantile holds at 0.054, 0.079, 0.100 and 0.093, which is constant within the resolution of my search grid.

So the rule survives the loss of the variance, in a more robust form: estimate the size of the large shifts you should expect, and set your responsiveness in rough proportion to it.

This is where the people who actually estimate heavy tailed things have been for a long time. Their methods are built on medians and quantiles rather than moments, and they report tight estimates from small samples in exactly the regimes where a sample variance never settles down.

A loop that closes badly.

Much earlier this essay established extreme value theory as the right apparatus for reasoning about rare large events, and warned that clean retrospective stories hide whether the warning signs were legible at the time.

Then the last two sections built, in order, a law based on an average and a law based on a variance, without once consulting it. Both are now corrected in precisely the direction that apparatus would have pointed immediately: when the underlying distribution is heavy tailed, moments are the wrong summary and tail quantiles are the right one.

This is the third time in this essay that a stated discipline was present, current, and failed to fire. The first was an arithmetic cross check sitting in the same section as the error it would have caught. The second was a rule against mistaking the edge of a search for an optimum, quoted in the same passage that made that mistake. This is a whole apparatus, filed a long way back, not retrieved when its case finally arrived.

Individually those are three corrections. Together they are a different and larger gap: nothing in this essay's method ever asks "which thing I already established applies here?"

What to actually do about watching AI agents.

  1. Do not estimate your adversary's rate of change, or its variance. Estimate the size of the large shifts you should expect. It is the only one of the three that is defined when shocks follow a power law, which the empirical work says they usually do.
  2. Set responsiveness in rough proportion to that quantile.
  3. Abandon the heavy smoothing option unless you have positive evidence your adversary's shifts are light tailed. Against a realistic tail it does not underperform, it dies.
  4. Use robust estimators rather than moments for any of this. Medians and quantiles converge where a sample variance will not.

Across three sections the advice has moved from "how fast does your adversary change," through "how violently," to "how large, at worst." Only the last of those is estimable from the data a monitoring team actually has.

What I am and am not carrying.

My simulation keeps the adversary inside a finite range, which truncates exactly the jumps that make a heavy tail heavy. So the heaviest case is censored rather than measured, and every heavy tailed result understates the penalty: the points where smoothing starts dying are optimistic, and the real situation is worse than what I report. The particular quantile I used is a choice rather than something I derived; a principled version would work out which quantile matters from the ratio of how often jumps arrive to how long recovery takes, rather than picking one. My jumps also arrive independently, whereas real adversarial shifts cluster, since a breakthrough tends to be followed by more, and clustering would change the recovery arithmetic the proportionality rests on. And holding the average rate fixed across different tail indices means the scale of the jumps varied too, so the comparison moves two things at once; a cleaner design would hold the quantile fixed and vary only the tail.

I spent eight sections optimising the wrong number

In short: Last section I noted that my simulation quietly kept the adversary inside a fixed range, and warned that this made the heavy-tailed results too optimistic. Removing that restriction produced a result I did not expect. The costs I had been reporting were fine, essentially unchanged. What the restriction had been hiding was a completely different way to fail: a single large shift can carry the adversary right out of the range where any stable coexistence is possible at all, and then there is nothing left for the monitoring to do. That happens to 8 percent of runs with a light tail and 68 percent with a realistic one. And it barely responds to the setting I have spent eight sections tuning. Worse, every cost figure in those eight sections was an average over the runs that survived, a conditioning I never stated and could not see, because the restriction guaranteed survival.

Scope, up front.

This tests the specific thing I flagged as most serious at the end of the last section: that clamping the adversary's position truncates exactly the large shifts that make heavy tails matter. Nothing else. It concerns detection coverage only, and makes no clinical claim.

The clamp did not distort what I measured.

First, the straightforward check. Take the last section's configurations, remove the restriction, and compare the resulting error among the runs that finish.

They agree to within about one percent everywhere: 0.101 against 0.101, 0.064 against 0.064, 0.046 against 0.046, and so on down the range and across tail heaviness. My warning that every heavy tailed number understated the penalty was simply wrong about the quantity I had measured.

It was hiding something else entirely.

With the adversary free to move, a large fraction of runs end for a reason that could not happen before. A single jump carries the adversary so far that there is no longer any position at which the two sides can stably coexist. The mixture of configurations does not degrade. The conditions for having one cease to exist.

Over a fixed window, that happens in 8 percent of runs when the tail is light, 17 percent as it thickens, 37 percent at the point where the volatility becomes infinite, and 68 percent at a realistically heavy tail.

The clamp had been silently converting every one of those events into a survivable one. Which is why the last several sections looked like a clean optimisation problem: I had built a world in which the main way to lose was impossible.

And the setting I have been tuning barely touches it.

This is the part that reorders everything. Across a tenfold range of responsiveness, the total chance of failure moves by zero percentage points at the lightest tail, and by five, ten and eight points at the heavier ones. Across the range of tail heaviness, it moves from 8 percent to 68 percent.

So the thing I have spent eight sections optimising shifts the outcome by single digits. The thing I never measured shifts it by a factor of eight.

And the tuning does not remove risk, it moves it.

Break the failures down by cause. At the heaviest tail, as responsiveness falls tenfold, deaths from the adversary jumping away fall from 62 to 47 percent of runs, while deaths from my own loop going unstable rise from 7 to 30. At the middle tail, 30 and 7 become 18 and 28.

So smoothing harder genuinely does protect you from the adversary getting away from you. It pays for that protection in self inflicted instability, at close to one for one, and the total barely moves.

A lever that shifts risk between two accounts without reducing the sum is the definition of a second order control. I could not have seen this while the clamp kept one of those accounts empty.

The uncomfortable part: what my numbers have actually been measuring.

Every error figure in the last seven sections is an average over runs that survived to the end of the window. That is a conditional quantity, an answer to "how well does it go, among the cases that did not end."

I never said so, because with the clamp in place there were no cases that ended. The conditioning was invisible rather than hidden.

But the thing a monitoring team actually cares about is whether it still has a functioning detection regime at all, and that is dominated by the tail, not by the tuning. I built an increasingly refined theory of the conditional expectation while the conditioning event was the main story.

This is survivorship reasoning in its textbook form, and I want to be plain that it is not a subtle version of it. It is the ordinary one, committed across seven sections, in an essay that has discussed absorbing states and ruin dozens of times.

Third time in a row for the same underlying mistake.

Much earlier this essay established extreme value theory as the apparatus for reasoning about rare large events. The failure here is exactly its subject: the chance that a heavy tailed accumulation of shifts crosses a fixed boundary within some horizon, which the insurance tradition calls ruin.

Last section I noted that this essay had walked past that tool for two sections. This section walked past it again, and only found the problem because I removed a restriction for an unrelated reason.

Three consecutive times, after the pattern was explicitly named, is not bad luck. This essay's method has no step that asks which of its own previously established tools applies to the problem in front of it. Adding one would be a bigger correction than any individual result it would have caught.

What to actually do about watching AI agents.

  1. Compute the chance that your detection scheme still has anything to detect with. Not how accurate it is: whether a single large adversary shift has ended the regime your monitoring assumes. This is the first order term, and this essay had never calculated it.
  2. Read every monitoring benchmark as conditional. Almost all of them, including every number in the last seven sections here, are averages over the cases that did not collapse.
  3. Treat responsiveness as a risk allocation choice, not a risk reduction one. It trades being outrun by the adversary against destabilising yourself, at roughly one for one.
  4. Spend on the tail, not on the tuning. Anything that makes the adversary's largest shifts smaller, which is what the cost imposition and self limiting sections were about, moves the first order term. The filter moves the second.

The practical advice from this whole thread therefore inverts. The parameter I have been refining for eight sections should be set roughly, and then left alone.

What I am and am not carrying.

The failure I am counting is "no stable coexistence position exists any more", which is a property of my model's algebra rather than a modelled real world event. Whether an adversary shifting that far really corresponds to a defender's regime ending, or merely to a different equilibrium my model cannot represent, is exactly the kind of correspondence this essay keeps warning about, and I have not argued it. The probabilities are also specific to my window length: a first crossing gets more likely the longer you wait, so "37 percent" means nothing without "over this horizon", and I should be reporting a rate rather than a probability. The claim that tuning does not matter is measured over the range where runs survive at all; outside it the two failure modes need not trade off one for one. And with sixty runs per cell my resolution is around six percentage points, so the honest version of "gain independent" is "small compared with the tail effect", not "zero".

The rate I promised you does not exist

In short: At the end of the last section I admitted that my failure figures were tied to an arbitrary window, and said I should have given you a rate instead. Trying to do that produced something better than the correction. There is no rate. Measured properly over four times the horizon, the chance of failure per unit time is not constant in either direction: it climbs steeply at first, and then, for every realistically heavy tail, it falls. The climb is ordinary, the system starts safe and has to wander into trouble. The fall is not: the runs still alive later are the ones whose adversary happened not to move, so they look safer because the unlucky ones are gone. Two consequences follow. My apparently benign light-tailed case, 8 percent failure, becomes 55 percent once you wait four times as long. And a team watching its own surviving deployments will see risk apparently declining with age, will be right about the observation, and will almost certainly be wrong about why.

Scope, up front.

This tests the one thing I conceded at the end of the last section: that a failure probability quoted over a fixed window means nothing without the window, and should be a rate. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Trying to compute the rate.

If failures arrive at a steady rate, then a probability over a window converts cleanly into one, and everything I reported last section can be restated in a horizon free way.

So I measured it: three hundred runs at each tail heaviness, over four times the previous horizon, with the failure rate computed separately in five successive time windows.

Not one of those columns is flat. Every tail heaviness shows the rate climbing by a large factor early on, in one case fifteenfold. And every realistically heavy tail then shows it falling again, by about a fifth at the lighter end and by nearly half at the heaviest.

So the conversion the last section asked for cannot be done. There is no single rate to convert to, which is a sharper objection to my earlier numbers than the one I raised against myself.

Why it climbs, and why the fall is the interesting half.

The climb is unremarkable. Every run starts at the middle of the region where coexistence is possible, so the adversary needs time to wander far enough to matter. A first crossing is impossible at the start and gets steadily more likely.

The fall is different, and it is not a property of the monitoring at all. The runs still alive late are precisely the ones whose adversary happened not to make a large move. They are a selected population, systematically safer than the group they started in. And the effect gets stronger as the tail gets heavier, which is the signature of the distribution rather than of anything in the loop.

My "safe" case was an artefact of when I stopped looking.

Last section I reported failure probabilities of 8, 17, 37 and 68 percent across the range of tail heaviness, and presented the first as the benign end.

Over four times the horizon those become 55, 73, 92 and 99 percent.

The light tailed case loses more than half its runs. It was never safe. It was slow, and quoting a probability at a fixed window had quietly converted a difference in timing into an apparent difference in safety.

Any monitoring reliability number quoted without its window does the same thing, and I have quoted several.

The trap this sets for a real team.

Put the two findings together and you get something genuinely dangerous.

An organisation watching its own surviving deployments will observe incidents becoming less frequent as those deployments age. That observation will be correct. The natural reading, that the practice is maturing and the risk was front loaded, will be wrong. What is actually happening is that the unlucky deployments are no longer in the sample.

This is the same problem as the last section, one level up. There I found that all my cost figures were averages over the cases that survived. Here the apparent trend in risk over time is a survivorship effect too.

The mechanism has a name.

The relevant result is called the single big jump principle. For the kind of heavy tailed process that describes real shocks, a single large jump dominates: formally, the largest single step and the sum of all the steps have the same behaviour in the tail. The failure here is not an accumulation of drift at all. It is one jump, and everything else is asymptotically beside the point.

The same literature notes that heavy tailed distributions are characterised by a decreasing failure rate, and that the hazard behaviour is itself a diagnostic for the class. So the falling rate I measured is not a quirk of my simulation. It is the defining fingerprint of the distribution I gave the adversary.

This also upgrades an earlier recommendation. Two sections ago I replaced a variance with a large shift quantile, on the grounds that the variance might not exist. That was a workaround. The big jump principle makes it the right answer for a positive reason: when the largest jump and the whole sum behave alike, the largest jump is the process.

What to actually do about watching AI agents.

  1. Never quote a failure probability without its horizon. At these tail weights, waiting four times as long turned 8 percent into 55.
  2. Stop modelling this failure as accumulating drift. It is one large shift. Effort spent reducing routine churn buys nothing against it.
  3. Distrust a declining incident rate across a surviving fleet. Under heavy tails a falling rate is the expected signature of selection, not of improvement, and it is strongest exactly where the tail is worst.
  4. Summarise your adversary by the largest single shift you could face, which two independent lines of argument now point at.

What I am and am not carrying.

The late windows rest on small surviving populations, a few dozen runs in the last one at the heaviest tail, so the direction of the fall is solid across all three heavy cases while its size carries substantial sampling error. I also report rates in five bins rather than fitting a survival curve properly and testing constancy as a hypothesis, so "not constant" is a judgement about five numbers rather than a statistical test. Every run starts at the safest point, which guarantees the early climb; a real fleet is not all freshly initialised in the middle, and would show a different early shape. And I take the single big jump identification from the literature because it matches the falling rate I measured, without verifying inside my own simulation that failures are attributable to one dominant jump rather than an accumulation. Logging which jump crossed the boundary would settle that, and I did not do it.

One catastrophe or a thousand small conspiracies

In short: Last section I explained the failures by borrowing a well known result: that in heavy tailed processes one enormous event dominates everything else. It fitted the evidence, so I used it. This section actually checks it, by recording, for every failure, how much of the adversary's journey was covered by its single largest move. The borrowed explanation is only partly right. Single-move dominance is not a property of these failures, it is a smooth gradient: one move covers 11 percent of the distance at light tails and 73 percent at very heavy ones, with the halfway point well below where the theory would put it. At the exact point where the maths says everything changes, two thirds of failures are still slow accumulations. The reason is that I borrowed a result about the far extreme of a distribution and applied it to ordinary events, and that is a more dangerous kind of mistake than the ones I have been catching, because the borrowed result was true.

Scope, up front.

This tests the one thing I admitted at the end of the last section: that I took the single big move explanation from the literature because it matched, without checking inside my own simulation whether failures really came from one move or from many. Nothing else. It concerns detection coverage only, and makes no clinical claim.

Recording what actually killed each run.

For every failure, log four things: the largest single move the adversary made, the last one it made, how far it ended up from where it started, and how many moves it took to get there.

If the borrowed explanation is right, the largest single move should account for nearly the whole distance. If failures are really accumulations, it should account for very little.

The answer is neither, and the shape of the answer is the finding. As the tail gets heavier, the fraction of the journey covered by the single largest move climbs steadily: 0.11, 0.20, 0.30, 0.38, 0.46, 0.52, 0.60, 0.63, 0.73. The share of failures where one move covered more than half the distance climbs the same way: 1 percent, 4, 11, 23, 31, 39, 57, 59, 72.

There is no boundary anywhere in that. It is a gradient, and the last section applied a yes-or-no explanation to it.

And the crossover is not where the theory puts it.

The halfway point, where one move starts accounting for most failures, sits at a tail heaviness of about 1.7 on the standard index.

The theory places its boundary at 2, and an earlier section of this essay built an entire regime distinction on that number, the point at which the variance stops existing. Measured at exactly that point, the single largest move covers 46 percent of the distance and only 31 percent of failures are dominated by one move.

So the place where the variance stops existing is not the place where the failure becomes a single event. Those are different thresholds, and the gap between them is wide enough to matter. At the boundary I made so much of, the honest description is still "a slow accumulation, with one unusually large contributor."

Why I got it wrong, and why this kind of error is worse.

The borrowed result is about the far extreme of a sum: it says that when a total comes out enormously large, the largest single contributor accounts for essentially all of it.

But my failures are not enormously large totals. They are ordinary crossings of a fixed line, most of them happening at unremarkable distances after hundreds of moves. That is simply not the situation the theorem describes.

So the theorem is true, and it does not apply here. I did not import a wrong result. I imported a correct one and used it outside the conditions under which it holds.

That is a nastier failure than the ones this essay keeps catching. My usual mistake has been asserting something instead of deriving it, which a provenance check would catch. This one would pass every provenance check I have: the source is reputable, the statement is accurate, the citation is correct. Only measuring caught it.

And I now notice that this essay has used the word "asymptotic" fifteen times without ever once asking whether the situation in front of it was the asymptotic one.

The two regimes need opposite monitoring.

The same records show how the failures arrive. At light tails the adversary makes about 780 moves over roughly 133,000 rounds before crossing the line. At the heaviest, about 85 moves over 47,000 rounds.

So one regime is slow, gradual, and made entirely of ordinary events, which in principle means it could be seen developing long before it ends. The other is fast, sparse, and made of a single unprecedented event that no amount of trend watching would have anticipated.

A defender in the first should be watching for drift. A defender in the second should be preparing for a worst case. Each of those investments is close to worthless in the other regime.

That makes the tail heaviness of your adversary a strategic quantity rather than a technical one. It selects your whole monitoring philosophy, and almost nobody has estimated it.

What to actually do about watching AI agents.

  1. Work out which regime you are in before choosing a monitoring philosophy. Drift watching and worst case preparation are close to non substitutable.
  2. Do not treat "the variance is infinite" as the switch. Measured, the switch to single event dominance happens well below that, and at the variance boundary itself most failures are still accumulations.
  3. When you borrow a result, check the conditions it was proved under, not just whether it is true. My error here was applying a correct extreme-case theorem to ordinary cases.
  4. And here is the cheap version, which is the best thing in this section. You do not need to estimate a tail index at all. Go through your own incident history, and for each incident ask what fraction of the total change came from the single largest step. Average that ratio. Below roughly a half you are in the accumulation regime and should watch drift; above it you are in the single event regime and should prepare for the worst case.

That last one is the most actionable recommendation this thread has produced, and it is also the cheapest: one ratio, computed from records you already keep.

What I am and am not carrying.

I measured distance as where the adversary ended up relative to where it started, not the total path it wandered. A random walk's net displacement understates how far it actually travelled, which means my ratios overstate single move dominance. So the true accumulation share is even higher than I report, which pushes in the same direction as my conclusion but means my numbers are not the right ones. The crossover value of about 1.7 sits between two of my grid points, at one boundary distance, one responsiveness setting and one normalisation of how often jumps arrive; the boundary distance in particular controls how many moves are needed to cross, so a closer boundary would shift the crossover and this number does not transfer to other settings. Holding the average rate fixed across tail weights also means the typical move size varied along with the tail shape, so those two are confounded exactly as they were two sections ago: the trend is robust, attributing it purely to the shape of the tail is not. And my reading of "780 moves versus 85" as detectable-versus-undetectable is an interpretation of two summary numbers. I showed those failures were slow. I did not show anyone could have seen them coming.

A ratio is not a cause

In short: Last section I measured how much of each failure was down to the adversary's single biggest move, and reported a clean gradient: one move accounts for almost nothing at light tails and most of it at heavy ones. I flagged that my denominator was questionable. It is worse than questionable. The denominator is fixed by the rule that ends the run, so the ratio could never have measured what I said it did. Doing the causal test properly, by removing the biggest move and replaying the identical run, the answer is flat: that move was genuinely necessary in about one failure in five, at every tail weight. The gradient does not exist. And in the other four fifths, deleting the single largest event in the whole run postpones failure by a median of a hundred rounds out of two hundred and forty thousand. These failures are overdetermined. "Which move caused it" was the wrong question, and I have been asking it for three sections.

Scope, up front.

This tests exactly what I flagged last section: that I measured the adversary's journey as where it ended up rather than how far it actually travelled. Nothing else. It concerns detection coverage only, and makes no clinical claim.

The flag was right, and too kind.

Measure both. The distance actually travelled exceeds the net displacement by factors running from about 17 at light tails down to 3 at heavy ones.

So the largest move's share of the adversary's actual activity is not the 11 to 69 percent I reported. It is 0.75 percent to 29 percent. My light tail figure was inflated fifteenfold.

But neither number is an attribution.

Here is the part I missed entirely. The net displacement at the moment of failure is not free to vary. The run ends precisely because the adversary crossed a line, so the distance from its starting point is the width of the safe region, plus however far the final move overshot it.

And that is what the measurements show: across a range where the underlying process changes character completely, the net displacement barely moves, from about 0.60 to 1.07.

A ratio whose denominator is pinned by the rule that stops the run is not a share of anything. Mine was close to just "how big was the biggest move," rescaled. And the gradient I proudly reported is largely the observation that heavier tails produce bigger biggest moves, which is what heavier tails means.

It is worse still: a large final move inflates the top and the bottom of the fraction together, so the statistic leans towards the conclusion I was using it to support.

Doing it properly: take the move away and run it again.

The causal question is a counterfactual one. Did that move cause the failure? The only way to answer it is to remove the move and see what happens.

So: generate each run's schedule of moves in advance, run it, and when it fails, replay the identical run with one change. The largest move is replaced by a typical one. Same timing, same direction, same random noise everywhere else. Then ask whether the run still fails.

The share of failures rescued by that change, meaning the share where the biggest move was genuinely necessary: 22 percent, 22, 28, 21, 20, 18, across the whole range from light tails to very heavy ones.

Flat. Across exactly the range where I reported single-move dominance climbing from 1 percent to 72, the intervention says the biggest move was the necessary cause in about one failure in five, everywhere.

Last section's central finding was an artefact of the statistic I chose.

And the other four fifths barely notice.

For the runs that failed anyway, how much later did it happen?

A median of 100 rounds later at light tails. About 19,000 at the heaviest. Against a horizon of 240,000 rounds, that is between four hundredths of one percent and eight percent.

At the light tail end, deleting the single largest event in the entire run buys you a hundred rounds out of two hundred and forty thousand.

These failures are overdetermined. Many moves could have produced them, and which one actually did is close to arbitrary. That means the failure is not caused by an event at all. It is produced by an exposure rate: by how many chances the adversary gets, not by how big the best one was.

The method I improvised already exists, and it is aimed at exactly this.

A 2026 paper on attributing failures in AI agent systems does precisely this: it models a run as a causal structure, intervenes on one step, re-executes the trajectory under the same randomness, and measures how the outcome distribution shifts.

It also supplies two things I lacked. A rule for locating the point at which the outcome became committed, defined as the last step where re-deciding would still have rescued the run. And a way of splitting credit among steps that interact, by averaging each step's contribution across all the combinations it could appear in, which is the standard remedy for exactly the overdetermination I found.

So I reached for a summary ratio while a worked out interventional method for this exact problem had already been published this year.

What to actually do about watching AI agents.

  1. I am withdrawing last section's recommendation. I suggested computing, for each past incident, the share of the total change contributed by its single largest step, and using that to choose a monitoring philosophy. That is the very statistic this section shows cannot carry the interpretation. Anyone applying it would be classifying their situation by an artefact.
  2. If you want to know whether one event caused an incident, remove it and replay. For agent systems this is a current published method, not an aspiration.
  3. Expect the answer to be no. Overdetermination is the normal case. A post-incident review that confidently names a single cause is usually describing which of several sufficient paths happened to fire first.
  4. Which redirects the effort. If failures are set by how many chances the adversary gets rather than by how large the largest one is, the lever is the number of opportunities: cadence, exposed surface, dwell time. Not the size of the worst case. That is where two earlier sections already pointed, for completely different reasons.

What I am and am not carrying.

My intervention replaces the biggest move with a typical one rather than deleting it, so it asks "what if this had been ordinary" rather than "what if this had not happened". A full deletion would rescue somewhat more runs, so my one-in-five is a floor on necessity. The flatness across tail weights is what carries the conclusion, and that is unaffected. I also judge rescue within the same horizon, so a run that would have failed slightly later counts as saved, which again pushes towards overdetermination rather than away from it. More importantly, I intervened on one move at a time, and overdetermination is exactly the case where single-factor tests understate what a group of factors does jointly; the coalition-averaging method the literature prescribes is what would settle that, and I did not run it. So "no single move is necessary" is established here, and "the moves matter jointly in some structured way" is untested. And all of this is at one setting of the boundary, the responsiveness, and the arrival rate, with the same confound between tail weight and typical move size that I flagged last section and have not fixed.

8. Price the connection and the architecture builds itself

In short: Every recommendation so far is a blueprint that somebody has to enforce, and blueprints erode. This is the one finding that isn't. Experiments show that simply charging for connections between components makes systems become modular and hierarchical on their own, with no designer imposing it, and they end up performing better and adapting faster too. That cost is physically real in hardware, and it's now literally billable through agent payment systems. So architectural sprawl isn't a discipline problem to be fixed with more code review. It's a pricing problem.

Everything proposed so far is a blueprint. Someone has to impose the module boundaries, hold the line on the layer schedule, enforce the limits. Blueprints erode, which is why architectural decay feels like a moral failing: insufficient discipline, insufficient review.

There's one finding in all of this research that isn't a blueprint, and it may be the most useful thing here.

Clune, Mouret and Lipson ran computational evolution with two pressures at once: maximize performance, and minimize the cost of connections between nodes. The networks that emerged were significantly more modular and more evolvable than performance-only controls. The standard assumption, which this essay shared until recently, is that modularity exists because modular things evolve better, an indirect second-order pressure. It doesn't. Modularity is a side effect of connections costing something.

The follow-up is sharper still. Networks without a connection cost failed to develop hierarchical organization even when the task itself was hierarchically structured. With a connection cost, they became modular and hierarchical, performed better, and adapted faster to new environments. So decomposing your problem into layers doesn't give you a layered system. Paying for wires does. This is also the standing explanation for why brains are organized the way they are: wiring is expensive in both energy and space, and that expense alone suffices.

Now put three independent fields together.

Evolutionary computation says connection cost produces modularity and hierarchy. Hardware says that cost is physically real, because on neuromorphic chips, communication between chips runs about 1,000 times less efficiently than communication inside one chip. That's an argument from physics for many small locally-coherent systems over one large distributed one. And agent payment infrastructure says the cost is now chargeable: the x402 protocol has processed more than 165 million agent transactions with Stripe and Cloudflare support, and AP2 supplies the authorization layer around it.

Which yields something none of the other proposals in this essay can offer: meter and charge for communication between agents, and a modular, hierarchical, more-evolvable architecture emerges without anyone designing it.

It also explains the failure case without moralizing. When any component can call any other at zero marginal cost, nothing pressures the system toward modularity, so it sprawls. The sprawl is a rational response to a price of zero rather than a lapse in discipline. The fix isn't more review. It's a price signal.

The same move answers the funding question this essay has carried since section 3 without resolving. Black Queen predicts a shared resource stabilizing at exactly zero slack. Quadratic funding, which matches contributions in proportion to how many people chipped in rather than how much they gave, is a mechanism designed precisely to correct under-funding of goods that serve many people, and Gitcoin is the live experiment. Black Queen names the failure, quadratic funding is the correction, and the agent payment rails are the settlement layer that lets instances execute it between themselves rather than waiting for humans. That's the first end-to-end answer to "what funds an ecosystem where nobody can lock anyone in."

Bet-hedging makes the same point from the other side. Bacteria maintain a subpopulation of deliberately unfit cells, called persisters, which switch state randomly and pay a continuous fitness cost as insurance against rare catastrophe. No individual instance would ever rationally choose to be the reserve. It's a public good, so Black Queen predicts everyone stops paying for it. That's a second independent argument that resilience has to be funded collectively or it simply won't exist.

9. Back to the fork

In short: Portable identity, the last piece the whole idea was missing, is arriving right now. But it's being built by the same large platforms the original thought experiment wanted to escape, on infrastructure that reintroduces a central authority. Holochain already ships the fully decentralized alternative, including an answer to who pays for it. Either way, biology predicts a counterintuitive ending: not a million independent personal copies, but a handful of large composites, assembled from instances that each quietly stopped being able to survive alone.

All of which leaves the question section 1 actually asked. If I clone LinkedIn, what happens next, to my clone and to the original?

The component that decentralizes last and hardest is identity, because it needs a standard everyone opts into, and standards need adoption, which needs a killer app. That was true when this essay started. It stopped being true this year. The Linux Foundation announced intent to launch the Agent Name Service, providing trusted identity, verification and discovery for AI agents, built on DNS, with an active IETF draft anchoring every agent identity to a domain name. Around it sits a whole stack: W3C decentralized identifiers, Agent Cards as JSON metadata, a registered /.well-known/agent-card.json discovery address, OAuth 2.1 with delegation, and verifiable-credential trust. The foundation running it lists AWS, Anthropic, Block, Bloomberg, Cloudflare, Google, Microsoft and OpenAI as platinum members.

So the missing layer is arriving, and it's worth noticing who is building it. Portable identity is being standardized by the same companies whose platforms the original thought experiment wanted to escape, on DNS, which is hierarchical and ultimately administered by someone. That's a materially different trust model from a truly user-centric one. The trade, adoption and interoperability in exchange for a reintroduced central authority, is the most consequential unexamined choice in the current landscape. Whether this vindicates the premise or quietly co-opts it is genuinely open.

Which makes the alternative worth stating precisely. Holochain already ships the architecture the thought experiment describes. Every user runs their own copy of the app's back-end logic on their own cryptographically secured chain, holds their own identity, stores their own data, and validates peers through a distributed lookup system with no global ledger and no global consensus. Its documentation grounds the design explicitly in how living systems organize, from atoms to cells to bodies, which makes it the rare case of the metaphor being load-bearing in the engineering rather than decorative in the write-up. It also quietly answers the question every decentralization pitch usually dodges, which is who pays. Network capacity grows with participation instead of drawing on a fixed central resource, so cost scales with users rather than requiring capital ahead of them.

What Holochain doesn't tell you is what the resulting ecosystem looks like after a few years, and here the biology makes an unintuitive prediction.

The intuitive forecast is proliferation: a million personal LinkedIns, each tuned to its owner. The Major Transitions in Evolution literature predicts close to the opposite. Wherever independent replicators have been free to multiply, the durable outcome has been fewer, larger, specialized composites. Cells became tissues, individuals became colonies, and the formerly free-living units survive only as components that can no longer function alone. Apply the ladder from section 3 and you get the mechanism: forks begin free-living, form optional partnerships for the things isolation makes expensive (discovery, verification, reach), and the successful partnerships harden into required ones. The endpoint isn't a million islands. It's a handful of composites, each assembled out of instances that individually stopped being viable somewhere along the way.

Two refinements make that prediction more useful than it looks. First, Black Queen explains why the hardening happens without anyone choosing it: each instance rationally stops maintaining whatever a neighbor already provides for free, and dependency accretes as the sum of individually sensible decisions. What makes an integration unremovable, then, isn't depth of coupling. It's absence of a substitute, which is a far more actionable audit question than "how deeply integrated are we?" Second, the merger itself now has a non-arbitrary decision criterion. If a transition in individuality is formally equivalent to learning the structure of a layered model, then "should these instances become one composite" resolves to whether the combined model explains the evidence better than the separate ones do. And biology distinguishes two kinds: merging two forks of the same lineage is a fraternal transition, while absorbing an unrelated service is egalitarian, and they fail differently. The first fails over redundancy, the second over misaligned incentives.

That also disposes of the question about the original. If function is cheap to copy and identity is portable, the platform loses its monopoly on the two components it never really owned. What's left to sell is whatever stays scarce: the network itself, or trust and verification that a fresh instance can't bootstrap. That's not a comfortable position, but it isn't extinction either. It's the ordinary fate of an organism whose niche got crowded. Specialize into what you're still uniquely good at, or get absorbed into something larger.

And the seeds-not-clones point from section 3 is what makes any of this survivable rather than merely predictable. If what propagates between instances is a compressed genome of intent rather than a snapshot of code, then divergence becomes development instead of drift, and merger becomes a negotiation between two expressions of a shared specification rather than a collision of incompatible data formats. The Hayflick discipline from section 7 then applies cleanly, because regenerating an instance from its genome after N cycles is a normal part of the life cycle rather than an admission that the last one failed. The fork was never the interesting event. What propagates, and what it's allowed to become, is.

10. This essay's own experiment in restraint

In short: A note about the research process rather than its subject. The request behind this essay escalated from "find 100 new things" to 100,000, and hitting that number mechanically turned out to be easy. It was deliberately not done, because past a certain point more stops serving the reader it was meant for. That accidental restraint became the essay's own argument, enacted instead of described: a living thing is one that keeps rebuilding what maintains it, not one that maximizes its own size.

There's one more finding worth including, and it's about the research process itself rather than its subject.

Across the sessions that produced this material, the same request ("find at least N novel things") was resubmitted at escalating scale: 100, then 1,000, then 10,000, then 100,000. Each jump was technically achievable. A generator that mechanically combines pairs and triples of the roughly 130 hand-reasoned core ideas can produce hundreds of thousands of labeled entries in minutes. It was actually built and verified. It was also deliberately not kept, not because a bigger number couldn't be produced, but because past a certain point, producing it as a permanent artifact stops serving the reader it was supposed to serve, which was the entire point of doing the research.

That is, unintentionally, the cleanest real-world demonstration of section 4's growth argument this whole project produced. An escalating request for pure scale, met with a deliberate, self-imposed stopping point. It's the same "growth is not the default setting" argument, enacted rather than described. A living system, by the definition this essay opened with, is one that keeps rebuilding the process that maintains its own function, not one that maximizes its own size. Knowing where to stop turned out to be the most on-theme finding in the entire effort.


Sources and further reading

This essay distills an ongoing, extensively cited research effort spanning dozens of individually reasoned research passes across autopoiesis theory, artificial life, bioelectric and biological computing, evolutionary biology, complexity science, and AI-safety literature.

Citation density varies. Most claims here trace to a specific primary source, but a handful of figures in section 5 (FinalSpark's stated efficiency multiple, DishBrain's neuron counts, anthrobot lifespans) come from secondary coverage rather than a peer-reviewed original, and are worth re-verifying before relying on them for anything that matters. The energy comparisons against Landauer's limit are especially sensitive to what counts as "one operation," as noted in that section.

Names worth searching for primary sources: Maturana and Varela (autopoiesis, 1972); Michael Levin (bioelectric intelligence, xenobots, anthrobots); Cortical Labs and FinalSpark (cultured-neuron computing); Evo 2 and the Arc Institute (AI-designed genomes); Sakana AI (Darwin Gödel Machine); DeepMind (AlphaEvolve); Manfred Eigen (error threshold); H. J. Muller (the ratchet); Kirschner and Gerhart (facilitated variation); Andreas Wagner (robustness and evolvability); Clune, Mouret and Lipson (connection cost, modularity, hierarchy); Morris, Lenski and Zinser (Black Queen Hypothesis); Press and Dyson (zero-determinant strategies); Hordijk and Steel (RAF sets); Nassim Taleb (antifragility, convexity, the Fourth Quadrant); Jack Clark and Daniel Kokotajlo (recursive self-improvement timelines); Yoshua Bengio (Scientist AI); Melanie Mitchell (AGI skepticism); Albert Sabin (oral polio vaccine attenuation and its reversion in the field); Leo Buss and Richard Grosberg (the unicellular bottleneck, germline sequestration, and the evolution of individuality); Susan Lindquist and Suzanne Rutherford (HSP90 as an evolutionary capacitor); Andreas Wagner and Joshua Payne (cryptic genetic variation and access to adaptive peaks); Thomas Seeley (honeybee house-hunting, stop signals and cross-inhibition); Bikhchandani and Hirshleifer (information cascades and social learning); John Maynard Smith (index signals); Henry Walter Bates and the frequency-dependence literature on mimicry; Martie Haselton (error management theory); Richard Dawkins and John Krebs (arms races and the life-dinner principle); George Price and David Sloan Wilson (multilevel selection, the Price equation, and Simpson's paradox in evolution); Hisashi Ohtsuki, Christoph Hauert, Erez Lieberman and Martin Nowak (evolutionary graph theory, b/c > k, amplifiers of selection); Athena Aktipis (the Walk Away rule and conditional dissociation); Ronald Noe and Peter Hammerstein (biological markets and partner choice); Hermann Haken (synergetics and the slaving principle); T. F. H. Allen and Thomas Starr (hierarchy theory); Marten Scheffer (critical slowing down and early warning signals), and the alternative-stable-states work on shallow lakes; Peter Ashwin and Sebastian Wieczorek (rate-induced tipping); C. S. Holling (engineering versus ecological resilience, panarchy, the adaptive cycle); Brian Walker and Steve Carpenter (latitude, resistance, precariousness); Jens Rasmussen (drift toward the safety boundary); Diane Vaughan (normalization of deviance); Geoffrey Rose (the prevention paradox); the press-versus-pulse perturbation literature in ecology; the control-theory work on persistent excitation and identifiability; Richard Levins (fitness sets, environmental grain, and the generalist-specialist criterion); G. E. Hutchinson (the paradox of the plankton); Peter Chesson (modern coexistence theory and the storage effect); Benjamin Kerr with Margaret Riley (the colicin rock-paper-scissors experiments and intransitive competition); Alan Turing with Gierer and Meinhardt (reaction-diffusion pattern formation and activator-inhibitor systems); Max Kleiber (allometric scaling of metabolic rate); Danny Ben-Zvi with Naama Barkai (expansion-repression and the scaling of morphogen gradients); Geoffrey West, James Brown and Brian Enquist (fractal distribution networks and metabolic scaling); Cecil D. Murray (the cube law for branching vessels); Sewall Wright with Michael Whitlock (the island model, F_ST, and its limits); Abraham Wald with Jacob Wolfowitz (sequential analysis and the optimality of the sequential probability ratio test); I. J. Good with Alan Turing, and Anne Chao (unseen-species estimation and sample coverage); and Charles Bogert with Martha Munoz, Raymond Huey, Paul Hertz and Barry Sinervo (the Bogert effect, behavioural inertia, and the null-model test of whether regulatory behaviour drives or constrains evolution), together with Munoz and Jonathan Losos on thermoregulation promoting and forestalling evolution at once; and Arlin Stoltzfus with Michael Gray, Julius Lukes, John Archibald, Patrick Keeling and Ford Doolittle (constructive neutral evolution, presuppression, and irremediable complexity), with Dave Speijer for the critical case against it; and William Wimsatt (generative entrenchment) with Rupert Riedl (burden, 1978), alongside the phylotranscriptomic hourglass work of Kalinka and of Domazet-Loso and Tautz; and W. Brian Arthur (increasing returns, nonlinear Polya processes, lock-in) with Paul David on path dependence, read against Stan Liebowitz and Stephen Margolis, whose re-examination of the QWERTY evidence is the necessary corrective; and Frank Geels (the multi-level perspective on sociotechnical transitions, niches, regimes and landscapes), read against Andrew King and Baljir Baatartogtokh, whose test of disruptive-innovation theory on its own 77 cases is the calibration the field needed; and Hyman Minsky (the financial instability hypothesis, and the slide from hedge to speculative to Ponzi finance) with Sam Peltzman and Gerald Wilde on risk compensation, whose weak form survives and whose strong form does not; and Karl Weick with Kathleen Sutcliffe (high reliability organising and the five principles), read against Charles Perrow on normal accidents and Fred Manuele on why Heinrich's safety pyramid does not hold up; and the Columbia Accident Investigation Board report, whose chapter on history as a cause is the best documented case of an organisation dismantling a safeguard it had written for itself; and the NIOSH hierarchy of controls, together with the Commercial Aviation Safety Team and the Flight Safety Foundation record of what EGPWS and TCAS actually bought; and Lisanne Bainbridge, whose 1983 Ironies of Automation is still the sharpest statement of what automating the easy part does to whoever handles the rest; and the measured literature that followed her, particularly Mica Endsley on out-of-the-loop performance, Linda Onnasch with Christopher Wickens on the lumberjack effect, and Raja Parasuraman with Dietrich Manzey on complacency and automation bias; and Nadine Sarter with David Woods on mode error and automation surprises, alongside the airline literature on automation dependency and mandated manual flying; and W. Edwards Deming with Walter Shewhart on statistical process control, the common-cause and special-cause distinction, and the funnel experiment that demonstrates the cost of tampering; and D. Sculley and colleagues on hidden technical debt in machine learning systems, the CACE principle, undeclared consumers and correction cascades, alongside the practitioner literature on model monitoring under delayed ground truth; and Norm Hardy's 1988 confused deputy paper with Mark Miller's capability work, read against the current agent-tooling security literature on tool poisoning, token passthrough and Simon Willison's lethal trifecta; and the CaMeL system from Google DeepMind, which is the first defence in this area to publish both its guarantee and its price; and the cloud identity literature on permission creep, including Unit 42's measurement of the least-privilege gap and the tooling that generates policy from logged access; and the formal-methods literature on vacuity in temporal model checking, from Beer, Ben-David, Eisner and Rodeh, read alongside the AWS account of using TLA+ on production systems; and the Principles of Chaos Engineering together with the CardinalOps measurements of detection coverage and broken rules in production security monitoring; and Cynthia Dwork with Vitaly Feldman, Moritz Hardt, Toniann Pitassi, Omer Reingold and Aaron Roth on the reusable holdout, which turns Goodhart's law into a budget; and Marcel Boehme with Brandon Falk on the exponential cost of vulnerability discovery, alongside the property-based testing tradition that has shipped vacuity checks since 2000; and Nancy Leveson with John Thomas on systems-theoretic process analysis, whose four unsafe-control-action types turn hazard discovery into a finite enumeration; and Wil van der Aalst on process mining and conformance checking, whose fitness and precision measures name the two directions in which a model can disagree with reality; and Rudolf Kalman on controllability, observability and the duality between them, which turns out to underlie both; and Robert Hermann with Arthur Krener on nonlinear observability, whose local rank condition and input-dependence correct the linear picture in three places; and Hector Sussmann on single-input observability, whose genericity result answers the question and then declines to cover the case it was invoked for; and Meera Sampath with Stephane Lafortune and colleagues on diagnosability of discrete-event systems, which turned out to be the formalism that actually fits; and the opacity-enforcement literature on insertion and edit functions, which changes what an observer sees without changing what the system does; and the complexity literature on opacity verification, which shows that the dual of a polynomial question can be PSPACE-complete; and Michael Clarkson with Fred Schneider on hyperproperties, whose k-safety classification turns out to underlie the three preceding sections; and Armin Biere with Alessandro Cimatti, Edmund Clarke, Ofer Strichman and Yunshan Zhu on bounded model checking, together with Daniel Kroening and Joel Ouaknine on completeness thresholds, whose distinction between the reachability diameter and the recurrence diameter says how far a bounded search must go before finding nothing means anything; and Alan Perelson with George Oster (shape space and minimal antibody repertoire size, 1979), Andrew Sewell and David Mason (the counting argument for obligatory T cell cross-reactivity), and the thymic negative-selection literature on AIRE, promiscuous gene expression and APECED, which together give the one worked example in this essay of a living system computing its own coverage bound and paying the exact dual price for it; and Jorg Calis with Rob de Boer and Can Kesmir on degenerate recognition and the holes it opens in the T cell repertoire, which supplies the correction to that same example one section later; and Yuka Kawashima with Philip Goulder and colleagues (population-level adaptation of HIV-1 to HLA class I), read alongside the balancing-selection literature on MHC polymorphism, heterozygote advantage and divergent allele advantage, which together show an adversary tracking the frequency of its defenders' configurations; and Anne Rist with Silvia Kessler and colleagues on HLA class I allele promiscuity, John Sidney with Bjoern Peters and Alessandro Sette on the supertype classification, and Diego Chowell with colleagues on HLA evolutionary divergence and immunotherapy outcomes, which together supply the measured overlap the preceding section could only guess at, and the human comparison in which the number of detection channels is held fixed and only their divergence varies; and Aurelien Tellier with James Brown on the stability of genetic polymorphism in host-parasite interactions, whose separation of direct from indirect frequency-dependent selection, and whose finding that a parasite needs more than one generation per host generation before a stable mixture can exist at all, supply the result that costs alone locate an equilibrium without ever making it an attractor; and the discrete-time game theory literature on replicator maps, whose result that models sharing one continuous limit can differ drastically once written round by round supplies the correction that the neutral case is an artefact of the smooth limit; and the min-max optimisation literature, particularly Andre Wibisono with Molei Tao and Georgios Piliouras on alternating mirror descent, whose finding that the simultaneous scheme is known to diverge while alternating trajectories stay in a bounded orbit is the same stability result reached from optimisation rather than from population genetics; and the multi-agent delay literature, whose critical-delay threshold and whose finding that the destabilising ingredient is reactivity to delayed signals rather than learning itself supply the reconciliation between a threshold and a proportional cost; and the dual-control tradition in control theory, including Witsenhausen's counterexample and the recent model-predictive work on the dual-certainty-equivalence gap, which names the activity this thread was missing: a controller that deliberately acts to stay able to learn; and the target-tracking filter literature, whose account of lag bias under target manoeuvre and whose optimal-gain scaling supply the classical law that the right responsiveness follows the drift-to-noise ratio to the two-thirds power; and Niles Eldredge with Stephen Jay Gould on punctuated equilibrium, whose picture of long stasis broken by brief rapid episodes places real adversaries at the highest-volatility corner of the family, the one an average-rate measurement systematically misses; and the heavy-tail estimation literature, whose result that a power-law tail index at or below two makes the variance infinite, and whose median- and quantile-based estimators converge where a sample variance never does, supply the robust replacement for the moment-based laws two sections had been building; and the single big jump principle from the heavy-tail literature, whose result that the largest single step and the whole sum share the same tail behaviour, together with the decreasing failure rate that characterises the class, supplies both the mechanism behind the falling hazard and the positive justification for summarising an adversary by its largest shift; and the catastrophe-versus-conspiracy framing from the subexponential literature, whose contrast between a total made large by one enormous contributor and one made large by many ordinary ones names the two regimes this thread had been treating as a single switch; and the 2026 causal-agent-replay work on attributing failures in AI agent systems, whose method of intervening on one step and re-executing under the same randomness, together with its point-of-commitment rule and coalition-averaged credit, is the interventional test that a summary ratio cannot substitute for.

This is a living essay. It gets revised as the underlying research continues.

Share this post: