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-79301

Canonicalisation never considers the transpose · case 01

Transposed copies of a square image are not recognised as duplicates.

Image orientation metadata● Open access↗
FA-79302

Canonicalisation never considers the transpose · case 02

Transposed copies of a square image are not recognised as duplicates.

Image orientation metadata◈ Members↗
FA-79303

Canonicalisation never considers the transpose · case 03

Transposed copies of a square image are not recognised as duplicates.

Image orientation metadata◈ Members↗
FA-79304

Canonicalisation never considers the transpose · case 04

Transposed copies of a square image are not recognised as duplicates.

Image orientation metadata◈ Members↗
FA-79305

Canonicalisation never considers the transpose · case 05

Transposed copies of a square image are not recognised as duplicates.

Image orientation metadata◈ Members↗
FA-79306

Canonical key flattens the grid column by column · case 01

Two services computing the canonical form disagree because one flattens column-major.

Image orientation metadata● Open access↗
FA-79307

Canonical key flattens the grid column by column · case 02

Two services computing the canonical form disagree because one flattens column-major.

Image orientation metadata◈ Members↗
FA-79308

Canonical key flattens the grid column by column · case 03

Two services computing the canonical form disagree because one flattens column-major.

Image orientation metadata◈ Members↗
FA-79309

Canonical key flattens the grid column by column · case 04

Two services computing the canonical form disagree because one flattens column-major.

Image orientation metadata◈ Members↗
FA-79310

Canonical key flattens the grid column by column · case 05

Two services computing the canonical form disagree because one flattens column-major.

Image orientation metadata◈ Members↗
FA-79311

Canonical restore tag treats quarter turns as self-inverse · case 01

Restoring a deduplicated photo turns it a half turn away from the upload.

Image orientation metadata● Open access↗
FA-79312

Canonical restore tag treats quarter turns as self-inverse · case 02

Restoring a deduplicated photo turns it a half turn away from the upload.

Image orientation metadata◈ Members↗
FA-79313

Canonical restore tag treats quarter turns as self-inverse · case 03

Restoring a deduplicated photo turns it a half turn away from the upload.

Image orientation metadata◈ Members↗
FA-79314

Canonical restore tag treats quarter turns as self-inverse · case 04

Restoring a deduplicated photo turns it a half turn away from the upload.

Image orientation metadata◈ Members↗
FA-79315

Canonical restore tag treats quarter turns as self-inverse · case 05

Restoring a deduplicated photo turns it a half turn away from the upload.

Image orientation metadata◈ Members↗
FA-79316

Sidecar loses to the file when both were saved in the same second · case 01

Rotations made in the manager revert after an export that touched both files within one second.

Image orientation metadata● Open access↗
FA-79317

Sidecar loses to the file when both were saved in the same second · case 02

Rotations made in the manager revert after an export that touched both files within one second.

Image orientation metadata◈ Members↗
FA-79318

Sidecar loses to the file when both were saved in the same second · case 03

Rotations made in the manager revert after an export that touched both files within one second.

Image orientation metadata◈ Members↗
FA-79319

Sidecar loses to the file when both were saved in the same second · case 04

Rotations made in the manager revert after an export that touched both files within one second.

Image orientation metadata◈ Members↗
FA-79320

Sidecar loses to the file when both were saved in the same second · case 05

Rotations made in the manager revert after an export that touched both files within one second.

Image orientation metadata◈ Members↗
FA-79321

Invalid sidecar orientation blocks the embedded fallback · case 01

A sidecar with orientation 0 or text garbage overrides a valid embedded tag.

Image orientation metadata● Open access↗
FA-79322

Invalid sidecar orientation blocks the embedded fallback · case 02

A sidecar with orientation 0 or text garbage overrides a valid embedded tag.

Image orientation metadata◈ Members↗
FA-79323

Invalid sidecar orientation blocks the embedded fallback · case 03

A sidecar with orientation 0 or text garbage overrides a valid embedded tag.

Image orientation metadata◈ Members↗
FA-79324

Invalid sidecar orientation blocks the embedded fallback · case 04

A sidecar with orientation 0 or text garbage overrides a valid embedded tag.

Image orientation metadata◈ Members↗
FA-79325

Invalid sidecar orientation blocks the embedded fallback · case 05

A sidecar with orientation 0 or text garbage overrides a valid embedded tag.

Image orientation metadata◈ Members↗
FA-79326

Unknown reconciliation policy prefers the embedded tag · case 01

Libraries migrated from an older config with policy "latest" ignore newer sidecar edits.

Image orientation metadata● Open access↗
FA-79327

Unknown reconciliation policy prefers the embedded tag · case 02

Libraries migrated from an older config with policy "latest" ignore newer sidecar edits.

Image orientation metadata◈ Members↗
FA-79328

Unknown reconciliation policy prefers the embedded tag · case 03

Libraries migrated from an older config with policy "latest" ignore newer sidecar edits.

Image orientation metadata◈ Members↗
FA-79329

Unknown reconciliation policy prefers the embedded tag · case 04

Libraries migrated from an older config with policy "latest" ignore newer sidecar edits.

Image orientation metadata◈ Members↗
FA-79330

Unknown reconciliation policy prefers the embedded tag · case 05

Libraries migrated from an older config with policy "latest" ignore newer sidecar edits.

Image orientation metadata◈ Members↗
FA-79331

Embedded-first policy never falls back to the sidecar · case 01

Files without an embedded tag display unrotated even though the sidecar holds a valid orientation.

Image orientation metadata● Open access↗
FA-79332

Embedded-first policy never falls back to the sidecar · case 02

Files without an embedded tag display unrotated even though the sidecar holds a valid orientation.

Image orientation metadata◈ Members↗
FA-79333

Embedded-first policy never falls back to the sidecar · case 03

Files without an embedded tag display unrotated even though the sidecar holds a valid orientation.

Image orientation metadata◈ Members↗
FA-79334

Embedded-first policy never falls back to the sidecar · case 04

Files without an embedded tag display unrotated even though the sidecar holds a valid orientation.

Image orientation metadata◈ Members↗
FA-79335

Embedded-first policy never falls back to the sidecar · case 05

Files without an embedded tag display unrotated even though the sidecar holds a valid orientation.

Image orientation metadata◈ Members↗
FA-79336

Padded sidecar text orientation is rejected · case 01

Sidecars written with a leading space are ignored.

Image orientation metadata● Open access↗
FA-79337

Padded sidecar text orientation is rejected · case 02

Sidecars written with a leading space are ignored.

Image orientation metadata◈ Members↗
FA-79338

Padded sidecar text orientation is rejected · case 03

Sidecars written with a leading space are ignored.

Image orientation metadata◈ Members↗
FA-79339

Padded sidecar text orientation is rejected · case 04

Sidecars written with a leading space are ignored.

Image orientation metadata◈ Members↗
FA-79340

Padded sidecar text orientation is rejected · case 05

Sidecars written with a leading space are ignored.

Image orientation metadata◈ Members↗
FA-79341

EAN-13 even-parity set is built by reversing the L codes · case 01

Labels whose leading digit is not 0 scan as invalid because every G-coded digit starts with a bar.

Barcode symbology encoding● Open access↗
FA-79342

EAN-13 even-parity set is built by reversing the L codes · case 02

Labels whose leading digit is not 0 scan as invalid because every G-coded digit starts with a bar.

Barcode symbology encoding◈ Members↗
FA-79343

EAN-13 even-parity set is built by reversing the L codes · case 03

Labels whose leading digit is not 0 scan as invalid because every G-coded digit starts with a bar.

Barcode symbology encoding◈ Members↗
FA-79344

EAN-13 even-parity set is built by reversing the L codes · case 04

Labels whose leading digit is not 0 scan as invalid because every G-coded digit starts with a bar.

Barcode symbology encoding◈ Members↗
FA-79345

EAN-13 even-parity set is built by reversing the L codes · case 05

Labels whose leading digit is not 0 scan as invalid because every G-coded digit starts with a bar.

Barcode symbology encoding◈ Members↗
FA-79346

EAN-13 parity rows for leading digits 7 and 8 are exchanged · case 01

Codes starting with 7 decode as starting with 8 and vice versa, silently changing the country prefix.

Barcode symbology encoding● Open access↗
FA-79347

EAN-13 parity rows for leading digits 7 and 8 are exchanged · case 02

Codes starting with 7 decode as starting with 8 and vice versa, silently changing the country prefix.

Barcode symbology encoding◈ Members↗
FA-79348

EAN-13 parity rows for leading digits 7 and 8 are exchanged · case 03

Codes starting with 7 decode as starting with 8 and vice versa, silently changing the country prefix.

Barcode symbology encoding◈ Members↗
FA-79349

EAN-13 parity rows for leading digits 7 and 8 are exchanged · case 04

Codes starting with 7 decode as starting with 8 and vice versa, silently changing the country prefix.

Barcode symbology encoding◈ Members↗
FA-79350

EAN-13 parity rows for leading digits 7 and 8 are exchanged · case 05

Codes starting with 7 decode as starting with 8 and vice versa, silently changing the country prefix.

Barcode symbology encoding◈ Members↗
FA-79351

EAN-13 left half encodes the implied leading digit · case 01

The encoded symbol repeats the first digit and drops the seventh.

Barcode symbology encoding● Open access↗
FA-79352

EAN-13 left half encodes the implied leading digit · case 02

The encoded symbol repeats the first digit and drops the seventh.

Barcode symbology encoding◈ Members↗
FA-79353

EAN-13 left half encodes the implied leading digit · case 03

The encoded symbol repeats the first digit and drops the seventh.

Barcode symbology encoding◈ Members↗
FA-79354

EAN-13 left half encodes the implied leading digit · case 04

The encoded symbol repeats the first digit and drops the seventh.

Barcode symbology encoding◈ Members↗
FA-79355

EAN-13 left half encodes the implied leading digit · case 05

The encoded symbol repeats the first digit and drops the seventh.

Barcode symbology encoding◈ Members↗
FA-79356

EAN-13 centre guard starts with a bar · case 01

Scanners reject every symbol because the centre guard pattern is inverted.

Barcode symbology encoding● Open access↗
FA-79357

EAN-13 centre guard starts with a bar · case 02

Scanners reject every symbol because the centre guard pattern is inverted.

Barcode symbology encoding◈ Members↗
FA-79358

EAN-13 centre guard starts with a bar · case 03

Scanners reject every symbol because the centre guard pattern is inverted.

Barcode symbology encoding◈ Members↗
FA-79359

EAN-13 centre guard starts with a bar · case 04

Scanners reject every symbol because the centre guard pattern is inverted.

Barcode symbology encoding◈ Members↗
FA-79360

EAN-13 centre guard starts with a bar · case 05

Scanners reject every symbol because the centre guard pattern is inverted.

Barcode symbology encoding◈ Members↗
FA-79361

EAN-13 right half is shifted by one digit · case 01

The seventh digit is encoded twice and the check digit is missing.

Barcode symbology encoding● Open access↗
FA-79362

EAN-13 right half is shifted by one digit · case 02

The seventh digit is encoded twice and the check digit is missing.

Barcode symbology encoding◈ Members↗
FA-79363

EAN-13 right half is shifted by one digit · case 03

The seventh digit is encoded twice and the check digit is missing.

Barcode symbology encoding◈ Members↗
FA-79364

EAN-13 right half is shifted by one digit · case 04

The seventh digit is encoded twice and the check digit is missing.

Barcode symbology encoding◈ Members↗
FA-79365

EAN-13 right half is shifted by one digit · case 05

The seventh digit is encoded twice and the check digit is missing.

Barcode symbology encoding◈ Members↗
FA-79366

EAN-13 encoder accepts non-ASCII digits · case 01

Full-width or Arabic-Indic digits pasted from documents are encoded as if they were ASCII.

Barcode symbology encoding● Open access↗
FA-79367

EAN-13 encoder accepts non-ASCII digits · case 02

Full-width or Arabic-Indic digits pasted from documents are encoded as if they were ASCII.

Barcode symbology encoding◈ Members↗
FA-79368

EAN-13 encoder accepts non-ASCII digits · case 03

Full-width or Arabic-Indic digits pasted from documents are encoded as if they were ASCII.

Barcode symbology encoding◈ Members↗
FA-79369

EAN-13 encoder accepts non-ASCII digits · case 04

Full-width or Arabic-Indic digits pasted from documents are encoded as if they were ASCII.

Barcode symbology encoding◈ Members↗
FA-79370

EAN-13 encoder accepts non-ASCII digits · case 05

Full-width or Arabic-Indic digits pasted from documents are encoded as if they were ASCII.

Barcode symbology encoding◈ Members↗
FA-79371

UPC-E expansion applies the 0-2 rule to a final 3 · case 01

Compressed codes ending in 3 expand to a different manufacturer number.

Barcode symbology encoding● Open access↗
FA-79372

UPC-E expansion applies the 0-2 rule to a final 3 · case 02

Compressed codes ending in 3 expand to a different manufacturer number.

Barcode symbology encoding◈ Members↗
FA-79373

UPC-E expansion applies the 0-2 rule to a final 3 · case 03

Compressed codes ending in 3 expand to a different manufacturer number.

Barcode symbology encoding◈ Members↗
FA-79374

UPC-E expansion applies the 0-2 rule to a final 3 · case 04

Compressed codes ending in 3 expand to a different manufacturer number.

Barcode symbology encoding◈ Members↗
FA-79375

UPC-E expansion applies the 0-2 rule to a final 3 · case 05

Compressed codes ending in 3 expand to a different manufacturer number.

Barcode symbology encoding◈ Members↗
FA-79376

UPC-E rule 3 keeps four manufacturer digits · case 01

Items whose code ends in 3 are looked up under the wrong product.

Barcode symbology encoding● Open access↗
FA-79377

UPC-E rule 3 keeps four manufacturer digits · case 02

Items whose code ends in 3 are looked up under the wrong product.

Barcode symbology encoding◈ Members↗
FA-79378

UPC-E rule 3 keeps four manufacturer digits · case 03

Items whose code ends in 3 are looked up under the wrong product.

Barcode symbology encoding◈ Members↗
FA-79379

UPC-E rule 3 keeps four manufacturer digits · case 04

Items whose code ends in 3 are looked up under the wrong product.

Barcode symbology encoding◈ Members↗
FA-79380

UPC-E rule 3 keeps four manufacturer digits · case 05

Items whose code ends in 3 are looked up under the wrong product.

Barcode symbology encoding◈ Members↗
FA-79381

UPC-E rule 4 uses the three-digit manufacturer layout · case 01

Codes ending in 4 collide with codes ending in 3.

Barcode symbology encoding● Open access↗
FA-79382

UPC-E rule 4 uses the three-digit manufacturer layout · case 02

Codes ending in 4 collide with codes ending in 3.

Barcode symbology encoding◈ Members↗
FA-79383

UPC-E rule 4 uses the three-digit manufacturer layout · case 03

Codes ending in 4 collide with codes ending in 3.

Barcode symbology encoding◈ Members↗
FA-79384

UPC-E rule 4 uses the three-digit manufacturer layout · case 04

Codes ending in 4 collide with codes ending in 3.

Barcode symbology encoding◈ Members↗
FA-79385

UPC-E rule 4 uses the three-digit manufacturer layout · case 05

Codes ending in 4 collide with codes ending in 3.

Barcode symbology encoding◈ Members↗
FA-79386

UPC-E rule 5-9 places the final digit in the manufacturer number · case 01

Codes ending in 5 through 9 expand to six-digit manufacturer prefixes.

Barcode symbology encoding● Open access↗
FA-79387

UPC-E rule 5-9 places the final digit in the manufacturer number · case 02

Codes ending in 5 through 9 expand to six-digit manufacturer prefixes.

Barcode symbology encoding◈ Members↗
FA-79388

UPC-E rule 5-9 places the final digit in the manufacturer number · case 03

Codes ending in 5 through 9 expand to six-digit manufacturer prefixes.

Barcode symbology encoding◈ Members↗
FA-79389

UPC-E rule 5-9 places the final digit in the manufacturer number · case 04

Codes ending in 5 through 9 expand to six-digit manufacturer prefixes.

Barcode symbology encoding◈ Members↗
FA-79390

UPC-E rule 5-9 places the final digit in the manufacturer number · case 05

Codes ending in 5 through 9 expand to six-digit manufacturer prefixes.

Barcode symbology encoding◈ Members↗
FA-79391

UPC-E expansion accepts number systems other than 0 and 1 · case 01

Mistyped codes with a leading 2 are expanded to UPC-A instead of being rejected.

Barcode symbology encoding● Open access↗
FA-79392

UPC-E expansion accepts number systems other than 0 and 1 · case 02

Mistyped codes with a leading 2 are expanded to UPC-A instead of being rejected.

Barcode symbology encoding◈ Members↗
FA-79393

UPC-E expansion accepts number systems other than 0 and 1 · case 03

Mistyped codes with a leading 2 are expanded to UPC-A instead of being rejected.

Barcode symbology encoding◈ Members↗
FA-79394

UPC-E expansion accepts number systems other than 0 and 1 · case 04

Mistyped codes with a leading 2 are expanded to UPC-A instead of being rejected.

Barcode symbology encoding◈ Members↗
FA-79395

UPC-E expansion accepts number systems other than 0 and 1 · case 05

Mistyped codes with a leading 2 are expanded to UPC-A instead of being rejected.

Barcode symbology encoding◈ Members↗
FA-79396

Code 128 start set is chosen from the total digit count · case 01

Data such as "A1B2C3D4" starts in set C and immediately needs a switch, producing a longer symbol.

Barcode symbology encoding● Open access↗
FA-79397

Code 128 start set is chosen from the total digit count · case 02

Data such as "A1B2C3D4" starts in set C and immediately needs a switch, producing a longer symbol.

Barcode symbology encoding◈ Members↗
FA-79398

Code 128 start set is chosen from the total digit count · case 03

Data such as "A1B2C3D4" starts in set C and immediately needs a switch, producing a longer symbol.

Barcode symbology encoding◈ Members↗
FA-79399

Code 128 start set is chosen from the total digit count · case 04

Data such as "A1B2C3D4" starts in set C and immediately needs a switch, producing a longer symbol.

Barcode symbology encoding◈ Members↗
FA-79400

Code 128 start set is chosen from the total digit count · case 05

Data such as "A1B2C3D4" starts in set C and immediately needs a switch, producing a longer symbol.

Barcode symbology encoding◈ 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 ↗