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

Unpack rgba byte mask · case 01

Shifted higher-order channels leak into lower byte values.

Color encoding● Open access↗
FA-10602

Unpack rgba byte mask · case 02

Shifted higher-order channels leak into lower byte values.

Color encoding◈ Members↗
FA-10603

Unpack rgba byte mask · case 03

Shifted higher-order channels leak into lower byte values.

Color encoding◈ Members↗
FA-10604

Unpack rgba byte mask · case 04

Shifted higher-order channels leak into lower byte values.

Color encoding◈ Members↗
FA-10605

Unpack rgba byte mask · case 05

Shifted higher-order channels leak into lower byte values.

Color encoding◈ Members↗
FA-10606

Normalized channel to byte half up · case 01

Truncating scaled color introduces a downward quantization bias.

Color encoding● Open access↗
FA-10607

Normalized channel to byte half up · case 02

Truncating scaled color introduces a downward quantization bias.

Color encoding◈ Members↗
FA-10608

Normalized channel to byte half up · case 03

Truncating scaled color introduces a downward quantization bias.

Color encoding◈ Members↗
FA-10609

Normalized channel to byte half up · case 04

Truncating scaled color introduces a downward quantization bias.

Color encoding◈ Members↗
FA-10610

Normalized channel to byte half up · case 05

Truncating scaled color introduces a downward quantization bias.

Color encoding◈ Members↗
FA-10611

Byte channel normalization · case 01

Dividing by 256 makes the maximum representable white less than one.

Color encoding● Open access↗
FA-10612

Byte channel normalization · case 02

Dividing by 256 makes the maximum representable white less than one.

Color encoding◈ Members↗
FA-10613

Byte channel normalization · case 03

Dividing by 256 makes the maximum representable white less than one.

Color encoding◈ Members↗
FA-10614

Byte channel normalization · case 04

Dividing by 256 makes the maximum representable white less than one.

Color encoding◈ Members↗
FA-10615

Byte channel normalization · case 05

Dividing by 256 makes the maximum representable white less than one.

Color encoding◈ Members↗
FA-10616

Rgb565 green width · case 01

Green is quantized to five bits in a six-bit field.

Color encoding● Open access↗
FA-10617

Rgb565 green width · case 02

Green is quantized to five bits in a six-bit field.

Color encoding◈ Members↗
FA-10618

Rgb565 green width · case 03

Green is quantized to five bits in a six-bit field.

Color encoding◈ Members↗
FA-10619

Rgb565 green width · case 04

Green is quantized to five bits in a six-bit field.

Color encoding◈ Members↗
FA-10620

Rgb565 green width · case 05

Green is quantized to five bits in a six-bit field.

Color encoding◈ Members↗
FA-10621

Rgb565 bit replication · case 01

Zero-padding low bits leaves decoded maximum channels below 255.

Color encoding● Open access↗
FA-10622

Rgb565 bit replication · case 02

Zero-padding low bits leaves decoded maximum channels below 255.

Color encoding◈ Members↗
FA-10623

Rgb565 bit replication · case 03

Zero-padding low bits leaves decoded maximum channels below 255.

Color encoding◈ Members↗
FA-10624

Rgb565 bit replication · case 04

Zero-padding low bits leaves decoded maximum channels below 255.

Color encoding◈ Members↗
FA-10625

Rgb565 bit replication · case 05

Zero-padding low bits leaves decoded maximum channels below 255.

Color encoding◈ Members↗
FA-10626

Palette alpha lookup · case 01

Palette expansion makes every transparent palette entry opaque.

Color encoding● Open access↗
FA-10627

Palette alpha lookup · case 02

Palette expansion makes every transparent palette entry opaque.

Color encoding◈ Members↗
FA-10628

Palette alpha lookup · case 03

Palette expansion makes every transparent palette entry opaque.

Color encoding◈ Members↗
FA-10629

Palette alpha lookup · case 04

Palette expansion makes every transparent palette entry opaque.

Color encoding◈ Members↗
FA-10630

Palette alpha lookup · case 05

Palette expansion makes every transparent palette entry opaque.

Color encoding◈ Members↗
FA-10631

Grayscale opacity independent · case 01

The grayscale luminance value is incorrectly copied into alpha.

Color encoding● Open access↗
FA-10632

Grayscale opacity independent · case 02

The grayscale luminance value is incorrectly copied into alpha.

Color encoding◈ Members↗
FA-10633

Grayscale opacity independent · case 03

The grayscale luminance value is incorrectly copied into alpha.

Color encoding◈ Members↗
FA-10634

Grayscale opacity independent · case 04

The grayscale luminance value is incorrectly copied into alpha.

Color encoding◈ Members↗
FA-10635

Grayscale opacity independent · case 05

The grayscale luminance value is incorrectly copied into alpha.

Color encoding◈ Members↗
FA-10636

Color key before opacity · case 01

Color-key transparency is ignored during RGBA conversion.

Color encoding● Open access↗
FA-10637

Color key before opacity · case 02

Color-key transparency is ignored during RGBA conversion.

Color encoding◈ Members↗
FA-10638

Color key before opacity · case 03

Color-key transparency is ignored during RGBA conversion.

Color encoding◈ Members↗
FA-10639

Color key before opacity · case 04

Color-key transparency is ignored during RGBA conversion.

Color encoding◈ Members↗
FA-10640

Color key before opacity · case 05

Color-key transparency is ignored during RGBA conversion.

Color encoding◈ Members↗
FA-10641

Clip row both ends · case 01

Negative clipping coordinates are interpreted as Python indices from the row end.

Raster clipping● Open access↗
FA-10642

Clip row both ends · case 02

Negative clipping coordinates are interpreted as Python indices from the row end.

Raster clipping◈ Members↗
FA-10643

Clip row both ends · case 03

Negative clipping coordinates are interpreted as Python indices from the row end.

Raster clipping◈ Members↗
FA-10644

Clip row both ends · case 04

Negative clipping coordinates are interpreted as Python indices from the row end.

Raster clipping◈ Members↗
FA-10645

Clip row both ends · case 05

Negative clipping coordinates are interpreted as Python indices from the row end.

Raster clipping◈ Members↗
FA-10646

Clipped blit source offset · case 01

Clamping the destination origin shifts discarded source pixels back into view.

Raster clipping● Open access↗
FA-10647

Clipped blit source offset · case 02

Clamping the destination origin shifts discarded source pixels back into view.

Raster clipping◈ Members↗
FA-10648

Clipped blit source offset · case 03

Clamping the destination origin shifts discarded source pixels back into view.

Raster clipping◈ Members↗
FA-10649

Clipped blit source offset · case 04

Clamping the destination origin shifts discarded source pixels back into view.

Raster clipping◈ Members↗
FA-10650

Clipped blit source offset · case 05

Clamping the destination origin shifts discarded source pixels back into view.

Raster clipping◈ Members↗
FA-10651

Scissor intersection empty · case 01

Combining scissor bounds as a union enlarges the drawable region.

Raster clipping● Open access↗
FA-10652

Scissor intersection empty · case 02

Combining scissor bounds as a union enlarges the drawable region.

Raster clipping◈ Members↗
FA-10653

Scissor intersection empty · case 03

Combining scissor bounds as a union enlarges the drawable region.

Raster clipping◈ Members↗
FA-10654

Scissor intersection empty · case 04

Combining scissor bounds as a union enlarges the drawable region.

Raster clipping◈ Members↗
FA-10655

Scissor intersection empty · case 05

Combining scissor bounds as a union enlarges the drawable region.

Raster clipping◈ Members↗
FA-10656

Viewport bottom origin flip · case 01

Origin conversion flips the top edge without accounting for rectangle height.

Raster clipping● Open access↗
FA-10657

Viewport bottom origin flip · case 02

Origin conversion flips the top edge without accounting for rectangle height.

Raster clipping◈ Members↗
FA-10658

Viewport bottom origin flip · case 03

Origin conversion flips the top edge without accounting for rectangle height.

Raster clipping◈ Members↗
FA-10659

Viewport bottom origin flip · case 04

Origin conversion flips the top edge without accounting for rectangle height.

Raster clipping◈ Members↗
FA-10660

Viewport bottom origin flip · case 05

Origin conversion flips the top edge without accounting for rectangle height.

Raster clipping◈ Members↗
FA-10661

Pixel center coverage · case 01

Coverage samples pixel corners instead of pixel centers.

Raster clipping● Open access↗
FA-10662

Pixel center coverage · case 02

Coverage samples pixel corners instead of pixel centers.

Raster clipping◈ Members↗
FA-10663

Pixel center coverage · case 03

Coverage samples pixel corners instead of pixel centers.

Raster clipping◈ Members↗
FA-10664

Pixel center coverage · case 04

Coverage samples pixel corners instead of pixel centers.

Raster clipping◈ Members↗
FA-10665

Pixel center coverage · case 05

Coverage samples pixel corners instead of pixel centers.

Raster clipping◈ Members↗
FA-10666

Damage tiles exclusive end · case 01

A damage interval ending on a tile boundary invalidates the following clean tile.

Raster clipping● Open access↗
FA-10667

Damage tiles exclusive end · case 02

A damage interval ending on a tile boundary invalidates the following clean tile.

Raster clipping◈ Members↗
FA-10668

Damage tiles exclusive end · case 03

A damage interval ending on a tile boundary invalidates the following clean tile.

Raster clipping◈ Members↗
FA-10669

Damage tiles exclusive end · case 04

A damage interval ending on a tile boundary invalidates the following clean tile.

Raster clipping◈ Members↗
FA-10670

Damage tiles exclusive end · case 05

A damage interval ending on a tile boundary invalidates the following clean tile.

Raster clipping◈ Members↗
FA-10671

Scissor disabled full target · case 01

A remembered scissor rectangle still clips rendering after scissor testing is disabled.

Raster clipping● Open access↗
FA-10672

Scissor disabled full target · case 02

A remembered scissor rectangle still clips rendering after scissor testing is disabled.

Raster clipping◈ Members↗
FA-10673

Scissor disabled full target · case 03

A remembered scissor rectangle still clips rendering after scissor testing is disabled.

Raster clipping◈ Members↗
FA-10674

Scissor disabled full target · case 04

A remembered scissor rectangle still clips rendering after scissor testing is disabled.

Raster clipping◈ Members↗
FA-10675

Scissor disabled full target · case 05

A remembered scissor rectangle still clips rendering after scissor testing is disabled.

Raster clipping◈ Members↗
FA-10676

Span merge touching · case 01

Touching coverage spans remain separate and create redundant raster work.

Raster clipping● Open access↗
FA-10677

Span merge touching · case 02

Touching coverage spans remain separate and create redundant raster work.

Raster clipping◈ Members↗
FA-10678

Span merge touching · case 03

Touching coverage spans remain separate and create redundant raster work.

Raster clipping◈ Members↗
FA-10679

Span merge touching · case 04

Touching coverage spans remain separate and create redundant raster work.

Raster clipping◈ Members↗
FA-10680

Span merge touching · case 05

Touching coverage spans remain separate and create redundant raster work.

Raster clipping◈ Members↗
FA-10681

State push deep copy · case 01

The saved state aliases a mutable color list and changes when current state changes.

Rendering state● Open access↗
FA-10682

State push deep copy · case 02

The saved state aliases a mutable color list and changes when current state changes.

Rendering state◈ Members↗
FA-10683

State push deep copy · case 03

The saved state aliases a mutable color list and changes when current state changes.

Rendering state◈ Members↗
FA-10684

State push deep copy · case 04

The saved state aliases a mutable color list and changes when current state changes.

Rendering state◈ Members↗
FA-10685

State push deep copy · case 05

The saved state aliases a mutable color list and changes when current state changes.

Rendering state◈ Members↗
FA-10686

Color write mask channelwise · case 01

Any enabled color channel causes the entire pixel to be overwritten.

Rendering state● Open access↗
FA-10687

Color write mask channelwise · case 02

Any enabled color channel causes the entire pixel to be overwritten.

Rendering state◈ Members↗
FA-10688

Color write mask channelwise · case 03

Any enabled color channel causes the entire pixel to be overwritten.

Rendering state◈ Members↗
FA-10689

Color write mask channelwise · case 04

Any enabled color channel causes the entire pixel to be overwritten.

Rendering state◈ Members↗
FA-10690

Color write mask channelwise · case 05

Any enabled color channel causes the entire pixel to be overwritten.

Rendering state◈ Members↗
FA-10691

Depth write independent test · case 01

Passing depth testing overrides a disabled depth write mask.

Rendering state● Open access↗
FA-10692

Depth write independent test · case 02

Passing depth testing overrides a disabled depth write mask.

Rendering state◈ Members↗
FA-10693

Depth write independent test · case 03

Passing depth testing overrides a disabled depth write mask.

Rendering state◈ Members↗
FA-10694

Depth write independent test · case 04

Passing depth testing overrides a disabled depth write mask.

Rendering state◈ Members↗
FA-10695

Depth write independent test · case 05

Passing depth testing overrides a disabled depth write mask.

Rendering state◈ Members↗
FA-10696

Stencil write mask preserves bits · case 01

Masking only the new stencil value clears protected existing bits.

Rendering state● Open access↗
FA-10697

Stencil write mask preserves bits · case 02

Masking only the new stencil value clears protected existing bits.

Rendering state◈ Members↗
FA-10698

Stencil write mask preserves bits · case 03

Masking only the new stencil value clears protected existing bits.

Rendering state◈ Members↗
FA-10699

Stencil write mask preserves bits · case 04

Masking only the new stencil value clears protected existing bits.

Rendering state◈ Members↗
FA-10700

Stencil write mask preserves bits · case 05

Masking only the new stencil value clears protected existing bits.

Rendering state◈ 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 ↗