sots-re/verify/results/shim/bs/shim.cfg.bsrun

80 lines
4.1 KiB
Text

# 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