A disc-gated test that fails if the loaders regress to one flat answer per
object. It checks the three structural claims that came with the migration
request, and one of them is overstated:
* ✅ MainMissionBonus IS per difficulty — 18 of the 24 missions pay three
different values, in a strict 1:2:4 easy:normal:hard ratio (all 24); the other
6 pay 0 at every difficulty. The flat reader returned the Easy value.
* ✅ RankScore_S/A/B/C/D repeat identically across the three Score_* records in
24 of 24 missions, so the single flat answer happened to be right. The
difficulty scaling lives in the earnings (CraftScore_Adjustment,
KillBonus_Maximum, …), not in the thresholds.
* 🟡 SpaceSize is *stored* per phase (three Phase_N records), but only **1 of the
24** missions varies it — the one that reads 250000/100000/100000. The other 23
repeat a single value (500000 ×1, 100000 ×18, 50000 ×4). "Phase_1 = 250000,
Phase_2/3 = 100000" is one mission's numbers, not a rule.
Also pinned: the Delta Saber's 63 Turret_NNN mounts at HP 100 each against a
TurretCount of 4; the SD-Battleship's per-component HP (bridge 10000, thruster
20000, shield generator 5000 at PowerRatio 0.25, hatch 100 launching
Squadron_Test2, anti-ship gun 1500) against a hull of 100000, and its 37 records
that define an HP; 418 hardpoints across the 23 capital ships, none missing HP;
131 weapons whose shell id always differs from the launcher id, 40 with a
ShellWake, and Weapon_NULL as the only one without a Shell.Power; and
fcs_range/shield_ratio/cruising_velocity/maximum_velocity/acceleration/
deceleration now set on 89 of 89 units, all of which the pool reader could miss.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE