{"abstract":"A queen move to a square between king and a checking knight is accepted.","category":"Chess move legality","checks":8,"contract":"Input: {\"board\", \"move\": [from, to]} for a non-king piece whose king may be in check (pins are ignored). Return true if the move is allowed by the check rules: no check means true; double check means false; a single check is answered by capturing the checker or, for a rook, bishop or queen checker, by moving onto a square strictly between it and the king.","contract_signature":"x","evaluation_group":"w2-chess_move_legality-check-evasion-filter","failed_approach":"Comparing without lower-casing only recognizes black checkers.","family":"w2-chess_move_legality-check-evasion-filter-unblockable-checker-types","id":"FA-82531","implementations":{"attempt":{"sha256":"fd95d6afbd4ce73838e6e50d9cabe05fee5a7d1ace8c4f6e6eb6c6568daf0f1d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    b=x['board']; fr,to=x['move']; p=b[fr]; white=p.isupper()\n    ks=[s for s,v in b.items() if v==('K' if white else 'k')][0]\n    def at(f,r): return b.get(chr(97+f)+str(r+1)) if 0<=f<8 and 0<=r<8 else None\n    def sq(f,r): return chr(97+f)+str(r+1)\n    def attackers(s, by_white):\n        f,r=ord(s[0])-97,int(s[1])-1\n        P,N,B,R,Q=('PNBRQ' if by_white else 'pnbrq')\n        out=[]\n        pr=r-1 if by_white else r+1\n        for df in (-1,1):\n            if at(f+df,pr)==P: out.append(sq(f+df,pr))\n        for df,dr in ((1,2),(2,1),(-1,2),(-2,1),(1,-2),(2,-1),(-1,-2),(-2,-1)):\n            if at(f+df,r+dr)==N: out.append(sq(f+df,r+dr))\n        for df,dr in ((1,0),(-1,0),(0,1),(0,-1),(1,1),(1,-1),(-1,1),(-1,-1)):\n            kinds=(R,Q) if df==0 or dr==0 else (B,Q)\n            ff,rr=f+df,r+dr\n            while 0<=ff<8 and 0<=rr<8:\n                v=at(ff,rr)\n                if v:\n                    if v in kinds: out.append(sq(ff,rr))\n                    break\n                ff+=df; rr+=dr\n        return out\n    checkers=attackers(ks, not white)\n    if len(checkers)>=2: return False\n    if not checkers: return True\n    c=checkers[0]\n    if to==c: return True\n    if b[c] in ('n','p'): return False\n    cf,cr=ord(c[0])-97,int(c[1])-1\n    kf,kr=ord(ks[0])-97,int(ks[1])-1\n    sf=(cf>kf)-(cf<kf); sr=(cr>kr)-(cr<kr)\n    f,r=kf+sf,kr+sr\n    between=[]\n    while (f,r)!=(cf,cr) and 0<=f<8 and 0<=r<8:\n        between.append(sq(f,r)); f+=sf; r+=sr\n    return to in between\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('no check', {'board': {'b1': 'N', 'e1': 'K', 'e8': 'k'}, 'move': ['b1', 'c3']}, True),\n  ('block rook check',\n   {'board': {'a8': 'k', 'b1': 'N', 'e1': 'K', 'e8': 'r'}, 'move': ['b1', 'c3']}, False),\n  ('interpose on file',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r'}, 'move': ['d1', 'e2']}, True),\n  ('capture rook checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'h8': 'R'}, 'move': ['h8', 'e8']}, True),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('bishop takes knight checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']}, True),\n  ('cannot block knight',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'f3': 'n'}, 'move': ['d1', 'e2']}, False),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False)],\n [('capture rook checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'h8': 'R'}, 'move': ['h8', 'e8']}, True),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('bishop takes knight checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']}, True),\n  ('cannot block knight',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'f3': 'n'}, 'move': ['d1', 'e2']}, False),\n  ('double check block',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r', 'f3': 'n'}, 'move': ['d1', 'e2']},\n   False),\n  ('double check capture one',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']},\n   False),\n  ('diagonal interpose',\n   {'board': {'a5': 'b', 'c1': 'N', 'e1': 'K', 'h8': 'k'}, 'move': ['c1', 'b3']}, False),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False)],\n [('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('double check block',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r', 'f3': 'n'}, 'move': ['d1', 'e2']},\n   False),\n  ('double check capture one',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']},\n   False),\n  ('diagonal interpose',\n   {'board': {'a5': 'b', 'c1': 'N', 'e1': 'K', 'h8': 'k'}, 'move': ['c1', 'b3']}, False),\n  ('diagonal interpose d2',\n   {'board': {'a5': 'b', 'e1': 'K', 'f3': 'N', 'h8': 'k'}, 'move': ['f3', 'd2']}, True),\n  ('black blocks white queen',\n   {'board': {'a1': 'K', 'c6': 'n', 'e1': 'Q', 'e8': 'k'}, 'move': ['c6', 'e7']}, True),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False),\n  ('irrelevant move in check',\n   {'board': {'a2': 'P', 'a8': 'k', 'e1': 'K', 'e8': 'r'}, 'move': ['a2', 'a3']}, False)],\n [('no check', {'board': {'b1': 'N', 'e1': 'K', 'e8': 'k'}, 'move': ['b1', 'c3']}, True),\n  ('block rook check',\n   {'board': {'a8': 'k', 'b1': 'N', 'e1': 'K', 'e8': 'r'}, 'move': ['b1', 'c3']}, False),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('diagonal interpose d2',\n   {'board': {'a5': 'b', 'e1': 'K', 'f3': 'N', 'h8': 'k'}, 'move': ['f3', 'd2']}, True),\n  ('black blocks white queen',\n   {'board': {'a1': 'K', 'c6': 'n', 'e1': 'Q', 'e8': 'k'}, 'move': ['c6', 'e7']}, True),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False),\n  ('irrelevant move in check',\n   {'board': {'a2': 'P', 'a8': 'k', 'e1': 'K', 'e8': 'r'}, 'move': ['a2', 'a3']}, False),\n  ('rank check interpose',\n   {'board': {'a1': 'K', 'a8': 'k', 'b3': 'N', 'h1': 'q'}, 'move': ['b3', 'c1']}, True)],\n [('no check', {'board': {'b1': 'N', 'e1': 'K', 'e8': 'k'}, 'move': ['b1', 'c3']}, True),\n  ('block rook check',\n   {'board': {'a8': 'k', 'b1': 'N', 'e1': 'K', 'e8': 'r'}, 'move': ['b1', 'c3']}, False),\n  ('interpose on file',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r'}, 'move': ['d1', 'e2']}, True),\n  ('capture rook checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'h8': 'R'}, 'move': ['h8', 'e8']}, True),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('bishop takes knight checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']}, True),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False),\n  ('rank check interpose',\n   {'board': {'a1': 'K', 'a8': 'k', 'b3': 'N', 'h1': 'q'}, 'move': ['b3', 'c1']}, True)]]\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":"94eca61355b9547312970b508349c49edab4cba41b3403ab664f2b5d6f3e9e28","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    b=x['board']; fr,to=x['move']; p=b[fr]; white=p.isupper()\n    ks=[s for s,v in b.items() if v==('K' if white else 'k')][0]\n    def at(f,r): return b.get(chr(97+f)+str(r+1)) if 0<=f<8 and 0<=r<8 else None\n    def sq(f,r): return chr(97+f)+str(r+1)\n    def attackers(s, by_white):\n        f,r=ord(s[0])-97,int(s[1])-1\n        P,N,B,R,Q=('PNBRQ' if by_white else 'pnbrq')\n        out=[]\n        pr=r-1 if by_white else r+1\n        for df in (-1,1):\n            if at(f+df,pr)==P: out.append(sq(f+df,pr))\n        for df,dr in ((1,2),(2,1),(-1,2),(-2,1),(1,-2),(2,-1),(-1,-2),(-2,-1)):\n            if at(f+df,r+dr)==N: out.append(sq(f+df,r+dr))\n        for df,dr in ((1,0),(-1,0),(0,1),(0,-1),(1,1),(1,-1),(-1,1),(-1,-1)):\n            kinds=(R,Q) if df==0 or dr==0 else (B,Q)\n            ff,rr=f+df,r+dr\n            while 0<=ff<8 and 0<=rr<8:\n                v=at(ff,rr)\n                if v:\n                    if v in kinds: out.append(sq(ff,rr))\n                    break\n                ff+=df; rr+=dr\n        return out\n    checkers=attackers(ks, not white)\n    if len(checkers)>=2: return False\n    if not checkers: return True\n    c=checkers[0]\n    if to==c: return True\n    if b[c].lower()=='p': return False\n    cf,cr=ord(c[0])-97,int(c[1])-1\n    kf,kr=ord(ks[0])-97,int(ks[1])-1\n    sf=(cf>kf)-(cf<kf); sr=(cr>kr)-(cr<kr)\n    f,r=kf+sf,kr+sr\n    between=[]\n    while (f,r)!=(cf,cr) and 0<=f<8 and 0<=r<8:\n        between.append(sq(f,r)); f+=sf; r+=sr\n    return to in between\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('no check', {'board': {'b1': 'N', 'e1': 'K', 'e8': 'k'}, 'move': ['b1', 'c3']}, True),\n  ('block rook check',\n   {'board': {'a8': 'k', 'b1': 'N', 'e1': 'K', 'e8': 'r'}, 'move': ['b1', 'c3']}, False),\n  ('interpose on file',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r'}, 'move': ['d1', 'e2']}, True),\n  ('capture rook checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'h8': 'R'}, 'move': ['h8', 'e8']}, True),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('bishop takes knight checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']}, True),\n  ('cannot block knight',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'f3': 'n'}, 'move': ['d1', 'e2']}, False),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False)],\n [('capture rook checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'h8': 'R'}, 'move': ['h8', 'e8']}, True),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('bishop takes knight checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']}, True),\n  ('cannot block knight',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'f3': 'n'}, 'move': ['d1', 'e2']}, False),\n  ('double check block',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r', 'f3': 'n'}, 'move': ['d1', 'e2']},\n   False),\n  ('double check capture one',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']},\n   False),\n  ('diagonal interpose',\n   {'board': {'a5': 'b', 'c1': 'N', 'e1': 'K', 'h8': 'k'}, 'move': ['c1', 'b3']}, False),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False)],\n [('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('double check block',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r', 'f3': 'n'}, 'move': ['d1', 'e2']},\n   False),\n  ('double check capture one',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']},\n   False),\n  ('diagonal interpose',\n   {'board': {'a5': 'b', 'c1': 'N', 'e1': 'K', 'h8': 'k'}, 'move': ['c1', 'b3']}, False),\n  ('diagonal interpose d2',\n   {'board': {'a5': 'b', 'e1': 'K', 'f3': 'N', 'h8': 'k'}, 'move': ['f3', 'd2']}, True),\n  ('black blocks white queen',\n   {'board': {'a1': 'K', 'c6': 'n', 'e1': 'Q', 'e8': 'k'}, 'move': ['c6', 'e7']}, True),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False),\n  ('irrelevant move in check',\n   {'board': {'a2': 'P', 'a8': 'k', 'e1': 'K', 'e8': 'r'}, 'move': ['a2', 'a3']}, False)],\n [('no check', {'board': {'b1': 'N', 'e1': 'K', 'e8': 'k'}, 'move': ['b1', 'c3']}, True),\n  ('block rook check',\n   {'board': {'a8': 'k', 'b1': 'N', 'e1': 'K', 'e8': 'r'}, 'move': ['b1', 'c3']}, False),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('diagonal interpose d2',\n   {'board': {'a5': 'b', 'e1': 'K', 'f3': 'N', 'h8': 'k'}, 'move': ['f3', 'd2']}, True),\n  ('black blocks white queen',\n   {'board': {'a1': 'K', 'c6': 'n', 'e1': 'Q', 'e8': 'k'}, 'move': ['c6', 'e7']}, True),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False),\n  ('irrelevant move in check',\n   {'board': {'a2': 'P', 'a8': 'k', 'e1': 'K', 'e8': 'r'}, 'move': ['a2', 'a3']}, False),\n  ('rank check interpose',\n   {'board': {'a1': 'K', 'a8': 'k', 'b3': 'N', 'h1': 'q'}, 'move': ['b3', 'c1']}, True)],\n [('no check', {'board': {'b1': 'N', 'e1': 'K', 'e8': 'k'}, 'move': ['b1', 'c3']}, True),\n  ('block rook check',\n   {'board': {'a8': 'k', 'b1': 'N', 'e1': 'K', 'e8': 'r'}, 'move': ['b1', 'c3']}, False),\n  ('interpose on file',\n   {'board': {'a8': 'k', 'd1': 'Q', 'e1': 'K', 'e8': 'r'}, 'move': ['d1', 'e2']}, True),\n  ('capture rook checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'e8': 'r', 'h8': 'R'}, 'move': ['h8', 'e8']}, True),\n  ('knight check sidestep piece',\n   {'board': {'a8': 'k', 'b2': 'B', 'd3': 'n', 'e1': 'K'}, 'move': ['b2', 'c3']}, False),\n  ('bishop takes knight checker',\n   {'board': {'a8': 'k', 'e1': 'K', 'f3': 'n', 'g2': 'B'}, 'move': ['g2', 'f3']}, True),\n  ('black cannot block white knight',\n   {'board': {'a1': 'K', 'c8': 'b', 'd6': 'N', 'e8': 'k'}, 'move': ['c8', 'd7']}, False),\n  ('rank check interpose',\n   {'board': {'a1': 'K', 'a8': 'k', 'b3': 'N', 'h1': 'q'}, 'move': ['b3', 'c1']}, True)]]\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-check-evasion-filter-unblockable-checker-types","generated_at":"2026-09-29T14:50:12.923074+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Move validators gate every move in engines, servers and arbiters; accepting an illegal move or rejecting a legal one corrupts the game record.","root_cause":"Only pawn checks are marked unblockable, so a knight check falls through to the line walk.","sha256":"0e389864d73781e89b71843a2e22641238017d44864aa47a3f7d1bc502edc00c","title":"Knight check treated as blockable · 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":40.956,"exit_code":1,"observations":[{"actual":true,"check":"no check","expected":true,"passed":true},{"actual":false,"check":"block rook check","expected":false,"passed":true},{"actual":true,"check":"interpose on file","expected":true,"passed":true},{"actual":true,"check":"capture rook checker","expected":true,"passed":true},{"actual":false,"check":"knight check sidestep piece","expected":false,"passed":true},{"actual":true,"check":"bishop takes knight checker","expected":true,"passed":true},{"actual":false,"check":"cannot block knight","expected":false,"passed":true},{"actual":true,"check":"black cannot block white knight","expected":false,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"no check\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"block rook check\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"interpose on file\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"capture rook checker\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"knight check sidestep piece\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"bishop takes knight checker\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cannot block knight\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"black cannot block white knight\", \"actual\": true, \"expected\": false, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.539,"exit_code":1,"observations":[{"actual":true,"check":"no check","expected":true,"passed":true},{"actual":false,"check":"block rook check","expected":false,"passed":true},{"actual":true,"check":"interpose on file","expected":true,"passed":true},{"actual":true,"check":"capture rook checker","expected":true,"passed":true},{"actual":true,"check":"knight check sidestep piece","expected":false,"passed":false},{"actual":true,"check":"bishop takes knight checker","expected":true,"passed":true},{"actual":false,"check":"cannot block knight","expected":false,"passed":true},{"actual":true,"check":"black cannot block white knight","expected":false,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"no check\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"block rook check\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"interpose on file\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"capture rook checker\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"knight check sidestep piece\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"bishop takes knight checker\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cannot block knight\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"black cannot block white knight\", \"actual\": true, \"expected\": false, \"passed\": false}], \"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."}}