{"abstract":"Isolated starts put the boss in the spawn room.","category":"Procedural level generation constraints","checks":8,"contract":"Rooms 0..n-1 joined by two-way doors [a, b]. The boss room is the reachable room (other than start) with the largest BFS door distance from start, ties to the lowest room id. Returns [room, distance] or None when no other room is reachable.","evaluation_group":"w2-procedural-level-generation-constraints-boss-room","failed_approach":"Excluding start only when more rooms exist still picks it in a one-room level.","family":"w2-procedural-level-generation-constraints-boss-room-start-exclusion","id":"FA-86656","implementations":{"attempt":{"sha256":"93fbda8d89331eab2582830018bc8e16d13385d30a7df72e63ad4701944abbd9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n, doors, start):\n    adj = {i: [] for i in range(n)}\n    for a, b in doors:\n        adj[a].append(b)\n        adj[b].append(a)\n    dist = {start: 0}\n    queue = [start]\n    for u in queue:\n        for v in sorted(adj[u]):\n            if v not in dist:\n                dist[v] = dist[u] + 1\n                queue.append(v)\n    best = None\n    for room, d in dist.items():\n        if room == start and n > 1:\n            continue\n        if best is None or d > best[1] or (d == best[1] and room < best[0]):\n            best = [room, d]\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('isolated start #1', [3, [[1, 2]], 0], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('fault site start exclusion #1', [8, [[1, 0], [1, 3], [3, 4], [4, 5], [0, 6], [7, 4], [3, 7]], 2], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [6, [[0, 1], [1, 2], [1, 3], [1, 4], [2, 0], [1, 4]], 2], [3, 2]),\n  ('control #2', [2, [[0, 1], [0, 1], [1, 0]], 0], [1, 1]),\n  ('control #3', [7, [[0, 1], [0, 2], [1, 3], [4, 0], [3, 5], [6, 2]], 1], [6, 3])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [8, [[1, 0], [1, 3], [3, 4], [4, 5], [0, 6], [7, 4], [3, 7]], 2], None),\n  ('fault site start exclusion #2', [5, [[0, 1], [0, 2], [3, 0], [0, 3]], 4], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [6, [[0, 1], [1, 2], [1, 3], [1, 4], [2, 0], [1, 4]], 2], [3, 2]),\n  ('control #2', [2, [[0, 1], [0, 1], [1, 0]], 0], [1, 1])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [3, [[1, 0]], 2], None),\n  ('fault site start exclusion #2', [8, [[1, 0], [0, 2], [1, 4], [6, 0], [7, 4], [2, 0], [1, 4]], 3], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [7, [[0, 1], [0, 2], [1, 3], [4, 0], [3, 5], [6, 2]], 1], [6, 3]),\n  ('control #2', [2, [[0, 1], [0, 1]], 1], [0, 1])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [3, [], 0], None),\n  ('fault site start exclusion #2', [7, [[0, 1], [3, 1], [4, 1], [5, 0], [5, 6], [1, 3]], 2], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [8, [[0, 1], [1, 2], [1, 4], [5, 2], [3, 6], [7, 3], [3, 7]], 2], [0, 2]),\n  ('control #2', [6, [[1, 0], [0, 2], [3, 0], [4, 2], [3, 5]], 4], [5, 4])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [4, [[1, 0], [3, 0]], 2], None),\n  ('fault site start exclusion #2', [7, [[6, 2], [6, 2]], 4], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [8, [[0, 1], [2, 0], [1, 3], [0, 4], [5, 0], [3, 6], [1, 7], [0, 5], [0, 1]], 5], [6, 4]),\n  ('control #2', [7, [[0, 1], [3, 0], [4, 1], [5, 4], [6, 5], [4, 0]], 4], [3, 2])]]\nfor label, args, expected in cases[N-1]:\n    check(label, 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":"309f8110728ad3e2fa9982794600feb4939a9eab638a77906ce22af9a452e672","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n, doors, start):\n    adj = {i: [] for i in range(n)}\n    for a, b in doors:\n        adj[a].append(b)\n        adj[b].append(a)\n    dist = {start: 0}\n    queue = [start]\n    for u in queue:\n        for v in sorted(adj[u]):\n            if v not in dist:\n                dist[v] = dist[u] + 1\n                queue.append(v)\n    best = None\n    for room, d in dist.items():\n        if room == start and len(dist) > 1:\n            continue\n        if best is None or d > best[1] or (d == best[1] and room < best[0]):\n            best = [room, d]\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('isolated start #1', [3, [[1, 2]], 0], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('fault site start exclusion #1', [8, [[1, 0], [1, 3], [3, 4], [4, 5], [0, 6], [7, 4], [3, 7]], 2], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [6, [[0, 1], [1, 2], [1, 3], [1, 4], [2, 0], [1, 4]], 2], [3, 2]),\n  ('control #2', [2, [[0, 1], [0, 1], [1, 0]], 0], [1, 1]),\n  ('control #3', [7, [[0, 1], [0, 2], [1, 3], [4, 0], [3, 5], [6, 2]], 1], [6, 3])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [8, [[1, 0], [1, 3], [3, 4], [4, 5], [0, 6], [7, 4], [3, 7]], 2], None),\n  ('fault site start exclusion #2', [5, [[0, 1], [0, 2], [3, 0], [0, 3]], 4], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [6, [[0, 1], [1, 2], [1, 3], [1, 4], [2, 0], [1, 4]], 2], [3, 2]),\n  ('control #2', [2, [[0, 1], [0, 1], [1, 0]], 0], [1, 1])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [3, [[1, 0]], 2], None),\n  ('fault site start exclusion #2', [8, [[1, 0], [0, 2], [1, 4], [6, 0], [7, 4], [2, 0], [1, 4]], 3], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [7, [[0, 1], [0, 2], [1, 3], [4, 0], [3, 5], [6, 2]], 1], [6, 3]),\n  ('control #2', [2, [[0, 1], [0, 1]], 1], [0, 1])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [3, [], 0], None),\n  ('fault site start exclusion #2', [7, [[0, 1], [3, 1], [4, 1], [5, 0], [5, 6], [1, 3]], 2], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [8, [[0, 1], [1, 2], [1, 4], [5, 2], [3, 6], [7, 3], [3, 7]], 2], [0, 2]),\n  ('control #2', [6, [[1, 0], [0, 2], [3, 0], [4, 2], [3, 5]], 4], [5, 4])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [4, [[1, 0], [3, 0]], 2], None),\n  ('fault site start exclusion #2', [7, [[6, 2], [6, 2]], 4], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [8, [[0, 1], [2, 0], [1, 3], [0, 4], [5, 0], [3, 6], [1, 7], [0, 5], [0, 1]], 5], [6, 4]),\n  ('control #2', [7, [[0, 1], [3, 0], [4, 1], [5, 4], [6, 5], [4, 0]], 4], [3, 2])]]\nfor label, args, expected in cases[N-1]:\n    check(label, 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"},"fixed":{"sha256":"cb50fbc3dcb2a504cb4f4a3f57a4a4b947d1b0b2807379a564fad9e6138bd285","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n, doors, start):\n    adj = {i: [] for i in range(n)}\n    for a, b in doors:\n        adj[a].append(b)\n        adj[b].append(a)\n    dist = {start: 0}\n    queue = [start]\n    for u in queue:\n        for v in sorted(adj[u]):\n            if v not in dist:\n                dist[v] = dist[u] + 1\n                queue.append(v)\n    best = None\n    for room, d in dist.items():\n        if room == start:\n            continue\n        if best is None or d > best[1] or (d == best[1] and room < best[0]):\n            best = [room, d]\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('isolated start #1', [3, [[1, 2]], 0], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('fault site start exclusion #1', [8, [[1, 0], [1, 3], [3, 4], [4, 5], [0, 6], [7, 4], [3, 7]], 2], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [6, [[0, 1], [1, 2], [1, 3], [1, 4], [2, 0], [1, 4]], 2], [3, 2]),\n  ('control #2', [2, [[0, 1], [0, 1], [1, 0]], 0], [1, 1]),\n  ('control #3', [7, [[0, 1], [0, 2], [1, 3], [4, 0], [3, 5], [6, 2]], 1], [6, 3])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [8, [[1, 0], [1, 3], [3, 4], [4, 5], [0, 6], [7, 4], [3, 7]], 2], None),\n  ('fault site start exclusion #2', [5, [[0, 1], [0, 2], [3, 0], [0, 3]], 4], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [6, [[0, 1], [1, 2], [1, 3], [1, 4], [2, 0], [1, 4]], 2], [3, 2]),\n  ('control #2', [2, [[0, 1], [0, 1], [1, 0]], 0], [1, 1])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [3, [[1, 0]], 2], None),\n  ('fault site start exclusion #2', [8, [[1, 0], [0, 2], [1, 4], [6, 0], [7, 4], [2, 0], [1, 4]], 3], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [7, [[0, 1], [0, 2], [1, 3], [4, 0], [3, 5], [6, 2]], 1], [6, 3]),\n  ('control #2', [2, [[0, 1], [0, 1]], 1], [0, 1])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [3, [], 0], None),\n  ('fault site start exclusion #2', [7, [[0, 1], [3, 1], [4, 1], [5, 0], [5, 6], [1, 3]], 2], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [8, [[0, 1], [1, 2], [1, 4], [5, 2], [3, 6], [7, 3], [3, 7]], 2], [0, 2]),\n  ('control #2', [6, [[1, 0], [0, 2], [3, 0], [4, 2], [3, 5]], 4], [5, 4])],\n [('isolated start #1', [3, [[1, 2]], 0], None),\n  ('fault site start exclusion #1', [4, [[1, 0], [3, 0]], 2], None),\n  ('fault site start exclusion #2', [7, [[6, 2], [6, 2]], 4], None),\n  ('regression start exclusion #1', [1, [], 0], None),\n  ('door listed backwards #1', [2, [[1, 0]], 0], [1, 1]),\n  ('two leaves tie #1', [3, [[0, 2], [0, 1]], 0], [1, 1]),\n  ('control #1', [8, [[0, 1], [2, 0], [1, 3], [0, 4], [5, 0], [3, 6], [1, 7], [0, 5], [0, 1]], 5], [6, 4]),\n  ('control #2', [7, [[0, 1], [3, 0], [4, 1], [5, 4], [6, 5], [4, 0]], 4], [3, 2])]]\nfor label, args, expected in cases[N-1]:\n    check(label, 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":"Deterministic toy contract stipulated for this model; integer or exact arithmetic only, not a reproduction of any specific game engine. 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-procedural-level-generation-constraints-boss-room-start-exclusion","generated_at":"2026-09-29T14:50:51.499704+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Procedural generators silently emit unplayable or unfair levels when a single constraint check uses the wrong boundary, axis, neighborhood or update order; the defect is visible in exact generated geometry.","repair":"Restore `if room == start:` at the start exclusion step.","root_cause":"The start room is only excluded when other rooms were reached.","sha256":"66585186b5b2f056cd9b615ababb27d32917fef44298840c948ee8b5c53ff64a","title":"Boss room selection: Start room becomes the boss · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.851,"exit_code":1,"observations":[{"actual":null,"check":"isolated start #1","expected":null,"passed":true},{"actual":[0,0],"check":"regression start exclusion #1","expected":null,"passed":false},{"actual":null,"check":"fault site start exclusion #1","expected":null,"passed":true},{"actual":[1,1],"check":"door listed backwards #1","expected":[1,1],"passed":true},{"actual":[1,1],"check":"two leaves tie #1","expected":[1,1],"passed":true},{"actual":[3,2],"check":"control #1","expected":[3,2],"passed":true},{"actual":[1,1],"check":"control #2","expected":[1,1],"passed":true},{"actual":[6,3],"check":"control #3","expected":[6,3],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"isolated start #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression start exclusion #1\", \"actual\": [0, 0], \"expected\": null, \"passed\": false}, {\"check\": \"fault site start exclusion #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"door listed backwards #1\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"two leaves tie #1\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [3, 2], \"expected\": [3, 2], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [6, 3], \"expected\": [6, 3], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.129,"exit_code":1,"observations":[{"actual":[0,0],"check":"isolated start #1","expected":null,"passed":false},{"actual":[0,0],"check":"regression start exclusion #1","expected":null,"passed":false},{"actual":[2,0],"check":"fault site start exclusion #1","expected":null,"passed":false},{"actual":[1,1],"check":"door listed backwards #1","expected":[1,1],"passed":true},{"actual":[1,1],"check":"two leaves tie #1","expected":[1,1],"passed":true},{"actual":[3,2],"check":"control #1","expected":[3,2],"passed":true},{"actual":[1,1],"check":"control #2","expected":[1,1],"passed":true},{"actual":[6,3],"check":"control #3","expected":[6,3],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"isolated start #1\", \"actual\": [0, 0], \"expected\": null, \"passed\": false}, {\"check\": \"regression start exclusion #1\", \"actual\": [0, 0], \"expected\": null, \"passed\": false}, {\"check\": \"fault site start exclusion #1\", \"actual\": [2, 0], \"expected\": null, \"passed\": false}, {\"check\": \"door listed backwards #1\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"two leaves tie #1\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [3, 2], \"expected\": [3, 2], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [6, 3], \"expected\": [6, 3], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.892,"exit_code":0,"observations":[{"actual":null,"check":"isolated start #1","expected":null,"passed":true},{"actual":null,"check":"regression start exclusion #1","expected":null,"passed":true},{"actual":null,"check":"fault site start exclusion #1","expected":null,"passed":true},{"actual":[1,1],"check":"door listed backwards #1","expected":[1,1],"passed":true},{"actual":[1,1],"check":"two leaves tie #1","expected":[1,1],"passed":true},{"actual":[3,2],"check":"control #1","expected":[3,2],"passed":true},{"actual":[1,1],"check":"control #2","expected":[1,1],"passed":true},{"actual":[6,3],"check":"control #3","expected":[6,3],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"isolated start #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression start exclusion #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"fault site start exclusion #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"door listed backwards #1\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"two leaves tie #1\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [3, 2], \"expected\": [3, 2], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [1, 1], \"expected\": [1, 1], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [6, 3], \"expected\": [6, 3], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}