spreadlab/internal/engine
Justin Visser bd890384e5 engine: realistic config bounds, enforced and served
ConfigBounds (students 10-500, edgesPerNode 1-8, forwardProb 0-0.9,
triangleProb 0-1) caps what RunScenario accepts: a student does not
keep 150 close friendships and a guaranteed forward is not a real
base rate. numEducated gains its missing upper limit (numStudents).
Bounds-side validation also protects the public server from absurd
numStudents values. GET /api/config/default now returns
{config, bounds} so the frontend can drive its controls from the
same numbers; the frontend does not call it yet, so this commit
changes no UI behaviour.
2026-06-11 15:54:07 +02:00
..
bench_test.go engine: benchmark baseline (HolmeKim, RunScenario) 2026-06-10 12:50:53 +02:00
bounds_test.go engine: realistic config bounds, enforced and served 2026-06-11 15:54:07 +02:00
cascade.go engine: edge thresholds and the independent cascade 2026-06-10 12:08:12 +02:00
cascade_test.go engine: edge thresholds and the independent cascade 2026-06-10 12:08:12 +02:00
educate.go engine: education strategies (random vs most-connected) 2026-06-10 12:08:39 +02:00
educate_test.go engine: education strategies (random vs most-connected) 2026-06-10 12:08:39 +02:00
graph.go api: POST /api/scenario returns result plus graph topology (M3 slice 1) 2026-06-10 15:48:48 +02:00
graph_test.go api: POST /api/scenario returns result plus graph topology (M3 slice 1) 2026-06-10 15:48:48 +02:00
holmekim.go refactor engine: decompose Holme-Kim into builder methods 2026-06-10 12:37:57 +02:00
holmekim_test.go engine: Holme-Kim network generator (powerlaw_cluster_graph port) 2026-06-10 12:05:43 +02:00
rng.go docs engine: state the RNG design decision in rng.go 2026-06-10 13:01:39 +02:00
rng_test.go engine: undirected simple graph with deterministic neighbour order 2026-06-10 11:58:45 +02:00
scenario.go engine: realistic config bounds, enforced and served 2026-06-11 15:54:07 +02:00
scenario_test.go engine: Config, scenario runner, golden regression tests; demo CLI 2026-06-10 12:24:47 +02:00