bitrot — the slow corruption of stored data by nothing in particular
bitrot [--scrub] [--ecc] [--wait] SPECIMEN integrity(t) = integrity(0) · e^(-λt), λ > 0, always
bitrot names the failure mode of a file that is not being used. No process wrote to it. No user opened it. It sat on the medium and the medium forgot, one cell at a time. The daemon does not cause the rot; it only reports it, which is the most anyone has ever managed.
There is no idle state. A stored bit is a charge held against physics, and physics collects. Invoked with no flags, bitrot leaves the specimen exactly as found and returns the amount by which "exactly as found" has already drifted. The number is never zero for long.
SCRUB and ECC are the only levers, and both are treatments rather than cures. The daemon offers no --safe flag because there is no safe, only --watched. It runs on a schedule until the schedule stops, at which point the specimen resumes rotting unobserved and the count simply stops being taken.
Rot descends from Old English rotian, \"to decay,\" a verb applied for a thousand years only to things that had once been alive. The compound \"bit rot\" appears in hacker slang by the 1980s, recorded in the Jargon File alongside \"software rot,\" originally the wry claim that unused programs decay on their own. The physical cause was pinned earlier: in 1979 Timothy May and Murray Woods of Intel traced random single-bit DRAM errors to alpha particles emitted by trace uranium and thorium in the chips' own ceramic packaging. Error-correcting memory and end-to-end block checksums followed, which is to say the industry conceded that storage is not a place you leave things but a fire you keep feeding.
--scrub reports success. Success is defined as "the rot has been reset to zero, briefly," not "the rot has stopped." Users conflate the two. WONTFIX; the definition is correct.
The integrity meter can read 100% and be wrong: a flip that lands and its checksum both corrupted in the same pass agree perfectly. Undetectable by design. Filed under the universe.
There is no --safe. Multiple requests. The state does not exist.
tombstone(5), quiescence(1), idempotent(3). The living exhibit demonstrates the word in motion:
▸ operate bitrot