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

Pad randomisation uses a zero-based position · case 01

Symbols with padding fail strict verification because every randomised pad is off by one position.

Barcode symbology encoding● Open access↗
FA-79802

Pad randomisation uses a zero-based position · case 02

Symbols with padding fail strict verification because every randomised pad is off by one position.

Barcode symbology encoding◈ Members↗
FA-79803

Pad randomisation uses a zero-based position · case 03

Symbols with padding fail strict verification because every randomised pad is off by one position.

Barcode symbology encoding◈ Members↗
FA-79804

Pad randomisation uses a zero-based position · case 04

Symbols with padding fail strict verification because every randomised pad is off by one position.

Barcode symbology encoding◈ Members↗
FA-79805

Pad randomisation uses a zero-based position · case 05

Symbols with padding fail strict verification because every randomised pad is off by one position.

Barcode symbology encoding◈ Members↗
FA-79806

First pad codeword is randomised · case 01

Decoders do not recognise the end of data because the first pad is not 129.

Barcode symbology encoding● Open access↗
FA-79807

First pad codeword is randomised · case 02

Decoders do not recognise the end of data because the first pad is not 129.

Barcode symbology encoding◈ Members↗
FA-79808

First pad codeword is randomised · case 03

Decoders do not recognise the end of data because the first pad is not 129.

Barcode symbology encoding◈ Members↗
FA-79809

First pad codeword is randomised · case 04

Decoders do not recognise the end of data because the first pad is not 129.

Barcode symbology encoding◈ Members↗
FA-79810

First pad codeword is randomised · case 05

Decoders do not recognise the end of data because the first pad is not 129.

Barcode symbology encoding◈ Members↗
FA-79811

Randomised pad wraps by 253 · case 01

Some pad codewords are one higher than the reference encoder produces.

Barcode symbology encoding● Open access↗
FA-79812

Randomised pad wraps by 253 · case 02

Some pad codewords are one higher than the reference encoder produces.

Barcode symbology encoding◈ Members↗
FA-79813

Randomised pad wraps by 253 · case 03

Some pad codewords are one higher than the reference encoder produces.

Barcode symbology encoding◈ Members↗
FA-79814

Randomised pad wraps by 253 · case 04

Some pad codewords are one higher than the reference encoder produces.

Barcode symbology encoding◈ Members↗
FA-79815

Randomised pad wraps by 253 · case 05

Some pad codewords are one higher than the reference encoder produces.

Barcode symbology encoding◈ Members↗
FA-79816

Pharmacode encodes values 1 and 2 · case 01

Single-bar codes are printed although scanners require at least two bars.

Barcode symbology encoding● Open access↗
FA-79817

Pharmacode encodes values 1 and 2 · case 02

Single-bar codes are printed although scanners require at least two bars.

Barcode symbology encoding◈ Members↗
FA-79818

Pharmacode encodes values 1 and 2 · case 03

Single-bar codes are printed although scanners require at least two bars.

Barcode symbology encoding◈ Members↗
FA-79819

Pharmacode encodes values 1 and 2 · case 04

Single-bar codes are printed although scanners require at least two bars.

Barcode symbology encoding◈ Members↗
FA-79820

Pharmacode encodes values 1 and 2 · case 05

Single-bar codes are printed although scanners require at least two bars.

Barcode symbology encoding◈ Members↗
FA-79821

Pharmacode accepts a seventeen-bar value · case 01

Value 131071 produces 17 narrow bars that exceed the symbol definition.

Barcode symbology encoding● Open access↗
FA-79822

Pharmacode accepts a seventeen-bar value · case 02

Value 131071 produces 17 narrow bars that exceed the symbol definition.

Barcode symbology encoding◈ Members↗
FA-79823

Pharmacode accepts a seventeen-bar value · case 03

Value 131071 produces 17 narrow bars that exceed the symbol definition.

Barcode symbology encoding◈ Members↗
FA-79824

Pharmacode accepts a seventeen-bar value · case 04

Value 131071 produces 17 narrow bars that exceed the symbol definition.

Barcode symbology encoding◈ Members↗
FA-79825

Pharmacode accepts a seventeen-bar value · case 05

Value 131071 produces 17 narrow bars that exceed the symbol definition.

Barcode symbology encoding◈ Members↗
FA-79826

Pharmacode assigns wide bars to odd values · case 01

Every package code scans as a different product number.

Barcode symbology encoding● Open access↗
FA-79827

Pharmacode assigns wide bars to odd values · case 02

Every package code scans as a different product number.

Barcode symbology encoding◈ Members↗
FA-79828

Pharmacode assigns wide bars to odd values · case 03

Every package code scans as a different product number.

Barcode symbology encoding◈ Members↗
FA-79829

Pharmacode assigns wide bars to odd values · case 04

Every package code scans as a different product number.

Barcode symbology encoding◈ Members↗
FA-79830

Pharmacode assigns wide bars to odd values · case 05

Every package code scans as a different product number.

Barcode symbology encoding◈ Members↗
FA-79831

Pharmacode bars are printed in generation order · case 01

Codes are mirrored, so asymmetric patterns scan as other values.

Barcode symbology encoding● Open access↗
FA-79832

Pharmacode bars are printed in generation order · case 02

Codes are mirrored, so asymmetric patterns scan as other values.

Barcode symbology encoding◈ Members↗
FA-79833

Pharmacode bars are printed in generation order · case 03

Codes are mirrored, so asymmetric patterns scan as other values.

Barcode symbology encoding◈ Members↗
FA-79834

Pharmacode bars are printed in generation order · case 04

Codes are mirrored, so asymmetric patterns scan as other values.

Barcode symbology encoding◈ Members↗
FA-79835

Pharmacode bars are printed in generation order · case 05

Codes are mirrored, so asymmetric patterns scan as other values.

Barcode symbology encoding◈ Members↗
FA-79836

Pharmacode width counts a trailing space · case 01

Packaging artwork reserves two extra modules after the last bar.

Barcode symbology encoding● Open access↗
FA-79837

Pharmacode width counts a trailing space · case 02

Packaging artwork reserves two extra modules after the last bar.

Barcode symbology encoding◈ Members↗
FA-79838

Pharmacode width counts a trailing space · case 03

Packaging artwork reserves two extra modules after the last bar.

Barcode symbology encoding◈ Members↗
FA-79839

Pharmacode width counts a trailing space · case 04

Packaging artwork reserves two extra modules after the last bar.

Barcode symbology encoding◈ Members↗
FA-79840

Pharmacode width counts a trailing space · case 05

Packaging artwork reserves two extra modules after the last bar.

Barcode symbology encoding◈ Members↗
FA-79841

Glue-set badness rating: shrink exhaustion limit · case 01

A line compressed by exactly its total shrink is reported overfull.

Typography line breaking● Open access↗
FA-79842

Glue-set badness rating: shrink exhaustion limit · case 02

A line compressed by exactly its total shrink is reported overfull.

Typography line breaking◈ Members↗
FA-79843

Glue-set badness rating: shrink exhaustion limit · case 03

A line compressed by exactly its total shrink is reported overfull.

Typography line breaking◈ Members↗
FA-79844

Glue-set badness rating: shrink exhaustion limit · case 04

A line compressed by exactly its total shrink is reported overfull.

Typography line breaking◈ Members↗
FA-79845

Glue-set badness rating: shrink exhaustion limit · case 05

A line compressed by exactly its total shrink is reported overfull.

Typography line breaking◈ Members↗
FA-79846

Glue-set badness rating: shrink ratio denominator · case 01

Tight lines get badness and fitness computed from the wrong glue total.

Typography line breaking● Open access↗
FA-79847

Glue-set badness rating: shrink ratio denominator · case 02

Tight lines get badness and fitness computed from the wrong glue total.

Typography line breaking◈ Members↗
FA-79848

Glue-set badness rating: shrink ratio denominator · case 03

Tight lines get badness and fitness computed from the wrong glue total.

Typography line breaking◈ Members↗
FA-79849

Glue-set badness rating: shrink ratio denominator · case 04

Tight lines get badness and fitness computed from the wrong glue total.

Typography line breaking◈ Members↗
FA-79850

Glue-set badness rating: shrink ratio denominator · case 05

Tight lines get badness and fitness computed from the wrong glue total.

Typography line breaking◈ Members↗
FA-79851

Glue-set badness rating: cubic badness curve · case 01

Moderately loose lines look far better than they are.

Typography line breaking● Open access↗
FA-79852

Glue-set badness rating: cubic badness curve · case 02

Moderately loose lines look far better than they are.

Typography line breaking◈ Members↗
FA-79853

Glue-set badness rating: cubic badness curve · case 03

Moderately loose lines look far better than they are.

Typography line breaking◈ Members↗
FA-79854

Glue-set badness rating: cubic badness curve · case 04

Moderately loose lines look far better than they are.

Typography line breaking◈ Members↗
FA-79855

Glue-set badness rating: cubic badness curve · case 05

Moderately loose lines look far better than they are.

Typography line breaking◈ Members↗
FA-79856

Glue-set badness rating: badness rounding stage · case 01

Badness of lines with fractional ratios drifts by several points.

Typography line breaking● Open access↗
FA-79857

Glue-set badness rating: badness rounding stage · case 02

Badness of lines with fractional ratios drifts by several points.

Typography line breaking◈ Members↗
FA-79858

Glue-set badness rating: badness rounding stage · case 03

Badness of lines with fractional ratios drifts by several points.

Typography line breaking◈ Members↗
FA-79859

Glue-set badness rating: badness rounding stage · case 04

Badness of lines with fractional ratios drifts by several points.

Typography line breaking◈ Members↗
FA-79860

Glue-set badness rating: badness rounding stage · case 05

Badness of lines with fractional ratios drifts by several points.

Typography line breaking◈ Members↗
FA-79861

Glue-set badness rating: badness ceiling · case 01

Extremely loose lines report badness far above the infinite-badness ceiling.

Typography line breaking● Open access↗
FA-79862

Glue-set badness rating: badness ceiling · case 02

Extremely loose lines report badness far above the infinite-badness ceiling.

Typography line breaking◈ Members↗
FA-79863

Glue-set badness rating: badness ceiling · case 03

Extremely loose lines report badness far above the infinite-badness ceiling.

Typography line breaking◈ Members↗
FA-79864

Glue-set badness rating: badness ceiling · case 04

Extremely loose lines report badness far above the infinite-badness ceiling.

Typography line breaking◈ Members↗
FA-79865

Glue-set badness rating: badness ceiling · case 05

Extremely loose lines report badness far above the infinite-badness ceiling.

Typography line breaking◈ Members↗
FA-79866

Glue-set badness rating: rigid line with slack · case 01

A line with slack but no stretchable glue is accepted as perfect.

Typography line breaking● Open access↗
FA-79867

Glue-set badness rating: rigid line with slack · case 02

A line with slack but no stretchable glue is accepted as perfect.

Typography line breaking◈ Members↗
FA-79868

Glue-set badness rating: rigid line with slack · case 03

A line with slack but no stretchable glue is accepted as perfect.

Typography line breaking◈ Members↗
FA-79869

Glue-set badness rating: rigid line with slack · case 04

A line with slack but no stretchable glue is accepted as perfect.

Typography line breaking◈ Members↗
FA-79870

Glue-set badness rating: rigid line with slack · case 05

A line with slack but no stretchable glue is accepted as perfect.

Typography line breaking◈ Members↗
FA-79871

Glue-set badness rating: decent fitness upper bound · case 01

Lines stretched by exactly half their stretch are classed loose.

Typography line breaking● Open access↗
FA-79872

Glue-set badness rating: decent fitness upper bound · case 02

Lines stretched by exactly half their stretch are classed loose.

Typography line breaking◈ Members↗
FA-79873

Glue-set badness rating: decent fitness upper bound · case 03

Lines stretched by exactly half their stretch are classed loose.

Typography line breaking◈ Members↗
FA-79874

Glue-set badness rating: decent fitness upper bound · case 04

Lines stretched by exactly half their stretch are classed loose.

Typography line breaking◈ Members↗
FA-79875

Glue-set badness rating: decent fitness upper bound · case 05

Lines stretched by exactly half their stretch are classed loose.

Typography line breaking◈ Members↗
FA-79876

Total-fit paragraph demerits: last-line exemption · case 01

The paragraph ending is rated like a justified line and good breaks become infeasible.

Typography line breaking● Open access↗
FA-79877

Total-fit paragraph demerits: last-line exemption · case 02

The paragraph ending is rated like a justified line and good breaks become infeasible.

Typography line breaking◈ Members↗
FA-79878

Total-fit paragraph demerits: last-line exemption · case 03

The paragraph ending is rated like a justified line and good breaks become infeasible.

Typography line breaking◈ Members↗
FA-79879

Total-fit paragraph demerits: last-line exemption · case 04

The paragraph ending is rated like a justified line and good breaks become infeasible.

Typography line breaking◈ Members↗
FA-79880

Total-fit paragraph demerits: last-line exemption · case 05

The paragraph ending is rated like a justified line and good breaks become infeasible.

Typography line breaking◈ Members↗
FA-79881

Total-fit paragraph demerits: demerit squaring · case 01

Break choices favour many mediocre lines over fewer good ones.

Typography line breaking● Open access↗
FA-79882

Total-fit paragraph demerits: demerit squaring · case 02

Break choices favour many mediocre lines over fewer good ones.

Typography line breaking◈ Members↗
FA-79883

Total-fit paragraph demerits: demerit squaring · case 03

Break choices favour many mediocre lines over fewer good ones.

Typography line breaking◈ Members↗
FA-79884

Total-fit paragraph demerits: demerit squaring · case 04

Break choices favour many mediocre lines over fewer good ones.

Typography line breaking◈ Members↗
FA-79885

Total-fit paragraph demerits: demerit squaring · case 05

Break choices favour many mediocre lines over fewer good ones.

Typography line breaking◈ Members↗
FA-79886

Total-fit paragraph demerits: adjacent fitness penalty · case 01

Neighbouring lines one class apart are penalised as visually incompatible.

Typography line breaking● Open access↗
FA-79887

Total-fit paragraph demerits: adjacent fitness penalty · case 02

Neighbouring lines one class apart are penalised as visually incompatible.

Typography line breaking◈ Members↗
FA-79888

Total-fit paragraph demerits: adjacent fitness penalty · case 03

Neighbouring lines one class apart are penalised as visually incompatible.

Typography line breaking◈ Members↗
FA-79889

Total-fit paragraph demerits: adjacent fitness penalty · case 04

Neighbouring lines one class apart are penalised as visually incompatible.

Typography line breaking◈ Members↗
FA-79890

Total-fit paragraph demerits: adjacent fitness penalty · case 05

Neighbouring lines one class apart are penalised as visually incompatible.

Typography line breaking◈ Members↗
FA-79891

Total-fit paragraph demerits: interword gap count · case 01

Every line measures one space too wide and breaks too early.

Typography line breaking● Open access↗
FA-79892

Total-fit paragraph demerits: interword gap count · case 02

Every line measures one space too wide and breaks too early.

Typography line breaking◈ Members↗
FA-79893

Total-fit paragraph demerits: interword gap count · case 03

Every line measures one space too wide and breaks too early.

Typography line breaking◈ Members↗
FA-79894

Total-fit paragraph demerits: interword gap count · case 04

Every line measures one space too wide and breaks too early.

Typography line breaking◈ Members↗
FA-79895

Total-fit paragraph demerits: interword gap count · case 05

Every line measures one space too wide and breaks too early.

Typography line breaking◈ Members↗
FA-79896

Total-fit paragraph demerits: badness tolerance · case 01

Very loose lines are chosen that should have been rejected as infeasible.

Typography line breaking● Open access↗
FA-79897

Total-fit paragraph demerits: badness tolerance · case 02

Very loose lines are chosen that should have been rejected as infeasible.

Typography line breaking◈ Members↗
FA-79898

Total-fit paragraph demerits: badness tolerance · case 03

Very loose lines are chosen that should have been rejected as infeasible.

Typography line breaking◈ Members↗
FA-79899

Total-fit paragraph demerits: badness tolerance · case 04

Very loose lines are chosen that should have been rejected as infeasible.

Typography line breaking◈ Members↗
FA-79900

Total-fit paragraph demerits: badness tolerance · case 05

Very loose lines are chosen that should have been rejected as infeasible.

Typography line breaking◈ 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 ↗