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 ↗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
Every direct check reported as double check · case 01
A knight check with no other attacker is classified "double".
Every direct check reported as double check · case 02
A knight check with no other attacker is classified "double".
Every direct check reported as double check · case 03
A knight check with no other attacker is classified "double".
Every direct check reported as double check · case 04
A knight check with no other attacker is classified "double".
Every direct check reported as double check · case 05
A knight check with no other attacker is classified "double".
Queen diagonal checks not recognized · case 01
Qd1-d4 against a king on h8 is classified "none".
Queen diagonal checks not recognized · case 02
Qd1-d4 against a king on h8 is classified "none".
Queen diagonal checks not recognized · case 03
Qd1-d4 against a king on h8 is classified "none".
Queen diagonal checks not recognized · case 04
Qd1-d4 against a king on h8 is classified "none".
Queen diagonal checks not recognized · case 05
Qd1-d4 against a king on h8 is classified "none".
Enemy piece on its own king's line counted as discovered check · case 01
After a quiet white knight move, a black rook standing on its own king's file is reported as a discovered check.
Enemy piece on its own king's line counted as discovered check · case 02
After a quiet white knight move, a black rook standing on its own king's file is reported as a discovered check.
Enemy piece on its own king's line counted as discovered check · case 03
After a quiet white knight move, a black rook standing on its own king's file is reported as a discovered check.
Enemy piece on its own king's line counted as discovered check · case 04
After a quiet white knight move, a black rook standing on its own king's file is reported as a discovered check.
Enemy piece on its own king's line counted as discovered check · case 05
After a quiet white knight move, a black rook standing on its own king's file is reported as a discovered check.
Side to move never passes · case 01
Black's reply is rejected as an out-of-turn move.
Side to move never passes · case 02
Black's reply is rejected as an out-of-turn move.
Side to move never passes · case 03
Black's reply is rejected as an out-of-turn move.
Side to move never passes · case 04
Black's reply is rejected as an out-of-turn move.
Side to move never passes · case 05
Black's reply is rejected as an out-of-turn move.
Moved piece left behind on its origin · case 01
A knight that moved from g1 can move from g1 again.
Moved piece left behind on its origin · case 02
A knight that moved from g1 can move from g1 again.
Moved piece left behind on its origin · case 03
A knight that moved from g1 can move from g1 again.
Moved piece left behind on its origin · case 04
A knight that moved from g1 can move from g1 again.
Moved piece left behind on its origin · case 05
A knight that moved from g1 can move from g1 again.
Self-capture accepted in replay · case 01
A queen may land on its own pawn.
Self-capture accepted in replay · case 02
A queen may land on its own pawn.
Self-capture accepted in replay · case 03
A queen may land on its own pawn.
Self-capture accepted in replay · case 04
A queen may land on its own pawn.
Self-capture accepted in replay · case 05
A queen may land on its own pawn.
Opponent's piece moved out of turn · case 01
White moving a black queen is accepted.
Opponent's piece moved out of turn · case 02
White moving a black queen is accepted.
Opponent's piece moved out of turn · case 03
White moving a black queen is accepted.
Opponent's piece moved out of turn · case 04
White moving a black queen is accepted.
Opponent's piece moved out of turn · case 05
White moving a black queen is accepted.
Replay always starts with white · case 01
A move list beginning with black's move is rejected at index 0.
Replay always starts with white · case 02
A move list beginning with black's move is rejected at index 0.
Replay always starts with white · case 03
A move list beginning with black's move is rejected at index 0.
Replay always starts with white · case 04
A move list beginning with black's move is rejected at index 0.
Replay always starts with white · case 05
A move list beginning with black's move is rejected at index 0.
Area flood fill leaks across the top and left board edges · case 01
Empty regions on the first row or column pick up border colours from the opposite edge, so territory becomes dame or changes owner.
Area flood fill leaks across the top and left board edges · case 02
Empty regions on the first row or column pick up border colours from the opposite edge, so territory becomes dame or changes owner.
Area flood fill leaks across the top and left board edges · case 03
Empty regions on the first row or column pick up border colours from the opposite edge, so territory becomes dame or changes owner.
Area flood fill leaks across the top and left board edges · case 04
Empty regions on the first row or column pick up border colours from the opposite edge, so territory becomes dame or changes owner.
Area flood fill leaks across the top and left board edges · case 05
Empty regions on the first row or column pick up border colours from the opposite edge, so territory becomes dame or changes owner.
Dame bordered by both colours is credited to black · case 01
Neutral points between the two armies are added to black area and the reported margin is inflated.
Dame bordered by both colours is credited to black · case 02
Neutral points between the two armies are added to black area and the reported margin is inflated.
Dame bordered by both colours is credited to black · case 03
Neutral points between the two armies are added to black area and the reported margin is inflated.
Dame bordered by both colours is credited to black · case 04
Neutral points between the two armies are added to black area and the reported margin is inflated.
Dame bordered by both colours is credited to black · case 05
Neutral points between the two armies are added to black area and the reported margin is inflated.
Komi is added to black instead of compensating white · case 01
Close games flip winner; the half-point margin moves the wrong way.
Komi is added to black instead of compensating white · case 02
Close games flip winner; the half-point margin moves the wrong way.
Komi is added to black instead of compensating white · case 03
Close games flip winner; the half-point margin moves the wrong way.
Komi is added to black instead of compensating white · case 04
Close games flip winner; the half-point margin moves the wrong way.
Komi is added to black instead of compensating white · case 05
Close games flip winner; the half-point margin moves the wrong way.
White wins are printed with a negative or overstated margin · case 01
Results such as W+3.5 are rendered as "W+-4.5".
White wins are printed with a negative or overstated margin · case 02
Results such as W+3.5 are rendered as "W+-4.5".
White wins are printed with a negative or overstated margin · case 03
Results such as W+3.5 are rendered as "W+-4.5".
White wins are printed with a negative or overstated margin · case 04
Results such as W+3.5 are rendered as "W+-4.5".
White wins are printed with a negative or overstated margin · case 05
Results such as W+3.5 are rendered as "W+-4.5".
Region seed point is counted twice in territory · case 01
Some enclosed regions are one point larger than they are on the board.
Region seed point is counted twice in territory · case 02
Some enclosed regions are one point larger than they are on the board.
Region seed point is counted twice in territory · case 03
Some enclosed regions are one point larger than they are on the board.
Region seed point is counted twice in territory · case 04
Some enclosed regions are one point larger than they are on the board.
Region seed point is counted twice in territory · case 05
Some enclosed regions are one point larger than they are on the board.
Dead stones are credited as prisoners to their own colour · case 01
Marking a white group dead raises white prisoner count instead of black.
Dead stones are credited as prisoners to their own colour · case 02
Marking a white group dead raises white prisoner count instead of black.
Dead stones are credited as prisoners to their own colour · case 03
Marking a white group dead raises white prisoner count instead of black.
Dead stones are credited as prisoners to their own colour · case 04
Marking a white group dead raises white prisoner count instead of black.
Dead stones are credited as prisoners to their own colour · case 05
Marking a white group dead raises white prisoner count instead of black.
Dead stones still block territory after being marked · case 01
Territory around a dead invader is scored as dame and the dead point itself is never territory.
Dead stones still block territory after being marked · case 02
Territory around a dead invader is scored as dame and the dead point itself is never territory.
Dead stones still block territory after being marked · case 03
Territory around a dead invader is scored as dame and the dead point itself is never territory.
Dead stones still block territory after being marked · case 04
Territory around a dead invader is scored as dame and the dead point itself is never territory.
Dead stones still block territory after being marked · case 05
Territory around a dead invader is scored as dame and the dead point itself is never territory.
Territory flood fill consults the unmodified board · case 01
Regions that should absorb removed dead stones stay neutral.
Territory flood fill consults the unmodified board · case 02
Regions that should absorb removed dead stones stay neutral.
Territory flood fill consults the unmodified board · case 03
Regions that should absorb removed dead stones stay neutral.
Territory flood fill consults the unmodified board · case 04
Regions that should absorb removed dead stones stay neutral.
Territory flood fill consults the unmodified board · case 05
Regions that should absorb removed dead stones stay neutral.
Equal Japanese scores are reported as a black win · case 01
A zero-margin game with integer komi prints B+0.0.
Equal Japanese scores are reported as a black win · case 02
A zero-margin game with integer komi prints B+0.0.
Equal Japanese scores are reported as a black win · case 03
A zero-margin game with integer komi prints B+0.0.
Equal Japanese scores are reported as a black win · case 04
A zero-margin game with integer komi prints B+0.0.
Equal Japanese scores are reported as a black win · case 05
A zero-margin game with integer komi prints B+0.0.
Komi is omitted from the white territory score · case 01
White totals ignore compensation, so black wins close games it lost.
Komi is omitted from the white territory score · case 02
White totals ignore compensation, so black wins close games it lost.
Komi is omitted from the white territory score · case 03
White totals ignore compensation, so black wins close games it lost.
Komi is omitted from the white territory score · case 04
White totals ignore compensation, so black wins close games it lost.
Komi is omitted from the white territory score · case 05
White totals ignore compensation, so black wins close games it lost.
A capturing move into a surrounded point is rejected as suicide · case 01
Taking the last liberty of an enclosing chain is refused although it would capture.
A capturing move into a surrounded point is rejected as suicide · case 02
Taking the last liberty of an enclosing chain is refused although it would capture.
A capturing move into a surrounded point is rejected as suicide · case 03
Taking the last liberty of an enclosing chain is refused although it would capture.
A capturing move into a surrounded point is rejected as suicide · case 04
Taking the last liberty of an enclosing chain is refused although it would capture.
A capturing move into a surrounded point is rejected as suicide · case 05
Taking the last liberty of an enclosing chain is refused although it would capture.
Only one of several simultaneously captured chains is removed · case 01
A move that removes the last liberty of two opponent chains leaves one of them on the board.
Only one of several simultaneously captured chains is removed · case 02
A move that removes the last liberty of two opponent chains leaves one of them on the board.
Only one of several simultaneously captured chains is removed · case 03
A move that removes the last liberty of two opponent chains leaves one of them on the board.
Only one of several simultaneously captured chains is removed · case 04
A move that removes the last liberty of two opponent chains leaves one of them on the board.
Only one of several simultaneously captured chains is removed · case 05
A move that removes the last liberty of two opponent chains leaves one of them on the board.
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 ↗