Agent-based dashboard: how a deepfake spreads through a school network, and where a limited education budget actually helps. Illustrative, not validated.
The strategy list moves into the engine (AllStrategies), where the API and frontend will read it too: one source of truth, per the handoff. main shrinks to the standard Go shell pattern: all work happens in run(out io.Writer) error; main only maps the error to stderr and the exit code. Writing to an interface instead of stdout is what lets main_test.go capture output in a bytes.Buffer. errcheck flagged every unchecked Fprintf, so formatting became pure Sprintf string building with one checked write at the end: nicer than discarding four errors with '_, _ ='. |
||
|---|---|---|
| cmd/spreadlab | ||
| internal/engine | ||
| .gitignore | ||
| go.mod | ||
| LICENSE | ||
| README.md | ||
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.