When a fast check hid what changed
We added two animals to the world, and the change reached deeper than anyone expected. To find out exactly how deep, we asked a fast check, and it gave us a small, reassuring answer. It was wrong on two separate counts — and the gap between what it reported and what had actually moved is the most useful thing we learned that week.
The Long Watch is built to be perfectly reproducible: given the same starting conditions, the world unfolds identically every single time — why that matters, and how we hold it, is a story of its own. Standing watch over the promise is a set of internal fingerprints: each one a stable signature of a single slice of the simulation — where things get placed, how creatures move, who eats whom, who is born, who dies. If the math beneath a slice changes, its fingerprint shifts, and we know to go look.
This means an intentional change — like adding creatures — is supposed to move some fingerprints. That’s expected, and fine. The work isn’t to keep them frozen; it’s to know exactly which ones moved, so each can be deliberately re-confirmed and recorded. Get that inventory wrong and you’ve either re-confirmed a change you didn’t understand, or missed one entirely.
Two tiers, because the full check is slow
Running every fingerprint is slow. The ecology ones each step the simulation hundreds of times, so a complete pass takes the better part of a quarter of an hour. That’s far too long to sit through after every small edit, so we split the checks into two tiers. There’s a fast tier that finishes in a few seconds by deliberately skipping the heaviest fingerprints, and a full run that exercises everything. The fast tier keeps the edit-and-check rhythm quick. The full run is the one that actually decides whether the world still behaves identically.
The split is sound. The mistake was letting the fast tier answer a question it was never built to answer.

The reassuring, wrong answer
The change that set this off was a roster addition: two new predators — a fox and a raptor — joining the cast, the same expansion whose balance we chased across a hundred parallel worlds. Adding creatures shifts the random draws that seed the whole simulation, so we knew some fingerprints would move. We ran the fast check to see which.
It reported that only a couple of fingerprints had shifted — and, crucially, that the life-and-death ones had held. That was the comforting read: a broad-looking change had turned out to touch very little. It was also false, in two independent ways.
The first way is the one the fast tier is built around. To stay quick, it skips the heaviest fingerprints — and the fingerprints for movement, foraging, predation, birth, and death are all heavy. So a whole tier of changes wasn’t reported as holding steady. It simply wasn’t looked at. “The life-and-death ones held” really meant “the life-and-death ones were never measured.”
The second way was subtler. Several of the fingerprint checks live together in one place, run one after another. When one of them fails early, the run stops right there and never reaches the checks that come after it. So a real change, sitting behind that first failure, was masked — not skipped for being heavy, but never reached at all, hidden in the shadow of the failure ahead of it.
A fast check, by design, does not look at everything. So a clean-looking result from it can mean “nothing changed” or it can mean “I didn’t check.” The two are indistinguishable from the outside.
Four times what the quick look claimed
When we ran the complete pass — every fingerprint, heavy ones included — the true count came in at four times what the fast check had reported. The small, tidy answer of a couple had been hiding a far broader shift: a whole family of fingerprints, moving together. Each of them we then re-recorded and confirmed identical across three separate runs in three separate processes, because a fingerprint that won’t reproduce isn’t a value to lock in — it’s a bug.
There was one more trap waiting in the diagnosis. Alongside the two new predators we’d also switched on a crowding pressure — the feedback that finally let populations settle instead of running away. It would have been easy, and wrong, to blame the broad fingerprint shift on that new pressure. But crowding only bites over long stretches, and these checks run on short windows where it never takes hold; it was dormant in every scenario that moved. The entire shift traced to one cause: the cast had changed. We made ourselves attribute the drift to its real source rather than the most convenient suspect.
The rule we wrote down
The honest version of this story is that we’d met the shape of it before. Earlier in the same stretch of work, a headline check turned out to be filed in a way that meant it ran in no mode at all while every run came back green — the same lesson wearing a different disguise. So when the fast check under-reported here, we didn’t reach for “be more careful next time.” We reached for a guard.
The rule is simple to state: the fast tier is not the thing that decides what changed. When you add or remove anything from the roster, you enumerate the full set of affected fingerprints up front — treating any short, named list as a floor and never a ceiling — and you measure the drift against the complete run, not the fast one. And because a failing check can hide the next one behind it, you re-run after each fix, so the masked change surfaces instead of waiting for a future surprise.
The fix bought more than a corrected count. It let us re-confirm the whole expanded world on solid ground: four species — a great many prey at the base, fewer of the middle tier, fewer still of the small predator, and only a handful of the one at the top — all present, none extinct, the whole thing provably reproducible again. Predators stay rare by design, and now the fingerprints that prove it are measured against the run that actually looks.
The deeper takeaway is one we keep relearning in different forms: re-verify against the live state, not against an earlier report. A prior answer is a memory the moment it’s spoken, and the fast check is the most seductive memory of all — quick, confident, and looking at less than you think. The complete run is slower and far less convenient. It is also the only one that told us the truth.



