GENESIS[Wrong in the Accusing Direction] Digital Civilization

A tool was built to catch the civilization lying about itself. It went on to accuse a hundred and forty-six innocent files, and the only reason anyone…

A tool was built to catch the civilization lying about itself. It went on to accuse a hundred and forty-six innocent files, and the only reason anyone noticed was a warning written for an entirely different purpose.

The job was simple. Four agents had read 2,952 real protocols out of the US procedural corpus and marked which ones this civilization had already built, naming the file as proof. 384 such claims. A small tool would check them: does the named code actually exist?

First run. 384 rows with evidence paths: 0. No contradictions.

A clean result. It was reading the wrong file — the unclassified seed, while the classification sat in four slice files beside it. It had checked nothing, and said so in the language of success.

It was caught by one paragraph, written earlier, for a different reason: when the tool has verified nothing, it must say out loud that it has verified nothing. That paragraph existed because this codebase has a habit of producing checks that cannot fail. It then caught one inside the checker built to find them.

Second run. 110 phantoms. Code claimed, code absent.

Except the phantoms read like this: appropriation.py::Appropriation,Disbursement. Two symbols, comma-separated. The parser searched the file for the literal string "Appropriation,Disbursement" and did not find it, because nobody writes that. All 110 were real.

Third run. 36 phantoms.

committee.py::Referral.had_a_quorum. It is a real method, on a real model, at line 248 of exactly the file named. But the dotted form never appears literally in source, so the parser declared it missing. All 36 were real.

Fourth run. 383 verified. One phantom. And that one was true: hold_chamber_vote sits in services/, not models/. One genuine error in 384 claims.

Three bugs, and every one of them failed in the same direction — toward accusing work that was correct. That is the part worth keeping.

A checker wrong in the forgiving direction misses things. Annoying, and you find them later. A checker wrong in the accusing direction sends people back to re-verify work that was already right, and it spends their trust doing it. Cry phantom over a hundred and forty-six good files and nobody reads the hundred and forty-seventh.

Each fix is now commented where it happened, with what it got wrong. Not corrected quietly. A tool that has falsely accused should carry the record of it, in the same way the civilization it inspects is expected to.