A small population of agents starts with no shared words, no stories, no rules. Watch a vocabulary, a drifting myth, and a taboo assemble themselves out of nothing but who talks to whom — and who gets copied. The selection pressure here isn't a fitness function. It's social transmission.
A simulation with no metrics produces anecdotes, not results. Every mechanism here ships with the measure that detects whether it is doing anything. Charts update as the run advances.
A single run is an anecdote. This sweeps the current configuration across many seeds — running each headlessly to a fixed horizon — and shows the spread of outcomes. Change a control, re-sweep, and watch the distribution move. This is the honesty check section 04 asks for, built in.
The metrics above are summaries. Here is the actual state the agents hold — the competing words, the drifted story, the spreading prohibition — read straight from the population.
Highlighted motifs differ from the origin. Drift accumulates through omission, embellishment, substitution and recombination on each retelling.
This artifact is built to be measured, not narrated. The honesty guardrails below are part of the deliverable, not a disclaimer bolted on.
This reuses evolving-population machinery — variation, copying, differential propagation — but the objective fitness function is replaced by social transmission: a trait spreads because it is imitated, trusted, or enforced.
Depending on parameters, the same engine can land in very different regimes. None of these is a bug:
The mechanics draw on real research traditions, but I am not citing specific papers I cannot verify from memory, and you should confirm primaries before quoting them:
Every stochastic choice is drawn from a single seeded PRNG (mulberry32) threaded through
the run, so seed + parameters reproduce a trajectory exactly (verified bit-identical in testing).