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
Parallel fifths and octaves between two voices: compound fifths and octaves missed · case 01
Parallel twelfths (G5 over C4 moving to A5 over D4) and parallel double octaves are not reported.
Parallel fifths and octaves between two voices: compound fifths and octaves missed · case 02
Parallel twelfths (G5 over C4 moving to A5 over D4) and parallel double octaves are not reported.
Parallel fifths and octaves between two voices: compound fifths and octaves missed · case 03
Parallel twelfths (G5 over C4 moving to A5 over D4) and parallel double octaves are not reported.
Parallel fifths and octaves between two voices: compound fifths and octaves missed · case 04
Parallel twelfths (G5 over C4 moving to A5 over D4) and parallel double octaves are not reported.
Parallel fifths and octaves between two voices: compound fifths and octaves missed · case 05
Parallel twelfths (G5 over C4 moving to A5 over D4) and parallel double octaves are not reported.
Parallel fifths and octaves between two voices: oblique motion into a perfect interval flagged · case 01
An octave to a compound octave by a leap in one voice while the other holds (C5/C4 to C6/C4) is flagged as parallel.
Parallel fifths and octaves between two voices: oblique motion into a perfect interval flagged · case 02
An octave to a compound octave by a leap in one voice while the other holds (C5/C4 to C6/C4) is flagged as parallel.
Parallel fifths and octaves between two voices: oblique motion into a perfect interval flagged · case 03
An octave to a compound octave by a leap in one voice while the other holds (C5/C4 to C6/C4) is flagged as parallel.
Parallel fifths and octaves between two voices: oblique motion into a perfect interval flagged · case 04
An octave to a compound octave by a leap in one voice while the other holds (C5/C4 to C6/C4) is flagged as parallel.
Parallel fifths and octaves between two voices: oblique motion into a perfect interval flagged · case 05
An octave to a compound octave by a leap in one voice while the other holds (C5/C4 to C6/C4) is flagged as parallel.
Parallel fifths and octaves between two voices: contrary octaves by leap flagged as parallel · case 01
Contrary motion from an octave to a compound octave (C5 over C4 to G5 over G3) is reported as parallel octaves.
Parallel fifths and octaves between two voices: contrary octaves by leap flagged as parallel · case 02
Contrary motion from an octave to a compound octave (C5 over C4 to G5 over G3) is reported as parallel octaves.
Parallel fifths and octaves between two voices: contrary octaves by leap flagged as parallel · case 03
Contrary motion from an octave to a compound octave (C5 over C4 to G5 over G3) is reported as parallel octaves.
Parallel fifths and octaves between two voices: contrary octaves by leap flagged as parallel · case 04
Contrary motion from an octave to a compound octave (C5 over C4 to G5 over G3) is reported as parallel octaves.
Parallel fifths and octaves between two voices: contrary octaves by leap flagged as parallel · case 05
Contrary motion from an octave to a compound octave (C5 over C4 to G5 over G3) is reported as parallel octaves.
Parallel fifths and octaves between two voices: fifth to octave counted as parallel · case 01
Similar motion from a fifth to an octave (G4/C4 to D5/D4) is reported as a parallel perfect interval.
Parallel fifths and octaves between two voices: fifth to octave counted as parallel · case 02
Similar motion from a fifth to an octave (G4/C4 to D5/D4) is reported as a parallel perfect interval.
Parallel fifths and octaves between two voices: fifth to octave counted as parallel · case 03
Similar motion from a fifth to an octave (G4/C4 to D5/D4) is reported as a parallel perfect interval.
Parallel fifths and octaves between two voices: fifth to octave counted as parallel · case 04
Similar motion from a fifth to an octave (G4/C4 to D5/D4) is reported as a parallel perfect interval.
Parallel fifths and octaves between two voices: fifth to octave counted as parallel · case 05
Similar motion from a fifth to an octave (G4/C4 to D5/D4) is reported as a parallel perfect interval.
Melody transposition fitted into an instrument range: melody filling the exact range rejected · case 01
A melody spanning exactly the instrument range (C4 to C5 into 60..72) is rejected.
Melody transposition fitted into an instrument range: melody filling the exact range rejected · case 02
A melody spanning exactly the instrument range (C4 to C5 into 60..72) is rejected.
Melody transposition fitted into an instrument range: melody filling the exact range rejected · case 03
A melody spanning exactly the instrument range (C4 to C5 into 60..72) is rejected.
Melody transposition fitted into an instrument range: melody filling the exact range rejected · case 04
A melody spanning exactly the instrument range (C4 to C5 into 60..72) is rejected.
Melody transposition fitted into an instrument range: melody filling the exact range rejected · case 05
A melody spanning exactly the instrument range (C4 to C5 into 60..72) is rejected.
Melody transposition fitted into an instrument range: lowest fitting octave chosen instead of nearest · case 01
A melody that already fits a wide range is dropped several octaves to the lowest register that still fits.
Melody transposition fitted into an instrument range: lowest fitting octave chosen instead of nearest · case 02
A melody that already fits a wide range is dropped several octaves to the lowest register that still fits.
Melody transposition fitted into an instrument range: lowest fitting octave chosen instead of nearest · case 03
A melody that already fits a wide range is dropped several octaves to the lowest register that still fits.
Melody transposition fitted into an instrument range: lowest fitting octave chosen instead of nearest · case 04
A melody that already fits a wide range is dropped several octaves to the lowest register that still fits.
Melody transposition fitted into an instrument range: lowest fitting octave chosen instead of nearest · case 05
A melody that already fits a wide range is dropped several octaves to the lowest register that still fits.
Melody transposition fitted into an instrument range: range endpoints treated as unplayable · case 01
A note exactly on the lowest or highest playable pitch forces an unnecessary octave shift or rejection.
Melody transposition fitted into an instrument range: range endpoints treated as unplayable · case 02
A note exactly on the lowest or highest playable pitch forces an unnecessary octave shift or rejection.
Melody transposition fitted into an instrument range: range endpoints treated as unplayable · case 03
A note exactly on the lowest or highest playable pitch forces an unnecessary octave shift or rejection.
Melody transposition fitted into an instrument range: range endpoints treated as unplayable · case 04
A note exactly on the lowest or highest playable pitch forces an unnecessary octave shift or rejection.
Melody transposition fitted into an instrument range: range endpoints treated as unplayable · case 05
A note exactly on the lowest or highest playable pitch forces an unnecessary octave shift or rejection.
Melody transposition fitted into an instrument range: octave shift applied to untransposed notes · case 01
The requested transposition is lost from the output; only the octave shift is applied.
Melody transposition fitted into an instrument range: octave shift applied to untransposed notes · case 02
The requested transposition is lost from the output; only the octave shift is applied.
Melody transposition fitted into an instrument range: octave shift applied to untransposed notes · case 03
The requested transposition is lost from the output; only the octave shift is applied.
Melody transposition fitted into an instrument range: octave shift applied to untransposed notes · case 04
The requested transposition is lost from the output; only the octave shift is applied.
Melody transposition fitted into an instrument range: octave shift applied to untransposed notes · case 05
The requested transposition is lost from the output; only the octave shift is applied.
Interval inversion by quality and number: octave reduced to unison before inverting · case 01
P8 inverts to P8 instead of P1 because the octave is first reduced to a unison.
Interval inversion by quality and number: octave reduced to unison before inverting · case 02
P8 inverts to P8 instead of P1 because the octave is first reduced to a unison.
Interval inversion by quality and number: octave reduced to unison before inverting · case 03
P8 inverts to P8 instead of P1 because the octave is first reduced to a unison.
Interval inversion by quality and number: octave reduced to unison before inverting · case 04
P8 inverts to P8 instead of P1 because the octave is first reduced to a unison.
Interval inversion by quality and number: octave reduced to unison before inverting · case 05
P8 inverts to P8 instead of P1 because the octave is first reduced to a unison.
Interval inversion by quality and number: inversion complement taken to eight · case 01
M3 inverts to m5 and P4 to P4: every inverted number is one too small.
Interval inversion by quality and number: inversion complement taken to eight · case 02
M3 inverts to m5 and P4 to P4: every inverted number is one too small.
Interval inversion by quality and number: inversion complement taken to eight · case 03
M3 inverts to m5 and P4 to P4: every inverted number is one too small.
Interval inversion by quality and number: inversion complement taken to eight · case 04
M3 inverts to m5 and P4 to P4: every inverted number is one too small.
Interval inversion by quality and number: inversion complement taken to eight · case 05
M3 inverts to m5 and P4 to P4: every inverted number is one too small.
Interval inversion by quality and number: octave excluded from perfect intervals · case 01
P8 and P15 are rejected while M8 would be accepted.
Interval inversion by quality and number: octave excluded from perfect intervals · case 02
P8 and P15 are rejected while M8 would be accepted.
Interval inversion by quality and number: octave excluded from perfect intervals · case 03
P8 and P15 are rejected while M8 would be accepted.
Interval inversion by quality and number: octave excluded from perfect intervals · case 04
P8 and P15 are rejected while M8 would be accepted.
Interval inversion by quality and number: octave excluded from perfect intervals · case 05
P8 and P15 are rejected while M8 would be accepted.
Interval inversion by quality and number: multi-letter qualities not parsed · case 01
Doubly augmented and doubly diminished intervals such as AA4 are rejected.
Interval inversion by quality and number: multi-letter qualities not parsed · case 02
Doubly augmented and doubly diminished intervals such as AA4 are rejected.
Interval inversion by quality and number: multi-letter qualities not parsed · case 03
Doubly augmented and doubly diminished intervals such as AA4 are rejected.
Interval inversion by quality and number: multi-letter qualities not parsed · case 04
Doubly augmented and doubly diminished intervals such as AA4 are rejected.
Interval inversion by quality and number: multi-letter qualities not parsed · case 05
Doubly augmented and doubly diminished intervals such as AA4 are rejected.
Diatonic step transposition within a major key: notes below the tonic truncated toward zero · case 01
Notes a few steps below the tonic jump up an octave after transposition (B3 up two steps in C gives D5).
Diatonic step transposition within a major key: notes below the tonic truncated toward zero · case 02
Notes a few steps below the tonic jump up an octave after transposition (B3 up two steps in C gives D5).
Diatonic step transposition within a major key: notes below the tonic truncated toward zero · case 03
Notes a few steps below the tonic jump up an octave after transposition (B3 up two steps in C gives D5).
Diatonic step transposition within a major key: notes below the tonic truncated toward zero · case 04
Notes a few steps below the tonic jump up an octave after transposition (B3 up two steps in C gives D5).
Diatonic step transposition within a major key: notes below the tonic truncated toward zero · case 05
Notes a few steps below the tonic jump up an octave after transposition (B3 up two steps in C gives D5).
Diatonic step transposition within a major key: no octave carry past the seventh degree · case 01
B4 up one step in C major gives C4 instead of C5: the result wraps within the original octave.
Diatonic step transposition within a major key: no octave carry past the seventh degree · case 02
B4 up one step in C major gives C4 instead of C5: the result wraps within the original octave.
Diatonic step transposition within a major key: no octave carry past the seventh degree · case 03
B4 up one step in C major gives C4 instead of C5: the result wraps within the original octave.
Diatonic step transposition within a major key: no octave carry past the seventh degree · case 04
B4 up one step in C major gives C4 instead of C5: the result wraps within the original octave.
Diatonic step transposition within a major key: no octave carry past the seventh degree · case 05
B4 up one step in C major gives C4 instead of C5: the result wraps within the original octave.
Diatonic step transposition within a major key: chromatic notes snapped to the scale · case 01
A C# in C major is silently lowered to C and transposed instead of rejecting the input.
Diatonic step transposition within a major key: chromatic notes snapped to the scale · case 02
A C# in C major is silently lowered to C and transposed instead of rejecting the input.
Diatonic step transposition within a major key: chromatic notes snapped to the scale · case 03
A C# in C major is silently lowered to C and transposed instead of rejecting the input.
Diatonic step transposition within a major key: chromatic notes snapped to the scale · case 04
A C# in C major is silently lowered to C and transposed instead of rejecting the input.
Diatonic step transposition within a major key: chromatic notes snapped to the scale · case 05
A C# in C major is silently lowered to C and transposed instead of rejecting the input.
Diatonic step transposition within a major key: scale degree estimated from semitones · case 01
F and every degree above E are assigned the wrong degree, so G up one step becomes G again.
Diatonic step transposition within a major key: scale degree estimated from semitones · case 02
F and every degree above E are assigned the wrong degree, so G up one step becomes G again.
Diatonic step transposition within a major key: scale degree estimated from semitones · case 03
F and every degree above E are assigned the wrong degree, so G up one step becomes G again.
Diatonic step transposition within a major key: scale degree estimated from semitones · case 04
F and every degree above E are assigned the wrong degree, so G up one step becomes G again.
Diatonic step transposition within a major key: scale degree estimated from semitones · case 05
F and every degree above E are assigned the wrong degree, so G up one step becomes G again.
Staff position and ledger lines for a clef: altered notes cannot be placed · case 01
C#4 or Bb3 are rejected as malformed even though accidentals do not change staff position.
Staff position and ledger lines for a clef: altered notes cannot be placed · case 02
C#4 or Bb3 are rejected as malformed even though accidentals do not change staff position.
Staff position and ledger lines for a clef: altered notes cannot be placed · case 03
C#4 or Bb3 are rejected as malformed even though accidentals do not change staff position.
Staff position and ledger lines for a clef: altered notes cannot be placed · case 04
C#4 or Bb3 are rejected as malformed even though accidentals do not change staff position.
Staff position and ledger lines for a clef: altered notes cannot be placed · case 05
C#4 or Bb3 are rejected as malformed even though accidentals do not change staff position.
Staff position and ledger lines for a clef: octaves weighted in semitones · case 01
Notes outside the reference octave land dozens of positions away (C5 in treble at position 18).
Staff position and ledger lines for a clef: octaves weighted in semitones · case 02
Notes outside the reference octave land dozens of positions away (C5 in treble at position 18).
Staff position and ledger lines for a clef: octaves weighted in semitones · case 03
Notes outside the reference octave land dozens of positions away (C5 in treble at position 18).
Staff position and ledger lines for a clef: octaves weighted in semitones · case 04
Notes outside the reference octave land dozens of positions away (C5 in treble at position 18).
Staff position and ledger lines for a clef: octaves weighted in semitones · case 05
Notes outside the reference octave land dozens of positions away (C5 in treble at position 18).
Staff position and ledger lines for a clef: lower ledger count rounded the wrong way · case 01
B3 in treble clef (just below middle C) reports two ledger lines instead of one.
Staff position and ledger lines for a clef: lower ledger count rounded the wrong way · case 02
B3 in treble clef (just below middle C) reports two ledger lines instead of one.
Staff position and ledger lines for a clef: lower ledger count rounded the wrong way · case 03
B3 in treble clef (just below middle C) reports two ledger lines instead of one.
Staff position and ledger lines for a clef: lower ledger count rounded the wrong way · case 04
B3 in treble clef (just below middle C) reports two ledger lines instead of one.
Staff position and ledger lines for a clef: lower ledger count rounded the wrong way · case 05
B3 in treble clef (just below middle C) reports two ledger lines instead of one.
Staff position and ledger lines for a clef: upper ledger count rounded up · case 01
G5 above the treble staff reports a ledger line although it sits on top of the staff.
Staff position and ledger lines for a clef: upper ledger count rounded up · case 02
G5 above the treble staff reports a ledger line although it sits on top of the staff.
Staff position and ledger lines for a clef: upper ledger count rounded up · case 03
G5 above the treble staff reports a ledger line although it sits on top of the staff.
Staff position and ledger lines for a clef: upper ledger count rounded up · case 04
G5 above the treble staff reports a ledger line although it sits on top of the staff.
Staff position and ledger lines for a clef: upper ledger count rounded up · case 05
G5 above the treble staff reports a ledger line although it sits on top of the staff.
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 ↗