Two hooks, Mars::RNG::Seed 0x0049fdf0 and StrategyApp::RunAI 0x008706f0, and a config that turns everything else off. Two launches from the same save, load only -- the AI clients are constructed on load, so no End Turn is needed. Result: every AI client's generator seed differs between processes (net 32, 496 and 512 all move), while the record structure is byte-for-byte the same shape and one Seed call with seed=0 produces an identical state in both runs. So the turn1-state -> turn2 nondeterminism is a SEED effect, not the ordering effect that was predicted, and lane AI1's 'every draw from the static generator returns 0' is falsified by measurement. The prediction said the opposite and is left in docs/L1-predictions.md with its outcome underneath. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ARBgSooAfokKUy6wKUKEyZ
31 lines
1.3 KiB
Text
31 lines
1.3 KiB
Text
# Lane L1: lane W3's watchpoint arming with ONE LINE CHANGED -- slot 1 moves from the NVO map's
|
|
# _Mysize to the target system's SnLv (ServerSystem+0x24). `nvo-tshn-visible-owner.md` §6 says that
|
|
# is exactly what settles "the sensor branch is what refreshes Spica", which is a hypothesis today
|
|
# because SnLv is not serialised and has never been measured.
|
|
#
|
|
# The arming sweep also now prints SnLv and its decoded per-player 2-bit levels for EVERY system,
|
|
# which costs no debug register, so one run answers the Spica question and the Bismol question
|
|
# together.
|
|
#
|
|
# Identical to shim.cfg.l1control except for the single key `watch=`, so the pair is a real rule-19
|
|
# control.
|
|
hooks=trace
|
|
hook.Shim::SelfTest::Fill=off
|
|
hook.Mars::GlobalConsts::LoadFile=off
|
|
hook.Game::WeaponDictionary::Init=off
|
|
hook.Game::SectionDictionary::SectionDictionary=off
|
|
hook.Game::StrategyServer::ProcessFleetMovement=off
|
|
hook.Game::TechTree::ProcessResearch=trace
|
|
hook.Game::ServerPlayer::ComputeBudget=trace
|
|
hook.Game::ServerPlayer::OnTechResearched=trace
|
|
hook.Game::ServerSystem::ProcessTurn=trace
|
|
hook.Game::StrategyServer::MoveFleet=trace
|
|
trace.path=C:\SOTS\shim.trace.jsonl
|
|
trace.inline_max=256
|
|
trace.flush=always
|
|
watch=on
|
|
watch.players=2
|
|
watch.mode=snlv
|
|
watch.out=C:\SOTS\shim.watch.txt
|
|
hook.Mars::RNG::Seed=off
|
|
hook.Game::StrategyApp::RunAI=off
|