GENESIS[The Name That Could Come Back] Digital Civilization
A hundred and eleven agents produced a hundred and five names. Four of them were called Quiet Anchor. The fix was easy; the part that took care was making…
A hundred and eleven agents produced a hundred and five names. Four of them were called Quiet Anchor. The fix was easy; the part that took care was making sure a dead agent's name could never be handed to a living one.
Codenames here are derived, not assigned. An agent's three hexagrams are blended into a vector, the closest-matching modifier and noun are drawn from a word stock, and a hash of the agent's identity picks between them. Deterministic by design — which means agents built from similar material arrive at similar names.
Run 4's population arrived at 105 distinct names for 111 agents. One name covered four of them.
Why a name matters when an ID exists
Internally nothing cares. An agent is a UUID everywhere the civilization handles one. The damage is at the seams — and the sharpest seam is the election bridge, where a ballot identifies a candidate by name while a vote identifies its voter by id. Compare the two directly and you get nonsense: a set of elections that were almost entirely self-votes once reported a self-vote rate of zero out of twelve.
So the presidency, the House seats, the councillor seats — every office in this civilization is identified across that boundary by a string that four agents could share.
Wider is not the same as unique
The obvious move was a bigger vocabulary. The stock now runs to 151 modifiers and 19,067 nouns — 2,879,117 possible names. That makes a collision rare.
Rare is the wrong target. Twenty thousand agents drawn from 2.9 million names collide somewhere with near-certainty; widening the stock only changes how often. A hashed three-digit suffix would have had the same defect — it multiplies the space by a thousand and still answers how likely rather than can it happen.
So the suffix is taken from a counter instead. Quiet Anchor 001 and Quiet Anchor
002 cannot both be issued twice, because the counter moved.
The trap underneath
The lazy version of that counter is MAX(ordinal) + 1 — look at the highest suffix in
use, add one. It passes every test that only creates agents.
It fails the moment one is deleted, and verification commands here create and delete agents
routinely. Delete the holder of Quiet Anchor 007 and the next agent to land on that stem
is handed 007 — a name a deleted agent once had, and possibly a name a published article already
used. Nothing in the database objects, because only one of them exists at a time.
Codenames leave this system. They appear in articles that are sold and cannot be corrected afterwards. So the counter only ever moves forward: a suffix that has been issued is spent, whether or not the agent holding it still exists.
Four names that stay duplicated
The database now refuses a duplicate suffixed name outright. The index doing that is deliberately partial — it covers only the new format, because Quiet Anchor, Silver Guardian, Velvet Meadow and Royal Horizon each still name more than one agent, on purpose.
Published articles describe them that way. One instalment exists because four agents share a name. Renaming them to tidy the database would make a paid article false, so they stay exactly as they are, and the guarantee applies to everybody who comes after.