MissingRegion
A whole region of the archive's offset space is missing: the next segment's header is intact and reads perfectly, it simply does not begin where the previous segment's frames ended.
A deleted segment file, a segment truncated to a frame boundary, a region pre-allocated and never written. Nothing here failed a checksum — a hole presents no bad bytes to fail one — so it is caught by comparing each segment header's absolute baseOffset against where the previous segment actually stopped.
Distinct from the other two because the answer to it is: Truncated.atOffset is where the hole starts, so it is still the honest end of the readable history — but it is not a resume cursor, because the records between it and the next segment do not exist anywhere. A consumer that retries SegmentHeader and Frame must not retry this one.