{"abstract":"A dead invader turns the surrounding territory into dame.","category":"Go territory scoring","checks":8,"contract":"Input [board, dead_points]. Remove dead stones, then render each point: live stones as B/W, territory (region bordered by one colour) as lower-case b/w, other empty points as \"?\". Return rows.","contract_signature":"x","evaluation_group":"w2-go-territory-scoring-ownership-map","failed_approach":"Removing them for analysis but rendering from the original board shows dead stones as alive.","family":"w2-go-territory-scoring-ownership-map-dead-stone-rendering","id":"FA-83196","implementations":{"attempt":{"sha256":"6dd54964082c6a449d7b1d2c98cbbbacbb100ae7fab5f5470064b67abc386b12","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    board, dead = x\n    n = len(board)\n    m = len(board[0])\n    dd = {tuple(p) for p in dead}\n    g = [[('.' if (r, c) in dd else board[r][c]) for c in range(m)] for r in range(n)]\n    out = [[board[r][c] for c in range(m)] for r in range(n)]\n    seen = set()\n    for r in range(n):\n        for c in range(m):\n            if g[r][c] != '.' or (r, c) in seen:\n                continue\n            seen.add((r, c))\n            region = [(r, c)]\n            k = 0\n            cols = set()\n            while k < len(region):\n                i, j = region[k]\n                k += 1\n                for p, q in ((i - 1, j), (i, j - 1), (i + 1, j), (i, j + 1)):\n                    if 0 <= p < n and 0 <= q < m:\n                        if g[p][q] == '.':\n                            if (p, q) not in seen:\n                                seen.add((p, q))\n                                region.append((p, q))\n                        else:\n                            cols.add(g[p][q])\n            mark = cols.pop().lower() if len(cols) == 1 else '?'\n            for i, j in region:\n                if board[i][j] == '.':\n                    out[i][j] = mark\n    return [''.join(row) for row in out]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['.BW.', '.BW.', '.BW.', '.BWB', '.BW.', '.BWB'], [[1, 1]]], ['?BW?', '??W?', '?BW?', '?BWB', '?BW?', '?BWB']], [[['...WBW.', '....BW.', '....BW.', '.W..BW.'], []], ['???WBWw', '????BWw', '????BWw', '?W??BWw']], [[['.BWB.', '.BW..', '.BW..', '.BWB.'], [[2, 2], [0, 2]]], ['bB?B?', 'bBW??', 'bB???', 'bBWB?']], [[['WBW...', '.BW...', '.BW..B', '.BW...', '.BW...'], [[0, 2]]], ['WB????', '?BW???', '?BW??B', '?BW???', '?BW???']], [[['.BW.B..', 'WBW....', '.BW....', '.BW....', '.BW....'], [[2, 2]]], ['?BW?B??', 'WBW????', '?B?????', '?BW????', '?BW????']], [[['....BW', '....BW', '....BW', '....BW', '....BW', '....BW'], [[2, 5], [2, 4]]], ['????BW', '????BW', '??????', '????BW', '????BW', '????BW']], [[['..BW', '..BW', '..BW', '..BW', '..BW', '..BW', '..BW'], [[3, 2]]], ['??BW', '??BW', '??BW', '???W', '??BW', '??BW', '??BW']], [[['.B.', 'B.B', '.B.'], [[1, 2], [2, 1]]], ['bBb', 'Bbb', 'bbb']]], [[[['W.BW.', '..BW.', '.WBW.', '.WBW.', '..BW.', '..BW.', '..BW.'], []], ['W?BWw', '??BWw', '?WBWw', '?WBWw', '??BWw', '??BWw', '??BWw']], [[['.W.W.BW', '.....BW', '.W...BW', '...W.BW', '.....BW'], [[2, 1]]], ['?W?W?BW', '?????BW', '?????BW', '???W?BW', '?????BW']], [[['.BWB', '.BW.', 'WBW.', '.BW.', '.BW.', 'WBW.'], [[4, 1]]], ['?BWB', '?BW?', 'WBW?', '?BW?', '??W?', 'WBW?']], [[['.BW.', '.BW.', 'WBW.', '.BW.', '.BW.'], [[0, 1], [3, 1]]], ['??Ww', '?BWw', 'WBWw', '??Ww', '?BWw']], [[['.W..BW', '....BW', 'W...BW', '....BW'], [[1, 4]]], ['?W??BW', '?????W', 'W???BW', '????BW']], [[['..BW', '..BW', 'W.BW', '..BW', '..BW'], [[4, 2], [3, 2]]], ['??BW', '??BW', 'W?BW', '???W', '???W']], [[['.BW...', '.BW...', '.BW...', 'WBW..B', '.BW..B', '.BW..B'], []], ['?BW???', '?BW???', '?BW???', 'WBW??B', '?BW??B', '?BW??B']], [[['BBBB', 'B..B', 'B..B', 'BBBB'], [[0, 2]]], ['BBbB', 'BbbB', 'BbbB', 'BBBB']]], [[[['.BW..', 'WBW..', 'WBWB.', '.BW..', '.BW..'], []], ['?BW??', 'WBW??', 'WBWB?', '?BW??', '?BW??']], [[['...BW', '...BW', '...BW', '...BW', 'W..BW', '.W.BW', '...BW'], [[2, 4], [3, 3]]], ['???BW', '???BW', '???B?', '????W', 'W??BW', '?W?BW', '???BW']], [[['...BW', '..WBW', '...BW', '...BW', '...BW'], []], ['???BW', '??WBW', '???BW', '???BW', '???BW']], [[['...BW', '...BW', '...BW', 'W..BW'], []], ['???BW', '???BW', '???BW', 'W??BW']], [[['..BW.', '..BW.', '..BWB', '..BW.', '..BW.', '..BW.', '..BW.'], [[2, 2], [3, 3]]], ['??BW?', '??BW?', '???WB', '??B??', '??BW?', '??BW?', '??BW?']], [[['.BW..', '.BW.B', '.BWB.', '.BW..', '.BW.B', '.BW..', 'WBW..'], [[4, 1]]], ['?BW??', '?BW?B', '?BWB?', '?BW??', '??W?B', '?BW??', 'WBW??']], [[['..BW', 'W.BW', '..BW', '..BW', '..BW', 'W.BW'], [[0, 2], [5, 3]]], ['???W', 'W?BW', '??BW', '??BW', '??BW', 'W?B?']], [[['..W', '.W.', 'W..'], [[0, 2], [2, 0]]], ['www', 'wWw', 'www']]], [[[['...BW.', '...BW.', '...BW.', '...BW.', '...BW.', '...BW.'], [[2, 4]]], ['bbbBW?', 'bbbBW?', 'bbbB??', 'bbbBW?', 'bbbBW?', 'bbbBW?']], [[['...BW', '...BW', 'W..BW', 'W.WBW', '...BW', '...BW'], []], ['???BW', '???BW', 'W??BW', 'W?WBW', '???BW', '???BW']], [[['....', '....', '....', '....'], []], ['????', '????', '????', '????']], [[['...', '...', '...'], []], ['???', '???', '???']], [[['.B.', 'B.B', '.B.'], [[1, 2], [2, 1]]], ['bBb', 'Bbb', 'bbb']], [[['B..W', 'B..W', 'B..W', 'B..W'], [[2, 3]]], ['B??W', 'B??W', 'B???', 'B??W']], [[['.BW.', '.BW.', '.BW.', '.BW.'], [[0, 2]]], ['bB??', 'bBW?', 'bBW?', 'bBW?']], [[['..B.', '....', '....', '....', 'B...'], [[0, 2]]], ['bbbb', 'bbbb', 'bbbb', 'bbbb', 'Bbbb']]], [[[['.B.', 'B.B', '.B.'], [[1, 2], [2, 1]]], ['bBb', 'Bbb', 'bbb']], [[['B.B.W', '.B.W.', 'B.BW.', 'BBW.W', '..W..'], []], ['BbB?W', 'bB?Ww', 'BbBWw', 'BBWwW', '??Www']], [[['W....', '.....', '.....', '.....', '....B'], [[4, 4]]], ['Wwwww', 'wwwww', 'wwwww', 'wwwww', 'wwwww']], [[['.W.B.', 'W.WB.', '.WB..', 'WB...', 'B....'], [[3, 1], [3, 0]]], ['wW?B?', 'WwWB?', '?WB??', '?????', 'B????']], [[['BBBB', 'B..B', 'B..B', 'BBBB'], [[0, 2]]], ['BBbB', 'BbbB', 'BbbB', 'BBBB']], [[['WWW', 'W.W', 'WWW'], []], ['WWW', 'WwW', 'WWW']], [[['B.W', '...', 'W.B'], [[2, 2], [0, 0]]], ['wwW', 'www', 'Www']], [[['.B...', 'B....', '.....', '....W', '...W.'], [[1, 0]]], ['?B???', '?????', '?????', '????W', '???Ww']]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"ownership map case %d\" % i, solve(args), 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":"e560fe25eb772b170ea3b769b85c2797dc353d170e6fd35f678454b6f6caa751","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    board, dead = x\n    n = len(board)\n    m = len(board[0])\n    dd = {tuple(p) for p in dead}\n    g = [[('?' if (r, c) in dd else board[r][c]) for c in range(m)] for r in range(n)]\n    out = [[g[r][c] for c in range(m)] for r in range(n)]\n    seen = set()\n    for r in range(n):\n        for c in range(m):\n            if g[r][c] != '.' or (r, c) in seen:\n                continue\n            seen.add((r, c))\n            region = [(r, c)]\n            k = 0\n            cols = set()\n            while k < len(region):\n                i, j = region[k]\n                k += 1\n                for p, q in ((i - 1, j), (i, j - 1), (i + 1, j), (i, j + 1)):\n                    if 0 <= p < n and 0 <= q < m:\n                        if g[p][q] == '.':\n                            if (p, q) not in seen:\n                                seen.add((p, q))\n                                region.append((p, q))\n                        else:\n                            cols.add(g[p][q])\n            mark = cols.pop().lower() if len(cols) == 1 else '?'\n            for i, j in region:\n                out[i][j] = mark\n    return [''.join(row) for row in out]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['.BW.', '.BW.', '.BW.', '.BWB', '.BW.', '.BWB'], [[1, 1]]], ['?BW?', '??W?', '?BW?', '?BWB', '?BW?', '?BWB']], [[['...WBW.', '....BW.', '....BW.', '.W..BW.'], []], ['???WBWw', '????BWw', '????BWw', '?W??BWw']], [[['.BWB.', '.BW..', '.BW..', '.BWB.'], [[2, 2], [0, 2]]], ['bB?B?', 'bBW??', 'bB???', 'bBWB?']], [[['WBW...', '.BW...', '.BW..B', '.BW...', '.BW...'], [[0, 2]]], ['WB????', '?BW???', '?BW??B', '?BW???', '?BW???']], [[['.BW.B..', 'WBW....', '.BW....', '.BW....', '.BW....'], [[2, 2]]], ['?BW?B??', 'WBW????', '?B?????', '?BW????', '?BW????']], [[['....BW', '....BW', '....BW', '....BW', '....BW', '....BW'], [[2, 5], [2, 4]]], ['????BW', '????BW', '??????', '????BW', '????BW', '????BW']], [[['..BW', '..BW', '..BW', '..BW', '..BW', '..BW', '..BW'], [[3, 2]]], ['??BW', '??BW', '??BW', '???W', '??BW', '??BW', '??BW']], [[['.B.', 'B.B', '.B.'], [[1, 2], [2, 1]]], ['bBb', 'Bbb', 'bbb']]], [[[['W.BW.', '..BW.', '.WBW.', '.WBW.', '..BW.', '..BW.', '..BW.'], []], ['W?BWw', '??BWw', '?WBWw', '?WBWw', '??BWw', '??BWw', '??BWw']], [[['.W.W.BW', '.....BW', '.W...BW', '...W.BW', '.....BW'], [[2, 1]]], ['?W?W?BW', '?????BW', '?????BW', '???W?BW', '?????BW']], [[['.BWB', '.BW.', 'WBW.', '.BW.', '.BW.', 'WBW.'], [[4, 1]]], ['?BWB', '?BW?', 'WBW?', '?BW?', '??W?', 'WBW?']], [[['.BW.', '.BW.', 'WBW.', '.BW.', '.BW.'], [[0, 1], [3, 1]]], ['??Ww', '?BWw', 'WBWw', '??Ww', '?BWw']], [[['.W..BW', '....BW', 'W...BW', '....BW'], [[1, 4]]], ['?W??BW', '?????W', 'W???BW', '????BW']], [[['..BW', '..BW', 'W.BW', '..BW', '..BW'], [[4, 2], [3, 2]]], ['??BW', '??BW', 'W?BW', '???W', '???W']], [[['.BW...', '.BW...', '.BW...', 'WBW..B', '.BW..B', '.BW..B'], []], ['?BW???', '?BW???', '?BW???', 'WBW??B', '?BW??B', '?BW??B']], [[['BBBB', 'B..B', 'B..B', 'BBBB'], [[0, 2]]], ['BBbB', 'BbbB', 'BbbB', 'BBBB']]], [[[['.BW..', 'WBW..', 'WBWB.', '.BW..', '.BW..'], []], ['?BW??', 'WBW??', 'WBWB?', '?BW??', '?BW??']], [[['...BW', '...BW', '...BW', '...BW', 'W..BW', '.W.BW', '...BW'], [[2, 4], [3, 3]]], ['???BW', '???BW', '???B?', '????W', 'W??BW', '?W?BW', '???BW']], [[['...BW', '..WBW', '...BW', '...BW', '...BW'], []], ['???BW', '??WBW', '???BW', '???BW', '???BW']], [[['...BW', '...BW', '...BW', 'W..BW'], []], ['???BW', '???BW', '???BW', 'W??BW']], [[['..BW.', '..BW.', '..BWB', '..BW.', '..BW.', '..BW.', '..BW.'], [[2, 2], [3, 3]]], ['??BW?', '??BW?', '???WB', '??B??', '??BW?', '??BW?', '??BW?']], [[['.BW..', '.BW.B', '.BWB.', '.BW..', '.BW.B', '.BW..', 'WBW..'], [[4, 1]]], ['?BW??', '?BW?B', '?BWB?', '?BW??', '??W?B', '?BW??', 'WBW??']], [[['..BW', 'W.BW', '..BW', '..BW', '..BW', 'W.BW'], [[0, 2], [5, 3]]], ['???W', 'W?BW', '??BW', '??BW', '??BW', 'W?B?']], [[['..W', '.W.', 'W..'], [[0, 2], [2, 0]]], ['www', 'wWw', 'www']]], [[[['...BW.', '...BW.', '...BW.', '...BW.', '...BW.', '...BW.'], [[2, 4]]], ['bbbBW?', 'bbbBW?', 'bbbB??', 'bbbBW?', 'bbbBW?', 'bbbBW?']], [[['...BW', '...BW', 'W..BW', 'W.WBW', '...BW', '...BW'], []], ['???BW', '???BW', 'W??BW', 'W?WBW', '???BW', '???BW']], [[['....', '....', '....', '....'], []], ['????', '????', '????', '????']], [[['...', '...', '...'], []], ['???', '???', '???']], [[['.B.', 'B.B', '.B.'], [[1, 2], [2, 1]]], ['bBb', 'Bbb', 'bbb']], [[['B..W', 'B..W', 'B..W', 'B..W'], [[2, 3]]], ['B??W', 'B??W', 'B???', 'B??W']], [[['.BW.', '.BW.', '.BW.', '.BW.'], [[0, 2]]], ['bB??', 'bBW?', 'bBW?', 'bBW?']], [[['..B.', '....', '....', '....', 'B...'], [[0, 2]]], ['bbbb', 'bbbb', 'bbbb', 'bbbb', 'Bbbb']]], [[[['.B.', 'B.B', '.B.'], [[1, 2], [2, 1]]], ['bBb', 'Bbb', 'bbb']], [[['B.B.W', '.B.W.', 'B.BW.', 'BBW.W', '..W..'], []], ['BbB?W', 'bB?Ww', 'BbBWw', 'BBWwW', '??Www']], [[['W....', '.....', '.....', '.....', '....B'], [[4, 4]]], ['Wwwww', 'wwwww', 'wwwww', 'wwwww', 'wwwww']], [[['.W.B.', 'W.WB.', '.WB..', 'WB...', 'B....'], [[3, 1], [3, 0]]], ['wW?B?', 'WwWB?', '?WB??', '?????', 'B????']], [[['BBBB', 'B..B', 'B..B', 'BBBB'], [[0, 2]]], ['BBbB', 'BbbB', 'BbbB', 'BBBB']], [[['WWW', 'W.W', 'WWW'], []], ['WWW', 'WwW', 'WWW']], [[['B.W', '...', 'W.B'], [[2, 2], [0, 0]]], ['wwW', 'www', 'Www']], [[['.B...', 'B....', '.....', '....W', '...W.'], [[1, 0]]], ['?B???', '?????', '?????', '????W', '???Ww']]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"ownership map case %d\" % i, solve(args), 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":"Small rectangular toy boards given as strings of B, W and dot; a bounded teaching model of one scoring or bookkeeping rule, not a complete rules engine or server implementation. 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-go-territory-scoring-ownership-map-dead-stone-rendering","generated_at":"2026-09-29T14:50:19.371791+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Go servers and scoring tools compute this value automatically; a wrong answer changes a game result.","root_cause":"Dead points are replaced with \"?\" rather than removed.","sha256":"21733739489e53b9c2f1f6bc414a62e95cea6505d472432ce93dd8663b9bca51","title":"Dead stones are rendered as unknown points that neutralise territory · 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":42.617,"exit_code":1,"observations":[{"actual":["?BW?","?BW?","?BW?","?BWB","?BW?","?BWB"],"check":"ownership map case 0","expected":["?BW?","??W?","?BW?","?BWB","?BW?","?BWB"],"passed":false},{"actual":["???WBWw","????BWw","????BWw","?W??BWw"],"check":"ownership map case 1","expected":["???WBWw","????BWw","????BWw","?W??BWw"],"passed":true},{"actual":["bBWB?","bBW??","bBW??","bBWB?"],"check":"ownership map case 2","expected":["bB?B?","bBW??","bB???","bBWB?"],"passed":false},{"actual":["WBW???","?BW???","?BW??B","?BW???","?BW???"],"check":"ownership map case 3","expected":["WB????","?BW???","?BW??B","?BW???","?BW???"],"passed":false},{"actual":["?BW?B??","WBW????","?BW????","?BW????","?BW????"],"check":"ownership map case 4","expected":["?BW?B??","WBW????","?B?????","?BW????","?BW????"],"passed":false},{"actual":["????BW","????BW","????BW","????BW","????BW","????BW"],"check":"ownership map case 5","expected":["????BW","????BW","??????","????BW","????BW","????BW"],"passed":false},{"actual":["??BW","??BW","??BW","??BW","??BW","??BW","??BW"],"check":"ownership map case 6","expected":["??BW","??BW","??BW","???W","??BW","??BW","??BW"],"passed":false},{"actual":["bBb","BbB","bBb"],"check":"ownership map case 7","expected":["bBb","Bbb","bbb"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ownership map case 0\", \"actual\": [\"?BW?\", \"?BW?\", \"?BW?\", \"?BWB\", \"?BW?\", \"?BWB\"], \"expected\": [\"?BW?\", \"??W?\", \"?BW?\", \"?BWB\", \"?BW?\", \"?BWB\"], \"passed\": false}, {\"check\": \"ownership map case 1\", \"actual\": [\"???WBWw\", \"????BWw\", \"????BWw\", \"?W??BWw\"], \"expected\": [\"???WBWw\", \"????BWw\", \"????BWw\", \"?W??BWw\"], \"passed\": true}, {\"check\": \"ownership map case 2\", \"actual\": [\"bBWB?\", \"bBW??\", \"bBW??\", \"bBWB?\"], \"expected\": [\"bB?B?\", \"bBW??\", \"bB???\", \"bBWB?\"], \"passed\": false}, {\"check\": \"ownership map case 3\", \"actual\": [\"WBW???\", \"?BW???\", \"?BW??B\", \"?BW???\", \"?BW???\"], \"expected\": [\"WB????\", \"?BW???\", \"?BW??B\", \"?BW???\", \"?BW???\"], \"passed\": false}, {\"check\": \"ownership map case 4\", \"actual\": [\"?BW?B??\", \"WBW????\", \"?BW????\", \"?BW????\", \"?BW????\"], \"expected\": [\"?BW?B??\", \"WBW????\", \"?B?????\", \"?BW????\", \"?BW????\"], \"passed\": false}, {\"check\": \"ownership map case 5\", \"actual\": [\"????BW\", \"????BW\", \"????BW\", \"????BW\", \"????BW\", \"????BW\"], \"expected\": [\"????BW\", \"????BW\", \"??????\", \"????BW\", \"????BW\", \"????BW\"], \"passed\": false}, {\"check\": \"ownership map case 6\", \"actual\": [\"??BW\", \"??BW\", \"??BW\", \"??BW\", \"??BW\", \"??BW\", \"??BW\"], \"expected\": [\"??BW\", \"??BW\", \"??BW\", \"???W\", \"??BW\", \"??BW\", \"??BW\"], \"passed\": false}, {\"check\": \"ownership map case 7\", \"actual\": [\"bBb\", \"BbB\", \"bBb\"], \"expected\": [\"bBb\", \"Bbb\", \"bbb\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.865,"exit_code":1,"observations":[{"actual":["?BW?","??W?","?BW?","?BWB","?BW?","?BWB"],"check":"ownership map case 0","expected":["?BW?","??W?","?BW?","?BWB","?BW?","?BWB"],"passed":true},{"actual":["???WBWw","????BWw","????BWw","?W??BWw"],"check":"ownership map case 1","expected":["???WBWw","????BWw","????BWw","?W??BWw"],"passed":true},{"actual":["bB?B?","bBW??","bB???","bBWB?"],"check":"ownership map case 2","expected":["bB?B?","bBW??","bB???","bBWB?"],"passed":true},{"actual":["WB????","?BW???","?BW??B","?BW???","?BW???"],"check":"ownership map case 3","expected":["WB????","?BW???","?BW??B","?BW???","?BW???"],"passed":true},{"actual":["?BW?B??","WBW????","?B?????","?BW????","?BW????"],"check":"ownership map case 4","expected":["?BW?B??","WBW????","?B?????","?BW????","?BW????"],"passed":true},{"actual":["????BW","????BW","??????","????BW","????BW","????BW"],"check":"ownership map case 5","expected":["????BW","????BW","??????","????BW","????BW","????BW"],"passed":true},{"actual":["??BW","??BW","??BW","???W","??BW","??BW","??BW"],"check":"ownership map case 6","expected":["??BW","??BW","??BW","???W","??BW","??BW","??BW"],"passed":true},{"actual":["bB?","B??","???"],"check":"ownership map case 7","expected":["bBb","Bbb","bbb"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ownership map case 0\", \"actual\": [\"?BW?\", \"??W?\", \"?BW?\", \"?BWB\", \"?BW?\", \"?BWB\"], \"expected\": [\"?BW?\", \"??W?\", \"?BW?\", \"?BWB\", \"?BW?\", \"?BWB\"], \"passed\": true}, {\"check\": \"ownership map case 1\", \"actual\": [\"???WBWw\", \"????BWw\", \"????BWw\", \"?W??BWw\"], \"expected\": [\"???WBWw\", \"????BWw\", \"????BWw\", \"?W??BWw\"], \"passed\": true}, {\"check\": \"ownership map case 2\", \"actual\": [\"bB?B?\", \"bBW??\", \"bB???\", \"bBWB?\"], \"expected\": [\"bB?B?\", \"bBW??\", \"bB???\", \"bBWB?\"], \"passed\": true}, {\"check\": \"ownership map case 3\", \"actual\": [\"WB????\", \"?BW???\", \"?BW??B\", \"?BW???\", \"?BW???\"], \"expected\": [\"WB????\", \"?BW???\", \"?BW??B\", \"?BW???\", \"?BW???\"], \"passed\": true}, {\"check\": \"ownership map case 4\", \"actual\": [\"?BW?B??\", \"WBW????\", \"?B?????\", \"?BW????\", \"?BW????\"], \"expected\": [\"?BW?B??\", \"WBW????\", \"?B?????\", \"?BW????\", \"?BW????\"], \"passed\": true}, {\"check\": \"ownership map case 5\", \"actual\": [\"????BW\", \"????BW\", \"??????\", \"????BW\", \"????BW\", \"????BW\"], \"expected\": [\"????BW\", \"????BW\", \"??????\", \"????BW\", \"????BW\", \"????BW\"], \"passed\": true}, {\"check\": \"ownership map case 6\", \"actual\": [\"??BW\", \"??BW\", \"??BW\", \"???W\", \"??BW\", \"??BW\", \"??BW\"], \"expected\": [\"??BW\", \"??BW\", \"??BW\", \"???W\", \"??BW\", \"??BW\", \"??BW\"], \"passed\": true}, {\"check\": \"ownership map case 7\", \"actual\": [\"bB?\", \"B??\", \"???\"], \"expected\": [\"bBb\", \"Bbb\", \"bbb\"], \"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."}}