Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Active cue lookup with prefix maximum ends: backward walk pruning · case 01
A long cue that started earlier is missed when a short cue ends between it and the query.
Active cue lookup with prefix maximum ends: backward walk pruning · case 02
A long cue that started earlier is missed when a short cue ends between it and the query.
Active cue lookup with prefix maximum ends: backward walk pruning · case 03
A long cue that started earlier is missed when a short cue ends between it and the query.
Active cue lookup with prefix maximum ends: backward walk pruning · case 04
A long cue that started earlier is missed when a short cue ends between it and the query.
Active cue lookup with prefix maximum ends: backward walk pruning · case 05
A long cue that started earlier is missed when a short cue ends between it and the query.
Active cue lookup with prefix maximum ends: prefix maximum · case 01
Earlier long cues are skipped once a short cue follows them.
Active cue lookup with prefix maximum ends: prefix maximum · case 02
Earlier long cues are skipped once a short cue follows them.
Active cue lookup with prefix maximum ends: prefix maximum · case 03
Earlier long cues are skipped once a short cue follows them.
Active cue lookup with prefix maximum ends: prefix maximum · case 04
Earlier long cues are skipped once a short cue follows them.
Active cue lookup with prefix maximum ends: prefix maximum · case 05
Earlier long cues are skipped once a short cue follows them.
Active cue lookup with prefix maximum ends: result order · case 01
Active cues are returned from last to first.
Active cue lookup with prefix maximum ends: result order · case 02
Active cues are returned from last to first.
Active cue lookup with prefix maximum ends: result order · case 03
Active cues are returned from last to first.
Active cue lookup with prefix maximum ends: result order · case 04
Active cues are returned from last to first.
Active cue lookup with prefix maximum ends: result order · case 05
Active cues are returned from last to first.
Subtitle conform to an edit cut list: inside-cut mapping · case 01
Cues that start inside a removed section keep a start inside material that no longer exists.
Subtitle conform to an edit cut list: inside-cut mapping · case 02
Cues that start inside a removed section keep a start inside material that no longer exists.
Subtitle conform to an edit cut list: inside-cut mapping · case 03
Cues that start inside a removed section keep a start inside material that no longer exists.
Subtitle conform to an edit cut list: inside-cut mapping · case 04
Cues that start inside a removed section keep a start inside material that no longer exists.
Subtitle conform to an edit cut list: inside-cut mapping · case 05
Cues that start inside a removed section keep a start inside material that no longer exists.
Subtitle conform to an edit cut list: shift accumulation · case 01
Cues after two or more cuts are shifted by only the most recent cut.
Subtitle conform to an edit cut list: shift accumulation · case 02
Cues after two or more cuts are shifted by only the most recent cut.
Subtitle conform to an edit cut list: shift accumulation · case 03
Cues after two or more cuts are shifted by only the most recent cut.
Subtitle conform to an edit cut list: shift accumulation · case 04
Cues after two or more cuts are shifted by only the most recent cut.
Subtitle conform to an edit cut list: shift accumulation · case 05
Cues after two or more cuts are shifted by only the most recent cut.
Subtitle conform to an edit cut list: cut ordering · case 01
Unordered cut lists produce wrong shifts after the first cut.
Subtitle conform to an edit cut list: cut ordering · case 02
Unordered cut lists produce wrong shifts after the first cut.
Subtitle conform to an edit cut list: cut ordering · case 03
Unordered cut lists produce wrong shifts after the first cut.
Subtitle conform to an edit cut list: cut ordering · case 04
Unordered cut lists produce wrong shifts after the first cut.
Subtitle conform to an edit cut list: cut ordering · case 05
Unordered cut lists produce wrong shifts after the first cut.
Subtitle conform to an edit cut list: merged cut extent · case 01
A cut nested inside a larger cut shortens the removed range.
Subtitle conform to an edit cut list: merged cut extent · case 02
A cut nested inside a larger cut shortens the removed range.
Subtitle conform to an edit cut list: merged cut extent · case 03
A cut nested inside a larger cut shortens the removed range.
Subtitle conform to an edit cut list: merged cut extent · case 04
A cut nested inside a larger cut shortens the removed range.
Subtitle conform to an edit cut list: merged cut extent · case 05
A cut nested inside a larger cut shortens the removed range.
Subtitle conform to an edit cut list: collapsed cue drop · case 01
Cues wholly inside a removed section survive as zero-length cues.
Subtitle conform to an edit cut list: collapsed cue drop · case 02
Cues wholly inside a removed section survive as zero-length cues.
Subtitle conform to an edit cut list: collapsed cue drop · case 03
Cues wholly inside a removed section survive as zero-length cues.
Subtitle conform to an edit cut list: collapsed cue drop · case 04
Cues wholly inside a removed section survive as zero-length cues.
Subtitle conform to an edit cut list: collapsed cue drop · case 05
Cues wholly inside a removed section survive as zero-length cues.
Non-drop timecode label parsing: frame field bound · case 01
A PAL label ending in :25 is accepted and lands on the first frame of the next second.
Non-drop timecode label parsing: frame field bound · case 02
A PAL label ending in :25 is accepted and lands on the first frame of the next second.
Non-drop timecode label parsing: frame field bound · case 03
A PAL label ending in :25 is accepted and lands on the first frame of the next second.
Non-drop timecode label parsing: frame field bound · case 04
A PAL label ending in :25 is accepted and lands on the first frame of the next second.
Non-drop timecode label parsing: frame field bound · case 05
A PAL label ending in :25 is accepted and lands on the first frame of the next second.
Non-drop timecode label parsing: hour field bound · case 01
Labels at hour 24 are accepted and alias the following day.
Non-drop timecode label parsing: hour field bound · case 02
Labels at hour 24 are accepted and alias the following day.
Non-drop timecode label parsing: hour field bound · case 03
Labels at hour 24 are accepted and alias the following day.
Non-drop timecode label parsing: hour field bound · case 04
Labels at hour 24 are accepted and alias the following day.
Non-drop timecode label parsing: hour field bound · case 05
Labels at hour 24 are accepted and alias the following day.
Non-drop timecode label parsing: sexagesimal bounds · case 01
Labels with a seconds field of 60 are accepted and roll into the next minute.
Non-drop timecode label parsing: sexagesimal bounds · case 02
Labels with a seconds field of 60 are accepted and roll into the next minute.
Non-drop timecode label parsing: sexagesimal bounds · case 03
Labels with a seconds field of 60 are accepted and roll into the next minute.
Non-drop timecode label parsing: sexagesimal bounds · case 04
Labels with a seconds field of 60 are accepted and roll into the next minute.
Non-drop timecode label parsing: sexagesimal bounds · case 05
Labels with a seconds field of 60 are accepted and roll into the next minute.
Non-drop timecode label parsing: field width · case 01
Loosely typed labels such as 1:00:00:00 are accepted into the edit list.
Non-drop timecode label parsing: field width · case 02
Loosely typed labels such as 1:00:00:00 are accepted into the edit list.
Non-drop timecode label parsing: field width · case 03
Loosely typed labels such as 1:00:00:00 are accepted into the edit list.
Non-drop timecode label parsing: field width · case 04
Loosely typed labels such as 1:00:00:00 are accepted into the edit list.
Non-drop timecode label parsing: field width · case 05
Loosely typed labels such as 1:00:00:00 are accepted into the edit list.
Non-drop timecode label parsing: separator policy · case 01
Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.
Non-drop timecode label parsing: separator policy · case 02
Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.
Non-drop timecode label parsing: separator policy · case 03
Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.
Non-drop timecode label parsing: separator policy · case 04
Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.
Non-drop timecode label parsing: separator policy · case 05
Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.
Frame count to timecode label with frame pairs: day wrap · case 01
Pre-roll frames before midnight are labelled as if they were after midnight.
Frame count to timecode label with frame pairs: day wrap · case 02
Pre-roll frames before midnight are labelled as if they were after midnight.
Frame count to timecode label with frame pairs: day wrap · case 03
Pre-roll frames before midnight are labelled as if they were after midnight.
Frame count to timecode label with frame pairs: day wrap · case 04
Pre-roll frames before midnight are labelled as if they were after midnight.
Frame count to timecode label with frame pairs: day wrap · case 05
Pre-roll frames before midnight are labelled as if they were after midnight.
Frame count to timecode label with frame pairs: day length · case 01
High frame rate counts wrap at noon instead of midnight.
Frame count to timecode label with frame pairs: day length · case 02
High frame rate counts wrap at noon instead of midnight.
Frame count to timecode label with frame pairs: day length · case 03
High frame rate counts wrap at noon instead of midnight.
Frame count to timecode label with frame pairs: day length · case 04
High frame rate counts wrap at noon instead of midnight.
Frame count to timecode label with frame pairs: day length · case 05
High frame rate counts wrap at noon instead of midnight.
Frame count to timecode label with frame pairs: pair notation threshold · case 01
Plain 30 fps labels are printed in frame-pair notation.
Frame count to timecode label with frame pairs: pair notation threshold · case 02
Plain 30 fps labels are printed in frame-pair notation.
Frame count to timecode label with frame pairs: pair notation threshold · case 03
Plain 30 fps labels are printed in frame-pair notation.
Frame count to timecode label with frame pairs: pair notation threshold · case 04
Plain 30 fps labels are printed in frame-pair notation.
Frame count to timecode label with frame pairs: pair notation threshold · case 05
Plain 30 fps labels are printed in frame-pair notation.
Frame count to timecode label with frame pairs: pair flag · case 01
The first and second frames of each pair are labelled the wrong way round.
Frame count to timecode label with frame pairs: pair flag · case 02
The first and second frames of each pair are labelled the wrong way round.
Frame count to timecode label with frame pairs: pair flag · case 03
The first and second frames of each pair are labelled the wrong way round.
Frame count to timecode label with frame pairs: pair flag · case 04
The first and second frames of each pair are labelled the wrong way round.
Frame count to timecode label with frame pairs: pair flag · case 05
The first and second frames of each pair are labelled the wrong way round.
Frame count to timecode label with frame pairs: pair index · case 01
Frame-pair fields restart halfway through each second.
Frame count to timecode label with frame pairs: pair index · case 02
Frame-pair fields restart halfway through each second.
Frame count to timecode label with frame pairs: pair index · case 03
Frame-pair fields restart halfway through each second.
Frame count to timecode label with frame pairs: pair index · case 04
Frame-pair fields restart halfway through each second.
Frame count to timecode label with frame pairs: pair index · case 05
Frame-pair fields restart halfway through each second.
Drop-frame 29.97 label to frame count: drop separator set · case 01
Labels using the period or comma drop-frame spelling are rejected.
Drop-frame 29.97 label to frame count: drop separator set · case 02
Labels using the period or comma drop-frame spelling are rejected.
Drop-frame 29.97 label to frame count: drop separator set · case 03
Labels using the period or comma drop-frame spelling are rejected.
Drop-frame 29.97 label to frame count: drop separator set · case 04
Labels using the period or comma drop-frame spelling are rejected.
Drop-frame 29.97 label to frame count: drop separator set · case 05
Labels using the period or comma drop-frame spelling are rejected.
Drop-frame 29.97 label to frame count: frame field range · case 01
A label with frame 30 is accepted and aliases the next second.
Drop-frame 29.97 label to frame count: frame field range · case 02
A label with frame 30 is accepted and aliases the next second.
Drop-frame 29.97 label to frame count: frame field range · case 03
A label with frame 30 is accepted and aliases the next second.
Drop-frame 29.97 label to frame count: frame field range · case 04
A label with frame 30 is accepted and aliases the next second.
Drop-frame 29.97 label to frame count: frame field range · case 05
A label with frame 30 is accepted and aliases the next second.
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗