FAILURE MAP

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 ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

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

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-81301

Staff position and ledger lines for a clef: alto clef anchored at its middle line · case 01

Middle C in alto clef is placed on the bottom line instead of the middle line.

Music interval and transposition theory● Open access↗
FA-81302

Staff position and ledger lines for a clef: alto clef anchored at its middle line · case 02

Middle C in alto clef is placed on the bottom line instead of the middle line.

Music interval and transposition theory◈ Members↗
FA-81303

Staff position and ledger lines for a clef: alto clef anchored at its middle line · case 03

Middle C in alto clef is placed on the bottom line instead of the middle line.

Music interval and transposition theory◈ Members↗
FA-81304

Staff position and ledger lines for a clef: alto clef anchored at its middle line · case 04

Middle C in alto clef is placed on the bottom line instead of the middle line.

Music interval and transposition theory◈ Members↗
FA-81305

Staff position and ledger lines for a clef: alto clef anchored at its middle line · case 05

Middle C in alto clef is placed on the bottom line instead of the middle line.

Music interval and transposition theory◈ Members↗
FA-81306

Movable-do chromatic solfege syllables: degree measured downward from the tonic · case 01

In C, the note D is sung te or li instead of re because the distance is measured from pitch to tonic.

Music interval and transposition theory● Open access↗
FA-81307

Movable-do chromatic solfege syllables: degree measured downward from the tonic · case 02

In C, the note D is sung te or li instead of re because the distance is measured from pitch to tonic.

Music interval and transposition theory◈ Members↗
FA-81308

Movable-do chromatic solfege syllables: degree measured downward from the tonic · case 03

In C, the note D is sung te or li instead of re because the distance is measured from pitch to tonic.

Music interval and transposition theory◈ Members↗
FA-81309

Movable-do chromatic solfege syllables: degree measured downward from the tonic · case 04

In C, the note D is sung te or li instead of re because the distance is measured from pitch to tonic.

Music interval and transposition theory◈ Members↗
FA-81310

Movable-do chromatic solfege syllables: degree measured downward from the tonic · case 05

In C, the note D is sung te or li instead of re because the distance is measured from pitch to tonic.

Music interval and transposition theory◈ Members↗
FA-81311

Movable-do chromatic solfege syllables: sharp and flat syllable sets swapped · case 01

Raised degrees are sung with flat syllables (ra, me) when sharp spelling is requested and vice versa.

Music interval and transposition theory● Open access↗
FA-81312

Movable-do chromatic solfege syllables: sharp and flat syllable sets swapped · case 02

Raised degrees are sung with flat syllables (ra, me) when sharp spelling is requested and vice versa.

Music interval and transposition theory◈ Members↗
FA-81313

Movable-do chromatic solfege syllables: sharp and flat syllable sets swapped · case 03

Raised degrees are sung with flat syllables (ra, me) when sharp spelling is requested and vice versa.

Music interval and transposition theory◈ Members↗
FA-81314

Movable-do chromatic solfege syllables: sharp and flat syllable sets swapped · case 04

Raised degrees are sung with flat syllables (ra, me) when sharp spelling is requested and vice versa.

Music interval and transposition theory◈ Members↗
FA-81315

Movable-do chromatic solfege syllables: sharp and flat syllable sets swapped · case 05

Raised degrees are sung with flat syllables (ra, me) when sharp spelling is requested and vice versa.

Music interval and transposition theory◈ Members↗
FA-81316

Movable-do chromatic solfege syllables: unknown spelling defaults to flats · case 01

An unknown spelling such as "weird" yields flat syllables instead of None.

Music interval and transposition theory● Open access↗
FA-81317

Movable-do chromatic solfege syllables: unknown spelling defaults to flats · case 02

An unknown spelling such as "weird" yields flat syllables instead of None.

Music interval and transposition theory◈ Members↗
FA-81318

Movable-do chromatic solfege syllables: unknown spelling defaults to flats · case 03

An unknown spelling such as "weird" yields flat syllables instead of None.

Music interval and transposition theory◈ Members↗
FA-81319

Movable-do chromatic solfege syllables: unknown spelling defaults to flats · case 04

An unknown spelling such as "weird" yields flat syllables instead of None.

Music interval and transposition theory◈ Members↗
FA-81320

Movable-do chromatic solfege syllables: unknown spelling defaults to flats · case 05

An unknown spelling such as "weird" yields flat syllables instead of None.

Music interval and transposition theory◈ Members↗
FA-81321

Triad and seventh inversion figures: first listed note taken as the bass · case 01

An unordered voicing such as [72,64,67] is reported in root position instead of first inversion.

Music interval and transposition theory● Open access↗
FA-81322

Triad and seventh inversion figures: first listed note taken as the bass · case 02

An unordered voicing such as [72,64,67] is reported in root position instead of first inversion.

Music interval and transposition theory◈ Members↗
FA-81323

Triad and seventh inversion figures: first listed note taken as the bass · case 03

An unordered voicing such as [72,64,67] is reported in root position instead of first inversion.

Music interval and transposition theory◈ Members↗
FA-81324

Triad and seventh inversion figures: first listed note taken as the bass · case 04

An unordered voicing such as [72,64,67] is reported in root position instead of first inversion.

Music interval and transposition theory◈ Members↗
FA-81325

Triad and seventh inversion figures: first listed note taken as the bass · case 05

An unordered voicing such as [72,64,67] is reported in root position instead of first inversion.

Music interval and transposition theory◈ Members↗
FA-81326

Triad and seventh inversion figures: doubled triad labelled as a seventh chord · case 01

A four-note triad with a doubled root (C E G C) is labelled with seventh figures ("7") instead of root position.

Music interval and transposition theory● Open access↗
FA-81327

Triad and seventh inversion figures: doubled triad labelled as a seventh chord · case 02

A four-note triad with a doubled root (C E G C) is labelled with seventh figures ("7") instead of root position.

Music interval and transposition theory◈ Members↗
FA-81328

Triad and seventh inversion figures: doubled triad labelled as a seventh chord · case 03

A four-note triad with a doubled root (C E G C) is labelled with seventh figures ("7") instead of root position.

Music interval and transposition theory◈ Members↗
FA-81329

Triad and seventh inversion figures: doubled triad labelled as a seventh chord · case 04

A four-note triad with a doubled root (C E G C) is labelled with seventh figures ("7") instead of root position.

Music interval and transposition theory◈ Members↗
FA-81330

Triad and seventh inversion figures: doubled triad labelled as a seventh chord · case 05

A four-note triad with a doubled root (C E G C) is labelled with seventh figures ("7") instead of root position.

Music interval and transposition theory◈ Members↗
FA-81331

Triad and seventh inversion figures: inversion figures swapped · case 01

First-inversion triads are labelled 64 and second-inversion triads 6.

Music interval and transposition theory● Open access↗
FA-81332

Triad and seventh inversion figures: inversion figures swapped · case 02

First-inversion triads are labelled 64 and second-inversion triads 6.

Music interval and transposition theory◈ Members↗
FA-81333

Triad and seventh inversion figures: inversion figures swapped · case 03

First-inversion triads are labelled 64 and second-inversion triads 6.

Music interval and transposition theory◈ Members↗
FA-81334

Triad and seventh inversion figures: inversion figures swapped · case 04

First-inversion triads are labelled 64 and second-inversion triads 6.

Music interval and transposition theory◈ Members↗
FA-81335

Triad and seventh inversion figures: inversion figures swapped · case 05

First-inversion triads are labelled 64 and second-inversion triads 6.

Music interval and transposition theory◈ Members↗
FA-81336

Triad and seventh inversion figures: fully diminished seventh unrecognised · case 01

Diminished seventh chords such as B D F Ab return None instead of a root and figure.

Music interval and transposition theory● Open access↗
FA-81337

Triad and seventh inversion figures: fully diminished seventh unrecognised · case 02

Diminished seventh chords such as B D F Ab return None instead of a root and figure.

Music interval and transposition theory◈ Members↗
FA-81338

Triad and seventh inversion figures: fully diminished seventh unrecognised · case 03

Diminished seventh chords such as B D F Ab return None instead of a root and figure.

Music interval and transposition theory◈ Members↗
FA-81339

Triad and seventh inversion figures: fully diminished seventh unrecognised · case 04

Diminished seventh chords such as B D F Ab return None instead of a root and figure.

Music interval and transposition theory◈ Members↗
FA-81340

Triad and seventh inversion figures: fully diminished seventh unrecognised · case 05

Diminished seventh chords such as B D F Ab return None instead of a root and figure.

Music interval and transposition theory◈ Members↗
FA-81341

Variable-length quantity delta encoder: leading bytes emitted without continuation flag · case 01

Delta 128 is written as [1, 0], which a reader decodes as two separate deltas 1 and 0.

MIDI event timing● Open access↗
FA-81342

Variable-length quantity delta encoder: leading bytes emitted without continuation flag · case 02

Delta 128 is written as [1, 0], which a reader decodes as two separate deltas 1 and 0.

MIDI event timing◈ Members↗
FA-81343

Variable-length quantity delta encoder: leading bytes emitted without continuation flag · case 03

Delta 128 is written as [1, 0], which a reader decodes as two separate deltas 1 and 0.

MIDI event timing◈ Members↗
FA-81344

Variable-length quantity delta encoder: leading bytes emitted without continuation flag · case 04

Delta 128 is written as [1, 0], which a reader decodes as two separate deltas 1 and 0.

MIDI event timing◈ Members↗
FA-81345

Variable-length quantity delta encoder: leading bytes emitted without continuation flag · case 05

Delta 128 is written as [1, 0], which a reader decodes as two separate deltas 1 and 0.

MIDI event timing◈ Members↗
FA-81346

Variable-length quantity delta encoder: groups emitted least significant first · case 01

Delta 128 is written as [0, 129]; the terminating byte comes first and the stream desynchronises.

MIDI event timing● Open access↗
FA-81347

Variable-length quantity delta encoder: groups emitted least significant first · case 02

Delta 128 is written as [0, 129]; the terminating byte comes first and the stream desynchronises.

MIDI event timing◈ Members↗
FA-81348

Variable-length quantity delta encoder: groups emitted least significant first · case 03

Delta 128 is written as [0, 129]; the terminating byte comes first and the stream desynchronises.

MIDI event timing◈ Members↗
FA-81349

Variable-length quantity delta encoder: groups emitted least significant first · case 04

Delta 128 is written as [0, 129]; the terminating byte comes first and the stream desynchronises.

MIDI event timing◈ Members↗
FA-81350

Variable-length quantity delta encoder: groups emitted least significant first · case 05

Delta 128 is written as [0, 129]; the terminating byte comes first and the stream desynchronises.

MIDI event timing◈ Members↗
FA-81351

Variable-length quantity delta encoder: five-byte deltas produced · case 01

Delta 0x10000000 is encoded as five bytes instead of being rejected.

MIDI event timing● Open access↗
FA-81352

Variable-length quantity delta encoder: five-byte deltas produced · case 02

Delta 0x10000000 is encoded as five bytes instead of being rejected.

MIDI event timing◈ Members↗
FA-81353

Variable-length quantity delta encoder: five-byte deltas produced · case 03

Delta 0x10000000 is encoded as five bytes instead of being rejected.

MIDI event timing◈ Members↗
FA-81354

Variable-length quantity delta encoder: five-byte deltas produced · case 04

Delta 0x10000000 is encoded as five bytes instead of being rejected.

MIDI event timing◈ Members↗
FA-81355

Variable-length quantity delta encoder: five-byte deltas produced · case 05

Delta 0x10000000 is encoded as five bytes instead of being rejected.

MIDI event timing◈ Members↗
FA-81356

Variable-length quantity delta encoder: zero delta encoded as no bytes · case 01

A zero delta between simultaneous events produces an empty byte list, so the next event byte is read as the delta.

MIDI event timing● Open access↗
FA-81357

Variable-length quantity delta encoder: zero delta encoded as no bytes · case 02

A zero delta between simultaneous events produces an empty byte list, so the next event byte is read as the delta.

MIDI event timing◈ Members↗
FA-81358

Variable-length quantity delta encoder: zero delta encoded as no bytes · case 03

A zero delta between simultaneous events produces an empty byte list, so the next event byte is read as the delta.

MIDI event timing◈ Members↗
FA-81359

Variable-length quantity delta encoder: zero delta encoded as no bytes · case 04

A zero delta between simultaneous events produces an empty byte list, so the next event byte is read as the delta.

MIDI event timing◈ Members↗
FA-81360

Variable-length quantity delta encoder: zero delta encoded as no bytes · case 05

A zero delta between simultaneous events produces an empty byte list, so the next event byte is read as the delta.

MIDI event timing◈ Members↗
FA-81361

Variable-length quantity stream decoder: continuation flag kept in the value · case 01

Every multi-byte delta decodes too large, e.g. [129, 0] reads as 16512 instead of 128.

MIDI event timing● Open access↗
FA-81362

Variable-length quantity stream decoder: continuation flag kept in the value · case 02

Every multi-byte delta decodes too large, e.g. [129, 0] reads as 16512 instead of 128.

MIDI event timing◈ Members↗
FA-81363

Variable-length quantity stream decoder: continuation flag kept in the value · case 03

Every multi-byte delta decodes too large, e.g. [129, 0] reads as 16512 instead of 128.

MIDI event timing◈ Members↗
FA-81364

Variable-length quantity stream decoder: continuation flag kept in the value · case 04

Every multi-byte delta decodes too large, e.g. [129, 0] reads as 16512 instead of 128.

MIDI event timing◈ Members↗
FA-81365

Variable-length quantity stream decoder: continuation flag kept in the value · case 05

Every multi-byte delta decodes too large, e.g. [129, 0] reads as 16512 instead of 128.

MIDI event timing◈ Members↗
FA-81366

Variable-length quantity stream decoder: five-byte quantity accepted · case 01

A malformed five-byte quantity is decoded as a 35-bit value instead of being rejected.

MIDI event timing● Open access↗
FA-81367

Variable-length quantity stream decoder: five-byte quantity accepted · case 02

A malformed five-byte quantity is decoded as a 35-bit value instead of being rejected.

MIDI event timing◈ Members↗
FA-81368

Variable-length quantity stream decoder: five-byte quantity accepted · case 03

A malformed five-byte quantity is decoded as a 35-bit value instead of being rejected.

MIDI event timing◈ Members↗
FA-81369

Variable-length quantity stream decoder: five-byte quantity accepted · case 04

A malformed five-byte quantity is decoded as a 35-bit value instead of being rejected.

MIDI event timing◈ Members↗
FA-81370

Variable-length quantity stream decoder: five-byte quantity accepted · case 05

A malformed five-byte quantity is decoded as a 35-bit value instead of being rejected.

MIDI event timing◈ Members↗
FA-81371

Variable-length quantity stream decoder: previous quantity bleeds into the next · case 01

In [0, 129, 0, 5] the second and third values absorb earlier bits instead of reading 128 and 5.

MIDI event timing● Open access↗
FA-81372

Variable-length quantity stream decoder: previous quantity bleeds into the next · case 02

In [0, 129, 0, 5] the second and third values absorb earlier bits instead of reading 128 and 5.

MIDI event timing◈ Members↗
FA-81373

Variable-length quantity stream decoder: previous quantity bleeds into the next · case 03

In [0, 129, 0, 5] the second and third values absorb earlier bits instead of reading 128 and 5.

MIDI event timing◈ Members↗
FA-81374

Variable-length quantity stream decoder: previous quantity bleeds into the next · case 04

In [0, 129, 0, 5] the second and third values absorb earlier bits instead of reading 128 and 5.

MIDI event timing◈ Members↗
FA-81375

Variable-length quantity stream decoder: previous quantity bleeds into the next · case 05

In [0, 129, 0, 5] the second and third values absorb earlier bits instead of reading 128 and 5.

MIDI event timing◈ Members↗
FA-81376

Variable-length quantity stream decoder: truncated final quantity silently dropped · case 01

A stream ending in a byte with the continuation bit set, like [129], returns [] instead of None.

MIDI event timing● Open access↗
FA-81377

Variable-length quantity stream decoder: truncated final quantity silently dropped · case 02

A stream ending in a byte with the continuation bit set, like [129], returns [] instead of None.

MIDI event timing◈ Members↗
FA-81378

Variable-length quantity stream decoder: truncated final quantity silently dropped · case 03

A stream ending in a byte with the continuation bit set, like [129], returns [] instead of None.

MIDI event timing◈ Members↗
FA-81379

Variable-length quantity stream decoder: truncated final quantity silently dropped · case 04

A stream ending in a byte with the continuation bit set, like [129], returns [] instead of None.

MIDI event timing◈ Members↗
FA-81380

Variable-length quantity stream decoder: truncated final quantity silently dropped · case 05

A stream ending in a byte with the continuation bit set, like [129], returns [] instead of None.

MIDI event timing◈ Members↗
FA-81381

Standard MIDI File header chunk reader: chunk length read little-endian · case 01

Every normal header (length 00 00 00 06) is rejected because the length reads as 100663296.

MIDI event timing● Open access↗
FA-81382

Standard MIDI File header chunk reader: chunk length read little-endian · case 02

Every normal header (length 00 00 00 06) is rejected because the length reads as 100663296.

MIDI event timing◈ Members↗
FA-81383

Standard MIDI File header chunk reader: chunk length read little-endian · case 03

Every normal header (length 00 00 00 06) is rejected because the length reads as 100663296.

MIDI event timing◈ Members↗
FA-81384

Standard MIDI File header chunk reader: chunk length read little-endian · case 04

Every normal header (length 00 00 00 06) is rejected because the length reads as 100663296.

MIDI event timing◈ Members↗
FA-81385

Standard MIDI File header chunk reader: chunk length read little-endian · case 05

Every normal header (length 00 00 00 06) is rejected because the length reads as 100663296.

MIDI event timing◈ Members↗
FA-81386

Standard MIDI File header chunk reader: negative frame rate masked instead of negated · case 01

Every SMPTE-timed file is rejected: 0xE8 (-24) is read as 104 frames per second.

MIDI event timing● Open access↗
FA-81387

Standard MIDI File header chunk reader: negative frame rate masked instead of negated · case 02

Every SMPTE-timed file is rejected: 0xE8 (-24) is read as 104 frames per second.

MIDI event timing◈ Members↗
FA-81388

Standard MIDI File header chunk reader: negative frame rate masked instead of negated · case 03

Every SMPTE-timed file is rejected: 0xE8 (-24) is read as 104 frames per second.

MIDI event timing◈ Members↗
FA-81389

Standard MIDI File header chunk reader: negative frame rate masked instead of negated · case 04

Every SMPTE-timed file is rejected: 0xE8 (-24) is read as 104 frames per second.

MIDI event timing◈ Members↗
FA-81390

Standard MIDI File header chunk reader: negative frame rate masked instead of negated · case 05

Every SMPTE-timed file is rejected: 0xE8 (-24) is read as 104 frames per second.

MIDI event timing◈ Members↗
FA-81391

Standard MIDI File header chunk reader: multi-track format 0 accepted · case 01

A format 0 header declaring two tracks is accepted instead of rejected.

MIDI event timing● Open access↗
FA-81392

Standard MIDI File header chunk reader: multi-track format 0 accepted · case 02

A format 0 header declaring two tracks is accepted instead of rejected.

MIDI event timing◈ Members↗
FA-81393

Standard MIDI File header chunk reader: multi-track format 0 accepted · case 03

A format 0 header declaring two tracks is accepted instead of rejected.

MIDI event timing◈ Members↗
FA-81394

Standard MIDI File header chunk reader: multi-track format 0 accepted · case 04

A format 0 header declaring two tracks is accepted instead of rejected.

MIDI event timing◈ Members↗
FA-81395

Standard MIDI File header chunk reader: multi-track format 0 accepted · case 05

A format 0 header declaring two tracks is accepted instead of rejected.

MIDI event timing◈ Members↗
FA-81396

Standard MIDI File header chunk reader: longer header chunks rejected · case 01

A header chunk declaring length 8 (with two extra bytes present) is rejected although extra bytes must be ignored.

MIDI event timing● Open access↗
FA-81397

Standard MIDI File header chunk reader: longer header chunks rejected · case 02

A header chunk declaring length 8 (with two extra bytes present) is rejected although extra bytes must be ignored.

MIDI event timing◈ Members↗
FA-81398

Standard MIDI File header chunk reader: longer header chunks rejected · case 03

A header chunk declaring length 8 (with two extra bytes present) is rejected although extra bytes must be ignored.

MIDI event timing◈ Members↗
FA-81399

Standard MIDI File header chunk reader: longer header chunks rejected · case 04

A header chunk declaring length 8 (with two extra bytes present) is rejected although extra bytes must be ignored.

MIDI event timing◈ Members↗
FA-81400

Standard MIDI File header chunk reader: longer header chunks rejected · case 05

A header chunk declaring length 8 (with two extra bytes present) is rejected although extra bytes must be ignored.

MIDI event timing◈ Members↗

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 ↗