{"abstract":"A section appears twice in the release list after being re-occupied.","category":"Railway interlocking logic","checks":8,"contract":"Sections of a locked route are released in route order as the train passes. A section is released when it clears, it was seen occupied earlier, its predecessor is already released (or it is the first), and the next route section is currently occupied (or it is the last). A clear of a never-occupied route section latches a fault that stops all further release. Events for sections outside the route are ignored. Output released sections in release order and the fault flag.","evaluation_group":"w2-railway_interlocking_logic-sectional-release","failed_approach":"Only suppressing an immediate repeat still duplicates a section released earlier.","family":"w2-railway_interlocking_logic-sectional-release-duplicate-release","id":"FA-66956","implementations":{"attempt":{"sha256":"afa1db516b4df2e6d2824db82db75f3d621e926b6658ef387747844ea8355da1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    route = x['route']\n    seen = set()\n    released = []\n    fault = False\n    occ = set()\n    for sec, ev in x['events']:\n        if sec not in route:\n            continue\n        if ev == 'occ':\n            occ.add(sec)\n            seen.add(sec)\n        else:\n            if sec not in seen:\n                fault = True\n            occ.discard(sec)\n            i = route.index(sec)\n            nxt_ok = i == len(route) - 1 or route[i + 1] in occ\n            prev_ok = i == 0 or route[i - 1] in released\n            if not fault and nxt_ok and prev_ok and released[-1:] != [sec]:\n                released.append(sec)\n    return {'released': released, 'fault': fault}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 14', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T3', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: next section flickered earlier', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('sampled regression 1', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 4', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 7', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'clr'], ['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': [], 'fault': True})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 50', {'route': ['T1', 'T2', 'T3', 'T4', 'T5'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T5', 'occ'], ['T2', 'clr'], ['T4', 'clr'], ['T5', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4', 'T5'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: middle section clears before first', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('control 12', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('control 15', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T4', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('sampled regression 18', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T1', 'occ'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 71', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['Z9', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'occ'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('sampled regression 2', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2'], 'fault': False}), ('boundary: phantom clear on first section', {'route': ['T1', 'T2'], 'events': [['T1', 'clr'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr']]}, {'released': [], 'fault': True}), ('boundary: single section route', {'route': ['T1'], 'events': [['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('control 23', {'route': ['T1', 'T2', 'T3'], 'events': [['T3', 'clr'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': [], 'fault': True}), ('control 26', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T1', 'clr'], ['T4', 'clr'], ['T4', 'occ']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('control 29', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 45', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['Z9', 'occ'], ['T3', 'clr'], ['T4', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: single section route', {'route': ['T1'], 'events': [['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('control 34', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'occ'], ['Z9', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 37', {'route': ['T1', 'T2', 'T3', 'T4', 'T5'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T5', 'occ'], ['T4', 'clr'], ['T5', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4', 'T5'], 'fault': False}), ('control 40', {'route': ['T1', 'T2'], 'events': [['T2', 'occ'], ['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T2', 'clr']]}, {'released': [], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 1', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: next section flickered earlier', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('sampled regression 45', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['Z9', 'occ'], ['T3', 'clr'], ['T4', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('control 48', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['Z9', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': [], 'fault': True}), ('sampled regression 54', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': 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":"0f96c12b16d41f45798f468f547fc122a9746dad8f06c5e3d48298dee8b34770","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    route = x['route']\n    seen = set()\n    released = []\n    fault = False\n    occ = set()\n    for sec, ev in x['events']:\n        if sec not in route:\n            continue\n        if ev == 'occ':\n            occ.add(sec)\n            seen.add(sec)\n        else:\n            if sec not in seen:\n                fault = True\n            occ.discard(sec)\n            i = route.index(sec)\n            nxt_ok = i == len(route) - 1 or route[i + 1] in occ\n            prev_ok = i == 0 or route[i - 1] in released\n            if not fault and nxt_ok and prev_ok :\n                released.append(sec)\n    return {'released': released, 'fault': fault}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 14', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T3', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: next section flickered earlier', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('sampled regression 1', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 4', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 7', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'clr'], ['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': [], 'fault': True})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 50', {'route': ['T1', 'T2', 'T3', 'T4', 'T5'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T5', 'occ'], ['T2', 'clr'], ['T4', 'clr'], ['T5', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4', 'T5'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: middle section clears before first', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('control 12', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('control 15', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T4', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('sampled regression 18', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T1', 'occ'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 71', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['Z9', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'occ'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('sampled regression 2', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2'], 'fault': False}), ('boundary: phantom clear on first section', {'route': ['T1', 'T2'], 'events': [['T1', 'clr'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr']]}, {'released': [], 'fault': True}), ('boundary: single section route', {'route': ['T1'], 'events': [['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('control 23', {'route': ['T1', 'T2', 'T3'], 'events': [['T3', 'clr'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': [], 'fault': True}), ('control 26', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T1', 'clr'], ['T4', 'clr'], ['T4', 'occ']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('control 29', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 45', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['Z9', 'occ'], ['T3', 'clr'], ['T4', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: single section route', {'route': ['T1'], 'events': [['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('control 34', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'occ'], ['Z9', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 37', {'route': ['T1', 'T2', 'T3', 'T4', 'T5'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T5', 'occ'], ['T4', 'clr'], ['T5', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4', 'T5'], 'fault': False}), ('control 40', {'route': ['T1', 'T2'], 'events': [['T2', 'occ'], ['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T2', 'clr']]}, {'released': [], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 1', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: next section flickered earlier', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('sampled regression 45', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['Z9', 'occ'], ['T3', 'clr'], ['T4', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('control 48', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['Z9', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': [], 'fault': True}), ('sampled regression 54', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': 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"},"fixed":{"sha256":"7996be22a76c98b52ea847aceb8e7be5789e272588b7d7bdc67085a65e5ed7f5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    route = x['route']\n    seen = set()\n    released = []\n    fault = False\n    occ = set()\n    for sec, ev in x['events']:\n        if sec not in route:\n            continue\n        if ev == 'occ':\n            occ.add(sec)\n            seen.add(sec)\n        else:\n            if sec not in seen:\n                fault = True\n            occ.discard(sec)\n            i = route.index(sec)\n            nxt_ok = i == len(route) - 1 or route[i + 1] in occ\n            prev_ok = i == 0 or route[i - 1] in released\n            if not fault and nxt_ok and prev_ok and sec not in released:\n                released.append(sec)\n    return {'released': released, 'fault': fault}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 14', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T3', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: next section flickered earlier', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('sampled regression 1', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 4', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 7', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'clr'], ['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': [], 'fault': True})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 50', {'route': ['T1', 'T2', 'T3', 'T4', 'T5'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T5', 'occ'], ['T2', 'clr'], ['T4', 'clr'], ['T5', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4', 'T5'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: middle section clears before first', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('control 12', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('control 15', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T4', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('sampled regression 18', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T1', 'occ'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 71', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['Z9', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'occ'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('sampled regression 2', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2'], 'fault': False}), ('boundary: phantom clear on first section', {'route': ['T1', 'T2'], 'events': [['T1', 'clr'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr']]}, {'released': [], 'fault': True}), ('boundary: single section route', {'route': ['T1'], 'events': [['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('control 23', {'route': ['T1', 'T2', 'T3'], 'events': [['T3', 'clr'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': [], 'fault': True}), ('control 26', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T1', 'clr'], ['T4', 'clr'], ['T4', 'occ']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('control 29', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 45', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['Z9', 'occ'], ['T3', 'clr'], ['T4', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: single section route', {'route': ['T1'], 'events': [['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('control 34', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'occ'], ['Z9', 'clr'], ['T1', 'clr'], ['T2', 'clr'], ['Z9', 'occ']]}, {'released': ['T1', 'T2'], 'fault': False}), ('control 37', {'route': ['T1', 'T2', 'T3', 'T4', 'T5'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['T3', 'clr'], ['T5', 'occ'], ['T4', 'clr'], ['T5', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4', 'T5'], 'fault': False}), ('control 40', {'route': ['T1', 'T2'], 'events': [['T2', 'occ'], ['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T2', 'clr']]}, {'released': [], 'fault': False})], [('regression: re-occupation after release', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1'], 'fault': False}), ('sampled regression 51', {'route': ['T1', 'T2', 'T3'], 'events': [['Z9', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('sampled regression 1', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T2', 'occ'], ['Z9', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T2', 'clr']]}, {'released': ['T1', 'T2'], 'fault': False}), ('sampled regression 44', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['Z9', 'clr'], ['T3', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': False}), ('boundary: next section flickered earlier', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T2', 'occ'], ['T2', 'clr'], ['T1', 'clr']]}, {'released': [], 'fault': False}), ('sampled regression 45', {'route': ['T1', 'T2', 'T3', 'T4'], 'events': [['T1', 'occ'], ['T3', 'occ'], ['T2', 'occ'], ['T1', 'clr'], ['T1', 'clr'], ['T3', 'occ'], ['T2', 'clr'], ['T4', 'occ'], ['Z9', 'occ'], ['T3', 'clr'], ['T4', 'clr']]}, {'released': ['T1', 'T2', 'T3', 'T4'], 'fault': False}), ('control 48', {'route': ['T1', 'T2'], 'events': [['T1', 'occ'], ['Z9', 'occ'], ['T2', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T1', 'occ'], ['T1', 'clr']]}, {'released': [], 'fault': True}), ('sampled regression 54', {'route': ['T1', 'T2', 'T3'], 'events': [['T1', 'occ'], ['T1', 'occ'], ['T1', 'clr'], ['T2', 'occ'], ['T1', 'clr'], ['T3', 'occ'], ['T1', 'clr'], ['T2', 'clr'], ['T3', 'clr']]}, {'released': ['T1', 'T2', 'T3'], 'fault': 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-sectional-release-duplicate-release","generated_at":"2026-09-29T14:47:48.521043+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.","repair":"Skip sections that are already in the release list.","root_cause":"Nothing prevents releasing a section that is already released.","sha256":"6f9a3b0b6c3c0dd22aa1c41ce4da3d1d72dc06b40ee6c3d15cfd22afbc72091b","title":"Sectional route release: duplicate release · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.293,"exit_code":1,"observations":[{"actual":{"fault":false,"released":["T1"]},"check":"regression: re-occupation after release","expected":{"fault":false,"released":["T1"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2","T3","T1"]},"check":"sampled regression 44","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":false},{"actual":{"fault":false,"released":["T1","T2","T3"]},"check":"sampled regression 14","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2","T3","T1"]},"check":"sampled regression 51","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":false},{"actual":{"fault":false,"released":[]},"check":"boundary: next section flickered earlier","expected":{"fault":false,"released":[]},"passed":true},{"actual":{"fault":false,"released":["T1","T2"]},"check":"sampled regression 1","expected":{"fault":false,"released":["T1","T2"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2"]},"check":"control 4","expected":{"fault":false,"released":["T1","T2"]},"passed":true},{"actual":{"fault":true,"released":[]},"check":"control 7","expected":{"fault":true,"released":[]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: re-occupation after release\", \"actual\": {\"released\": [\"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\"], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 44\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\", \"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": false}, {\"check\": \"sampled regression 14\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 51\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\", \"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": false}, {\"check\": \"boundary: next section flickered earlier\", \"actual\": {\"released\": [], \"fault\": false}, \"expected\": {\"released\": [], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 1\", \"actual\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"released\": [], \"fault\": true}, \"expected\": {\"released\": [], \"fault\": true}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.186,"exit_code":1,"observations":[{"actual":{"fault":false,"released":["T1","T1"]},"check":"regression: re-occupation after release","expected":{"fault":false,"released":["T1"]},"passed":false},{"actual":{"fault":false,"released":["T1","T2","T3","T1"]},"check":"sampled regression 44","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":false},{"actual":{"fault":false,"released":["T1","T1","T2","T3"]},"check":"sampled regression 14","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":false},{"actual":{"fault":false,"released":["T1","T2","T3","T1"]},"check":"sampled regression 51","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":false},{"actual":{"fault":false,"released":[]},"check":"boundary: next section flickered earlier","expected":{"fault":false,"released":[]},"passed":true},{"actual":{"fault":false,"released":["T1","T2","T2"]},"check":"sampled regression 1","expected":{"fault":false,"released":["T1","T2"]},"passed":false},{"actual":{"fault":false,"released":["T1","T2"]},"check":"control 4","expected":{"fault":false,"released":["T1","T2"]},"passed":true},{"actual":{"fault":true,"released":[]},"check":"control 7","expected":{"fault":true,"released":[]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: re-occupation after release\", \"actual\": {\"released\": [\"T1\", \"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\"], \"fault\": false}, \"passed\": false}, {\"check\": \"sampled regression 44\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\", \"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": false}, {\"check\": \"sampled regression 14\", \"actual\": {\"released\": [\"T1\", \"T1\", \"T2\", \"T3\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": false}, {\"check\": \"sampled regression 51\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\", \"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": false}, {\"check\": \"boundary: next section flickered earlier\", \"actual\": {\"released\": [], \"fault\": false}, \"expected\": {\"released\": [], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 1\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T2\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"passed\": false}, {\"check\": \"control 4\", \"actual\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"released\": [], \"fault\": true}, \"expected\": {\"released\": [], \"fault\": true}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.417,"exit_code":0,"observations":[{"actual":{"fault":false,"released":["T1"]},"check":"regression: re-occupation after release","expected":{"fault":false,"released":["T1"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2","T3"]},"check":"sampled regression 44","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2","T3"]},"check":"sampled regression 14","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2","T3"]},"check":"sampled regression 51","expected":{"fault":false,"released":["T1","T2","T3"]},"passed":true},{"actual":{"fault":false,"released":[]},"check":"boundary: next section flickered earlier","expected":{"fault":false,"released":[]},"passed":true},{"actual":{"fault":false,"released":["T1","T2"]},"check":"sampled regression 1","expected":{"fault":false,"released":["T1","T2"]},"passed":true},{"actual":{"fault":false,"released":["T1","T2"]},"check":"control 4","expected":{"fault":false,"released":["T1","T2"]},"passed":true},{"actual":{"fault":true,"released":[]},"check":"control 7","expected":{"fault":true,"released":[]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: re-occupation after release\", \"actual\": {\"released\": [\"T1\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\"], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 44\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 14\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 51\", \"actual\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\", \"T3\"], \"fault\": false}, \"passed\": true}, {\"check\": \"boundary: next section flickered earlier\", \"actual\": {\"released\": [], \"fault\": false}, \"expected\": {\"released\": [], \"fault\": false}, \"passed\": true}, {\"check\": \"sampled regression 1\", \"actual\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"expected\": {\"released\": [\"T1\", \"T2\"], \"fault\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"released\": [], \"fault\": true}, \"expected\": {\"released\": [], \"fault\": true}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}