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
King may castle into an attacked destination · case 01
Castling to g1 is allowed while a rook on g8 attacks it.
King may castle into an attacked destination · case 02
Castling to g1 is allowed while a rook on g8 attacks it.
King may castle into an attacked destination · case 03
Castling to g1 is allowed while a rook on g8 attacks it.
King may castle into an attacked destination · case 04
Castling to g1 is allowed while a rook on g8 attacks it.
King may castle into an attacked destination · case 05
Castling to g1 is allowed while a rook on g8 attacks it.
Kingside castling with a rook on the a-side · case 01
King d1 castles "kingside" with the rook on b1.
Kingside castling with a rook on the a-side · case 02
King d1 castles "kingside" with the rook on b1.
Kingside castling with a rook on the a-side · case 03
King d1 castles "kingside" with the rook on b1.
Kingside castling with a rook on the a-side · case 04
King d1 castles "kingside" with the rook on b1.
Kingside castling with a rook on the a-side · case 05
King d1 castles "kingside" with the rook on b1.
Black king hides behind its own origin square · case 01
A black king on e5 attacked along the e-file may step back to e6.
Black king hides behind its own origin square · case 02
A black king on e5 attacked along the e-file may step back to e6.
Black king hides behind its own origin square · case 03
A black king on e5 attacked along the e-file may step back to e6.
Black king hides behind its own origin square · case 04
A black king on e5 attacked along the e-file may step back to e6.
Black king hides behind its own origin square · case 05
A black king on e5 attacked along the e-file may step back to e6.
Undefended rook can never be captured · case 01
A lone rook next to the black king is not offered as a capture.
Undefended rook can never be captured · case 02
A lone rook next to the black king is not offered as a capture.
Undefended rook can never be captured · case 03
A lone rook next to the black king is not offered as a capture.
Undefended rook can never be captured · case 04
A lone rook next to the black king is not offered as a capture.
Undefended rook can never be captured · case 05
A lone rook next to the black king is not offered as a capture.
Rook attacks only its own square · case 01
The black king may walk onto the rook's rank or file.
Rook attacks only its own square · case 02
The black king may walk onto the rook's rank or file.
Rook attacks only its own square · case 03
The black king may walk onto the rook's rank or file.
Rook attacks only its own square · case 04
The black king may walk onto the rook's rank or file.
Rook attacks only its own square · case 05
The black king may walk onto the rook's rank or file.
Long castling puts the rook on the king's square · case 01
After e1c1 the rook is placed on c1 and then overwritten by the king.
Long castling puts the rook on the king's square · case 02
After e1c1 the rook is placed on c1 and then overwritten by the king.
Long castling puts the rook on the king's square · case 03
After e1c1 the rook is placed on c1 and then overwritten by the king.
Long castling puts the rook on the king's square · case 04
After e1c1 the rook is placed on c1 and then overwritten by the king.
Long castling puts the rook on the king's square · case 05
After e1c1 the rook is placed on c1 and then overwritten by the king.
Any king step onto the g-file drags the rook · case 01
Kf1-g1 moves the h1 rook to f1.
Any king step onto the g-file drags the rook · case 02
Kf1-g1 moves the h1 rook to f1.
Any king step onto the g-file drags the rook · case 03
Kf1-g1 moves the h1 rook to f1.
Any king step onto the g-file drags the rook · case 04
Kf1-g1 moves the h1 rook to f1.
Any king step onto the g-file drags the rook · case 05
Kf1-g1 moves the h1 rook to f1.
En passant deletes the wrong square · case 01
An en passant capture fails because the removal targets an empty square.
En passant deletes the wrong square · case 02
An en passant capture fails because the removal targets an empty square.
En passant deletes the wrong square · case 03
An en passant capture fails because the removal targets an empty square.
En passant deletes the wrong square · case 04
An en passant capture fails because the removal targets an empty square.
En passant deletes the wrong square · case 05
An en passant capture fails because the removal targets an empty square.
Ordinary pawn capture also removes a piece beside the pawn · case 01
exd5 also deletes the white knight on d4.
Ordinary pawn capture also removes a piece beside the pawn · case 02
exd5 also deletes the white knight on d4.
Ordinary pawn capture also removes a piece beside the pawn · case 03
exd5 also deletes the white knight on d4.
Ordinary pawn capture also removes a piece beside the pawn · case 04
exd5 also deletes the white knight on d4.
Ordinary pawn capture also removes a piece beside the pawn · case 05
exd5 also deletes the white knight on d4.
White promotes to a black queen · case 01
After b7b8q the new piece on b8 is the lower-case (black) "q".
White promotes to a black queen · case 02
After b7b8q the new piece on b8 is the lower-case (black) "q".
White promotes to a black queen · case 03
After b7b8q the new piece on b8 is the lower-case (black) "q".
White promotes to a black queen · case 04
After b7b8q the new piece on b8 is the lower-case (black) "q".
White promotes to a black queen · case 05
After b7b8q the new piece on b8 is the lower-case (black) "q".
K right assigned to the inner rook · case 01
With rooks on e1 and h1 and the king on c1, the K right maps to e1.
K right assigned to the inner rook · case 02
With rooks on e1 and h1 and the king on c1, the K right maps to e1.
K right assigned to the inner rook · case 03
With rooks on e1 and h1 and the king on c1, the K right maps to e1.
K right assigned to the inner rook · case 04
With rooks on e1 and h1 and the king on c1, the K right maps to e1.
K right assigned to the inner rook · case 05
With rooks on e1 and h1 and the king on c1, the K right maps to e1.
Black rights looked up on rank 1 · case 01
Black file letters never map to rooks on rank 8.
Black rights looked up on rank 1 · case 02
Black file letters never map to rooks on rank 8.
Black rights looked up on rank 1 · case 03
Black file letters never map to rooks on rank 8.
Black rights looked up on rank 1 · case 04
Black file letters never map to rooks on rank 8.
Black rights looked up on rank 1 · case 05
Black file letters never map to rooks on rank 8.
Black X-FEN file letters ignored · case 01
Rights "bh" produce no rook squares.
Black X-FEN file letters ignored · case 02
Rights "bh" produce no rook squares.
Black X-FEN file letters ignored · case 03
Rights "bh" produce no rook squares.
Black X-FEN file letters ignored · case 04
Rights "bh" produce no rook squares.
Black X-FEN file letters ignored · case 05
Rights "bh" produce no rook squares.
Castling right kept after the king left the back rank · case 01
A white king on e2 still yields a castling rook.
Castling right kept after the king left the back rank · case 02
A white king on e2 still yields a castling rook.
Castling right kept after the king left the back rank · case 03
A white king on e2 still yields a castling rook.
Castling right kept after the king left the back rank · case 04
A white king on e2 still yields a castling rook.
Castling right kept after the king left the back rank · case 05
A white king on e2 still yields a castling rook.
Same rook listed twice for K and H · case 01
Rights "KH" return ["h1", "h1"].
Same rook listed twice for K and H · case 02
Rights "KH" return ["h1", "h1"].
Same rook listed twice for K and H · case 03
Rights "KH" return ["h1", "h1"].
Same rook listed twice for K and H · case 04
Rights "KH" return ["h1", "h1"].
Same rook listed twice for K and H · case 05
Rights "KH" return ["h1", "h1"].
Every position without king moves called checkmate · case 01
A cornered black king that is not in check is declared mated.
Every position without king moves called checkmate · case 02
A cornered black king that is not in check is declared mated.
Every position without king moves called checkmate · case 03
A cornered black king that is not in check is declared mated.
Every position without king moves called checkmate · case 04
A cornered black king that is not in check is declared mated.
Every position without king moves called checkmate · case 05
A cornered black king that is not in check is declared mated.
King may retreat along the queen's line · case 01
A black king on d7 checked from d1 is allowed to step to d8.
King may retreat along the queen's line · case 02
A black king on d7 checked from d1 is allowed to step to d8.
King may retreat along the queen's line · case 03
A black king on d7 checked from d1 is allowed to step to d8.
King may retreat along the queen's line · case 04
A black king on d7 checked from d1 is allowed to step to d8.
King may retreat along the queen's line · case 05
A black king on d7 checked from d1 is allowed to step to d8.
Unprotected queen cannot be captured · case 01
A queen next to the black king with the white king far away is scored as mate.
Unprotected queen cannot be captured · case 02
A queen next to the black king with the white king far away is scored as mate.
Unprotected queen cannot be captured · case 03
A queen next to the black king with the white king far away is scored as mate.
Unprotected queen cannot be captured · case 04
A queen next to the black king with the white king far away is scored as mate.
Unprotected queen cannot be captured · case 05
A queen next to the black king with the white king far away is scored as mate.
Standing still counted as a king move · case 01
Stalemated kings are reported as "ongoing".
Standing still counted as a king move · case 02
Stalemated kings are reported as "ongoing".
Standing still counted as a king move · case 03
Stalemated kings are reported as "ongoing".
Standing still counted as a king move · case 04
Stalemated kings are reported as "ongoing".
Standing still counted as a king move · case 05
Stalemated kings are reported as "ongoing".
Promotion check evaluated as a pawn · case 01
b7-b8=Q with the king on e8 is classified "none".
Promotion check evaluated as a pawn · case 02
b7-b8=Q with the king on e8 is classified "none".
Promotion check evaluated as a pawn · case 03
b7-b8=Q with the king on e8 is classified "none".
Promotion check evaluated as a pawn · case 04
b7-b8=Q with the king on e8 is classified "none".
Promotion check evaluated as a pawn · case 05
b7-b8=Q with the king on e8 is classified "none".
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 ↗