The 'S17-S23 have no stage record' gap was an artefact of enumerating by the literal 'Stage_S<NN>'. Tutorial records omit it -- they name no per-stage .xpr and pull AIParams/weapons/strings/subobjectives/nameplate/collision from a shared _Tutorial set -- so all six were skipped. stagetbl.py Stage_S18 returns a full six-record definition and always would have. Counting distinct *_S<NN> names across all 1119 decompressed entries: UnitGroup and Route cover 28 stages (S01-S16, S18-S23, S24-S29); Stage literal and AIParams cover 22; SUBObjectiveSettings 16 (story only). S17 appears in none -- it is not a stage that lost its data, it does not exist. Tutorial records carry the same Phase_1/2/3 structure as story stages, so the tutorial is not a special mission type at the data layer. Refuted en route: GP_TUTORIAL.pak does not hold the config -- 2 RATC entries, zero IDXD, like GP_CHALLENGE.pak.