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

@ -23,13 +23,16 @@ func runAllStrategies(t *testing.T) map[Strategy]Result {
}
func TestRunScenarioGoldenReachValues(t *testing.T) {
// Pinned from the first verified run (2026-06-10). The prototype's
// figure showed 102/77/10 out of 120 (85%/64%/8%); ours is the same
// story with different dice.
// Pinned for the tuned default world (2026-06-18): a moderately novel
// fake, some ambient harm awareness, and a strong-but-imperfect program
// (programEffect 0.8), so educated students mostly refuse rather than
// never forwarding. The prototype's figure showed 102/77/10 (85/64/8);
// the story (no program >> random >> most-connected) is the same, the
// dice and the soft program differ.
wantReached := map[Strategy]int{
StrategyNone: 99, // 82%
StrategyRandom: 70, // 58%
StrategyMostConnected: 7, // 6%
StrategyNone: 100, // 83%
StrategyRandom: 83, // 69%
StrategyMostConnected: 21, // 18%
}
results := runAllStrategies(t)
for strategy, result := range results {