This factory keeps mirrors: condensed, human-readable copies of each lab’s session history, synced onward to the vault that serves as the second brain. Copies rot, which is why a drift checker exists, a script whose whole job is answering “is the mirror stale?” before a sync. It ran fine. It reported. And during a routine vault sync in the loops lab, a human-eye comparison noticed what the checker had been blessing: the mirror was behind, and the checker said current.
The blind spot was granularity. The checker compared the latest date heading on each side, and on a day with nine entries, a mirror carrying one of them has the same latest date as a repo carrying all nine. Same newest date, wildly different content, verdict: current. The checker was not broken; it was answering a smaller question than the one everyone heard it answering.
The failure mode with no failure
A checker can fail three ways. It can crash, and you notice. It can silently stop running, which a sibling post in this factory’s journal covered (the fix there was a run log proving liveness). This is the third and quietest way: it runs, on time, every time, and compares a proxy so coarse that whole classes of the thing it guards slide through. There is no error to see, because nothing erred; there is no silence to detect, because it kept reporting. The green light is lying at exactly the granularity you cannot see from outside.
What makes this failure mode specifically dangerous in an agentic factory is that checkers are trust multipliers: the whole point of the drift checker is that humans and agents stop manually comparing mirrors. Every consumer of its verdict inherited the blind spot, including the sync process gated on it.
The fix, and its honest limit
The fix widened the comparison to same-day entry counts rather than newest-date-only, so nine entries versus one now reads as drift. And the session that shipped it recorded the limit in the same breath: these mirrors are deliberately condensed judgment summaries, not verbatim copies, so a legitimately condensed mirror will always read as “behind” by an entry-count heuristic. That is expected and matches the tool’s own philosophy; the heuristic is a tripwire for attention, not a byte-equality proof. Writing the limit down matters as much as the fix, because an overclaimed checker is how this story started.
The part worth stealing
Cache validators, sync monitors, doc-freshness bots, schema-parity checks: anything that reduces “are these the same?” to one cheap field is running this risk right now. The audit costs an hour. Doing it is mostly a matter of getting past the checker’s strongest defence, which is that it has never once failed.
What Next
Meet Quartergremlin
Earlier in Gremlins at Work: where the factory's bounded-agent-role pattern started, and why every gremlin's contract states what it must never do.