91 card runs: 13 realistic CIF-authoring corruptions x 4 known-good controls (NaCl, ZnS, MgAl2O4, CaTiO3), with and without a declared prototype gate. Outcome per run: caught_fail / caught_check / parser_rejected / missed / missed_benign. Sanity card v4.2. Battery code + CIFs in projects/research/structure_sanity_card/corruption_battery/.