engine: tune the default world to a soft program

DefaultConfig now describes a more realistic world: a moderately novel fake
(novelty 0.3), some ambient harm awareness (0.2), and a strong but imperfect
education program (programEffect 0.8) so educated students mostly, not always,
refuse. The headline shifts from 99/70/7 (a perfect program) to 100/83/21 out
of 120 (83/69/18 percent): no program >> random >> most-connected still holds,
targeting still wins by ~4x, but the program is no longer a perfect wall.
Golden values re-pinned in the engine and API tests; the preset base matches.
The forward-chance formula test now neutralises its baseline so it pins the
formula, not the tuned defaults.
This commit is contained in:
Justin Visser 2026-06-18 22:19:44 +02:00
parent 4ac7ba1624
commit c1201caf11
6 changed files with 27 additions and 18 deletions

View file

@ -7,7 +7,13 @@ import "testing"
// the program scales an educated student) in terms of the weight constants,
// so tuning the weights later does not silently break the relationships.
func TestForwardChance(t *testing.T) {
base := DefaultConfig() // ForwardProb 0.38, novelty/harm 0, programEffect 1
// A neutral baseline (the tuned DefaultConfig now carries novelty, harm
// awareness and a soft program); these assertions pin the formula's
// shape, not the default values.
base := DefaultConfig()
base.Novelty = 0
base.HarmAwareness = 0
base.ProgramEffect = 1
t.Run("default not educated is the baseline", func(t *testing.T) {
if got := base.ForwardChance(false); got != base.ForwardProb {