{"abstract":"An overdue train or one arriving exactly at the horizon gets no route.","category":"Railway interlocking logic","checks":8,"contract":"Trains whose eta is at most lookahead_s after now are candidates, including overdue trains (eta before now). Candidates are ordered by class (1 highest), then scheduled time, then id. Routes are granted greedily in that order; a candidate is skipped if its route equals or conflicts with (conflict pairs are unordered) any route already granted. Return granted train ids in grant order.","contract_signature":"x","evaluation_group":"w2-railway_interlocking_logic-automatic-route-setting","failed_approach":"Filtering on the scheduled time sets routes for late trains that are still far away.","family":"w2-railway_interlocking_logic-automatic-route-setting-lookahead-window","id":"FA-67296","implementations":{"attempt":{"sha256":"9d187747f47c8e1b9a5fcb073c456062180e96b1313accdcf85c01b460c6dc22","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    now = x['now']\n    cand = [t for t in x['trains'] if t['sched'] - now <= x['lookahead_s']]\n    cand.sort(key=lambda t: (t['cls'], t['sched'], t['id']))\n    pairs = set()\n    for a, b in x['conflicts']:\n        pairs.add((a, b))\n        pairs.add((b, a))\n    granted = []\n    routes = []\n    for t in cand:\n        if any(t['route'] == r or (t['route'], r) in pairs for r in routes):\n            continue\n        granted.append(t['id'])\n        routes.append(t['route'])\n    return granted\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: eta exactly at the lookahead', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 160, 'route': 'R1'}]}, ['1A01']), ('control 1', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '6A00', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R1'}, {'id': '7A01', 'cls': 1, 'sched': 120, 'eta': 220, 'route': 'R2'}], 'conflicts': [['R4', 'R3'], ['R2', 'R3'], ['R4', 'R5'], ['R2', 'R1']]}, []), ('sampled regression 4', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R3'}, {'id': '8A01', 'cls': 1, 'sched': 100, 'eta': 80, 'route': 'R5'}, {'id': '7A02', 'cls': 3, 'sched': 100, 'eta': 80, 'route': 'R2'}], 'conflicts': [['R1', 'R5'], ['R1', 'R2'], ['R3', 'R2'], ['R4', 'R5']]}, ['8A01', '2A00']), ('control 2', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '1A00', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R2'}, {'id': '7A01', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '7A02', 'cls': 3, 'sched': 150, 'eta': 160, 'route': 'R2'}], 'conflicts': [['R5', 'R4'], ['R4', 'R3'], ['R2', 'R1'], ['R3', 'R2']]}, ['1A00']), ('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('control 7', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '9A01', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R1'}], 'conflicts': [['R3', 'R2']]}, ['9A01']), ('sampled regression 10', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '1A00', 'cls': 1, 'sched': 200, 'eta': 220, 'route': 'R1'}, {'id': '6A01', 'cls': 3, 'sched': 150, 'eta': 160, 'route': 'R5'}, {'id': '7A02', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R2'}, {'id': '4A03', 'cls': 3, 'sched': 100, 'eta': 220, 'route': 'R4'}, {'id': '1A04', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R4'}, {'id': '8A05', 'cls': 3, 'sched': 150, 'eta': 400, 'route': 'R4'}], 'conflicts': [['R2', 'R1'], ['R3', 'R4'], ['R5', 'R4']]}, ['1A04', '1A00']), ('sampled regression 13', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '2A00', 'cls': 3, 'sched': 200, 'eta': 80, 'route': 'R4'}, {'id': '3A01', 'cls': 1, 'sched': 200, 'eta': 400, 'route': 'R4'}, {'id': '2A02', 'cls': 3, 'sched': 120, 'eta': 160, 'route': 'R5'}, {'id': '9A03', 'cls': 2, 'sched': 100, 'eta': 80, 'route': 'R5'}, {'id': '3A04', 'cls': 2, 'sched': 100, 'eta': 80, 'route': 'R4'}], 'conflicts': [['R3', 'R2'], ['R1', 'R2'], ['R4', 'R5']]}, ['3A04'])], [('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('control 2', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '1A00', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R2'}, {'id': '7A01', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '7A02', 'cls': 3, 'sched': 150, 'eta': 160, 'route': 'R2'}], 'conflicts': [['R5', 'R4'], ['R4', 'R3'], ['R2', 'R1'], ['R3', 'R2']]}, ['1A00']), ('sampled regression 16', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '9A00', 'cls': 3, 'sched': 100, 'eta': 220, 'route': 'R2'}, {'id': '3A01', 'cls': 2, 'sched': 150, 'eta': 400, 'route': 'R2'}, {'id': '8A02', 'cls': 2, 'sched': 200, 'eta': 130, 'route': 'R1'}, {'id': '3A03', 'cls': 1, 'sched': 100, 'eta': 100, 'route': 'R1'}], 'conflicts': [['R1', 'R5']]}, ['3A03', '9A00']), ('control 11', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '1A00', 'cls': 3, 'sched': 120, 'eta': 180, 'route': 'R3'}, {'id': '3A01', 'cls': 3, 'sched': 150, 'eta': 220, 'route': 'R2'}, {'id': '5A02', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R5'}, {'id': '1A03', 'cls': 2, 'sched': 200, 'eta': 100, 'route': 'R1'}, {'id': '3A04', 'cls': 2, 'sched': 100, 'eta': 220, 'route': 'R4'}], 'conflicts': [['R2', 'R1'], ['R1', 'R5'], ['R4', 'R5'], ['R2', 'R3']]}, ['1A03']), ('boundary: class beats schedule', {'now': 100, 'lookahead_s': 60, 'conflicts': [['R1', 'R2']], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 100, 'eta': 110, 'route': 'R1'}, {'id': '1A02', 'cls': 1, 'sched': 150, 'eta': 150, 'route': 'R2'}]}, ['1A02']), ('sampled regression 12', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '8A00', 'cls': 1, 'sched': 100, 'eta': 180, 'route': 'R3'}, {'id': '8A01', 'cls': 2, 'sched': 100, 'eta': 220, 'route': 'R2'}], 'conflicts': [['R3', 'R4']]}, ['8A00', '8A01']), ('sampled regression 15', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 200, 'eta': 180, 'route': 'R5'}, {'id': '6A01', 'cls': 3, 'sched': 150, 'eta': 80, 'route': 'R2'}, {'id': '7A02', 'cls': 3, 'sched': 100, 'eta': 130, 'route': 'R5'}, {'id': '5A03', 'cls': 3, 'sched': 120, 'eta': 160, 'route': 'R1'}], 'conflicts': [['R2', 'R1'], ['R4', 'R5'], ['R1', 'R5']]}, ['7A02', '6A01']), ('sampled regression 18', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '9A00', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R4'}, {'id': '8A01', 'cls': 2, 'sched': 100, 'eta': 80, 'route': 'R3'}], 'conflicts': [['R5', 'R4'], ['R1', 'R2'], ['R4', 'R3']]}, ['9A00'])], [('regression: eta exactly at the lookahead', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 160, 'route': 'R1'}]}, ['1A01']), ('sampled regression 5', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '3A00', 'cls': 1, 'sched': 200, 'eta': 180, 'route': 'R5'}, {'id': '4A01', 'cls': 2, 'sched': 200, 'eta': 100, 'route': 'R2'}], 'conflicts': [['R2', 'R1'], ['R4', 'R5'], ['R2', 'R3']]}, ['3A00', '4A01']), ('sampled regression 28', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '2A00', 'cls': 3, 'sched': 120, 'eta': 400, 'route': 'R4'}, {'id': '6A01', 'cls': 3, 'sched': 100, 'eta': 80, 'route': 'R3'}, {'id': '3A02', 'cls': 2, 'sched': 150, 'eta': 100, 'route': 'R1'}], 'conflicts': [['R3', 'R4'], ['R2', 'R1'], ['R2', 'R3']]}, ['3A02', '6A01']), ('sampled regression 19', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 150, 'eta': 80, 'route': 'R3'}, {'id': '8A01', 'cls': 1, 'sched': 120, 'eta': 160, 'route': 'R3'}, {'id': '7A02', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R1'}, {'id': '8A03', 'cls': 1, 'sched': 200, 'eta': 80, 'route': 'R5'}], 'conflicts': [['R1', 'R2'], ['R2', 'R3'], ['R4', 'R5'], ['R3', 'R4']]}, ['8A01', '8A03']), ('boundary: reverse-listed conflict granted in reverse', {'now': 100, 'lookahead_s': 60, 'conflicts': [['R3', 'R2']], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 110, 'route': 'R3'}, {'id': '1A02', 'cls': 1, 'sched': 120, 'eta': 120, 'route': 'R2'}]}, ['1A01']), ('sampled regression 23', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '9A00', 'cls': 1, 'sched': 200, 'eta': 180, 'route': 'R4'}, {'id': '1A01', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R2'}, {'id': '5A02', 'cls': 2, 'sched': 120, 'eta': 160, 'route': 'R5'}, {'id': '2A03', 'cls': 2, 'sched': 150, 'eta': 80, 'route': 'R2'}], 'conflicts': [['R1', 'R5'], ['R2', 'R1']]}, ['9A00', '5A02', '2A03']), ('control 26', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '9A00', 'cls': 1, 'sched': 120, 'eta': 160, 'route': 'R2'}, {'id': '7A01', 'cls': 2, 'sched': 100, 'eta': 220, 'route': 'R4'}, {'id': '2A02', 'cls': 1, 'sched': 150, 'eta': 180, 'route': 'R2'}, {'id': '1A03', 'cls': 3, 'sched': 150, 'eta': 130, 'route': 'R1'}, {'id': '7A04', 'cls': 2, 'sched': 120, 'eta': 100, 'route': 'R1'}, {'id': '1A05', 'cls': 2, 'sched': 150, 'eta': 400, 'route': 'R3'}], 'conflicts': [['R1', 'R5']]}, ['9A00', '7A04']), ('sampled regression 29', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '6A00', 'cls': 2, 'sched': 200, 'eta': 80, 'route': 'R5'}, {'id': '8A01', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R1'}, {'id': '6A02', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R1'}, {'id': '2A03', 'cls': 1, 'sched': 200, 'eta': 400, 'route': 'R3'}], 'conflicts': [['R5', 'R4'], ['R4', 'R3'], ['R2', 'R1'], ['R3', 'R2']]}, ['6A00'])], [('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('control 7', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '9A01', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R1'}], 'conflicts': [['R3', 'R2']]}, ['9A01']), ('sampled regression 42', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '8A00', 'cls': 1, 'sched': 150, 'eta': 130, 'route': 'R5'}, {'id': '2A01', 'cls': 2, 'sched': 150, 'eta': 80, 'route': 'R4'}, {'id': '6A02', 'cls': 2, 'sched': 120, 'eta': 130, 'route': 'R5'}, {'id': '4A03', 'cls': 1, 'sched': 100, 'eta': 80, 'route': 'R5'}, {'id': '1A04', 'cls': 1, 'sched': 150, 'eta': 180, 'route': 'R4'}, {'id': '7A05', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R5'}], 'conflicts': [['R2', 'R1'], ['R4', 'R3']]}, ['4A03', '1A04']), ('control 27', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '8A00', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R5'}, {'id': '4A01', 'cls': 3, 'sched': 150, 'eta': 130, 'route': 'R1'}], 'conflicts': [['R3', 'R4'], ['R2', 'R3']]}, ['4A01']), ('boundary: conflict with an earlier grant', {'now': 100, 'lookahead_s': 60, 'conflicts': [['R1', 'R5']], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 110, 'route': 'R1'}, {'id': '1A02', 'cls': 1, 'sched': 110, 'eta': 120, 'route': 'R4'}, {'id': '1A03', 'cls': 1, 'sched': 130, 'eta': 130, 'route': 'R5'}]}, ['1A01', '1A02']), ('control 34', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 150, 'eta': 160, 'route': 'R5'}, {'id': '6A01', 'cls': 2, 'sched': 200, 'eta': 130, 'route': 'R5'}], 'conflicts': [['R4', 'R3']]}, ['2A00']), ('control 37', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '4A00', 'cls': 3, 'sched': 120, 'eta': 400, 'route': 'R4'}, {'id': '1A01', 'cls': 1, 'sched': 150, 'eta': 100, 'route': 'R4'}, {'id': '6A02', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R4'}, {'id': '3A03', 'cls': 2, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '1A04', 'cls': 3, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '6A05', 'cls': 3, 'sched': 120, 'eta': 180, 'route': 'R1'}], 'conflicts': [['R1', 'R5'], ['R2', 'R1'], ['R3', 'R4']]}, ['1A01']), ('control 40', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 120, 'eta': 180, 'route': 'R4'}, {'id': '2A01', 'cls': 1, 'sched': 100, 'eta': 400, 'route': 'R4'}, {'id': '8A02', 'cls': 1, 'sched': 150, 'eta': 100, 'route': 'R3'}, {'id': '1A03', 'cls': 2, 'sched': 200, 'eta': 100, 'route': 'R3'}, {'id': '8A04', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R4'}, {'id': '3A05', 'cls': 3, 'sched': 120, 'eta': 130, 'route': 'R5'}], 'conflicts': [['R1', 'R5'], ['R2', 'R3'], ['R1', 'R2'], ['R3', 'R4']]}, ['8A02', '3A05'])], [('regression: eta exactly at the lookahead', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 160, 'route': 'R1'}]}, ['1A01']), ('sampled regression 9', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '9A00', 'cls': 3, 'sched': 120, 'eta': 130, 'route': 'R4'}, {'id': '7A01', 'cls': 3, 'sched': 120, 'eta': 130, 'route': 'R5'}, {'id': '7A02', 'cls': 1, 'sched': 100, 'eta': 400, 'route': 'R2'}, {'id': '1A03', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R2'}, {'id': '1A04', 'cls': 3, 'sched': 120, 'eta': 220, 'route': 'R3'}], 'conflicts': [['R2', 'R1']]}, ['1A03', '1A04', '7A01', '9A00']), ('sampled regression 56', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '8A00', 'cls': 1, 'sched': 150, 'eta': 180, 'route': 'R4'}, {'id': '1A01', 'cls': 1, 'sched': 200, 'eta': 220, 'route': 'R1'}, {'id': '3A02', 'cls': 2, 'sched': 200, 'eta': 400, 'route': 'R4'}, {'id': '1A03', 'cls': 2, 'sched': 120, 'eta': 100, 'route': 'R5'}], 'conflicts': [['R1', 'R2'], ['R3', 'R2'], ['R5', 'R1']]}, ['8A00', '1A03']), ('control 37', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '4A00', 'cls': 3, 'sched': 120, 'eta': 400, 'route': 'R4'}, {'id': '1A01', 'cls': 1, 'sched': 150, 'eta': 100, 'route': 'R4'}, {'id': '6A02', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R4'}, {'id': '3A03', 'cls': 2, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '1A04', 'cls': 3, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '6A05', 'cls': 3, 'sched': 120, 'eta': 180, 'route': 'R1'}], 'conflicts': [['R1', 'R5'], ['R2', 'R1'], ['R3', 'R4']]}, ['1A01']), ('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('sampled regression 45', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '6A00', 'cls': 3, 'sched': 150, 'eta': 180, 'route': 'R1'}, {'id': '2A01', 'cls': 3, 'sched': 120, 'eta': 80, 'route': 'R1'}, {'id': '2A02', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R1'}, {'id': '5A03', 'cls': 1, 'sched': 120, 'eta': 160, 'route': 'R2'}, {'id': '9A04', 'cls': 3, 'sched': 200, 'eta': 130, 'route': 'R1'}, {'id': '5A05', 'cls': 1, 'sched': 120, 'eta': 130, 'route': 'R1'}], 'conflicts': [['R5', 'R4'], ['R3', 'R2'], ['R1', 'R5'], ['R3', 'R4']]}, ['5A03', '5A05']), ('control 48', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '5A00', 'cls': 2, 'sched': 120, 'eta': 100, 'route': 'R1'}, {'id': '2A01', 'cls': 3, 'sched': 100, 'eta': 100, 'route': 'R3'}], 'conflicts': [['R4', 'R5'], ['R3', 'R4'], ['R1', 'R2']]}, ['5A00', '2A01']), ('control 51', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '5A00', 'cls': 3, 'sched': 150, 'eta': 220, 'route': 'R4'}, {'id': '6A01', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R2'}, {'id': '3A02', 'cls': 2, 'sched': 120, 'eta': 160, 'route': 'R4'}, {'id': '6A03', 'cls': 2, 'sched': 100, 'eta': 400, 'route': 'R2'}], 'conflicts': [['R3', 'R2'], ['R4', 'R5']]}, ['3A02'])]]\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":"611da3b4dc072eb4a6034e2409c49b4f0632efdbd178bf0da464405231662a8d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    now = x['now']\n    cand = [t for t in x['trains'] if 0 <= t['eta'] - now < x['lookahead_s']]\n    cand.sort(key=lambda t: (t['cls'], t['sched'], t['id']))\n    pairs = set()\n    for a, b in x['conflicts']:\n        pairs.add((a, b))\n        pairs.add((b, a))\n    granted = []\n    routes = []\n    for t in cand:\n        if any(t['route'] == r or (t['route'], r) in pairs for r in routes):\n            continue\n        granted.append(t['id'])\n        routes.append(t['route'])\n    return granted\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: eta exactly at the lookahead', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 160, 'route': 'R1'}]}, ['1A01']), ('control 1', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '6A00', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R1'}, {'id': '7A01', 'cls': 1, 'sched': 120, 'eta': 220, 'route': 'R2'}], 'conflicts': [['R4', 'R3'], ['R2', 'R3'], ['R4', 'R5'], ['R2', 'R1']]}, []), ('sampled regression 4', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R3'}, {'id': '8A01', 'cls': 1, 'sched': 100, 'eta': 80, 'route': 'R5'}, {'id': '7A02', 'cls': 3, 'sched': 100, 'eta': 80, 'route': 'R2'}], 'conflicts': [['R1', 'R5'], ['R1', 'R2'], ['R3', 'R2'], ['R4', 'R5']]}, ['8A01', '2A00']), ('control 2', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '1A00', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R2'}, {'id': '7A01', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '7A02', 'cls': 3, 'sched': 150, 'eta': 160, 'route': 'R2'}], 'conflicts': [['R5', 'R4'], ['R4', 'R3'], ['R2', 'R1'], ['R3', 'R2']]}, ['1A00']), ('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('control 7', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '9A01', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R1'}], 'conflicts': [['R3', 'R2']]}, ['9A01']), ('sampled regression 10', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '1A00', 'cls': 1, 'sched': 200, 'eta': 220, 'route': 'R1'}, {'id': '6A01', 'cls': 3, 'sched': 150, 'eta': 160, 'route': 'R5'}, {'id': '7A02', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R2'}, {'id': '4A03', 'cls': 3, 'sched': 100, 'eta': 220, 'route': 'R4'}, {'id': '1A04', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R4'}, {'id': '8A05', 'cls': 3, 'sched': 150, 'eta': 400, 'route': 'R4'}], 'conflicts': [['R2', 'R1'], ['R3', 'R4'], ['R5', 'R4']]}, ['1A04', '1A00']), ('sampled regression 13', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '2A00', 'cls': 3, 'sched': 200, 'eta': 80, 'route': 'R4'}, {'id': '3A01', 'cls': 1, 'sched': 200, 'eta': 400, 'route': 'R4'}, {'id': '2A02', 'cls': 3, 'sched': 120, 'eta': 160, 'route': 'R5'}, {'id': '9A03', 'cls': 2, 'sched': 100, 'eta': 80, 'route': 'R5'}, {'id': '3A04', 'cls': 2, 'sched': 100, 'eta': 80, 'route': 'R4'}], 'conflicts': [['R3', 'R2'], ['R1', 'R2'], ['R4', 'R5']]}, ['3A04'])], [('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('control 2', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '1A00', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R2'}, {'id': '7A01', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '7A02', 'cls': 3, 'sched': 150, 'eta': 160, 'route': 'R2'}], 'conflicts': [['R5', 'R4'], ['R4', 'R3'], ['R2', 'R1'], ['R3', 'R2']]}, ['1A00']), ('sampled regression 16', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '9A00', 'cls': 3, 'sched': 100, 'eta': 220, 'route': 'R2'}, {'id': '3A01', 'cls': 2, 'sched': 150, 'eta': 400, 'route': 'R2'}, {'id': '8A02', 'cls': 2, 'sched': 200, 'eta': 130, 'route': 'R1'}, {'id': '3A03', 'cls': 1, 'sched': 100, 'eta': 100, 'route': 'R1'}], 'conflicts': [['R1', 'R5']]}, ['3A03', '9A00']), ('control 11', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '1A00', 'cls': 3, 'sched': 120, 'eta': 180, 'route': 'R3'}, {'id': '3A01', 'cls': 3, 'sched': 150, 'eta': 220, 'route': 'R2'}, {'id': '5A02', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R5'}, {'id': '1A03', 'cls': 2, 'sched': 200, 'eta': 100, 'route': 'R1'}, {'id': '3A04', 'cls': 2, 'sched': 100, 'eta': 220, 'route': 'R4'}], 'conflicts': [['R2', 'R1'], ['R1', 'R5'], ['R4', 'R5'], ['R2', 'R3']]}, ['1A03']), ('boundary: class beats schedule', {'now': 100, 'lookahead_s': 60, 'conflicts': [['R1', 'R2']], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 100, 'eta': 110, 'route': 'R1'}, {'id': '1A02', 'cls': 1, 'sched': 150, 'eta': 150, 'route': 'R2'}]}, ['1A02']), ('sampled regression 12', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '8A00', 'cls': 1, 'sched': 100, 'eta': 180, 'route': 'R3'}, {'id': '8A01', 'cls': 2, 'sched': 100, 'eta': 220, 'route': 'R2'}], 'conflicts': [['R3', 'R4']]}, ['8A00', '8A01']), ('sampled regression 15', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 200, 'eta': 180, 'route': 'R5'}, {'id': '6A01', 'cls': 3, 'sched': 150, 'eta': 80, 'route': 'R2'}, {'id': '7A02', 'cls': 3, 'sched': 100, 'eta': 130, 'route': 'R5'}, {'id': '5A03', 'cls': 3, 'sched': 120, 'eta': 160, 'route': 'R1'}], 'conflicts': [['R2', 'R1'], ['R4', 'R5'], ['R1', 'R5']]}, ['7A02', '6A01']), ('sampled regression 18', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '9A00', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R4'}, {'id': '8A01', 'cls': 2, 'sched': 100, 'eta': 80, 'route': 'R3'}], 'conflicts': [['R5', 'R4'], ['R1', 'R2'], ['R4', 'R3']]}, ['9A00'])], [('regression: eta exactly at the lookahead', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 160, 'route': 'R1'}]}, ['1A01']), ('sampled regression 5', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '3A00', 'cls': 1, 'sched': 200, 'eta': 180, 'route': 'R5'}, {'id': '4A01', 'cls': 2, 'sched': 200, 'eta': 100, 'route': 'R2'}], 'conflicts': [['R2', 'R1'], ['R4', 'R5'], ['R2', 'R3']]}, ['3A00', '4A01']), ('sampled regression 28', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '2A00', 'cls': 3, 'sched': 120, 'eta': 400, 'route': 'R4'}, {'id': '6A01', 'cls': 3, 'sched': 100, 'eta': 80, 'route': 'R3'}, {'id': '3A02', 'cls': 2, 'sched': 150, 'eta': 100, 'route': 'R1'}], 'conflicts': [['R3', 'R4'], ['R2', 'R1'], ['R2', 'R3']]}, ['3A02', '6A01']), ('sampled regression 19', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 150, 'eta': 80, 'route': 'R3'}, {'id': '8A01', 'cls': 1, 'sched': 120, 'eta': 160, 'route': 'R3'}, {'id': '7A02', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R1'}, {'id': '8A03', 'cls': 1, 'sched': 200, 'eta': 80, 'route': 'R5'}], 'conflicts': [['R1', 'R2'], ['R2', 'R3'], ['R4', 'R5'], ['R3', 'R4']]}, ['8A01', '8A03']), ('boundary: reverse-listed conflict granted in reverse', {'now': 100, 'lookahead_s': 60, 'conflicts': [['R3', 'R2']], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 110, 'route': 'R3'}, {'id': '1A02', 'cls': 1, 'sched': 120, 'eta': 120, 'route': 'R2'}]}, ['1A01']), ('sampled regression 23', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '9A00', 'cls': 1, 'sched': 200, 'eta': 180, 'route': 'R4'}, {'id': '1A01', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R2'}, {'id': '5A02', 'cls': 2, 'sched': 120, 'eta': 160, 'route': 'R5'}, {'id': '2A03', 'cls': 2, 'sched': 150, 'eta': 80, 'route': 'R2'}], 'conflicts': [['R1', 'R5'], ['R2', 'R1']]}, ['9A00', '5A02', '2A03']), ('control 26', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '9A00', 'cls': 1, 'sched': 120, 'eta': 160, 'route': 'R2'}, {'id': '7A01', 'cls': 2, 'sched': 100, 'eta': 220, 'route': 'R4'}, {'id': '2A02', 'cls': 1, 'sched': 150, 'eta': 180, 'route': 'R2'}, {'id': '1A03', 'cls': 3, 'sched': 150, 'eta': 130, 'route': 'R1'}, {'id': '7A04', 'cls': 2, 'sched': 120, 'eta': 100, 'route': 'R1'}, {'id': '1A05', 'cls': 2, 'sched': 150, 'eta': 400, 'route': 'R3'}], 'conflicts': [['R1', 'R5']]}, ['9A00', '7A04']), ('sampled regression 29', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '6A00', 'cls': 2, 'sched': 200, 'eta': 80, 'route': 'R5'}, {'id': '8A01', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R1'}, {'id': '6A02', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R1'}, {'id': '2A03', 'cls': 1, 'sched': 200, 'eta': 400, 'route': 'R3'}], 'conflicts': [['R5', 'R4'], ['R4', 'R3'], ['R2', 'R1'], ['R3', 'R2']]}, ['6A00'])], [('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('control 7', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 1, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '9A01', 'cls': 3, 'sched': 100, 'eta': 160, 'route': 'R1'}], 'conflicts': [['R3', 'R2']]}, ['9A01']), ('sampled regression 42', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '8A00', 'cls': 1, 'sched': 150, 'eta': 130, 'route': 'R5'}, {'id': '2A01', 'cls': 2, 'sched': 150, 'eta': 80, 'route': 'R4'}, {'id': '6A02', 'cls': 2, 'sched': 120, 'eta': 130, 'route': 'R5'}, {'id': '4A03', 'cls': 1, 'sched': 100, 'eta': 80, 'route': 'R5'}, {'id': '1A04', 'cls': 1, 'sched': 150, 'eta': 180, 'route': 'R4'}, {'id': '7A05', 'cls': 2, 'sched': 200, 'eta': 220, 'route': 'R5'}], 'conflicts': [['R2', 'R1'], ['R4', 'R3']]}, ['4A03', '1A04']), ('control 27', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '8A00', 'cls': 2, 'sched': 120, 'eta': 220, 'route': 'R5'}, {'id': '4A01', 'cls': 3, 'sched': 150, 'eta': 130, 'route': 'R1'}], 'conflicts': [['R3', 'R4'], ['R2', 'R3']]}, ['4A01']), ('boundary: conflict with an earlier grant', {'now': 100, 'lookahead_s': 60, 'conflicts': [['R1', 'R5']], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 110, 'route': 'R1'}, {'id': '1A02', 'cls': 1, 'sched': 110, 'eta': 120, 'route': 'R4'}, {'id': '1A03', 'cls': 1, 'sched': 130, 'eta': 130, 'route': 'R5'}]}, ['1A01', '1A02']), ('control 34', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 150, 'eta': 160, 'route': 'R5'}, {'id': '6A01', 'cls': 2, 'sched': 200, 'eta': 130, 'route': 'R5'}], 'conflicts': [['R4', 'R3']]}, ['2A00']), ('control 37', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '4A00', 'cls': 3, 'sched': 120, 'eta': 400, 'route': 'R4'}, {'id': '1A01', 'cls': 1, 'sched': 150, 'eta': 100, 'route': 'R4'}, {'id': '6A02', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R4'}, {'id': '3A03', 'cls': 2, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '1A04', 'cls': 3, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '6A05', 'cls': 3, 'sched': 120, 'eta': 180, 'route': 'R1'}], 'conflicts': [['R1', 'R5'], ['R2', 'R1'], ['R3', 'R4']]}, ['1A01']), ('control 40', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '2A00', 'cls': 2, 'sched': 120, 'eta': 180, 'route': 'R4'}, {'id': '2A01', 'cls': 1, 'sched': 100, 'eta': 400, 'route': 'R4'}, {'id': '8A02', 'cls': 1, 'sched': 150, 'eta': 100, 'route': 'R3'}, {'id': '1A03', 'cls': 2, 'sched': 200, 'eta': 100, 'route': 'R3'}, {'id': '8A04', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R4'}, {'id': '3A05', 'cls': 3, 'sched': 120, 'eta': 130, 'route': 'R5'}], 'conflicts': [['R1', 'R5'], ['R2', 'R3'], ['R1', 'R2'], ['R3', 'R4']]}, ['8A02', '3A05'])], [('regression: eta exactly at the lookahead', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '1A01', 'cls': 1, 'sched': 100, 'eta': 160, 'route': 'R1'}]}, ['1A01']), ('sampled regression 9', {'now': 100, 'lookahead_s': 120, 'trains': [{'id': '9A00', 'cls': 3, 'sched': 120, 'eta': 130, 'route': 'R4'}, {'id': '7A01', 'cls': 3, 'sched': 120, 'eta': 130, 'route': 'R5'}, {'id': '7A02', 'cls': 1, 'sched': 100, 'eta': 400, 'route': 'R2'}, {'id': '1A03', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R2'}, {'id': '1A04', 'cls': 3, 'sched': 120, 'eta': 220, 'route': 'R3'}], 'conflicts': [['R2', 'R1']]}, ['1A03', '1A04', '7A01', '9A00']), ('sampled regression 56', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '8A00', 'cls': 1, 'sched': 150, 'eta': 180, 'route': 'R4'}, {'id': '1A01', 'cls': 1, 'sched': 200, 'eta': 220, 'route': 'R1'}, {'id': '3A02', 'cls': 2, 'sched': 200, 'eta': 400, 'route': 'R4'}, {'id': '1A03', 'cls': 2, 'sched': 120, 'eta': 100, 'route': 'R5'}], 'conflicts': [['R1', 'R2'], ['R3', 'R2'], ['R5', 'R1']]}, ['8A00', '1A03']), ('control 37', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '4A00', 'cls': 3, 'sched': 120, 'eta': 400, 'route': 'R4'}, {'id': '1A01', 'cls': 1, 'sched': 150, 'eta': 100, 'route': 'R4'}, {'id': '6A02', 'cls': 2, 'sched': 100, 'eta': 130, 'route': 'R4'}, {'id': '3A03', 'cls': 2, 'sched': 150, 'eta': 220, 'route': 'R5'}, {'id': '1A04', 'cls': 3, 'sched': 120, 'eta': 220, 'route': 'R2'}, {'id': '6A05', 'cls': 3, 'sched': 120, 'eta': 180, 'route': 'R1'}], 'conflicts': [['R1', 'R5'], ['R2', 'R1'], ['R3', 'R4']]}, ['1A01']), ('regression: overdue train', {'now': 100, 'lookahead_s': 60, 'conflicts': [], 'trains': [{'id': '2A01', 'cls': 2, 'sched': 60, 'eta': 70, 'route': 'R2'}]}, ['2A01']), ('sampled regression 45', {'now': 100, 'lookahead_s': 60, 'trains': [{'id': '6A00', 'cls': 3, 'sched': 150, 'eta': 180, 'route': 'R1'}, {'id': '2A01', 'cls': 3, 'sched': 120, 'eta': 80, 'route': 'R1'}, {'id': '2A02', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R1'}, {'id': '5A03', 'cls': 1, 'sched': 120, 'eta': 160, 'route': 'R2'}, {'id': '9A04', 'cls': 3, 'sched': 200, 'eta': 130, 'route': 'R1'}, {'id': '5A05', 'cls': 1, 'sched': 120, 'eta': 130, 'route': 'R1'}], 'conflicts': [['R5', 'R4'], ['R3', 'R2'], ['R1', 'R5'], ['R3', 'R4']]}, ['5A03', '5A05']), ('control 48', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '5A00', 'cls': 2, 'sched': 120, 'eta': 100, 'route': 'R1'}, {'id': '2A01', 'cls': 3, 'sched': 100, 'eta': 100, 'route': 'R3'}], 'conflicts': [['R4', 'R5'], ['R3', 'R4'], ['R1', 'R2']]}, ['5A00', '2A01']), ('control 51', {'now': 100, 'lookahead_s': 80, 'trains': [{'id': '5A00', 'cls': 3, 'sched': 150, 'eta': 220, 'route': 'R4'}, {'id': '6A01', 'cls': 1, 'sched': 120, 'eta': 400, 'route': 'R2'}, {'id': '3A02', 'cls': 2, 'sched': 120, 'eta': 160, 'route': 'R4'}, {'id': '6A03', 'cls': 2, 'sched': 100, 'eta': 400, 'route': 'R2'}], 'conflicts': [['R3', 'R2'], ['R4', 'R5']]}, ['3A02'])]]\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-automatic-route-setting-lookahead-window","generated_at":"2026-09-29T14:47:51.550344+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 window excludes overdue trains and its far edge is exclusive.","sha256":"60918058b2282a42e484a8459f0df586cf745512dd92a4be099ad979d187e3f5","title":"Automatic route setting arbitration: lookahead window · 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":43.157,"exit_code":1,"observations":[{"actual":["1A01"],"check":"regression: eta exactly at the lookahead","expected":["1A01"],"passed":true},{"actual":["6A00"],"check":"control 1","expected":[],"passed":false},{"actual":["8A01","2A00"],"check":"sampled regression 4","expected":["8A01","2A00"],"passed":true},{"actual":["7A01"],"check":"control 2","expected":["1A00"],"passed":false},{"actual":["2A01"],"check":"regression: overdue train","expected":["2A01"],"passed":true},{"actual":["2A00","9A01"],"check":"control 7","expected":["9A01"],"passed":false},{"actual":["7A02","1A04"],"check":"sampled regression 10","expected":["1A04","1A00"],"passed":false},{"actual":["3A01"],"check":"sampled regression 13","expected":["3A04"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: eta exactly at the lookahead\", \"actual\": [\"1A01\"], \"expected\": [\"1A01\"], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [\"6A00\"], \"expected\": [], \"passed\": false}, {\"check\": \"sampled regression 4\", \"actual\": [\"8A01\", \"2A00\"], \"expected\": [\"8A01\", \"2A00\"], \"passed\": true}, {\"check\": \"control 2\", \"actual\": [\"7A01\"], \"expected\": [\"1A00\"], \"passed\": false}, {\"check\": \"regression: overdue train\", \"actual\": [\"2A01\"], \"expected\": [\"2A01\"], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [\"2A00\", \"9A01\"], \"expected\": [\"9A01\"], \"passed\": false}, {\"check\": \"sampled regression 10\", \"actual\": [\"7A02\", \"1A04\"], \"expected\": [\"1A04\", \"1A00\"], \"passed\": false}, {\"check\": \"sampled regression 13\", \"actual\": [\"3A01\"], \"expected\": [\"3A04\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.073,"exit_code":1,"observations":[{"actual":[],"check":"regression: eta exactly at the lookahead","expected":["1A01"],"passed":false},{"actual":[],"check":"control 1","expected":[],"passed":true},{"actual":[],"check":"sampled regression 4","expected":["8A01","2A00"],"passed":false},{"actual":["1A00"],"check":"control 2","expected":["1A00"],"passed":true},{"actual":[],"check":"regression: overdue train","expected":["2A01"],"passed":false},{"actual":["9A01"],"check":"control 7","expected":["9A01"],"passed":true},{"actual":["6A01"],"check":"sampled regression 10","expected":["1A04","1A00"],"passed":false},{"actual":["2A02"],"check":"sampled regression 13","expected":["3A04"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: eta exactly at the lookahead\", \"actual\": [], \"expected\": [\"1A01\"], \"passed\": false}, {\"check\": \"control 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": [], \"expected\": [\"8A01\", \"2A00\"], \"passed\": false}, {\"check\": \"control 2\", \"actual\": [\"1A00\"], \"expected\": [\"1A00\"], \"passed\": true}, {\"check\": \"regression: overdue train\", \"actual\": [], \"expected\": [\"2A01\"], \"passed\": false}, {\"check\": \"control 7\", \"actual\": [\"9A01\"], \"expected\": [\"9A01\"], \"passed\": true}, {\"check\": \"sampled regression 10\", \"actual\": [\"6A01\"], \"expected\": [\"1A04\", \"1A00\"], \"passed\": false}, {\"check\": \"sampled regression 13\", \"actual\": [\"2A02\"], \"expected\": [\"3A04\"], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}