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
Format 1 to format 0 track merge: track clocks chained end to end · case 01
The second track is placed after the first track's last event instead of starting at tick 0.
Format 1 to format 0 track merge: track clocks chained end to end · case 02
The second track is placed after the first track's last event instead of starting at tick 0.
Format 1 to format 0 track merge: track clocks chained end to end · case 03
The second track is placed after the first track's last event instead of starting at tick 0.
Format 1 to format 0 track merge: track clocks chained end to end · case 04
The second track is placed after the first track's last event instead of starting at tick 0.
Format 1 to format 0 track merge: track clocks chained end to end · case 05
The second track is placed after the first track's last event instead of starting at tick 0.
Format 1 to format 0 track merge: simultaneous events ordered by name · case 01
Simultaneous events from different tracks are reordered alphabetically instead of by track, e.g. a tempo event after the notes it should govern.
Format 1 to format 0 track merge: simultaneous events ordered by name · case 02
Simultaneous events from different tracks are reordered alphabetically instead of by track, e.g. a tempo event after the notes it should govern.
Format 1 to format 0 track merge: simultaneous events ordered by name · case 03
Simultaneous events from different tracks are reordered alphabetically instead of by track, e.g. a tempo event after the notes it should govern.
Format 1 to format 0 track merge: simultaneous events ordered by name · case 04
Simultaneous events from different tracks are reordered alphabetically instead of by track, e.g. a tempo event after the notes it should govern.
Format 1 to format 0 track merge: simultaneous events ordered by name · case 05
Simultaneous events from different tracks are reordered alphabetically instead of by track, e.g. a tempo event after the notes it should govern.
Format 1 to format 0 track merge: last track's end-of-track wins · case 01
If an earlier track ends later than the last track, the merged end-of-track moves earlier.
Format 1 to format 0 track merge: last track's end-of-track wins · case 02
If an earlier track ends later than the last track, the merged end-of-track moves earlier.
Format 1 to format 0 track merge: last track's end-of-track wins · case 03
If an earlier track ends later than the last track, the merged end-of-track moves earlier.
Format 1 to format 0 track merge: last track's end-of-track wins · case 04
If an earlier track ends later than the last track, the merged end-of-track moves earlier.
Format 1 to format 0 track merge: last track's end-of-track wins · case 05
If an earlier track ends later than the last track, the merged end-of-track moves earlier.
Format 1 to format 0 track merge: end-of-track placed before the last event · case 01
When end-of-track markers precede the last merged event, the final delta goes negative.
Format 1 to format 0 track merge: end-of-track placed before the last event · case 02
When end-of-track markers precede the last merged event, the final delta goes negative.
Format 1 to format 0 track merge: end-of-track placed before the last event · case 03
When end-of-track markers precede the last merged event, the final delta goes negative.
Format 1 to format 0 track merge: end-of-track placed before the last event · case 04
When end-of-track markers precede the last merged event, the final delta goes negative.
Format 1 to format 0 track merge: end-of-track placed before the last event · case 05
When end-of-track markers precede the last merged event, the final delta goes negative.
Lookahead scheduler dispatch windows: event on the window edge dispatched early · case 01
An event exactly at now + lookahead is sent in the current window and the next window misses nothing, so it fires one window early.
Lookahead scheduler dispatch windows: event on the window edge dispatched early · case 02
An event exactly at now + lookahead is sent in the current window and the next window misses nothing, so it fires one window early.
Lookahead scheduler dispatch windows: event on the window edge dispatched early · case 03
An event exactly at now + lookahead is sent in the current window and the next window misses nothing, so it fires one window early.
Lookahead scheduler dispatch windows: event on the window edge dispatched early · case 04
An event exactly at now + lookahead is sent in the current window and the next window misses nothing, so it fires one window early.
Lookahead scheduler dispatch windows: event on the window edge dispatched early · case 05
An event exactly at now + lookahead is sent in the current window and the next window misses nothing, so it fires one window early.
Lookahead scheduler dispatch windows: slightly late events dropped · case 01
Events a few milliseconds late are dropped instead of being dispatched immediately.
Lookahead scheduler dispatch windows: slightly late events dropped · case 02
Events a few milliseconds late are dropped instead of being dispatched immediately.
Lookahead scheduler dispatch windows: slightly late events dropped · case 03
Events a few milliseconds late are dropped instead of being dispatched immediately.
Lookahead scheduler dispatch windows: slightly late events dropped · case 04
Events a few milliseconds late are dropped instead of being dispatched immediately.
Lookahead scheduler dispatch windows: slightly late events dropped · case 05
Events a few milliseconds late are dropped instead of being dispatched immediately.
Lookahead scheduler dispatch windows: dropped events reported every window · case 01
A stale event is added to the dropped list again in every later window.
Lookahead scheduler dispatch windows: dropped events reported every window · case 02
A stale event is added to the dropped list again in every later window.
Lookahead scheduler dispatch windows: dropped events reported every window · case 03
A stale event is added to the dropped list again in every later window.
Lookahead scheduler dispatch windows: dropped events reported every window · case 04
A stale event is added to the dropped list again in every later window.
Lookahead scheduler dispatch windows: dropped events reported every window · case 05
A stale event is added to the dropped list again in every later window.
Lookahead scheduler dispatch windows: events dispatched in insertion order · case 01
Events inserted out of time order are dispatched out of order within a window.
Lookahead scheduler dispatch windows: events dispatched in insertion order · case 02
Events inserted out of time order are dispatched out of order within a window.
Lookahead scheduler dispatch windows: events dispatched in insertion order · case 03
Events inserted out of time order are dispatched out of order within a window.
Lookahead scheduler dispatch windows: events dispatched in insertion order · case 04
Events inserted out of time order are dispatched out of order within a window.
Lookahead scheduler dispatch windows: events dispatched in insertion order · case 05
Events inserted out of time order are dispatched out of order within a window.
14-bit pitch bend to cents: centre position reads as a small upward bend · case 01
The neutral bend (lsb 0, msb 64) reports a nonzero offset instead of exactly 0 cents at wide ranges.
14-bit pitch bend to cents: centre position reads as a small upward bend · case 02
The neutral bend (lsb 0, msb 64) reports a nonzero offset instead of exactly 0 cents at wide ranges.
14-bit pitch bend to cents: centre position reads as a small upward bend · case 03
The neutral bend (lsb 0, msb 64) reports a nonzero offset instead of exactly 0 cents at wide ranges.
14-bit pitch bend to cents: centre position reads as a small upward bend · case 04
The neutral bend (lsb 0, msb 64) reports a nonzero offset instead of exactly 0 cents at wide ranges.
14-bit pitch bend to cents: centre position reads as a small upward bend · case 05
The neutral bend (lsb 0, msb 64) reports a nonzero offset instead of exactly 0 cents at wide ranges.
14-bit pitch bend to cents: maximum bend falls short of the range · case 01
Full upward bend (127, 127) on a 48-semitone MPE range reports 4799 cents instead of exactly 4800.
14-bit pitch bend to cents: maximum bend falls short of the range · case 02
Full upward bend (127, 127) on a 48-semitone MPE range reports 4799 cents instead of exactly 4800.
14-bit pitch bend to cents: maximum bend falls short of the range · case 03
Full upward bend (127, 127) on a 48-semitone MPE range reports 4799 cents instead of exactly 4800.
14-bit pitch bend to cents: maximum bend falls short of the range · case 04
Full upward bend (127, 127) on a 48-semitone MPE range reports 4799 cents instead of exactly 4800.
14-bit pitch bend to cents: maximum bend falls short of the range · case 05
Full upward bend (127, 127) on a 48-semitone MPE range reports 4799 cents instead of exactly 4800.
14-bit pitch bend to cents: cents truncated · case 01
A bend worth 12.5 cents reports 12 and fractional values always shrink toward zero.
14-bit pitch bend to cents: cents truncated · case 02
A bend worth 12.5 cents reports 12 and fractional values always shrink toward zero.
14-bit pitch bend to cents: cents truncated · case 03
A bend worth 12.5 cents reports 12 and fractional values always shrink toward zero.
14-bit pitch bend to cents: cents truncated · case 04
A bend worth 12.5 cents reports 12 and fractional values always shrink toward zero.
14-bit pitch bend to cents: cents truncated · case 05
A bend worth 12.5 cents reports 12 and fractional values always shrink toward zero.
14-bit pitch bend to cents: eight-bit data bytes accepted · case 01
A data byte of 128 (a status byte) is accepted and folded into the bend value.
14-bit pitch bend to cents: eight-bit data bytes accepted · case 02
A data byte of 128 (a status byte) is accepted and folded into the bend value.
14-bit pitch bend to cents: eight-bit data bytes accepted · case 03
A data byte of 128 (a status byte) is accepted and folded into the bend value.
14-bit pitch bend to cents: eight-bit data bytes accepted · case 04
A data byte of 128 (a status byte) is accepted and folded into the bend value.
14-bit pitch bend to cents: eight-bit data bytes accepted · case 05
A data byte of 128 (a status byte) is accepted and folded into the bend value.
Sustain pedal note-off deferral: controller value 64 treated as pedal up · case 01
A pedal sending exactly 64 does not sustain: notes end at their note-off.
Sustain pedal note-off deferral: controller value 64 treated as pedal up · case 02
A pedal sending exactly 64 does not sustain: notes end at their note-off.
Sustain pedal note-off deferral: controller value 64 treated as pedal up · case 03
A pedal sending exactly 64 does not sustain: notes end at their note-off.
Sustain pedal note-off deferral: controller value 64 treated as pedal up · case 04
A pedal sending exactly 64 does not sustain: notes end at their note-off.
Sustain pedal note-off deferral: controller value 64 treated as pedal up · case 05
A pedal sending exactly 64 does not sustain: notes end at their note-off.
Sustain pedal note-off deferral: re-struck sustained note released early by the pedal · case 01
A note re-struck while sustained, and still held by the key, is cut off when the pedal lifts.
Sustain pedal note-off deferral: re-struck sustained note released early by the pedal · case 02
A note re-struck while sustained, and still held by the key, is cut off when the pedal lifts.
Sustain pedal note-off deferral: re-struck sustained note released early by the pedal · case 03
A note re-struck while sustained, and still held by the key, is cut off when the pedal lifts.
Sustain pedal note-off deferral: re-struck sustained note released early by the pedal · case 04
A note re-struck while sustained, and still held by the key, is cut off when the pedal lifts.
Sustain pedal note-off deferral: re-struck sustained note released early by the pedal · case 05
A note re-struck while sustained, and still held by the key, is cut off when the pedal lifts.
Sustain pedal note-off deferral: overlapping re-strike overwrites the earlier note · case 01
Striking a note again while its key is still down loses the first instance entirely.
Sustain pedal note-off deferral: overlapping re-strike overwrites the earlier note · case 02
Striking a note again while its key is still down loses the first instance entirely.
Sustain pedal note-off deferral: overlapping re-strike overwrites the earlier note · case 03
Striking a note again while its key is still down loses the first instance entirely.
Sustain pedal note-off deferral: overlapping re-strike overwrites the earlier note · case 04
Striking a note again while its key is still down loses the first instance entirely.
Sustain pedal note-off deferral: overlapping re-strike overwrites the earlier note · case 05
Striking a note again while its key is still down loses the first instance entirely.
Sustain pedal note-off deferral: notes sounding at the end vanish · case 01
Notes still held by the key or pedal when the events end are missing from the output.
Sustain pedal note-off deferral: notes sounding at the end vanish · case 02
Notes still held by the key or pedal when the events end are missing from the output.
Sustain pedal note-off deferral: notes sounding at the end vanish · case 03
Notes still held by the key or pedal when the events end are missing from the output.
Sustain pedal note-off deferral: notes sounding at the end vanish · case 04
Notes still held by the key or pedal when the events end are missing from the output.
Sustain pedal note-off deferral: notes sounding at the end vanish · case 05
Notes still held by the key or pedal when the events end are missing from the output.
Loop-region playback event firing: loop wraps to the song start · case 01
After the first pass the song position jumps to tick 0 instead of the loop start, replaying the intro.
Loop-region playback event firing: loop wraps to the song start · case 02
After the first pass the song position jumps to tick 0 instead of the loop start, replaying the intro.
Loop-region playback event firing: loop wraps to the song start · case 03
After the first pass the song position jumps to tick 0 instead of the loop start, replaying the intro.
Loop-region playback event firing: loop wraps to the song start · case 04
After the first pass the song position jumps to tick 0 instead of the loop start, replaying the intro.
Loop-region playback event firing: loop wraps to the song start · case 05
After the first pass the song position jumps to tick 0 instead of the loop start, replaying the intro.
Loop-region playback event firing: loop length counted inclusively · case 01
Each loop pass is one tick too long, so events drift later on every repetition.
Loop-region playback event firing: loop length counted inclusively · case 02
Each loop pass is one tick too long, so events drift later on every repetition.
Loop-region playback event firing: loop length counted inclusively · case 03
Each loop pass is one tick too long, so events drift later on every repetition.
Loop-region playback event firing: loop length counted inclusively · case 04
Each loop pass is one tick too long, so events drift later on every repetition.
Loop-region playback event firing: loop length counted inclusively · case 05
Each loop pass is one tick too long, so events drift later on every repetition.
Loop-region playback event firing: playback may start on the loop end · case 01
Starting playback exactly at the loop end is accepted and immediately wraps, instead of being rejected.
Loop-region playback event firing: playback may start on the loop end · case 02
Starting playback exactly at the loop end is accepted and immediately wraps, instead of being rejected.
Loop-region playback event firing: playback may start on the loop end · case 03
Starting playback exactly at the loop end is accepted and immediately wraps, instead of being rejected.
Loop-region playback event firing: playback may start on the loop end · case 04
Starting playback exactly at the loop end is accepted and immediately wraps, instead of being rejected.
Loop-region playback event firing: playback may start on the loop end · case 05
Starting playback exactly at the loop end is accepted and immediately wraps, instead of being rejected.
Tick resolution conversion preserving note length: converted ticks truncated · case 01
Events that fall between target ticks always move earlier, e.g. tick 3 at 2:1 becomes 1 instead of 2.
Tick resolution conversion preserving note length: converted ticks truncated · case 02
Events that fall between target ticks always move earlier, e.g. tick 3 at 2:1 becomes 1 instead of 2.
Tick resolution conversion preserving note length: converted ticks truncated · case 03
Events that fall between target ticks always move earlier, e.g. tick 3 at 2:1 becomes 1 instead of 2.
Tick resolution conversion preserving note length: converted ticks truncated · case 04
Events that fall between target ticks always move earlier, e.g. tick 3 at 2:1 becomes 1 instead of 2.
Tick resolution conversion preserving note length: converted ticks truncated · case 05
Events that fall between target ticks always move earlier, e.g. tick 3 at 2:1 becomes 1 instead of 2.
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 ↗