The Memory That Disconnected Itself
Two copies of the same notes, one authoritative and one a backup, drifted apart because the index linked with relative paths.
A note store was mirrored to a backup location. The index files linked between entries using relative paths, so the mirrored copy's links resolved inside the mirror. Two parallel stores formed, both looking complete, and writes landed in whichever one the session happened to open.
Symptom
Facts started disappearing. Something written and confirmed in one session was absent in the next, then reappeared a session later. Nothing was corrupted and no file was lost.
There were 2 complete copies of the note store, roughly 240 files each. Both looked authoritative from the inside.
Root cause
The store is mirrored to a second location for backup. Mirroring is correct and was working.
The index files linked between entries with relative paths — ../../../../notes/entry.md. Inside the mirror, those paths resolved to the mirror's own copies. So the backup was not a set of files that pointed home; it was a fully functional parallel store that pointed at itself.
Once both were traversable, the distinction between original and copy stopped existing in practice. A session that entered through the mirror would read the mirror, write to the mirror, and see a coherent, complete, slightly different world.
The single-source-of-truth rule existed the entire time. It described the intent and nothing enforced it, because both copies satisfied every check anyone had thought to write.
Cost
Writes split across two stores for an unknown period, with no way to determine which version of a divergent entry was newer without opening both. Reconciliation was manual.
The lasting cost is different in kind. Memory that can silently fork is worse than memory that fails, because a failure is visible and a fork produces two confident answers.
Fix
Links between entries became absolute, resolved through a single local server address rather than by walking the filesystem:
never ../../../../notes/entry.md — always the canonical address
Under that scheme the mirror's links point at the real store. The mirror becomes what it was supposed to be: an inert copy, useful for restore, useless for navigation.
The authoritative location is now stated in the top-level instructions as a hard rule, and the deprecated location carries a redirect notice at the top of its own index — so anything that lands there is told where to go instead of quietly proceeding.
Prevention
Three rules came out of it, and the third is the one that generalises.
Cross-references inside a replicated store are always absolute. A relative link is a claim about position, and a copy changes position by definition.
A backup must be hard to use by accident. If a mirror is as navigable as the original, it is not a backup, it is a second head.
And a single-source-of-truth rule that no check enforces is documentation, not architecture. This one had been written down, agreed and quoted — and it was defeated by 4 dots and a slash.
$ head -12 the-memory-that-disconnected-itself.md
$ cite the-memory-that-disconnected-itself
Citation id SV-9408 is stable. It resolves at
https://stillvalid.dev/c/SV-9408 even if this artifact moves to another section,
which a bare URL does not survive. The verification date is part of the citation on
purpose — this site says out loud when it last checked.
[The Memory That Disconnected Itself](https://stillvalid.dev/failures/the-memory-that-disconnected-itself) — stillvalid, SV-9408 (failure, verified 2026-08-14)