{"abstract":"A command matching the current lie is refused because the point is locked.","category":"Railway interlocking logic","checks":8,"contract":"A point command is answered as in-position when already detected in the commanded lie (even if locked or occupied). Otherwise route locking refuses (route-locked), then track locking refuses (track-locked); the alarm flag on refusals is raised only when the point has lost detection (X). A throw that fails to regain detection within limit_ms (inclusive; None means never) leaves the point X with alarm; otherwise it lies in the commanded position. detected_ms of 0 means detection was immediate.","contract_signature":"x","evaluation_group":"w2-railway_interlocking_logic-point-machine-throw","failed_approach":"Skipping the shortcut under occupancy still refuses a no-op command beneath a train.","family":"w2-railway_interlocking_logic-point-machine-throw-in-position-under-lock","id":"FA-66906","implementations":{"attempt":{"sha256":"5d69cc163f2e6dd908923675d26941b451884d90ae4470afd00fd28374a71b6e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pos, cmd = x['pos'], x['cmd']\n    if pos == cmd and not x['occupied']:\n        return {'pos': pos, 'result': 'in-position', 'alarm': False}\n    if x['route_locked']:\n        return {'pos': pos, 'result': 'route-locked', 'alarm': pos == 'X'}\n    if x['occupied']:\n        return {'pos': pos, 'result': 'track-locked', 'alarm': pos == 'X'}\n    det = x['detected_ms']\n    if det is None or det > x['limit_ms']:\n        return {'pos': 'X', 'result': 'no-detection', 'alarm': True}\n    return {'pos': cmd, 'result': 'moved', 'alarm': False}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: already reverse while route locked', {'pos': 'R', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 26', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 1500}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 20', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': True, 'limit_ms': 6000, 'detected_ms': 1500}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('boundary: detection exactly at the limit', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 4000}, {'pos': 'R', 'result': 'moved', 'alarm': False}), ('control 1', {'pos': 'X', 'cmd': 'R', 'route_locked': True, 'occupied': True, 'limit_ms': 3000, 'detected_ms': 4500}, {'pos': 'X', 'result': 'route-locked', 'alarm': True}), ('control 4', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 6000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('control 7', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 6000}, {'pos': 'R', 'result': 'in-position', 'alarm': False})], [('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 80', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 6000, 'detected_ms': 0}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 70', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 3000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: never detected', {'pos': 'R', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': None}, {'pos': 'X', 'result': 'no-detection', 'alarm': True}), ('boundary: immediate detection', {'pos': 'R', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 0}, {'pos': 'N', 'result': 'moved', 'alarm': False}), ('control 12', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 4000}, {'pos': 'N', 'result': 'route-locked', 'alarm': False}), ('control 15', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': True, 'limit_ms': 3000, 'detected_ms': 3999}, {'pos': 'N', 'result': 'route-locked', 'alarm': False}), ('control 18', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 6000, 'detected_ms': None}, {'pos': 'N', 'result': 'route-locked', 'alarm': False})], [('regression: already reverse while route locked', {'pos': 'R', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 58', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2999}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('sampled regression 26', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 1500}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: out of correspondence and locked', {'pos': 'X', 'cmd': 'N', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'X', 'result': 'route-locked', 'alarm': True}), ('control 23', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 6000}, {'pos': 'R', 'result': 'moved', 'alarm': False}), ('control 29', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': None}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('control 32', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 3999}, {'pos': 'R', 'result': 'moved', 'alarm': False})], [('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 20', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': True, 'limit_ms': 6000, 'detected_ms': 1500}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('sampled regression 72', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 3000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: out of correspondence and locked', {'pos': 'X', 'cmd': 'N', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'X', 'result': 'route-locked', 'alarm': True}), ('boundary: normal point locked by a route', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'route-locked', 'alarm': False}), ('control 34', {'pos': 'R', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 0}, {'pos': 'N', 'result': 'moved', 'alarm': False}), ('control 37', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 4000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('control 40', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 7000}, {'pos': 'N', 'result': 'route-locked', 'alarm': False})], [('regression: already reverse while route locked', {'pos': 'R', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 78', {'pos': 'N', 'cmd': 'N', 'route_locked': True, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 0}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 28', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 4000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: failed throw from normal', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 9000}, {'pos': 'X', 'result': 'no-detection', 'alarm': True}), ('control 45', {'pos': 'X', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2999}, {'pos': 'N', 'result': 'moved', 'alarm': False}), ('control 48', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 3000, 'detected_ms': 3001}, {'pos': 'X', 'result': 'no-detection', 'alarm': True}), ('control 51', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 3000, 'detected_ms': 0}, {'pos': 'R', 'result': 'moved', 'alarm': False})]]\nfor label, args, expected in fixtures[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":"844751909ef2a1b6052855af038a4e7b3840c85c945ca66ce0bcd299274c5900","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pos, cmd = x['pos'], x['cmd']\n    if x['route_locked']:\n        return {'pos': pos, 'result': 'route-locked', 'alarm': pos == 'X'}\n    if x['occupied']:\n        return {'pos': pos, 'result': 'track-locked', 'alarm': pos == 'X'}\n    det = x['detected_ms']\n    if pos == cmd:\n        return {'pos': pos, 'result': 'in-position', 'alarm': False}\n    if det is None or det > x['limit_ms']:\n        return {'pos': 'X', 'result': 'no-detection', 'alarm': True}\n    return {'pos': cmd, 'result': 'moved', 'alarm': False}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: already reverse while route locked', {'pos': 'R', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 26', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 1500}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 20', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': True, 'limit_ms': 6000, 'detected_ms': 1500}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('boundary: detection exactly at the limit', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 4000}, {'pos': 'R', 'result': 'moved', 'alarm': False}), ('control 1', {'pos': 'X', 'cmd': 'R', 'route_locked': True, 'occupied': True, 'limit_ms': 3000, 'detected_ms': 4500}, {'pos': 'X', 'result': 'route-locked', 'alarm': True}), ('control 4', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 6000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('control 7', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 6000}, {'pos': 'R', 'result': 'in-position', 'alarm': False})], [('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 80', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 6000, 'detected_ms': 0}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 70', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 3000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: never detected', {'pos': 'R', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': None}, {'pos': 'X', 'result': 'no-detection', 'alarm': True}), ('boundary: immediate detection', {'pos': 'R', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 0}, {'pos': 'N', 'result': 'moved', 'alarm': False}), ('control 12', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 4000}, {'pos': 'N', 'result': 'route-locked', 'alarm': False}), ('control 15', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': True, 'limit_ms': 3000, 'detected_ms': 3999}, {'pos': 'N', 'result': 'route-locked', 'alarm': False}), ('control 18', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 6000, 'detected_ms': None}, {'pos': 'N', 'result': 'route-locked', 'alarm': False})], [('regression: already reverse while route locked', {'pos': 'R', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 58', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2999}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('sampled regression 26', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 1500}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: out of correspondence and locked', {'pos': 'X', 'cmd': 'N', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'X', 'result': 'route-locked', 'alarm': True}), ('control 23', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 6000}, {'pos': 'R', 'result': 'moved', 'alarm': False}), ('control 29', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': None}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('control 32', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 3999}, {'pos': 'R', 'result': 'moved', 'alarm': False})], [('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 20', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': True, 'limit_ms': 6000, 'detected_ms': 1500}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('sampled regression 72', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 3000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: out of correspondence and locked', {'pos': 'X', 'cmd': 'N', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'X', 'result': 'route-locked', 'alarm': True}), ('boundary: normal point locked by a route', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'route-locked', 'alarm': False}), ('control 34', {'pos': 'R', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 0}, {'pos': 'N', 'result': 'moved', 'alarm': False}), ('control 37', {'pos': 'R', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 4000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('control 40', {'pos': 'N', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 7000}, {'pos': 'N', 'result': 'route-locked', 'alarm': False})], [('regression: already reverse while route locked', {'pos': 'R', 'cmd': 'R', 'route_locked': True, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'R', 'result': 'in-position', 'alarm': False}), ('regression: already normal under a train', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 2000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 78', {'pos': 'N', 'cmd': 'N', 'route_locked': True, 'occupied': False, 'limit_ms': 6000, 'detected_ms': 0}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('sampled regression 28', {'pos': 'N', 'cmd': 'N', 'route_locked': False, 'occupied': True, 'limit_ms': 4000, 'detected_ms': 4000}, {'pos': 'N', 'result': 'in-position', 'alarm': False}), ('boundary: failed throw from normal', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 9000}, {'pos': 'X', 'result': 'no-detection', 'alarm': True}), ('control 45', {'pos': 'X', 'cmd': 'N', 'route_locked': False, 'occupied': False, 'limit_ms': 4000, 'detected_ms': 2999}, {'pos': 'N', 'result': 'moved', 'alarm': False}), ('control 48', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 3000, 'detected_ms': 3001}, {'pos': 'X', 'result': 'no-detection', 'alarm': True}), ('control 51', {'pos': 'N', 'cmd': 'R', 'route_locked': False, 'occupied': False, 'limit_ms': 3000, 'detected_ms': 0}, {'pos': 'R', 'result': 'moved', 'alarm': False})]]\nfor label, args, expected in fixtures[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":"Stipulated toy interlocking contract for a bounded teaching model; it makes no claim of conformance to any railway signalling standard and omits real safety cases. 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-railway_interlocking_logic-point-machine-throw-in-position-under-lock","generated_at":"2026-09-29T14:47:48.022659+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Interlocking logic decides whether trains may be given authority; a wrong decision at this point either grants unsafe movements or strands traffic.","root_cause":"The in-position check runs after the locking checks, so a no-op command is rejected.","sha256":"1000e0c0c981cc2c0b5a75f88f89d502521811b47a15d614ff3f1346a5d75a7b","title":"Point machine throw control: in-position under lock · 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":38.393,"exit_code":1,"observations":[{"actual":{"alarm":false,"pos":"R","result":"in-position"},"check":"regression: already reverse while route locked","expected":{"alarm":false,"pos":"R","result":"in-position"},"passed":true},{"actual":{"alarm":false,"pos":"N","result":"track-locked"},"check":"regression: already normal under a train","expected":{"alarm":false,"pos":"N","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"N","result":"track-locked"},"check":"sampled regression 26","expected":{"alarm":false,"pos":"N","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"R","result":"track-locked"},"check":"sampled regression 20","expected":{"alarm":false,"pos":"R","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"R","result":"moved"},"check":"boundary: detection exactly at the limit","expected":{"alarm":false,"pos":"R","result":"moved"},"passed":true},{"actual":{"alarm":true,"pos":"X","result":"route-locked"},"check":"control 1","expected":{"alarm":true,"pos":"X","result":"route-locked"},"passed":true},{"actual":{"alarm":false,"pos":"N","result":"in-position"},"check":"control 4","expected":{"alarm":false,"pos":"N","result":"in-position"},"passed":true},{"actual":{"alarm":false,"pos":"R","result":"in-position"},"check":"control 7","expected":{"alarm":false,"pos":"R","result":"in-position"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: already reverse while route locked\", \"actual\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": true}, {\"check\": \"regression: already normal under a train\", \"actual\": {\"pos\": \"N\", \"result\": \"track-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"sampled regression 26\", \"actual\": {\"pos\": \"N\", \"result\": \"track-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"sampled regression 20\", \"actual\": {\"pos\": \"R\", \"result\": \"track-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"boundary: detection exactly at the limit\", \"actual\": {\"pos\": \"R\", \"result\": \"moved\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"moved\", \"alarm\": false}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"pos\": \"X\", \"result\": \"route-locked\", \"alarm\": true}, \"expected\": {\"pos\": \"X\", \"result\": \"route-locked\", \"alarm\": true}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"expected\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":36.317,"exit_code":1,"observations":[{"actual":{"alarm":false,"pos":"R","result":"route-locked"},"check":"regression: already reverse while route locked","expected":{"alarm":false,"pos":"R","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"N","result":"track-locked"},"check":"regression: already normal under a train","expected":{"alarm":false,"pos":"N","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"N","result":"track-locked"},"check":"sampled regression 26","expected":{"alarm":false,"pos":"N","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"R","result":"track-locked"},"check":"sampled regression 20","expected":{"alarm":false,"pos":"R","result":"in-position"},"passed":false},{"actual":{"alarm":false,"pos":"R","result":"moved"},"check":"boundary: detection exactly at the limit","expected":{"alarm":false,"pos":"R","result":"moved"},"passed":true},{"actual":{"alarm":true,"pos":"X","result":"route-locked"},"check":"control 1","expected":{"alarm":true,"pos":"X","result":"route-locked"},"passed":true},{"actual":{"alarm":false,"pos":"N","result":"in-position"},"check":"control 4","expected":{"alarm":false,"pos":"N","result":"in-position"},"passed":true},{"actual":{"alarm":false,"pos":"R","result":"in-position"},"check":"control 7","expected":{"alarm":false,"pos":"R","result":"in-position"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: already reverse while route locked\", \"actual\": {\"pos\": \"R\", \"result\": \"route-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"regression: already normal under a train\", \"actual\": {\"pos\": \"N\", \"result\": \"track-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"sampled regression 26\", \"actual\": {\"pos\": \"N\", \"result\": \"track-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"sampled regression 20\", \"actual\": {\"pos\": \"R\", \"result\": \"track-locked\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": false}, {\"check\": \"boundary: detection exactly at the limit\", \"actual\": {\"pos\": \"R\", \"result\": \"moved\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"moved\", \"alarm\": false}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"pos\": \"X\", \"result\": \"route-locked\", \"alarm\": true}, \"expected\": {\"pos\": \"X\", \"result\": \"route-locked\", \"alarm\": true}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"expected\": {\"pos\": \"N\", \"result\": \"in-position\", \"alarm\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"expected\": {\"pos\": \"R\", \"result\": \"in-position\", \"alarm\": false}, \"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."}}