# Lane BS -- the per-history residue, both routes to turn 39 on the AR lineage. # # exhaustive # # ^ checked by tools/check_shim_configs.py. This is a determinism probe: under `hooks=trace` a # registered hook this file forgets to name is a detour it did not ask for, and rule 19 says an # extra detour is exactly what can move the bytes. Every registered hook is named below. # # WHAT THIS CONFIG IS FOR. Lane BQ measured that `ar-oracle-A-pre.sav` runs turn 39 one way when # it is reached by CONTINUATION from `ar-turn37-816raiders.sav` and another way when it is reached # by LOAD -- both reproducibly, 23 leaves apart, 17 of them one AI fleet (`Zeta Fleet V`, 1570) # that the continuation moved and the load left parked. This config observes the AI's own # emission on both routes: # # aiorders=on the command block per player per batch: which lists carry elements, and for # lists 8 (move) / 10 (transfer) / 14 (route) the fleet id is the element's first # word, so "did the AI issue 1570 a move order" is a direct read. # aiprobes=16 probes 0..15: the RunTaskList control+pass recorder (0), EVERY task `Execute` # entry the table carries (2..9), the three pass-1 emission exits (10..12), the # fleet-gathering hub and the claim test (13..14) and BuildTurnCommands (15). # The four research probes (16..19) are deliberately NOT installed: lane BQ already # measured that the research pick is not what varies on this lineage, and four # fewer detours is four fewer chances to fail the neutrality check below. # airng=on the per-client `OnResumePlaying` bracket, pin_seed OFF. It gives the per-client # word count with per-return-address attribution, the `foreign_words` / # `foreign_calls` / `residual` triple, and -- because it emits a row for EVERY # entry carrying `agent=` -- the list of clients that actually run an AI turn, # which is the standing instruction's exposure fact. # # NO PIN OF ANY KIND. `aiseed=off` and `airng.pin_seed=off`. Both routes here have controls that # agree with themselves (continuation: three processes, lane AR; load: two processes, lane BQ), so # unlike lane BP's workload this one admits rule 19 directly and rule 26 (d) is not needed. # # INSTRUMENT NEUTRALITY IS CHECKABLE AT k = 1 HERE. The continuation must reproduce # `15b99255...` / `7a8b3d5e...` and the load must reproduce `33e30092...` / `4c356f59...`. A # miss on either route voids that route's run -- the instrument is not neutral on it -- and # nothing may be read from a run that failed its own hash check. hooks=trace hook.Mars::GlobalConsts::LoadFile=off hook.Mars::RNG::Seed=off hook.Game::WeaponDictionary::Init=off hook.Game::SectionDictionary::SectionDictionary=off hook.Game::TechTree::ProcessResearch=off hook.Game::ServerPlayer::ComputeBudget=off hook.Game::ServerPlayer::OnTechResearched=off hook.Game::ServerPlayer::ProcessTurn=off hook.Game::ServerSystem::ProcessTurn=off hook.Game::ServerSystem::GroupOutput=off hook.Game::ServerSystem::ComputeTotalOutput=off hook.Game::StrategyServer::MoveFleet=off hook.Game::StrategyServer::ProcessFleetMovement=off hook.Game::StrategyHost::Autosave=off hook.Game::StrategyServer::ProcessTurn=off hook.Game::StrategyServer::OnAllCombatDone_Tail=off hook.Game::StrategyServer::ApplyEncounterResult=off hook.Game::StrategyServer::NodeLineDecay=off hook.Game::StrategyServer::ProcessNodeSpaceTravel=off hook.Game::StrategyServer::BeginProcessTurn=off hook.Game::EncounterDetect::AssignContacts=off hook.Game::EncounterDetect::ProcessTeamRecord=off hook.Game::SVSOSwarmQueen::OnTurnBegin=off hook.Game::SVSOSwarmQueen::RegisterHives=off hook.Game::SVSOSwarmQueen::TickHives=off hook.Game::SVSOSlaversRefuel::UpdateDifficultyTier=off hook.Game::StrategyApp::RunAI=off trace.path=C:\SOTS\shim.trace.jsonl trace.flush=always probes=off watch=off aiorders.out=C:\SOTS\shim.aiorders.txt aiorders=on aiorders.words=32 aiorders.deep=off aiprobes=16 airesearch=off aidesign=off aiseed=off airng=on airng.out=C:\SOTS\shim.airng.txt airng.pin_seed=off