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 c935071bd1 web: parity page renders the three-scenario comparison from live data
App.vue fetches the default config, posts it to /api/comparison, and
renders ComparisonTable; the Vite dev server proxies /api to the Go
server so the browser sees one origin. src/lib/api.ts is the only
fetch code and uses exclusively generated types: no shape is defined
on the frontend. Scaffold example components removed.
Engine fix surfaced by the smoke test: a nil Go slice marshals to
JSON null, violating the generated 'educated: number[]' contract;
RunScenario now returns an empty slice instead.
Verified end to end: curl through the Vite proxy returns the golden
99/70/7. Vitest covers the table rendering; type-check, oxlint,
eslint clean. This completes the milestone 2 parity check.
2026-06-10 13:47:01 +02:00
cmd/spreadlab api: JSON API over the engine; server mode in cmd/spreadlab 2026-06-10 13:03:12 +02:00
internal web: parity page renders the three-scenario comparison from live data 2026-06-10 13:47:01 +02:00
web web: parity page renders the three-scenario comparison from live data 2026-06-10 13:47:01 +02:00
.gitignore batman 2026-06-10 11:57:10 +02:00
generate.go types: generate TypeScript from engine structs with tygo 2026-06-10 12:58:13 +02:00
go.mod types: generate TypeScript from engine structs with tygo 2026-06-10 12:58:13 +02:00
go.sum types: generate TypeScript from engine structs with tygo 2026-06-10 12:58:13 +02:00
LICENSE batman 2026-06-10 11:57:10 +02:00
README.md batman 2026-06-10 11:57:10 +02:00
tygo.yaml api: JSON API over the engine; server mode in cmd/spreadlab 2026-06-10 13:03:12 +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.