The first model_io record passes detection, but the second has type=other_event. Scanning rejects
the file, clears events, retains the cursor, and rejects again on the next scan.
See the manually calculated expectations in the header of tests/zcode_gaps_synthetic.rs.