Night 13 turned up three confident KB/source notes that each closed off a
working path, and each one was the defect:
1. context/combat-damage.md -- "@0x4c0200 is in NO table entry: dead code",
used to justify retiring per-hit inflicted credit in build 787. It is
reached through BTPlayer's Dispatch override (vtable @00513300 slot 3).
(corrected in 2772175)
2. context/decomp-reference.md -- "shipped content authors NO role keys, so
the cost is 0 in the field". Wrong on both halves: the fields come from
the role MODEL's GameModel record, not notation keys, and dfltrole
authors killBonus=500 / deathPenalty=500 / dmgInf=1 -- the manual's chart
verbatim. The cost read 0 because the role was never bound.
3. docs/RECONCILE.md -- "role registry has no WinTesla analog -> stubbed;
base-set scenarioRole stands". The base ctor sets it NULL, so nothing
stood, and Mission::GetScenarioRole IS the analog.
Common shape worth remembering: all three asserted an absence (dead code, no
authored data, no analog) and none was re-tested against the binary before
being built on. An absence claim in this KB should carry the check that
established it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCJQkvq6G2JNrpVbA75tVZ