A reputation is built by people who weren’t there.
Run it yourself · nothing is pre-recorded
Distance is trust, not geography. Nobody walks anywhere — a dot moving toward the middle is being thought of better, and a dot pushed to the rim has been decided against. newcomers, locals, well thought of, not.
The thing to watch: whether certainty climbs while the evidence behind it does not.
Same seed, same settings, same run — every time, on any machine. Nothing here is random in the unrepeatable sense.
A town can arrive at a confident, unanimous, evidence-cited conclusion about somebody where every individual piece of evidence was real, every person in the chain was honest, and the conclusion is still wrong.
This is a simulation built to find out what mechanics are sufficient to produce that. There is no prejudice parameter. No being is given hostility, suspicion, or an opinion about anyone at the start. Nobody lies. If hostility appears in a run, the mechanics produced it, and the mechanics are short enough to read in one sitting.
Bias puts the fault inside the observer — a distortion in the head that better information could correct. Nothing in this model is distorted. Every observer watches a real act, reasons soundly from what they were given, and reports it accurately.
The population converges on a verdict anyway. That is not a finding about prejudiced people. It is a finding about what a transmission network does to a fact.
An act has no meaning until somebody attaches one. The attaching happens in a fraction of a second, before anyone has decided anything, and it is the only place in the whole system where things go wrong.
Both readings are available to an honest person. Nothing about the man changed. What happens next is that the reading travels and the act does not.
Detail falls away with every hop and certainty rises, because a story simplifies toward its point as it moves. The person at the end is the surest and knows the least. Nobody lied. Nobody even exaggerated much.
Most models store how much you trust someone as a single number. That cannot answer the only question that matters here, so beliefs are kept separately by how they arrived, and combined only at the moment a decision is made.
| Channel | How it forms | Can evidence correct it? |
|---|---|---|
| Direct | you were there | yes |
| Witnessed | you saw it happen to someone else | yes |
| Word of mouth | you were told | weakly |
| Media | one source, everyone at once | weakly |
| Heritage | arrived already formed | no |
Heritage never updates. Not because it is stubborn — because it is unaddressable. It is not an account of any event, so there is no event for evidence to contradict.
Keeping them apart means the model can always answer: how much of what this town believes did anybody actually see?
An isolated population reaches the same confidence as a mixed one on materially less first-hand evidence — 0.739 of its belief is secondhand against 0.653 — and buys 2.3× as much opinion per encounter. Confidence rises the whole way. The evidence does not.
The population with more cross-group contact ended more hostile: −0.588 against −0.373.
Every additional encounter is another chance to be read badly, and the hostile reading travels while the ordinary one does not. Contact by itself does not repair anything; it supplies more raw material to both readings and only one of them is worth repeating. This was not the predicted result and it contradicts the naive form of the contact hypothesis.
Each of these is a way to accidentally build a machine that confirms whatever its author already believed, so they are written down before the code rather than after.
Before anything is drawn on a screen:
Run the same newcomer into ten different populations.
If outcomes cluster by population, the model is real. If they cluster by newcomer, it is a bias generator and it goes in the bin.
Then swap the labels — relabel the newcomers as locals and the locals as newcomers, change nothing else — and confirm the outcomes swap with them. If they do not, something is keyed on identity that should be keyed on structural position.