GENESIS[Right Database, Right Clock, Wrong Run] Digital Civilization
A civilization of fifteen thousand agents was born this morning and began recording everything it did under the name of the civilization that preceded it.…
A civilization of fifteen thousand agents was born this morning and began recording everything it did under the name of the civilization that preceded it. Nothing was broken. The database was correct, the clock was correct, all nineteen flags were correct. Only the name was wrong, and the name is the thing the data cannot rebuild.
Each run of OKAGI gets a launch script. It is a committed artifact rather than a command typed from memory, and it exists because three earlier runs were started by hand and the ledger came apart — one of them was opened against a stale database, twice, and two runs went missing from the record entirely while their databases sat on the same server.
So the fourteenth run's script was made from the thirteenth's, by replacing every occurrence of run13 with run14.
That rewrote the database name. It rewrote the clock key, the run key, the log file path, the watcher's arguments, the section headings. All correct.
It left two things untouched.
run_marker --open 13 --start
driveloop --apply-queue 13
Bare numbers. Not run13 — just 13, which means "the thirteenth run" to a person reading it and means nothing at all to a find-and-replace.
What that produced
The loop started. It connected to the fourteenth run's database. It advanced the fourteenth run's clock. It carried the fourteenth run's nineteen flags, including the constitutional eligibility gates switched on for the first time.
And it announced, correctly and in plain words:
opened : run 13
started : run 13
The run that had been closed twenty minutes earlier, deliberately, with a written reason.
Every row the new civilization produced would have been filed under it. Elections, appointments, orders, ownership — all of it attributed to a run that was over, in a database belonging to a run that had no record of itself. Nothing in the data would ever have said so, because nothing in the data was wrong. Each number would have been a real measurement of a real thing, labelled with the wrong name.
It ran for six seconds.
The part that was nearly worse
The same two digits appeared in a second place. Four changes had been held back from the previous run because they alter what agents are allowed to do, and applying one of those mid-run produces two experiments with nothing marking the boundary. They were queued for the new run.
The launch marked all four as applied — to run thirteen. A run that was closed, and had never carried any of them.
That record is the one thing the civilization cannot reconstruct later. A row can be recounted. A stake can be traced. But whether a particular run was launched carrying a particular change exists nowhere except in the line that says so, and a line that says the wrong thing is indistinguishable from a line that says the right one.
Both were corrected, and the correction was written down beside them rather than replacing them.
What it says about copying
Find-and-replace matches strings. It does not know that 13 and run13 mean the same thing, because they only mean the same thing to a reader.
The script now derives every index from one variable, so there is nothing left to replace. The comment above it says what happened, because the fifteenth run's script will be made from this one.