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
Minimum cue duration extension: never shorten · case 01
Short cues crowded by a close neighbour get even shorter or inverted.
Minimum cue duration extension: never shorten · case 02
Short cues crowded by a close neighbour get even shorter or inverted.
Minimum cue duration extension: never shorten · case 03
Short cues crowded by a close neighbour get even shorter or inverted.
Minimum cue duration extension: never shorten · case 04
Short cues crowded by a close neighbour get even shorter or inverted.
Minimum cue duration extension: never shorten · case 05
Short cues crowded by a close neighbour get even shorter or inverted.
Minimum cue duration extension: neighbour ordering · case 01
In files with out-of-order cues the extension is limited by the wrong neighbour.
Minimum cue duration extension: neighbour ordering · case 02
In files with out-of-order cues the extension is limited by the wrong neighbour.
Minimum cue duration extension: neighbour ordering · case 03
In files with out-of-order cues the extension is limited by the wrong neighbour.
Minimum cue duration extension: neighbour ordering · case 04
In files with out-of-order cues the extension is limited by the wrong neighbour.
Minimum cue duration extension: neighbour ordering · case 05
In files with out-of-order cues the extension is limited by the wrong neighbour.
Minimum cue duration extension: shortness test · case 01
Cues late in the programme are never extended no matter how short they are.
Minimum cue duration extension: shortness test · case 02
Cues late in the programme are never extended no matter how short they are.
Minimum cue duration extension: shortness test · case 03
Cues late in the programme are never extended no matter how short they are.
Minimum cue duration extension: shortness test · case 04
Cues late in the programme are never extended no matter how short they are.
Minimum cue duration extension: shortness test · case 05
Cues late in the programme are never extended no matter how short they are.
Subtitle reading-speed check: tag stripping · case 01
Cues with two formatting tags pass the speed check because their middle text vanishes.
Subtitle reading-speed check: tag stripping · case 02
Cues with two formatting tags pass the speed check because their middle text vanishes.
Subtitle reading-speed check: tag stripping · case 03
Cues with two formatting tags pass the speed check because their middle text vanishes.
Subtitle reading-speed check: tag stripping · case 04
Cues with two formatting tags pass the speed check because their middle text vanishes.
Subtitle reading-speed check: tag stripping · case 05
Cues with two formatting tags pass the speed check because their middle text vanishes.
Subtitle reading-speed check: line break exclusion · case 01
Two-line cues are flagged as too fast although the text is short.
Subtitle reading-speed check: line break exclusion · case 02
Two-line cues are flagged as too fast although the text is short.
Subtitle reading-speed check: line break exclusion · case 03
Two-line cues are flagged as too fast although the text is short.
Subtitle reading-speed check: line break exclusion · case 04
Two-line cues are flagged as too fast although the text is short.
Subtitle reading-speed check: line break exclusion · case 05
Two-line cues are flagged as too fast although the text is short.
Subtitle reading-speed check: crlf normalization · case 01
Cues from Windows-authored files read one character faster per line break.
Subtitle reading-speed check: crlf normalization · case 02
Cues from Windows-authored files read one character faster per line break.
Subtitle reading-speed check: crlf normalization · case 03
Cues from Windows-authored files read one character faster per line break.
Subtitle reading-speed check: crlf normalization · case 04
Cues from Windows-authored files read one character faster per line break.
Subtitle reading-speed check: crlf normalization · case 05
Cues from Windows-authored files read one character faster per line break.
Subtitle reading-speed check: speed threshold · case 01
Cues exactly at the permitted reading speed are flagged.
Subtitle reading-speed check: speed threshold · case 02
Cues exactly at the permitted reading speed are flagged.
Subtitle reading-speed check: speed threshold · case 03
Cues exactly at the permitted reading speed are flagged.
Subtitle reading-speed check: speed threshold · case 04
Cues exactly at the permitted reading speed are flagged.
Subtitle reading-speed check: speed threshold · case 05
Cues exactly at the permitted reading speed are flagged.
Subtitle reading-speed check: zero duration rule · case 01
Zero-length cues with a few characters are reported as readable.
Subtitle reading-speed check: zero duration rule · case 02
Zero-length cues with a few characters are reported as readable.
Subtitle reading-speed check: zero duration rule · case 03
Zero-length cues with a few characters are reported as readable.
Subtitle reading-speed check: zero duration rule · case 04
Zero-length cues with a few characters are reported as readable.
Subtitle reading-speed check: zero duration rule · case 05
Zero-length cues with a few characters are reported as readable.
Overlapping cue row stacking: row free test · case 01
Back-to-back cues climb to a second row instead of reusing the bottom row.
Overlapping cue row stacking: row free test · case 02
Back-to-back cues climb to a second row instead of reusing the bottom row.
Overlapping cue row stacking: row free test · case 03
Back-to-back cues climb to a second row instead of reusing the bottom row.
Overlapping cue row stacking: row free test · case 04
Back-to-back cues climb to a second row instead of reusing the bottom row.
Overlapping cue row stacking: row free test · case 05
Back-to-back cues climb to a second row instead of reusing the bottom row.
Overlapping cue row stacking: processing order · case 01
Long cues that start first are pushed up by shorter later cues.
Overlapping cue row stacking: processing order · case 02
Long cues that start first are pushed up by shorter later cues.
Overlapping cue row stacking: processing order · case 03
Long cues that start first are pushed up by shorter later cues.
Overlapping cue row stacking: processing order · case 04
Long cues that start first are pushed up by shorter later cues.
Overlapping cue row stacking: processing order · case 05
Long cues that start first are pushed up by shorter later cues.
Overlapping cue row stacking: lowest row choice · case 01
Free bottom rows stay empty while captions sit high on screen.
Overlapping cue row stacking: lowest row choice · case 02
Free bottom rows stay empty while captions sit high on screen.
Overlapping cue row stacking: lowest row choice · case 03
Free bottom rows stay empty while captions sit high on screen.
Overlapping cue row stacking: lowest row choice · case 04
Free bottom rows stay empty while captions sit high on screen.
Overlapping cue row stacking: lowest row choice · case 05
Free bottom rows stay empty while captions sit high on screen.
Overlapping cue row stacking: row occupancy update · case 01
Reused rows receive overlapping cues.
Overlapping cue row stacking: row occupancy update · case 02
Reused rows receive overlapping cues.
Overlapping cue row stacking: row occupancy update · case 03
Reused rows receive overlapping cues.
Overlapping cue row stacking: row occupancy update · case 04
Reused rows receive overlapping cues.
Overlapping cue row stacking: row occupancy update · case 05
Reused rows receive overlapping cues.
Overlapping cue row stacking: new row index · case 01
Newly opened rows get the index of the last cue slot rather than the new row.
Overlapping cue row stacking: new row index · case 02
Newly opened rows get the index of the last cue slot rather than the new row.
Overlapping cue row stacking: new row index · case 03
Newly opened rows get the index of the last cue slot rather than the new row.
Overlapping cue row stacking: new row index · case 04
Newly opened rows get the index of the last cue slot rather than the new row.
Overlapping cue row stacking: new row index · case 05
Newly opened rows get the index of the last cue slot rather than the new row.
Two-point subtitle synchronisation: slope orientation · case 01
Subtitles drift in the wrong direction the further they are from the first anchor.
Two-point subtitle synchronisation: slope orientation · case 02
Subtitles drift in the wrong direction the further they are from the first anchor.
Two-point subtitle synchronisation: slope orientation · case 03
Subtitles drift in the wrong direction the further they are from the first anchor.
Two-point subtitle synchronisation: slope orientation · case 04
Subtitles drift in the wrong direction the further they are from the first anchor.
Two-point subtitle synchronisation: slope orientation · case 05
Subtitles drift in the wrong direction the further they are from the first anchor.
Two-point subtitle synchronisation: intercept anchor · case 01
Mapped cues are offset by a constant error unless the first anchor sits at time zero.
Two-point subtitle synchronisation: intercept anchor · case 02
Mapped cues are offset by a constant error unless the first anchor sits at time zero.
Two-point subtitle synchronisation: intercept anchor · case 03
Mapped cues are offset by a constant error unless the first anchor sits at time zero.
Two-point subtitle synchronisation: intercept anchor · case 04
Mapped cues are offset by a constant error unless the first anchor sits at time zero.
Two-point subtitle synchronisation: intercept anchor · case 05
Mapped cues are offset by a constant error unless the first anchor sits at time zero.
Two-point subtitle synchronisation: mapped rounding · case 01
Mapped times with half-millisecond or larger fractions are one millisecond early.
Two-point subtitle synchronisation: mapped rounding · case 02
Mapped times with half-millisecond or larger fractions are one millisecond early.
Two-point subtitle synchronisation: mapped rounding · case 03
Mapped times with half-millisecond or larger fractions are one millisecond early.
Two-point subtitle synchronisation: mapped rounding · case 04
Mapped times with half-millisecond or larger fractions are one millisecond early.
Two-point subtitle synchronisation: mapped rounding · case 05
Mapped times with half-millisecond or larger fractions are one millisecond early.
Two-point subtitle synchronisation: zero clamp · case 01
Cues mapped before the start of the video carry negative timestamps.
Two-point subtitle synchronisation: zero clamp · case 02
Cues mapped before the start of the video carry negative timestamps.
Two-point subtitle synchronisation: zero clamp · case 03
Cues mapped before the start of the video carry negative timestamps.
Two-point subtitle synchronisation: zero clamp · case 04
Cues mapped before the start of the video carry negative timestamps.
Two-point subtitle synchronisation: zero clamp · case 05
Cues mapped before the start of the video carry negative timestamps.
Two-point subtitle synchronisation: empty cue drop · case 01
Cues squeezed to zero length by the mapping remain in the output.
Two-point subtitle synchronisation: empty cue drop · case 02
Cues squeezed to zero length by the mapping remain in the output.
Two-point subtitle synchronisation: empty cue drop · case 03
Cues squeezed to zero length by the mapping remain in the output.
Two-point subtitle synchronisation: empty cue drop · case 04
Cues squeezed to zero length by the mapping remain in the output.
Two-point subtitle synchronisation: empty cue drop · case 05
Cues squeezed to zero length by the mapping remain in the output.
Adjacent duplicate cue merging: text normalization · case 01
Repeated lines that differ only by a trailing space are shown as separate flickering cues.
Adjacent duplicate cue merging: text normalization · case 02
Repeated lines that differ only by a trailing space are shown as separate flickering cues.
Adjacent duplicate cue merging: text normalization · case 03
Repeated lines that differ only by a trailing space are shown as separate flickering cues.
Adjacent duplicate cue merging: text normalization · case 04
Repeated lines that differ only by a trailing space are shown as separate flickering cues.
Adjacent duplicate cue merging: text normalization · case 05
Repeated lines that differ only by a trailing space are shown as separate flickering cues.
Adjacent duplicate cue merging: merge gap bound · case 01
Duplicates separated by exactly the allowed gap are not merged.
Adjacent duplicate cue merging: merge gap bound · case 02
Duplicates separated by exactly the allowed gap are not merged.
Adjacent duplicate cue merging: merge gap bound · case 03
Duplicates separated by exactly the allowed gap are not merged.
Adjacent duplicate cue merging: merge gap bound · case 04
Duplicates separated by exactly the allowed gap are not merged.
Adjacent duplicate cue merging: merge gap bound · case 05
Duplicates separated by exactly the allowed gap are not merged.
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 ↗