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

Upper-case or out-of-range letters decode to negative coordinates · case 01

Points like "Aa" produce negative rows or columns.

Go territory scoring● Open access↗
FA-83002

Upper-case or out-of-range letters decode to negative coordinates · case 02

Points like "Aa" produce negative rows or columns.

Go territory scoring◈ Members↗
FA-83003

Upper-case or out-of-range letters decode to negative coordinates · case 03

Points like "Aa" produce negative rows or columns.

Go territory scoring◈ Members↗
FA-83004

Upper-case or out-of-range letters decode to negative coordinates · case 04

Points like "Aa" produce negative rows or columns.

Go territory scoring◈ Members↗
FA-83005

Upper-case or out-of-range letters decode to negative coordinates · case 05

Points like "Aa" produce negative rows or columns.

Go territory scoring◈ Members↗
FA-83006

An empty SGF move value is rejected · case 01

B[] passes become invalid moves.

Go territory scoring● Open access↗
FA-83007

An empty SGF move value is rejected · case 02

B[] passes become invalid moves.

Go territory scoring◈ Members↗
FA-83008

An empty SGF move value is rejected · case 03

B[] passes become invalid moves.

Go territory scoring◈ Members↗
FA-83009

An empty SGF move value is rejected · case 04

B[] passes become invalid moves.

Go territory scoring◈ Members↗
FA-83010

An empty SGF move value is rejected · case 05

B[] passes become invalid moves.

Go territory scoring◈ Members↗
FA-83011

Half-point margins are truncated to whole points · case 01

W+0.5 is stored as a zero margin win.

Go territory scoring● Open access↗
FA-83012

Half-point margins are truncated to whole points · case 02

W+0.5 is stored as a zero margin win.

Go territory scoring◈ Members↗
FA-83013

Half-point margins are truncated to whole points · case 03

W+0.5 is stored as a zero margin win.

Go territory scoring◈ Members↗
FA-83014

Half-point margins are truncated to whole points · case 04

W+0.5 is stored as a zero margin win.

Go territory scoring◈ Members↗
FA-83015

Half-point margins are truncated to whole points · case 05

W+0.5 is stored as a zero margin win.

Go territory scoring◈ Members↗
FA-83016

Capitalised resign and time reasons are not recognised · case 01

B+R and W+Resign are reported as unknown results.

Go territory scoring● Open access↗
FA-83017

Capitalised resign and time reasons are not recognised · case 02

B+R and W+Resign are reported as unknown results.

Go territory scoring◈ Members↗
FA-83018

Capitalised resign and time reasons are not recognised · case 03

B+R and W+Resign are reported as unknown results.

Go territory scoring◈ Members↗
FA-83019

Capitalised resign and time reasons are not recognised · case 04

B+R and W+Resign are reported as unknown results.

Go territory scoring◈ Members↗
FA-83020

Capitalised resign and time reasons are not recognised · case 05

B+R and W+Resign are reported as unknown results.

Go territory scoring◈ Members↗
FA-83021

SGF draw value 0 is not recognised · case 01

Records with RE[0] or RE[Jigo] are classified as unknown.

Go territory scoring● Open access↗
FA-83022

SGF draw value 0 is not recognised · case 02

Records with RE[0] or RE[Jigo] are classified as unknown.

Go territory scoring◈ Members↗
FA-83023

SGF draw value 0 is not recognised · case 03

Records with RE[0] or RE[Jigo] are classified as unknown.

Go territory scoring◈ Members↗
FA-83024

SGF draw value 0 is not recognised · case 04

Records with RE[0] or RE[Jigo] are classified as unknown.

Go territory scoring◈ Members↗
FA-83025

SGF draw value 0 is not recognised · case 05

Records with RE[0] or RE[Jigo] are classified as unknown.

Go territory scoring◈ Members↗
FA-83026

Void results are not distinguished from malformed values · case 01

RE[Void] (no result, e.g. an annulled game) is reported as unknown.

Go territory scoring● Open access↗
FA-83027

Void results are not distinguished from malformed values · case 02

RE[Void] (no result, e.g. an annulled game) is reported as unknown.

Go territory scoring◈ Members↗
FA-83028

Void results are not distinguished from malformed values · case 03

RE[Void] (no result, e.g. an annulled game) is reported as unknown.

Go territory scoring◈ Members↗
FA-83029

Void results are not distinguished from malformed values · case 04

RE[Void] (no result, e.g. an annulled game) is reported as unknown.

Go territory scoring◈ Members↗
FA-83030

Void results are not distinguished from malformed values · case 05

RE[Void] (no result, e.g. an annulled game) is reported as unknown.

Go territory scoring◈ Members↗
FA-83031

A winner with no margin is parsed as unknown · case 01

RE[B+] loses the winner.

Go territory scoring● Open access↗
FA-83032

A winner with no margin is parsed as unknown · case 02

RE[B+] loses the winner.

Go territory scoring◈ Members↗
FA-83033

A winner with no margin is parsed as unknown · case 03

RE[B+] loses the winner.

Go territory scoring◈ Members↗
FA-83034

A winner with no margin is parsed as unknown · case 04

RE[B+] loses the winner.

Go territory scoring◈ Members↗
FA-83035

A winner with no margin is parsed as unknown · case 05

RE[B+] loses the winner.

Go territory scoring◈ Members↗
FA-83036

Group tax is charged per stone instead of per chain · case 01

Large living groups are penalised by their size.

Go territory scoring● Open access↗
FA-83037

Group tax is charged per stone instead of per chain · case 02

Large living groups are penalised by their size.

Go territory scoring◈ Members↗
FA-83038

Group tax is charged per stone instead of per chain · case 03

Large living groups are penalised by their size.

Go territory scoring◈ Members↗
FA-83039

Group tax is charged per stone instead of per chain · case 04

Large living groups are penalised by their size.

Go territory scoring◈ Members↗
FA-83040

Group tax is charged per stone instead of per chain · case 05

Large living groups are penalised by their size.

Go territory scoring◈ Members↗
FA-83041

Diagonally touching stones are merged into one taxed chain · case 01

Players are under-taxed for diagonal shapes and regions leak diagonally.

Go territory scoring● Open access↗
FA-83042

Diagonally touching stones are merged into one taxed chain · case 02

Players are under-taxed for diagonal shapes and regions leak diagonally.

Go territory scoring◈ Members↗
FA-83043

Diagonally touching stones are merged into one taxed chain · case 03

Players are under-taxed for diagonal shapes and regions leak diagonally.

Go territory scoring◈ Members↗
FA-83044

Diagonally touching stones are merged into one taxed chain · case 04

Players are under-taxed for diagonal shapes and regions leak diagonally.

Go territory scoring◈ Members↗
FA-83045

Diagonally touching stones are merged into one taxed chain · case 05

Players are under-taxed for diagonal shapes and regions leak diagonally.

Go territory scoring◈ Members↗
FA-83046

Group tax charges one point per chain · case 01

Fragmented positions lose only half the intended penalty.

Go territory scoring● Open access↗
FA-83047

Group tax charges one point per chain · case 02

Fragmented positions lose only half the intended penalty.

Go territory scoring◈ Members↗
FA-83048

Group tax charges one point per chain · case 03

Fragmented positions lose only half the intended penalty.

Go territory scoring◈ Members↗
FA-83049

Group tax charges one point per chain · case 04

Fragmented positions lose only half the intended penalty.

Go territory scoring◈ Members↗
FA-83050

Group tax charges one point per chain · case 05

Fragmented positions lose only half the intended penalty.

Go territory scoring◈ Members↗
FA-83051

Pass stones are credited to the passing player · case 01

Passing earns the passer a prisoner.

Go territory scoring● Open access↗
FA-83052

Pass stones are credited to the passing player · case 02

Passing earns the passer a prisoner.

Go territory scoring◈ Members↗
FA-83053

Pass stones are credited to the passing player · case 03

Passing earns the passer a prisoner.

Go territory scoring◈ Members↗
FA-83054

Pass stones are credited to the passing player · case 04

Passing earns the passer a prisoner.

Go territory scoring◈ Members↗
FA-83055

Pass stones are credited to the passing player · case 05

Passing earns the passer a prisoner.

Go territory scoring◈ Members↗
FA-83056

The extra stone depends on the first pass · case 01

White is charged or excused the equalising stone based on who passed first.

Go territory scoring● Open access↗
FA-83057

The extra stone depends on the first pass · case 02

White is charged or excused the equalising stone based on who passed first.

Go territory scoring◈ Members↗
FA-83058

The extra stone depends on the first pass · case 03

White is charged or excused the equalising stone based on who passed first.

Go territory scoring◈ Members↗
FA-83059

The extra stone depends on the first pass · case 04

White is charged or excused the equalising stone based on who passed first.

Go territory scoring◈ Members↗
FA-83060

The extra stone depends on the first pass · case 05

White is charged or excused the equalising stone based on who passed first.

Go territory scoring◈ Members↗
FA-83061

The equalising stone is credited to white · case 01

Black-last games give white an extra prisoner.

Go territory scoring● Open access↗
FA-83062

The equalising stone is credited to white · case 02

Black-last games give white an extra prisoner.

Go territory scoring◈ Members↗
FA-83063

The equalising stone is credited to white · case 03

Black-last games give white an extra prisoner.

Go territory scoring◈ Members↗
FA-83064

The equalising stone is credited to white · case 04

Black-last games give white an extra prisoner.

Go territory scoring◈ Members↗
FA-83065

The equalising stone is credited to white · case 05

Black-last games give white an extra prisoner.

Go territory scoring◈ Members↗
FA-83066

A one-stone handicap triggers compensation · case 01

Handicap 1 games give white an extra point.

Go territory scoring● Open access↗
FA-83067

A one-stone handicap triggers compensation · case 02

Handicap 1 games give white an extra point.

Go territory scoring◈ Members↗
FA-83068

A one-stone handicap triggers compensation · case 03

Handicap 1 games give white an extra point.

Go territory scoring◈ Members↗
FA-83069

A one-stone handicap triggers compensation · case 04

Handicap 1 games give white an extra point.

Go territory scoring◈ Members↗
FA-83070

A one-stone handicap triggers compensation · case 05

Handicap 1 games give white an extra point.

Go territory scoring◈ Members↗
FA-83071

AGA compensation uses the full handicap count · case 01

AGA games are scored like Chinese games.

Go territory scoring● Open access↗
FA-83072

AGA compensation uses the full handicap count · case 02

AGA games are scored like Chinese games.

Go territory scoring◈ Members↗
FA-83073

AGA compensation uses the full handicap count · case 03

AGA games are scored like Chinese games.

Go territory scoring◈ Members↗
FA-83074

AGA compensation uses the full handicap count · case 04

AGA games are scored like Chinese games.

Go territory scoring◈ Members↗
FA-83075

AGA compensation uses the full handicap count · case 05

AGA games are scored like Chinese games.

Go territory scoring◈ Members↗
FA-83076

Handicap compensation is added to black · case 01

Black margin grows with the handicap.

Go territory scoring● Open access↗
FA-83077

Handicap compensation is added to black · case 02

Black margin grows with the handicap.

Go territory scoring◈ Members↗
FA-83078

Handicap compensation is added to black · case 03

Black margin grows with the handicap.

Go territory scoring◈ Members↗
FA-83079

Handicap compensation is added to black · case 04

Black margin grows with the handicap.

Go territory scoring◈ Members↗
FA-83080

Handicap compensation is added to black · case 05

Black margin grows with the handicap.

Go territory scoring◈ Members↗
FA-83081

A liberty shared by two stones of a chain hides the atari · case 01

Chains whose only liberty touches two of their stones are not reported.

Go territory scoring● Open access↗
FA-83082

A liberty shared by two stones of a chain hides the atari · case 02

Chains whose only liberty touches two of their stones are not reported.

Go territory scoring◈ Members↗
FA-83083

A liberty shared by two stones of a chain hides the atari · case 03

Chains whose only liberty touches two of their stones are not reported.

Go territory scoring◈ Members↗
FA-83084

A liberty shared by two stones of a chain hides the atari · case 04

Chains whose only liberty touches two of their stones are not reported.

Go territory scoring◈ Members↗
FA-83085

A liberty shared by two stones of a chain hides the atari · case 05

Chains whose only liberty touches two of their stones are not reported.

Go territory scoring◈ Members↗
FA-83086

Atari report order depends on scan order · case 01

Reports are emitted in row-major discovery order instead of sorted order.

Go territory scoring● Open access↗
FA-83087

Atari report order depends on scan order · case 02

Reports are emitted in row-major discovery order instead of sorted order.

Go territory scoring◈ Members↗
FA-83088

Atari report order depends on scan order · case 03

Reports are emitted in row-major discovery order instead of sorted order.

Go territory scoring◈ Members↗
FA-83089

Atari report order depends on scan order · case 04

Reports are emitted in row-major discovery order instead of sorted order.

Go territory scoring◈ Members↗
FA-83090

Atari report order depends on scan order · case 05

Reports are emitted in row-major discovery order instead of sorted order.

Go territory scoring◈ Members↗
FA-83091

Diagonal empty points are counted as liberties · case 01

Chains in atari appear to have several liberties.

Go territory scoring● Open access↗
FA-83092

Diagonal empty points are counted as liberties · case 02

Chains in atari appear to have several liberties.

Go territory scoring◈ Members↗
FA-83093

Diagonal empty points are counted as liberties · case 03

Chains in atari appear to have several liberties.

Go territory scoring◈ Members↗
FA-83094

Diagonal empty points are counted as liberties · case 04

Chains in atari appear to have several liberties.

Go territory scoring◈ Members↗
FA-83095

Diagonal empty points are counted as liberties · case 05

Chains in atari appear to have several liberties.

Go territory scoring◈ Members↗
FA-83096

The board edge counts as liberties · case 01

Edge and corner chains report extra liberties.

Go territory scoring● Open access↗
FA-83097

The board edge counts as liberties · case 02

Edge and corner chains report extra liberties.

Go territory scoring◈ Members↗
FA-83098

The board edge counts as liberties · case 03

Edge and corner chains report extra liberties.

Go territory scoring◈ Members↗
FA-83099

The board edge counts as liberties · case 04

Edge and corner chains report extra liberties.

Go territory scoring◈ Members↗
FA-83100

The board edge counts as liberties · case 05

Edge and corner chains report extra liberties.

Go territory scoring◈ 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 ↗