Agent-based dashboard: how a deepfake spreads through a school network, and where a limited education budget actually helps. Illustrative, not validated.
Find a file
Justin Visser e73db0bdd4 refactor engine: decompose Holme-Kim into builder methods
The generator's working state (graph, attachment pool, rng) moves into
a holmeKimBuilder struct so each algorithm step is a small named
method: attachNewNode, link, pickMutualFriend, degreeProportionalSample.
Max nesting drops from five levels to two. The RNG call order is
untouched, and the golden test (99/70/7 reached) plus the fixed-seed
determinism test prove behaviour is bit-for-bit identical.
Go bits: pointer receivers ((b *holmeKimBuilder)) let methods mutate
the builder; (value, ok) multiple returns are the idiom for 'may not
exist', as in pickMutualFriend.
2026-06-10 12:37:57 +02:00
cmd/spreadlab engine: Config, scenario runner, golden regression tests; demo CLI 2026-06-10 12:24:47 +02:00
internal/engine refactor engine: decompose Holme-Kim into builder methods 2026-06-10 12:37:57 +02:00
.gitignore batman 2026-06-10 11:57:10 +02:00
go.mod batman 2026-06-10 11:57:10 +02:00
LICENSE batman 2026-06-10 11:57:10 +02:00
README.md batman 2026-06-10 11:57:10 +02:00

spreadlab

Self-hosted dashboard that runs an agent-based deepfake-spread model live: change the levers, watch the spread, and (later) search for the best intervention under a budget. Output is illustrative, not validated.

Status: milestone 1, porting the simulation engine.

Layout:

  • internal/engine/ - the pure simulation engine (no web dependencies)
  • cmd/spreadlab/ - the server binary (milestone 2)
  • web/ - Vue 3 + TypeScript frontend (milestone 2+)

MIT licensed.