sots-engine/src/shim/shim.cfg.croff
alex 618ccb1c25 shim: research.replace_cascade, and a completion counter that prints in replace mode too
The B3 hook's unlock cascade was compare-mode only, so a replace run left the
completed node unstamped and no tech unlocked -- and its only per-call counter was
gated on the cascade, so a replace run had no instrument of its own saying a
completion had happened at all. Lane CR needs both halves to ask whether
ProcessResearch can be displaced.

research.replace_cascade=on (default off, so the shipped behaviour is unchanged and
still measurable) lets a replace-mode call write the four TechNode words
SetResearched stamps and the tree's completion-order counter. The ServerPlayer half
of the callback stays unmodelled and stays declared: no event is posted, no
ObservedTech element is appended, no tech effect is applied. The pair of settings is
the measurement -- same binary, one config line, and the leaf difference between the
two autosaves is the cascade's own contribution.

The per-call log line now prints in every mode and counts completions from the pass's
own step results, so 'a completion fired' is a statement by the instrument rather
than an inference from the artefact under test.
2026-09-09 09:15:47 -04:00

6 lines
431 B
Text

# Lane CR, the rule-19 control. Same proxy DLL as every measured CR run, same guest, same save,
# same click path -- `hooks=off` installs NOTHING (not even the M0 asm stub), so a difference
# between this run's autosaves and a measured run's is the instrument and nothing else.
# `# exhaustive` is deliberately absent: it is a claim about a `hooks=trace` hook set, and there
# is no hook set here to be exhaustive about.
hooks=off