The gold sphere at the centre is the original sighting. Witness 0's node inherits it directly with only slight perceptual noise; every other witness starts grey — they haven't heard the account yet.
A "signal" — a small glowing particle carrying the current colour of the testimony — travels along the graph's edges from teller to listener. Each hop it has a chance, set by the contamination probability, of mutating: its hue rotates and it desaturates slightly, exactly the kind of detail substitution Elizabeth Loftus's misinformation-effect experiments documented — a suggested or misremembered detail can overwrite the original memory trace, not just add noise beside it. When the signal reaches a node, that witness's remembered colour shifts toward whatever the signal now carries.
With cross-talk on, extra signals also travel between random pairs of witnesses who have already heard the account — not just down the retelling chain — so a mutation introduced anywhere can spread sideways into the group instead of staying isolated to one lineage.
fidelity(node) = 1 − colourDistance(node.color, truth.color)
on each hop: if rand() < contamination: hue += drift, saturation *= (1 − k)
- Witnesses — nodes in the social graph; the base retelling ring connects witness i to witness i+1.
- Retelling rate — how often new signals are emitted along the chain.
- Contamination probability — chance a travelling signal mutates on a given hop; this is what erodes fidelity over generations.
- Cross-talk — adds signals between random already-informed witness pairs, letting drift jump across the network instead of only downstream.
Real-world relevance: this is why cross-contamination between witnesses (comparing notes, shared media exposure) is treated as a serious threat to evidentiary value — accuracy decays fastest exactly where accounts are allowed to mix.