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
Adjacent duplicate cue merging: merge short-circuit · case 01
Merged duplicates appear twice: once extended and once as the original repeat.
Adjacent duplicate cue merging: merge short-circuit · case 02
Merged duplicates appear twice: once extended and once as the original repeat.
Adjacent duplicate cue merging: merge short-circuit · case 03
Merged duplicates appear twice: once extended and once as the original repeat.
Adjacent duplicate cue merging: merge short-circuit · case 04
Merged duplicates appear twice: once extended and once as the original repeat.
Adjacent duplicate cue merging: merge short-circuit · case 05
Merged duplicates appear twice: once extended and once as the original repeat.
Adjacent duplicate cue merging: stored text form · case 01
Output cues keep irregular whitespace and later duplicates fail to merge with them.
Adjacent duplicate cue merging: stored text form · case 02
Output cues keep irregular whitespace and later duplicates fail to merge with them.
Adjacent duplicate cue merging: stored text form · case 03
Output cues keep irregular whitespace and later duplicates fail to merge with them.
Adjacent duplicate cue merging: stored text form · case 04
Output cues keep irregular whitespace and later duplicates fail to merge with them.
Adjacent duplicate cue merging: stored text form · case 05
Output cues keep irregular whitespace and later duplicates fail to merge with them.
Adjacent duplicate cue merging: blank cue guard · case 01
Consecutive blank spacer cues are fused into one long empty cue.
Adjacent duplicate cue merging: blank cue guard · case 02
Consecutive blank spacer cues are fused into one long empty cue.
Adjacent duplicate cue merging: blank cue guard · case 03
Consecutive blank spacer cues are fused into one long empty cue.
Adjacent duplicate cue merging: blank cue guard · case 04
Consecutive blank spacer cues are fused into one long empty cue.
Adjacent duplicate cue merging: blank cue guard · case 05
Consecutive blank spacer cues are fused into one long empty cue.
Proportional cue splitting: part weight · case 01
Empty fragments become zero-length cues.
Proportional cue splitting: part weight · case 02
Empty fragments become zero-length cues.
Proportional cue splitting: part weight · case 03
Empty fragments become zero-length cues.
Proportional cue splitting: part weight · case 04
Empty fragments become zero-length cues.
Proportional cue splitting: part weight · case 05
Empty fragments become zero-length cues.
Proportional cue splitting: cumulative weight · case 01
Split pieces overlap and the final piece does not end at the cue end.
Proportional cue splitting: cumulative weight · case 02
Split pieces overlap and the final piece does not end at the cue end.
Proportional cue splitting: cumulative weight · case 03
Split pieces overlap and the final piece does not end at the cue end.
Proportional cue splitting: cumulative weight · case 04
Split pieces overlap and the final piece does not end at the cue end.
Proportional cue splitting: cumulative weight · case 05
Split pieces overlap and the final piece does not end at the cue end.
Proportional cue splitting: boundary arithmetic · case 01
The last split piece ends before the original cue end.
Proportional cue splitting: boundary arithmetic · case 02
The last split piece ends before the original cue end.
Proportional cue splitting: boundary arithmetic · case 03
The last split piece ends before the original cue end.
Proportional cue splitting: boundary arithmetic · case 04
The last split piece ends before the original cue end.
Proportional cue splitting: boundary arithmetic · case 05
The last split piece ends before the original cue end.
Proportional cue splitting: piece contiguity · case 01
Split pieces are separated by one-millisecond holes.
Proportional cue splitting: piece contiguity · case 02
Split pieces are separated by one-millisecond holes.
Proportional cue splitting: piece contiguity · case 03
Split pieces are separated by one-millisecond holes.
Proportional cue splitting: piece contiguity · case 04
Split pieces are separated by one-millisecond holes.
Proportional cue splitting: piece contiguity · case 05
Split pieces are separated by one-millisecond holes.
Proportional cue splitting: piece text trim · case 01
Split pieces show stray leading and trailing spaces.
Proportional cue splitting: piece text trim · case 02
Split pieces show stray leading and trailing spaces.
Proportional cue splitting: piece text trim · case 03
Split pieces show stray leading and trailing spaces.
Proportional cue splitting: piece text trim · case 04
Split pieces show stray leading and trailing spaces.
Proportional cue splitting: piece text trim · case 05
Split pieces show stray leading and trailing spaces.
Shot-change snapping of cue boundaries: snap window · case 01
Boundaries exactly one window away from a cut are left unsnapped.
Shot-change snapping of cue boundaries: snap window · case 02
Boundaries exactly one window away from a cut are left unsnapped.
Shot-change snapping of cue boundaries: snap window · case 03
Boundaries exactly one window away from a cut are left unsnapped.
Shot-change snapping of cue boundaries: snap window · case 04
Boundaries exactly one window away from a cut are left unsnapped.
Shot-change snapping of cue boundaries: snap window · case 05
Boundaries exactly one window away from a cut are left unsnapped.
Shot-change snapping of cue boundaries: nearest shot choice · case 01
Boundaries snap to the first cut in range even when a closer cut exists.
Shot-change snapping of cue boundaries: nearest shot choice · case 02
Boundaries snap to the first cut in range even when a closer cut exists.
Shot-change snapping of cue boundaries: nearest shot choice · case 03
Boundaries snap to the first cut in range even when a closer cut exists.
Shot-change snapping of cue boundaries: nearest shot choice · case 04
Boundaries snap to the first cut in range even when a closer cut exists.
Shot-change snapping of cue boundaries: nearest shot choice · case 05
Boundaries snap to the first cut in range even when a closer cut exists.
Shot-change snapping of cue boundaries: end snap probe · case 01
Cue ends near a cut are snapped against the wrong reference point.
Shot-change snapping of cue boundaries: end snap probe · case 02
Cue ends near a cut are snapped against the wrong reference point.
Shot-change snapping of cue boundaries: end snap probe · case 03
Cue ends near a cut are snapped against the wrong reference point.
Shot-change snapping of cue boundaries: end snap probe · case 04
Cue ends near a cut are snapped against the wrong reference point.
Shot-change snapping of cue boundaries: end snap probe · case 05
Cue ends near a cut are snapped against the wrong reference point.
Shot-change snapping of cue boundaries: end placement · case 01
Snapped cues remain on screen across the shot change.
Shot-change snapping of cue boundaries: end placement · case 02
Snapped cues remain on screen across the shot change.
Shot-change snapping of cue boundaries: end placement · case 03
Snapped cues remain on screen across the shot change.
Shot-change snapping of cue boundaries: end placement · case 04
Snapped cues remain on screen across the shot change.
Shot-change snapping of cue boundaries: end placement · case 05
Snapped cues remain on screen across the shot change.
Shot-change snapping of cue boundaries: collapse revert · case 01
Short cues between two nearby cuts collapse to zero length.
Shot-change snapping of cue boundaries: collapse revert · case 02
Short cues between two nearby cuts collapse to zero length.
Shot-change snapping of cue boundaries: collapse revert · case 03
Short cues between two nearby cuts collapse to zero length.
Shot-change snapping of cue boundaries: collapse revert · case 04
Short cues between two nearby cuts collapse to zero length.
Shot-change snapping of cue boundaries: collapse revert · case 05
Short cues between two nearby cuts collapse to zero length.
WebVTT cue timing line parsing: hour digit count · case 01
Cues after hour 99 in long recordings fail to parse.
WebVTT cue timing line parsing: hour digit count · case 02
Cues after hour 99 in long recordings fail to parse.
WebVTT cue timing line parsing: hour digit count · case 03
Cues after hour 99 in long recordings fail to parse.
WebVTT cue timing line parsing: hour digit count · case 04
Cues after hour 99 in long recordings fail to parse.
WebVTT cue timing line parsing: hour digit count · case 05
Cues after hour 99 in long recordings fail to parse.
WebVTT cue timing line parsing: fraction format · case 01
Timestamps with truncated fractions such as 00:01.5 are accepted as 5 ms.
WebVTT cue timing line parsing: fraction format · case 02
Timestamps with truncated fractions such as 00:01.5 are accepted as 5 ms.
WebVTT cue timing line parsing: fraction format · case 03
Timestamps with truncated fractions such as 00:01.5 are accepted as 5 ms.
WebVTT cue timing line parsing: fraction format · case 04
Timestamps with truncated fractions such as 00:01.5 are accepted as 5 ms.
WebVTT cue timing line parsing: fraction format · case 05
Timestamps with truncated fractions such as 00:01.5 are accepted as 5 ms.
WebVTT cue timing line parsing: field range check · case 01
A timestamp with 60 minutes or seconds is accepted and rolls over silently.
WebVTT cue timing line parsing: field range check · case 02
A timestamp with 60 minutes or seconds is accepted and rolls over silently.
WebVTT cue timing line parsing: field range check · case 03
A timestamp with 60 minutes or seconds is accepted and rolls over silently.
WebVTT cue timing line parsing: field range check · case 04
A timestamp with 60 minutes or seconds is accepted and rolls over silently.
WebVTT cue timing line parsing: field range check · case 05
A timestamp with 60 minutes or seconds is accepted and rolls over silently.
WebVTT cue timing line parsing: cue ordering check · case 01
Zero-duration cues where END equals START are accepted.
WebVTT cue timing line parsing: cue ordering check · case 02
Zero-duration cues where END equals START are accepted.
WebVTT cue timing line parsing: cue ordering check · case 03
Zero-duration cues where END equals START are accepted.
WebVTT cue timing line parsing: cue ordering check · case 04
Zero-duration cues where END equals START are accepted.
WebVTT cue timing line parsing: cue ordering check · case 05
Zero-duration cues where END equals START are accepted.
WebVTT cue timing line parsing: settings capture · case 01
Only the first cue setting survives; later settings such as size are lost.
WebVTT cue timing line parsing: settings capture · case 02
Only the first cue setting survives; later settings such as size are lost.
WebVTT cue timing line parsing: settings capture · case 03
Only the first cue setting survives; later settings such as size are lost.
WebVTT cue timing line parsing: settings capture · case 04
Only the first cue setting survives; later settings such as size are lost.
WebVTT cue timing line parsing: settings capture · case 05
Only the first cue setting survives; later settings such as size are lost.
Timed-text time expression evaluation: tick metric scale · case 01
Tick-based caption times collapse to near zero.
Timed-text time expression evaluation: tick metric scale · case 02
Tick-based caption times collapse to near zero.
Timed-text time expression evaluation: tick metric scale · case 03
Tick-based caption times collapse to near zero.
Timed-text time expression evaluation: tick metric scale · case 04
Tick-based caption times collapse to near zero.
Timed-text time expression evaluation: tick metric scale · case 05
Tick-based caption times collapse to near zero.
Timed-text time expression evaluation: frame metric scale · case 01
Frame offsets at rates that do not divide 1000 lose their fractional milliseconds before rounding.
Timed-text time expression evaluation: frame metric scale · case 02
Frame offsets at rates that do not divide 1000 lose their fractional milliseconds before rounding.
Timed-text time expression evaluation: frame metric scale · case 03
Frame offsets at rates that do not divide 1000 lose their fractional milliseconds before rounding.
Timed-text time expression evaluation: frame metric scale · case 04
Frame offsets at rates that do not divide 1000 lose their fractional milliseconds before rounding.
Timed-text time expression evaluation: frame metric scale · case 05
Frame offsets at rates that do not divide 1000 lose their fractional milliseconds before rounding.
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 ↗