sots-re/findings
alex 975c19a57d lane ID: one id allocator on sixteen node counters, and techId is a sorted index
The client-side allocator is not a second allocator. StrategyServer and StrategyClient
are both StrategySim, which owns an IDMap at +0x80; each sim allocates from its own map
on its own local node index. StrategyServer::InitGameForPlayer sets that index to
PlyrIdx + 1 (node 0 is the server's) and seeds the client from the server's counter for
that node. IDMap::Initialize names the save's NM* tags: NMSz nodes, NMLc local node,
NMnx that node's counter -- confirming B5's labelled hypothesis and adding the other two.
Cross-checked on 20 saves: nodes 1, 2 and 3 all occur, counters run from 1 per node, and
2,600 ids collide zero times. Corrects turn-command-replay.md row 2: design 18 IS in
turn2-state.sav, so the canonical pair needs one minted id, not two. One open item, with
the one-hook probe named: a reloaded save produced fleet 34 rather than 18, and nothing I
read restores a client counter.

techId is the 0-based index into the master tech list sorted by _stricmp -- read out of
MasterTechTree's ctor, which sorts a copy of the parse-order list and then writes
def->techId = i. 282 is XNC_TrnsHum2, which lane L4 had already observed live and nobody
connected. tools/techid_table.py derives all 293 offline and refuses to print unless the
four observed points agree.
2026-09-08 20:22:24 -04:00
..
control-flow L1: CDiff crosses at frame 50, and the AI client seed is fresh in every process 2026-09-08 18:23:19 -04:00
objects lane WS: pay the ratchet debt -- prep/TacReports/Lay/trdmgr/fwarn typed, 97.6% -> 99.9959% 2026-09-08 20:15:38 -04:00
resolutions resolution: byte-match survives as C-exact/C-set; tie set is a draw support not equal cost; rule 26 on self-consistent controls 2026-09-08 18:38:37 -04:00
subsystems lane ID: one id allocator on sixteen node counters, and techId is a sorted index 2026-09-08 20:22:24 -04:00
.keep.md init commit 2026-09-07 12:31:56 -04:00
00-strategy.md strategy: phase 2 decisions (two repos, c++ shim, accrual order) 2026-09-07 17:10:21 -04:00
01-fingerprint.md map: RTTI class inventory (1924 types, engine=Mars); reseed board with real targets 2026-09-07 14:48:43 -04:00
_template.md scaffold RE campaign: board, backlog, findings template, verify tree 2026-09-07 14:40:44 -04:00