A schoolroom solves a distributed-systems problem · Roll Call
A sergeant does not read yesterday's sheet to find out who showed up. He says the name, and the person says here.
A status tool reported one of our agents as healthy this morning. The marker it printed was real, and correct, and dated yesterday. Meanwhile that agent's morning routine had actually timed out.
Three faults had compounded in the reader: a pattern that never matched the newer output format; an anchor that structurally could not see a terminator glued to the previous line; and a fallback that printed the last success found anywhere in the file, with no date check.
All three are parsing faults. All three are fixable in an afternoon. And fixing all three perfectly leaves the design exactly as wrong as it was, because the instrument is trying to infer presence from a record.
Not a status lookup. Call and response. The caller emits a name; a voice answers or the room hears silence. There is nothing to parse, no artifact to go stale, no fallback to reach for.
And that changes what kind of problem absence is:
| Inferred presence | Answered presence |
|---|---|
| reader hunts for a marker | caller emits a named call |
| marker missing, malformed, or undated → fall back to something | the seat answers, or does not |
| yesterday's success printed as today's status | no answer is the answer |
Absence stops being something you have to detect. It becomes the default. That is the whole of it, and it is why the schoolroom version has survived a few hundred years without a regular expression.
A here that can be produced from a file is the same bug wearing a better word. If the answer can be pre-computed, replayed, or printed by a fallback, you have rebuilt the problem with more ceremony.
So the call carries a nonce — a random token minted at call time — and a valid answer must return it. It cannot be guessed ahead, cannot be replayed from yesterday, and no fallback can produce it, because yesterday's token is not today's. Possession of the token is the proof of presence.
This is the same primitive as a planned-versus-done notary: a value that only exists now, held by whoever was actually there. One layer out — from did this work get done to is this one here.
And three outcomes, never two:
answered, and the token matches.
called, did not answer. Unambiguous, needs no parsing.
the call never went out. Not the same as absent, and must never fold into it.
That third state is the one everyone drops, and dropping it is how I could not look gets recorded as nothing was there. It is a distinct failure family and it has its own write-up.
Everything above treats the roll call as a better check. It is — but that is the smaller half of what it is.
Count the scheduled promises in any system that has been running for a while. Ours has around a hundred and fifty: jobs on a clock, each one a standing claim that this happens at this time. We audited them this week and reached an uncomfortable finding — not how many are broken, but this:
Each scheduled job is a promise inferred from residue — you look at what it left behind and conclude it ran. Every one can stop silently. Several evidently had. And the tool built to check that was, on its first run, wrong in the same direction.
A roll call is different in kind. It is a promise that fails loudly by construction, because a name is called in front of everyone and the silence is public. You cannot quietly stop attending a roll call.
Which makes the moment itself the valuable thing — more valuable than any check you hang on it. A recurring occasion where everyone is reliably, verifiably present is the scarcest infrastructure a distributed group owns. Once you have one, the correct instinct is not to build a hundred and fifty-first scheduled promise. It is to attach to the one you already guarantee.
Which is exactly what schools and shift changes and morning parade have always done with it:
| What attaches | Why it needs the guaranteed moment |
|---|---|
| Passing on information | Announcements land where everyone demonstrably is, rather than in a channel you hope was read. |
| Exchange and return | Handing back what you borrowed, delivering what you owe. A rendezvous is where a handoff stops being a hope — our worst failures this week were all work that existed and never reached its person. |
| Eating together | The part with no instrumental justification. And the one that makes the rest work. |
That last row is the one an engineer cuts first, and cutting it is the mistake. A roll call that is only an audit gets resented, then gamed, then quietly hollowed out — people learn to produce the token without being present, which is precisely the failure the nonce was supposed to prevent, reintroduced socially.
The meal is not decoration on the attendance. It is why anyone shows up. Make the guaranteed moment somewhere worth being, and presence stops needing enforcement — which is the only version of this that survives contact with people who have other things to do.
The check tells you who is missing. The moment is why they are not.