{"abstract":"After e1c1 the rook is placed on c1 and then overwritten by the king.","category":"Chess move legality","checks":8,"contract":"Input: {\"board\", \"moves\": [uci strings]}. Apply the moves in order and return the final board sorted by square. A king moving two files castles: the rook jumps from h to f (g-file destination) or from a to d (c-file destination). A pawn moving diagonally onto an empty square captures en passant, removing the pawn on the destination file and origin rank. A fifth character promotes to that piece in the mover's colour.","contract_signature":"x","evaluation_group":"w2-chess_move_legality-uci-move-application","failed_approach":"Copying the rook to d without removing it from a duplicates the rook.","family":"w2-chess_move_legality-uci-move-application-queenside-rook-landing","id":"FA-82726","implementations":{"attempt":{"sha256":"248ad2a0bc4747d8a6a8eab63a874f60fc95f6aee3fb09bbd36a2f25b07c1e08","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    b=dict(x['board'])\n    for u in x['moves']:\n        fr,to,pr=u[:2],u[2:4],u[4:]\n        p=b.pop(fr)\n        if p in ('K','k') and abs(ord(to[0])-ord(fr[0]))==2:\n            if to[0]=='g': b['f'+to[1]]=b.pop('h'+to[1])\n            else: b['d'+to[1]]=b.get('a'+to[1])\n        if p in ('P','p') and fr[0]!=to[0] and to not in b:\n            del b[to[0]+fr[1]]\n        if pr: p=pr.upper() if p=='P' else pr.lower()\n        b[to]=p\n    return dict(sorted(b.items()))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('black short castle', {'board': {'e1': 'K', 'e8': 'k', 'h8': 'r'}, 'moves': ['e8g8']},\n   {'e1': 'K', 'f8': 'r', 'g8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'}),\n  ('black underpromotion', {'board': {'e1': 'K', 'e8': 'k', 'g2': 'p'}, 'moves': ['g2g1n']},\n   {'e1': 'K', 'e8': 'k', 'g1': 'n'}),\n  ('quiet sequence',\n   {'board': {'b8': 'n', 'e1': 'K', 'e8': 'k', 'g1': 'N'}, 'moves': ['g1f3', 'b8c6', 'f3e5']},\n   {'c6': 'n', 'e1': 'K', 'e5': 'N', 'e8': 'k'}),\n  ('pawn push', {'board': {'c2': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['c2c4']},\n   {'c4': 'P', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('black short castle', {'board': {'e1': 'K', 'e8': 'k', 'h8': 'r'}, 'moves': ['e8g8']},\n   {'e1': 'K', 'f8': 'r', 'g8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'}),\n  ('black underpromotion', {'board': {'e1': 'K', 'e8': 'k', 'g2': 'p'}, 'moves': ['g2g1n']},\n   {'e1': 'K', 'e8': 'k', 'g1': 'n'}),\n  ('quiet sequence',\n   {'board': {'b8': 'n', 'e1': 'K', 'e8': 'k', 'g1': 'N'}, 'moves': ['g1f3', 'b8c6', 'f3e5']},\n   {'c6': 'n', 'e1': 'K', 'e5': 'N', 'e8': 'k'}),\n  ('pawn push', {'board': {'c2': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['c2c4']},\n   {'c4': 'P', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('black short castle', {'board': {'e1': 'K', 'e8': 'k', 'h8': 'r'}, 'moves': ['e8g8']},\n   {'e1': 'K', 'f8': 'r', 'g8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('pawn push', {'board': {'c2': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['c2c4']},\n   {'c4': 'P', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'}),\n  ('black underpromotion', {'board': {'e1': 'K', 'e8': 'k', 'g2': 'p'}, 'moves': ['g2g1n']},\n   {'e1': 'K', 'e8': 'k', 'g1': 'n'})]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'error:' + type(exc).__name__\n    check(label, actual, expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"9978545b390c54ab3a550f210f2466ae8785854d36ec1c70d7bf3c4073d2cb3f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    b=dict(x['board'])\n    for u in x['moves']:\n        fr,to,pr=u[:2],u[2:4],u[4:]\n        p=b.pop(fr)\n        if p in ('K','k') and abs(ord(to[0])-ord(fr[0]))==2:\n            if to[0]=='g': b['f'+to[1]]=b.pop('h'+to[1])\n            else: b['c'+to[1]]=b.pop('a'+to[1])\n        if p in ('P','p') and fr[0]!=to[0] and to not in b:\n            del b[to[0]+fr[1]]\n        if pr: p=pr.upper() if p=='P' else pr.lower()\n        b[to]=p\n    return dict(sorted(b.items()))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('black short castle', {'board': {'e1': 'K', 'e8': 'k', 'h8': 'r'}, 'moves': ['e8g8']},\n   {'e1': 'K', 'f8': 'r', 'g8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'}),\n  ('black underpromotion', {'board': {'e1': 'K', 'e8': 'k', 'g2': 'p'}, 'moves': ['g2g1n']},\n   {'e1': 'K', 'e8': 'k', 'g1': 'n'}),\n  ('quiet sequence',\n   {'board': {'b8': 'n', 'e1': 'K', 'e8': 'k', 'g1': 'N'}, 'moves': ['g1f3', 'b8c6', 'f3e5']},\n   {'c6': 'n', 'e1': 'K', 'e5': 'N', 'e8': 'k'}),\n  ('pawn push', {'board': {'c2': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['c2c4']},\n   {'c4': 'P', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('black short castle', {'board': {'e1': 'K', 'e8': 'k', 'h8': 'r'}, 'moves': ['e8g8']},\n   {'e1': 'K', 'f8': 'r', 'g8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'}),\n  ('black underpromotion', {'board': {'e1': 'K', 'e8': 'k', 'g2': 'p'}, 'moves': ['g2g1n']},\n   {'e1': 'K', 'e8': 'k', 'g1': 'n'}),\n  ('quiet sequence',\n   {'board': {'b8': 'n', 'e1': 'K', 'e8': 'k', 'g1': 'N'}, 'moves': ['g1f3', 'b8c6', 'f3e5']},\n   {'c6': 'n', 'e1': 'K', 'e5': 'N', 'e8': 'k'}),\n  ('pawn push', {'board': {'c2': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['c2c4']},\n   {'c4': 'P', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('black short castle', {'board': {'e1': 'K', 'e8': 'k', 'h8': 'r'}, 'moves': ['e8g8']},\n   {'e1': 'K', 'f8': 'r', 'g8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('pawn push', {'board': {'c2': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['c2c4']},\n   {'c4': 'P', 'e1': 'K', 'e8': 'k'})],\n [('white long castle', {'board': {'a1': 'R', 'e1': 'K', 'e8': 'k'}, 'moves': ['e1c1']},\n   {'c1': 'K', 'd1': 'R', 'e8': 'k'}),\n  ('king step to g1', {'board': {'e8': 'k', 'f1': 'K', 'h1': 'R'}, 'moves': ['f1g1']},\n   {'e8': 'k', 'g1': 'K', 'h1': 'R'}),\n  ('king step to c8', {'board': {'a8': 'r', 'd8': 'k', 'e1': 'K'}, 'moves': ['d8c8']},\n   {'a8': 'r', 'c8': 'k', 'e1': 'K'}),\n  ('white en passant',\n   {'board': {'d7': 'p', 'e1': 'K', 'e5': 'P', 'e8': 'k'}, 'moves': ['d7d5', 'e5d6']},\n   {'d6': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('black en passant',\n   {'board': {'d4': 'p', 'e1': 'K', 'e2': 'P', 'e8': 'k'}, 'moves': ['e2e4', 'd4e3']},\n   {'e1': 'K', 'e3': 'p', 'e8': 'k'}),\n  ('ordinary pawn capture',\n   {'board': {'d4': 'N', 'd5': 'p', 'e1': 'K', 'e4': 'P', 'e8': 'k'}, 'moves': ['e4d5']},\n   {'d4': 'N', 'd5': 'P', 'e1': 'K', 'e8': 'k'}),\n  ('white promotion', {'board': {'b7': 'P', 'e1': 'K', 'e8': 'k'}, 'moves': ['b7b8q']},\n   {'b8': 'Q', 'e1': 'K', 'e8': 'k'}),\n  ('black underpromotion', {'board': {'e1': 'K', 'e8': 'k', 'g2': 'p'}, 'moves': ['g2g1n']},\n   {'e1': 'K', 'e8': 'k', 'g1': 'n'})]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'error:' + type(exc).__name__\n    check(label, actual, expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic toy model with an explicitly stated contract; boards are {square: piece} with white upper-case and black lower-case pieces; no claim of full FIDE Laws conformance. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-chess_move_legality-uci-move-application-queenside-rook-landing","generated_at":"2026-09-29T14:50:14.724446+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Move application defines the position every later legality check sees.","root_cause":"The queenside rook destination is the c-file instead of the d-file.","sha256":"f18435ee304cfba204f567166a5b435bb0d2c066558ccc24a352a55f7384d2bd","title":"Long castling puts the rook on the king's square · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.615,"exit_code":1,"observations":[{"actual":{"a1":"R","c1":"K","d1":"R","e8":"k"},"check":"white long castle","expected":{"c1":"K","d1":"R","e8":"k"},"passed":false},{"actual":{"e1":"K","f8":"r","g8":"k"},"check":"black short castle","expected":{"e1":"K","f8":"r","g8":"k"},"passed":true},{"actual":{"e8":"k","g1":"K","h1":"R"},"check":"king step to g1","expected":{"e8":"k","g1":"K","h1":"R"},"passed":true},{"actual":{"a8":"r","c8":"k","e1":"K"},"check":"king step to c8","expected":{"a8":"r","c8":"k","e1":"K"},"passed":true},{"actual":{"d6":"P","e1":"K","e8":"k"},"check":"white en passant","expected":{"d6":"P","e1":"K","e8":"k"},"passed":true},{"actual":{"e1":"K","e3":"p","e8":"k"},"check":"black en passant","expected":{"e1":"K","e3":"p","e8":"k"},"passed":true},{"actual":{"d4":"N","d5":"P","e1":"K","e8":"k"},"check":"ordinary pawn capture","expected":{"d4":"N","d5":"P","e1":"K","e8":"k"},"passed":true},{"actual":{"b8":"Q","e1":"K","e8":"k"},"check":"white promotion","expected":{"b8":"Q","e1":"K","e8":"k"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"white long castle\", \"actual\": {\"a1\": \"R\", \"c1\": \"K\", \"d1\": \"R\", \"e8\": \"k\"}, \"expected\": {\"c1\": \"K\", \"d1\": \"R\", \"e8\": \"k\"}, \"passed\": false}, {\"check\": \"black short castle\", \"actual\": {\"e1\": \"K\", \"f8\": \"r\", \"g8\": \"k\"}, \"expected\": {\"e1\": \"K\", \"f8\": \"r\", \"g8\": \"k\"}, \"passed\": true}, {\"check\": \"king step to g1\", \"actual\": {\"e8\": \"k\", \"g1\": \"K\", \"h1\": \"R\"}, \"expected\": {\"e8\": \"k\", \"g1\": \"K\", \"h1\": \"R\"}, \"passed\": true}, {\"check\": \"king step to c8\", \"actual\": {\"a8\": \"r\", \"c8\": \"k\", \"e1\": \"K\"}, \"expected\": {\"a8\": \"r\", \"c8\": \"k\", \"e1\": \"K\"}, \"passed\": true}, {\"check\": \"white en passant\", \"actual\": {\"d6\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"d6\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"passed\": true}, {\"check\": \"black en passant\", \"actual\": {\"e1\": \"K\", \"e3\": \"p\", \"e8\": \"k\"}, \"expected\": {\"e1\": \"K\", \"e3\": \"p\", \"e8\": \"k\"}, \"passed\": true}, {\"check\": \"ordinary pawn capture\", \"actual\": {\"d4\": \"N\", \"d5\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"d4\": \"N\", \"d5\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"passed\": true}, {\"check\": \"white promotion\", \"actual\": {\"b8\": \"Q\", \"e1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"b8\": \"Q\", \"e1\": \"K\", \"e8\": \"k\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.056,"exit_code":1,"observations":[{"actual":{"c1":"K","e8":"k"},"check":"white long castle","expected":{"c1":"K","d1":"R","e8":"k"},"passed":false},{"actual":{"e1":"K","f8":"r","g8":"k"},"check":"black short castle","expected":{"e1":"K","f8":"r","g8":"k"},"passed":true},{"actual":{"e8":"k","g1":"K","h1":"R"},"check":"king step to g1","expected":{"e8":"k","g1":"K","h1":"R"},"passed":true},{"actual":{"a8":"r","c8":"k","e1":"K"},"check":"king step to c8","expected":{"a8":"r","c8":"k","e1":"K"},"passed":true},{"actual":{"d6":"P","e1":"K","e8":"k"},"check":"white en passant","expected":{"d6":"P","e1":"K","e8":"k"},"passed":true},{"actual":{"e1":"K","e3":"p","e8":"k"},"check":"black en passant","expected":{"e1":"K","e3":"p","e8":"k"},"passed":true},{"actual":{"d4":"N","d5":"P","e1":"K","e8":"k"},"check":"ordinary pawn capture","expected":{"d4":"N","d5":"P","e1":"K","e8":"k"},"passed":true},{"actual":{"b8":"Q","e1":"K","e8":"k"},"check":"white promotion","expected":{"b8":"Q","e1":"K","e8":"k"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"white long castle\", \"actual\": {\"c1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"c1\": \"K\", \"d1\": \"R\", \"e8\": \"k\"}, \"passed\": false}, {\"check\": \"black short castle\", \"actual\": {\"e1\": \"K\", \"f8\": \"r\", \"g8\": \"k\"}, \"expected\": {\"e1\": \"K\", \"f8\": \"r\", \"g8\": \"k\"}, \"passed\": true}, {\"check\": \"king step to g1\", \"actual\": {\"e8\": \"k\", \"g1\": \"K\", \"h1\": \"R\"}, \"expected\": {\"e8\": \"k\", \"g1\": \"K\", \"h1\": \"R\"}, \"passed\": true}, {\"check\": \"king step to c8\", \"actual\": {\"a8\": \"r\", \"c8\": \"k\", \"e1\": \"K\"}, \"expected\": {\"a8\": \"r\", \"c8\": \"k\", \"e1\": \"K\"}, \"passed\": true}, {\"check\": \"white en passant\", \"actual\": {\"d6\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"d6\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"passed\": true}, {\"check\": \"black en passant\", \"actual\": {\"e1\": \"K\", \"e3\": \"p\", \"e8\": \"k\"}, \"expected\": {\"e1\": \"K\", \"e3\": \"p\", \"e8\": \"k\"}, \"passed\": true}, {\"check\": \"ordinary pawn capture\", \"actual\": {\"d4\": \"N\", \"d5\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"d4\": \"N\", \"d5\": \"P\", \"e1\": \"K\", \"e8\": \"k\"}, \"passed\": true}, {\"check\": \"white promotion\", \"actual\": {\"b8\": \"Q\", \"e1\": \"K\", \"e8\": \"k\"}, \"expected\": {\"b8\": \"Q\", \"e1\": \"K\", \"e8\": \"k\"}, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}