{"abstract":"Stairs spawn next to the entrance on non-diagonal layouts.","category":"Procedural level generation constraints","checks":8,"contract":"Scan floor_a row by row (y), then column (x); choose the first cell where floor_a[y][x] == '.', the cell exists on floor_b and is '.' there, and the Manhattan distance to entrance [x, y] is at least min_dist. Returns [x, y] or None.","evaluation_group":"w2-procedural-level-generation-constraints-aligned-stairs","failed_approach":"Chebyshev distance undercounts diagonal separation.","family":"w2-procedural-level-generation-constraints-aligned-stairs-entrance-axes","id":"FA-86831","implementations":{"attempt":{"sha256":"74fe5d092c6b78b3993de19adce21063f4716776e7bcabdf98c4440ce4160dfb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(floor_a, floor_b, entrance, min_dist):\n    for y in range(len(floor_a)):\n        for x in range(len(floor_a[0])):\n            if floor_a[y][x] != '.':\n                continue\n            if y >= len(floor_b) or x >= len(floor_b[0]) or floor_b[y][x] != '.':\n                continue\n            if max(abs(x - entrance[0]), abs(y - entrance[1])) < min_dist:\n                continue\n            return [x, y]\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('fault site entrance axes #1',\n   [['..', '..', '#.', '.#', '#.', '.#'], ['~.~', '~~~', '~#.', '~#.', '...', '##.'], [0, 4], 4],\n   [1, 0]),\n  ('regression entrance axes #1',\n   [['#.#', '#..', '.##', '..#'], ['~~.#..', '...#~~', '#.#..#', '.....~', '~~#.~.'], [0, 2], 3],\n   [2, 1]),\n  ('partial repair boundary #1',\n   [['...', '.#.', '...', '..#', '###', '..#'], ['~.#.~', '##~~#', '~~#..', '.~.~.'], [2, 4], 5],\n   [1, 0]),\n  ('partial repair boundary #2',\n   [['..##.', '.##..', '.##..'], ['..~', '.##', '..~', '...', '.##', '...'], [3, 2], 5],\n   [0, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('control #1', [['#.#.', '...#'], ['...#~', '.....'], [3, 1], 4], None)],\n [('fault site entrance axes #1', [['..#..'], ['#.#~', '#...', '.~~#', '~.#.'], [2, 0], 2], None),\n  ('fault site entrance axes #2',\n   [['#', '.', '.', '.', '.'], ['~.~~', '...#', '~.~#', '#~.#', '.#.#', '~..#'], [0, 3], 5],\n   None),\n  ('regression entrance axes #1',\n   [['#.#', '#..', '.##', '..#'], ['~~.#..', '...#~~', '#.#..#', '.....~', '~~#.~.'], [0, 2], 3],\n   [2, 1]),\n  ('regression entrance axes #2',\n   [['.....#', '..#.#.', '.#..#.', '..###.', '#.#..#'], ['.#.~~#', '.#.##.', '~~#~..', '......'], [0, 3], 5],\n   [2, 0]),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('control #1', [['#.#.', '...#'], ['...#~', '.....'], [3, 1], 4], None),\n  ('control #2', [['.', '#', '.', '#'], ['#.....'], [0, 1], 4], None)],\n [('regression entrance axes #1',\n   [['.....#', '..#.#.', '.#..#.', '..###.', '#.#..#'], ['.#.~~#', '.#.##.', '~~#~..', '......'], [0, 3], 5],\n   [2, 0]),\n  ('fault site entrance axes #1', [['..', '.#', '.#'], ['~.', '..'], [0, 1], 1], [1, 0]),\n  ('partial repair boundary #1', [['....', '...#', '#..#', '#..#', '##..'], ['.', '~'], [2, 3], 5], [0, 0]),\n  ('regression entrance axes #2', [['.....', '#.###'], ['#.~..#', '.#.~##'], [0, 1], 2], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('control #1', [['.', '#', '.', '#'], ['#.....'], [0, 1], 4], None),\n  ('control #2', [['##', '.#', '#.', '.#', '.#'], ['##.', '...', '.~#'], [0, 0], 5], None)],\n [('fault site entrance axes #1', [['......', '..##.#'], ['~##.#.', '~..#.~', '~...#.'], [3, 1], 6], None),\n  ('regression entrance axes #1', [['.....', '#.###'], ['#.~..#', '.#.~##'], [0, 1], 2], [1, 0]),\n  ('partial repair boundary #1',\n   [['..#...', '#....#', '..#...', '..#...'], ['.~#~##', '~....#'], [1, 0], 2],\n   [2, 1]),\n  ('partial repair boundary #2',\n   [['.#', '#.', '..', '#.'], ['.~.', '~..', '..#', '..#', '.#.'], [0, 0], 4],\n   [1, 3]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('control #1',\n   [['...##.', '..#.#.', '..#...', '#.....', '#.....'], ['#', '.', '.', '~'], [0, 2], 1],\n   [0, 1]),\n  ('control #2',\n   [['#....', '..#..', '#...#', '#..#.', '.#.#.', '.#.#.'],\n    ['#~..', '..~.', '..~.', '..#.', '##~~'],\n    [1, 4],\n    1],\n   [2, 0])],\n [('fault site entrance axes #1', [['.#.#.', '..#..'], ['..~#.'], [2, 1], 5], None),\n  ('fault site entrance axes #2', [['..', '..', '..', '#.', '..'], ['.', '.', '.'], [0, 3], 4], None),\n  ('partial repair boundary #1',\n   [['.#...#', '...##.', '...#..', '....#.', '..#..#', '......'],\n    ['~..', '...', '#..', '...', '##~', '~##'],\n    [3, 2],\n    4],\n   [0, 1]),\n  ('partial repair boundary #2', [['....', '..##', '#.#.', '..##'], ['..~.~~', '~..#.#'], [3, 2], 5], [0, 0]),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('control #1', [['..', '##'], ['.', '.', '~', '~', '.'], [1, 0], 6], None),\n  ('control #2',\n   [['.#', '#.', '#.', '..', '..', '#.'], ['~..##', '#..#.', '#.#~.', '..~.~', '~~~..'], [0, 0], 5],\n   None)]]\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":"8acfba267952bfbde223042f34362616259302ef6377bcf0b21f3c550e7b9b2f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(floor_a, floor_b, entrance, min_dist):\n    for y in range(len(floor_a)):\n        for x in range(len(floor_a[0])):\n            if floor_a[y][x] != '.':\n                continue\n            if y >= len(floor_b) or x >= len(floor_b[0]) or floor_b[y][x] != '.':\n                continue\n            if abs(x - entrance[1]) + abs(y - entrance[0]) < min_dist:\n                continue\n            return [x, y]\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('fault site entrance axes #1',\n   [['..', '..', '#.', '.#', '#.', '.#'], ['~.~', '~~~', '~#.', '~#.', '...', '##.'], [0, 4], 4],\n   [1, 0]),\n  ('regression entrance axes #1',\n   [['#.#', '#..', '.##', '..#'], ['~~.#..', '...#~~', '#.#..#', '.....~', '~~#.~.'], [0, 2], 3],\n   [2, 1]),\n  ('partial repair boundary #1',\n   [['...', '.#.', '...', '..#', '###', '..#'], ['~.#.~', '##~~#', '~~#..', '.~.~.'], [2, 4], 5],\n   [1, 0]),\n  ('partial repair boundary #2',\n   [['..##.', '.##..', '.##..'], ['..~', '.##', '..~', '...', '.##', '...'], [3, 2], 5],\n   [0, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('control #1', [['#.#.', '...#'], ['...#~', '.....'], [3, 1], 4], None)],\n [('fault site entrance axes #1', [['..#..'], ['#.#~', '#...', '.~~#', '~.#.'], [2, 0], 2], None),\n  ('fault site entrance axes #2',\n   [['#', '.', '.', '.', '.'], ['~.~~', '...#', '~.~#', '#~.#', '.#.#', '~..#'], [0, 3], 5],\n   None),\n  ('regression entrance axes #1',\n   [['#.#', '#..', '.##', '..#'], ['~~.#..', '...#~~', '#.#..#', '.....~', '~~#.~.'], [0, 2], 3],\n   [2, 1]),\n  ('regression entrance axes #2',\n   [['.....#', '..#.#.', '.#..#.', '..###.', '#.#..#'], ['.#.~~#', '.#.##.', '~~#~..', '......'], [0, 3], 5],\n   [2, 0]),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('control #1', [['#.#.', '...#'], ['...#~', '.....'], [3, 1], 4], None),\n  ('control #2', [['.', '#', '.', '#'], ['#.....'], [0, 1], 4], None)],\n [('regression entrance axes #1',\n   [['.....#', '..#.#.', '.#..#.', '..###.', '#.#..#'], ['.#.~~#', '.#.##.', '~~#~..', '......'], [0, 3], 5],\n   [2, 0]),\n  ('fault site entrance axes #1', [['..', '.#', '.#'], ['~.', '..'], [0, 1], 1], [1, 0]),\n  ('partial repair boundary #1', [['....', '...#', '#..#', '#..#', '##..'], ['.', '~'], [2, 3], 5], [0, 0]),\n  ('regression entrance axes #2', [['.....', '#.###'], ['#.~..#', '.#.~##'], [0, 1], 2], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('control #1', [['.', '#', '.', '#'], ['#.....'], [0, 1], 4], None),\n  ('control #2', [['##', '.#', '#.', '.#', '.#'], ['##.', '...', '.~#'], [0, 0], 5], None)],\n [('fault site entrance axes #1', [['......', '..##.#'], ['~##.#.', '~..#.~', '~...#.'], [3, 1], 6], None),\n  ('regression entrance axes #1', [['.....', '#.###'], ['#.~..#', '.#.~##'], [0, 1], 2], [1, 0]),\n  ('partial repair boundary #1',\n   [['..#...', '#....#', '..#...', '..#...'], ['.~#~##', '~....#'], [1, 0], 2],\n   [2, 1]),\n  ('partial repair boundary #2',\n   [['.#', '#.', '..', '#.'], ['.~.', '~..', '..#', '..#', '.#.'], [0, 0], 4],\n   [1, 3]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('control #1',\n   [['...##.', '..#.#.', '..#...', '#.....', '#.....'], ['#', '.', '.', '~'], [0, 2], 1],\n   [0, 1]),\n  ('control #2',\n   [['#....', '..#..', '#...#', '#..#.', '.#.#.', '.#.#.'],\n    ['#~..', '..~.', '..~.', '..#.', '##~~'],\n    [1, 4],\n    1],\n   [2, 0])],\n [('fault site entrance axes #1', [['.#.#.', '..#..'], ['..~#.'], [2, 1], 5], None),\n  ('fault site entrance axes #2', [['..', '..', '..', '#.', '..'], ['.', '.', '.'], [0, 3], 4], None),\n  ('partial repair boundary #1',\n   [['.#...#', '...##.', '...#..', '....#.', '..#..#', '......'],\n    ['~..', '...', '#..', '...', '##~', '~##'],\n    [3, 2],\n    4],\n   [0, 1]),\n  ('partial repair boundary #2', [['....', '..##', '#.#.', '..##'], ['..~.~~', '~..#.#'], [3, 2], 5], [0, 0]),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('control #1', [['..', '##'], ['.', '.', '~', '~', '.'], [1, 0], 6], None),\n  ('control #2',\n   [['.#', '#.', '#.', '..', '..', '#.'], ['~..##', '#..#.', '#.#~.', '..~.~', '~~~..'], [0, 0], 5],\n   None)]]\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":"63c78c22d3377a0ec1b3144ffde3f3893f1e84fb3e4e68a187735923fb6a3451","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(floor_a, floor_b, entrance, min_dist):\n    for y in range(len(floor_a)):\n        for x in range(len(floor_a[0])):\n            if floor_a[y][x] != '.':\n                continue\n            if y >= len(floor_b) or x >= len(floor_b[0]) or floor_b[y][x] != '.':\n                continue\n            if abs(x - entrance[0]) + abs(y - entrance[1]) < min_dist:\n                continue\n            return [x, y]\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('fault site entrance axes #1',\n   [['..', '..', '#.', '.#', '#.', '.#'], ['~.~', '~~~', '~#.', '~#.', '...', '##.'], [0, 4], 4],\n   [1, 0]),\n  ('regression entrance axes #1',\n   [['#.#', '#..', '.##', '..#'], ['~~.#..', '...#~~', '#.#..#', '.....~', '~~#.~.'], [0, 2], 3],\n   [2, 1]),\n  ('partial repair boundary #1',\n   [['...', '.#.', '...', '..#', '###', '..#'], ['~.#.~', '##~~#', '~~#..', '.~.~.'], [2, 4], 5],\n   [1, 0]),\n  ('partial repair boundary #2',\n   [['..##.', '.##..', '.##..'], ['..~', '.##', '..~', '...', '.##', '...'], [3, 2], 5],\n   [0, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('control #1', [['#.#.', '...#'], ['...#~', '.....'], [3, 1], 4], None)],\n [('fault site entrance axes #1', [['..#..'], ['#.#~', '#...', '.~~#', '~.#.'], [2, 0], 2], None),\n  ('fault site entrance axes #2',\n   [['#', '.', '.', '.', '.'], ['~.~~', '...#', '~.~#', '#~.#', '.#.#', '~..#'], [0, 3], 5],\n   None),\n  ('regression entrance axes #1',\n   [['#.#', '#..', '.##', '..#'], ['~~.#..', '...#~~', '#.#..#', '.....~', '~~#.~.'], [0, 2], 3],\n   [2, 1]),\n  ('regression entrance axes #2',\n   [['.....#', '..#.#.', '.#..#.', '..###.', '#.#..#'], ['.#.~~#', '.#.##.', '~~#~..', '......'], [0, 3], 5],\n   [2, 0]),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('control #1', [['#.#.', '...#'], ['...#~', '.....'], [3, 1], 4], None),\n  ('control #2', [['.', '#', '.', '#'], ['#.....'], [0, 1], 4], None)],\n [('regression entrance axes #1',\n   [['.....#', '..#.#.', '.#..#.', '..###.', '#.#..#'], ['.#.~~#', '.#.##.', '~~#~..', '......'], [0, 3], 5],\n   [2, 0]),\n  ('fault site entrance axes #1', [['..', '.#', '.#'], ['~.', '..'], [0, 1], 1], [1, 0]),\n  ('partial repair boundary #1', [['....', '...#', '#..#', '#..#', '##..'], ['.', '~'], [2, 3], 5], [0, 0]),\n  ('regression entrance axes #2', [['.....', '#.###'], ['#.~..#', '.#.~##'], [0, 1], 2], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('control #1', [['.', '#', '.', '#'], ['#.....'], [0, 1], 4], None),\n  ('control #2', [['##', '.#', '#.', '.#', '.#'], ['##.', '...', '.~#'], [0, 0], 5], None)],\n [('fault site entrance axes #1', [['......', '..##.#'], ['~##.#.', '~..#.~', '~...#.'], [3, 1], 6], None),\n  ('regression entrance axes #1', [['.....', '#.###'], ['#.~..#', '.#.~##'], [0, 1], 2], [1, 0]),\n  ('partial repair boundary #1',\n   [['..#...', '#....#', '..#...', '..#...'], ['.~#~##', '~....#'], [1, 0], 2],\n   [2, 1]),\n  ('partial repair boundary #2',\n   [['.#', '#.', '..', '#.'], ['.~.', '~..', '..#', '..#', '.#.'], [0, 0], 4],\n   [1, 3]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('water below #1', [['.'], ['~'], [0, 0], 0], None),\n  ('control #1',\n   [['...##.', '..#.#.', '..#...', '#.....', '#.....'], ['#', '.', '.', '~'], [0, 2], 1],\n   [0, 1]),\n  ('control #2',\n   [['#....', '..#..', '#...#', '#..#.', '.#.#.', '.#.#.'],\n    ['#~..', '..~.', '..~.', '..#.', '##~~'],\n    [1, 4],\n    1],\n   [2, 0])],\n [('fault site entrance axes #1', [['.#.#.', '..#..'], ['..~#.'], [2, 1], 5], None),\n  ('fault site entrance axes #2', [['..', '..', '..', '#.', '..'], ['.', '.', '.'], [0, 3], 4], None),\n  ('partial repair boundary #1',\n   [['.#...#', '...##.', '...#..', '....#.', '..#..#', '......'],\n    ['~..', '...', '#..', '...', '##~', '~##'],\n    [3, 2],\n    4],\n   [0, 1]),\n  ('partial repair boundary #2', [['....', '..##', '#.#.', '..##'], ['..~.~~', '~..#.#'], [3, 2], 5], [0, 0]),\n  ('distance exactly min #1', [['...'], ['...'], [0, 0], 2], [2, 0]),\n  ('first row candidate #1', [['..', '..'], ['#.', '..'], [0, 0], 1], [1, 0]),\n  ('control #1', [['..', '##'], ['.', '.', '~', '~', '.'], [1, 0], 6], None),\n  ('control #2',\n   [['.#', '#.', '#.', '..', '..', '#.'], ['~..##', '#..#.', '#.#~.', '..~.~', '~~~..'], [0, 0], 5],\n   None)]]\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-aligned-stairs-entrance-axes","generated_at":"2026-09-29T14:50:53.194469+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 `abs(x - entrance[0]) + abs(y - entrance[1])` at the entrance axes step.","root_cause":"The entrance coordinates are swapped.","sha256":"085d6d2de39f30d040b1cb2fa59acd7572057ea868c63e08c6dedbb000b19d23","title":"Aligned stair placement: Entrance read as row, column · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.247,"exit_code":1,"observations":[{"actual":[1,0],"check":"fault site entrance axes #1","expected":[1,0],"passed":true},{"actual":null,"check":"regression entrance axes #1","expected":[2,1],"passed":false},{"actual":null,"check":"partial repair boundary #1","expected":[1,0],"passed":false},{"actual":null,"check":"partial repair boundary #2","expected":[0,0],"passed":false},{"actual":[1,0],"check":"first row candidate #1","expected":[1,0],"passed":true},{"actual":null,"check":"water below #1","expected":null,"passed":true},{"actual":[2,0],"check":"distance exactly min #1","expected":[2,0],"passed":true},{"actual":null,"check":"control #1","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fault site entrance axes #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"regression entrance axes #1\", \"actual\": null, \"expected\": [2, 1], \"passed\": false}, {\"check\": \"partial repair boundary #1\", \"actual\": null, \"expected\": [1, 0], \"passed\": false}, {\"check\": \"partial repair boundary #2\", \"actual\": null, \"expected\": [0, 0], \"passed\": false}, {\"check\": \"first row candidate #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"water below #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"distance exactly min #1\", \"actual\": [2, 0], \"expected\": [2, 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.743,"exit_code":1,"observations":[{"actual":[1,4],"check":"fault site entrance axes #1","expected":[1,0],"passed":false},{"actual":[0,3],"check":"regression entrance axes #1","expected":[2,1],"passed":false},{"actual":[1,0],"check":"partial repair boundary #1","expected":[1,0],"passed":true},{"actual":[0,0],"check":"partial repair boundary #2","expected":[0,0],"passed":true},{"actual":[1,0],"check":"first row candidate #1","expected":[1,0],"passed":true},{"actual":null,"check":"water below #1","expected":null,"passed":true},{"actual":[2,0],"check":"distance exactly min #1","expected":[2,0],"passed":true},{"actual":null,"check":"control #1","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fault site entrance axes #1\", \"actual\": [1, 4], \"expected\": [1, 0], \"passed\": false}, {\"check\": \"regression entrance axes #1\", \"actual\": [0, 3], \"expected\": [2, 1], \"passed\": false}, {\"check\": \"partial repair boundary #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"partial repair boundary #2\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"first row candidate #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"water below #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"distance exactly min #1\", \"actual\": [2, 0], \"expected\": [2, 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.571,"exit_code":0,"observations":[{"actual":[1,0],"check":"fault site entrance axes #1","expected":[1,0],"passed":true},{"actual":[2,1],"check":"regression entrance axes #1","expected":[2,1],"passed":true},{"actual":[1,0],"check":"partial repair boundary #1","expected":[1,0],"passed":true},{"actual":[0,0],"check":"partial repair boundary #2","expected":[0,0],"passed":true},{"actual":[1,0],"check":"first row candidate #1","expected":[1,0],"passed":true},{"actual":null,"check":"water below #1","expected":null,"passed":true},{"actual":[2,0],"check":"distance exactly min #1","expected":[2,0],"passed":true},{"actual":null,"check":"control #1","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fault site entrance axes #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"regression entrance axes #1\", \"actual\": [2, 1], \"expected\": [2, 1], \"passed\": true}, {\"check\": \"partial repair boundary #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"partial repair boundary #2\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"first row candidate #1\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"water below #1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"distance exactly min #1\", \"actual\": [2, 0], \"expected\": [2, 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}