{"abstract":"Exams at the same time on consecutive days count toward one day's load.","category":"Exam timetabling constraints","checks":8,"contract":"sits [student, exam, start minute] (rows may repeat an exam). A student violates the limit if more than limit distinct exams start inside some half-open 24-hour window [t, t + 1440). Return [student, maximum count] for violators, by student.","evaluation_group":"w2-exam-timetabling-constraints-rolling-day-exam-load","failed_approach":"Adding an index guard does not change the inclusive boundary.","family":"w2-exam-timetabling-constraints-rolling-day-exam-load-window-half-open","id":"FA-94501","implementations":{"attempt":{"sha256":"b875cd88ec2206b483ccf8c294603b4e7e380d7f45e9db1eff882b06c30ed5b9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sits, limit):\n    by = {}\n    for st, ex, t in sits:\n        by.setdefault(st, {})[ex] = t\n    out = []\n    for st in sorted(by):\n        ts = sorted(by[st].values())\n        best = 0\n        j = 0\n        for i in range(len(ts)):\n            while j < i and ts[i] - ts[j] > 1440:\n                j += 1\n            best = max(best, i - j + 1)\n        if best > limit:\n            out.append([st, best])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: window half open 1',\n   [[['s1', 'ECON150', 3419], ['s1', 'BIO130', 540], ['s3', 'ECON150', 3601], ['s3', 'MATH101H', 4861],\n     ['s1', 'MATH101', 4259], ['s4', 'ECON150', 600], ['s1', 'HIST140', 7139], ['s3', 'CHEM120', 540],\n     ['s3', 'HIST140', 3421], ['s3', 'PHYS110', 1981], ['s1', 'CHEM120', 1980], ['s4', 'BIO130', 2040],\n     ['s1', 'HIST140', 7139]],\n    1],\n   [['s1', 2], ['s3', 2]]),\n  ('regression variant: window half open 2',\n   [[['s4', 'BIO130', 4920], ['s4', 'CHEM120', 2040], ['s4', 'MATH101H', 600], ['s4', 'HIST140', 6359],\n     ['s4', 'PHYS110', 2040]],\n    2],\n   []),\n  ('partial repair guard 3',\n   [[['s4', 'PHYS110', 1800], ['s2', 'HIST140', 1860], ['s5', 'MATH101', 3240], ['s2', 'ECON150', 600],\n     ['s5', 'HIST140', 3240], ['s2', 'CHEM120', 2160], ['s5', 'MATH101H', 1800], ['s5', 'CHEM120', 1800],\n     ['s4', 'BIO130', 540], ['s2', 'BIO130', 3420], ['s5', 'BIO130', 540], ['s4', 'CHEM120', 3060],\n     ['s4', 'CHEM120', 3060]],\n    1],\n   [['s2', 2], ['s4', 2], ['s5', 3]]),\n  ('boundary control 4', [[['s1', 'A', 600], ['s1', 'A', 600], ['s1', 'B', 900]], 1], [['s1', 2]]),\n  ('normal control 5',\n   [[['s5', 'ECON150', 2700], ['s5', 'PHYS110', 7019], ['s5', 'MATH101H', 5580], ['s5', 'BIO130', 540],\n     ['s5', 'CHEM120', 1980], ['s5', 'ECON150', 2700]],\n    1],\n   [['s5', 2]]),\n  ('normal control 6',\n   [[['s3', 'PHYS110', 600], ['s3', 'MATH101H', 2280], ['s3', 'HIST140', 1440], ['s3', 'MATH101', 5160]], 2],\n   []),\n  ('normal control 7',\n   [[['s4', 'PHYS110', 4920], ['s5', 'PHYS110', 2759], ['s4', 'MATH101', 600], ['s4', 'BIO130', 2041],\n     ['s4', 'ECON150', 3480], ['s5', 'ECON150', 600], ['s5', 'MATH101H', 1320]],\n    1],\n   [['s4', 2], ['s5', 2]]),\n  ('normal control 8',\n   [[['s3', 'MATH101H', 2159], ['s3', 'ECON150', 2879], ['s3', 'CHEM120', 540], ['s3', 'CHEM120', 540],\n     ['s3', 'PHYS110', 720]],\n    2],\n   [])],\n [('regression: window half open 1',\n   [[['s5', 'MATH101', 3481], ['s5', 'PHYS110', 600], ['s5', 'MATH101', 3481], ['s1', 'ECON150', 540],\n     ['s5', 'BIO130', 2040], ['s1', 'BIO130', 1380], ['s5', 'MATH101H', 1860], ['s5', 'CHEM120', 600]],\n    3],\n   []),\n  ('regression variant: window half open 2',\n   [[['s1', 'HIST140', 7140], ['s4', 'PHYS110', 1981], ['s4', 'ECON150', 3421], ['s1', 'CHEM120', 1380],\n     ['s4', 'HIST140', 540], ['s4', 'CHEM120', 3241], ['s1', 'PHYS110', 4260], ['s1', 'ECON150', 540]],\n    2],\n   []),\n  ('partial repair guard 3',\n   [[['s1', 'MATH101H', 3421], ['s1', 'ECON150', 1260], ['s1', 'BIO130', 1980], ['s1', 'CHEM120', 540],\n     ['s1', 'ECON150', 1260]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 540], ['s1', 'B', 1979], ['s1', 'C', 1990]], 2], []),\n  ('normal control 5',\n   [[['s2', 'MATH101', 4259], ['s2', 'ECON150', 540], ['s5', 'BIO130', 2760], ['s2', 'CHEM120', 1979],\n     ['s2', 'BIO130', 5700], ['s5', 'CHEM120', 600], ['s5', 'MATH101H', 1320], ['s2', 'MATH101H', 2819]],\n    2],\n   []),\n  ('normal control 6',\n   [[['s2', 'MATH101H', 1980], ['s2', 'ECON150', 3240], ['s2', 'PHYS110', 3960], ['s2', 'MATH101', 4140],\n     ['s2', 'BIO130', 540]],\n    3],\n   []),\n  ('normal control 7',\n   [[['s5', 'ECON150', 1380], ['s5', 'BIO130', 540], ['s2', 'MATH101', 5159], ['s5', 'PHYS110', 1680],\n     ['s3', 'HIST140', 2761], ['s2', 'MATH101H', 1979], ['s3', 'ECON150', 3061], ['s2', 'HIST140', 540],\n     ['s2', 'ECON150', 4859], ['s5', 'HIST140', 3120], ['s3', 'CHEM120', 1320], ['s2', 'PHYS110', 6598],\n     ['s2', 'HIST140', 540], ['s3', 'BIO130', 600]],\n    1],\n   [['s2', 2], ['s3', 2], ['s5', 3]]),\n  ('normal control 8',\n   [[['s5', 'CHEM120', 1020], ['s5', 'HIST140', 540], ['s5', 'MATH101', 840], ['s5', 'MATH101', 840]], 3],\n   [])],\n [('regression: window half open 1',\n   [[['s3', 'PHYS110', 1980], ['s3', 'CHEM120', 540], ['s2', 'BIO130', 540], ['s3', 'MATH101', 720],\n     ['s2', 'BIO130', 540], ['s2', 'MATH101H', 1800], ['s3', 'ECON150', 1980], ['s2', 'MATH101', 3240]],\n    2],\n   [['s3', 3]]),\n  ('regression variant: window half open 2',\n   [[['s1', 'ECON150', 600], ['s1', 'ECON150', 600], ['s1', 'MATH101H', 2040], ['s1', 'MATH101', 1860],\n     ['s1', 'HIST140', 4920]],\n    1],\n   [['s1', 2]]),\n  ('partial repair guard 3',\n   [[['s4', 'ECON150', 900], ['s4', 'HIST140', 2521], ['s3', 'BIO130', 2760], ['s4', 'MATH101', 600],\n     ['s4', 'MATH101H', 2341], ['s3', 'MATH101', 600], ['s3', 'HIST140', 2040], ['s4', 'ECON150', 900],\n     ['s3', 'ECON150', 2040], ['s3', 'CHEM120', 1320], ['s4', 'PHYS110', 3961]],\n    2],\n   [['s3', 3]]),\n  ('boundary control 4', [[['s1', 'A', 600], ['s1', 'B', 600], ['s1', 'C', 900]], 2], [['s1', 3]]),\n  ('normal control 5',\n   [[['s3', 'HIST140', 2039], ['s3', 'BIO130', 600], ['s3', 'HIST140', 2039], ['s3', 'MATH101', 3299]], 2],\n   []),\n  ('normal control 6',\n   [[['s4', 'ECON150', 2400], ['s3', 'ECON150', 540], ['s4', 'CHEM120', 2400], ['s3', 'BIO130', 2160],\n     ['s1', 'MATH101H', 540], ['s3', 'HIST140', 1980], ['s1', 'BIO130', 4260], ['s1', 'PHYS110', 3420],\n     ['s4', 'MATH101', 540], ['s4', 'HIST140', 1560], ['s1', 'MATH101', 5100], ['s4', 'BIO130', 1260]],\n    3],\n   [['s4', 4]]),\n  ('normal control 7',\n   [[['s4', 'PHYS110', 840], ['s3', 'PHYS110', 1800], ['s4', 'ECON150', 540], ['s4', 'ECON150', 540],\n     ['s3', 'ECON150', 4680], ['s3', 'BIO130', 5520], ['s3', 'CHEM120', 540]],\n    2],\n   []),\n  ('normal control 8',\n   [[['s5', 'CHEM120', 780], ['s4', 'BIO130', 540], ['s4', 'ECON150', 1380], ['s1', 'MATH101', 600],\n     ['s1', 'BIO130', 1440], ['s5', 'BIO130', 2219], ['s5', 'MATH101H', 600]],\n    3],\n   [])],\n [('regression: window half open 1',\n   [[['s4', 'ECON150', 2040], ['s4', 'CHEM120', 1320], ['s4', 'MATH101', 600]], 2], []),\n  ('regression variant: window half open 2',\n   [[['s3', 'HIST140', 1860], ['s5', 'MATH101H', 3241], ['s1', 'CHEM120', 4921], ['s3', 'BIO130', 4741],\n     ['s5', 'CHEM120', 540], ['s1', 'BIO130', 2041], ['s3', 'PHYS110', 3300], ['s5', 'MATH101', 1981],\n     ['s3', 'CHEM120', 600], ['s5', 'BIO130', 3421], ['s5', 'PHYS110', 3421], ['s3', 'MATH101', 1860],\n     ['s1', 'MATH101H', 600]],\n    2],\n   [['s3', 3], ['s5', 3]]),\n  ('partial repair guard 3',\n   [[['s3', 'MATH101H', 2820], ['s2', 'MATH101H', 3420], ['s3', 'BIO130', 2820], ['s2', 'PHYS110', 4140],\n     ['s3', 'PHYS110', 540], ['s3', 'BIO130', 2820], ['s2', 'ECON150', 540], ['s3', 'ECON150', 1380]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 1300], ['s1', 'B', 1500], ['s1', 'C', 1600]], 2], [['s1', 3]]),\n  ('normal control 5', [[['s4', 'PHYS110', 600], ['s4', 'BIO130', 1320]], 1], [['s4', 2]]),\n  ('normal control 6', [[['s1', 'ECON150', 600], ['s1', 'ECON150', 600], ['s1', 'MATH101H', 3480]], 2], []),\n  ('normal control 7',\n   [[['s1', 'MATH101', 600], ['s4', 'ECON150', 540], ['s1', 'HIST140', 2760], ['s1', 'BIO130', 1320],\n     ['s4', 'HIST140', 540], ['s1', 'CHEM120', 4200], ['s4', 'MATH101H', 1560], ['s4', 'PHYS110', 840],\n     ['s4', 'CHEM120', 840], ['s3', 'HIST140', 540], ['s3', 'MATH101H', 3240], ['s3', 'PHYS110', 1980],\n     ['s3', 'BIO130', 1800], ['s1', 'ECON150', 3480]],\n    3],\n   [['s4', 5]]),\n  ('normal control 8',\n   [[['s2', 'MATH101', 540], ['s5', 'ECON150', 780], ['s5', 'HIST140', 2219], ['s2', 'MATH101H', 4860],\n     ['s1', 'ECON150', 540], ['s1', 'BIO130', 1980], ['s5', 'CHEM120', 2939], ['s2', 'MATH101H', 4860],\n     ['s1', 'CHEM120', 4860], ['s5', 'MATH101H', 4380], ['s1', 'MATH101H', 3420], ['s2', 'PHYS110', 3420],\n     ['s2', 'CHEM120', 5700], ['s5', 'PHYS110', 600]],\n    3],\n   [])],\n [('regression: window half open 1',\n   [[['s3', 'BIO130', 540], ['s5', 'PHYS110', 1320], ['s4', 'BIO130', 1980], ['s3', 'PHYS110', 1380],\n     ['s5', 'BIO130', 600], ['s4', 'ECON150', 540]],\n    1],\n   [['s3', 2], ['s5', 2]]),\n  ('regression variant: window half open 2',\n   [[['s1', 'BIO130', 600], ['s1', 'MATH101', 1500], ['s3', 'MATH101', 6361], ['s3', 'CHEM120', 2040],\n     ['s1', 'CHEM120', 1320], ['s1', 'BIO130', 600], ['s3', 'PHYS110', 3481], ['s3', 'BIO130', 600]],\n    1],\n   [['s1', 3]]),\n  ('partial repair guard 3',\n   [[['s5', 'MATH101', 600], ['s2', 'CHEM120', 1980], ['s1', 'MATH101H', 1980], ['s5', 'PHYS110', 600],\n     ['s2', 'ECON150', 1980], ['s1', 'BIO130', 540], ['s1', 'MATH101', 2700], ['s2', 'PHYS110', 540]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 540], ['s1', 'B', 1980], ['s1', 'C', 2000]], 2], []),\n  ('normal control 5',\n   [[['s5', 'PHYS110', 6181], ['s5', 'MATH101', 600], ['s2', 'MATH101H', 540], ['s2', 'ECON150', 4680],\n     ['s4', 'MATH101', 5099], ['s5', 'ECON150', 2041], ['s2', 'MATH101', 3420], ['s4', 'ECON150', 3660],\n     ['s4', 'MATH101H', 6540], ['s5', 'BIO130', 4921], ['s4', 'PHYS110', 3480], ['s5', 'CHEM120', 2041],\n     ['s4', 'CHEM120', 600], ['s2', 'HIST140', 6420], ['s2', 'CHEM120', 6120]],\n    3],\n   []),\n  ('normal control 6',\n   [[['s3', 'BIO130', 2040], ['s5', 'HIST140', 3480], ['s5', 'MATH101', 5279], ['s5', 'MATH101H', 600],\n     ['s3', 'ECON150', 600], ['s5', 'BIO130', 4919], ['s3', 'HIST140', 1320], ['s5', 'PHYS110', 5099]],\n    2],\n   [['s5', 3]]),\n  ('normal control 7',\n   [[['s1', 'CHEM120', 540], ['s4', 'PHYS110', 2100], ['s3', 'MATH101', 600], ['s3', 'CHEM120', 1320],\n     ['s1', 'ECON150', 1979], ['s1', 'MATH101', 4980], ['s1', 'MATH101H', 4680], ['s1', 'PHYS110', 3239],\n     ['s4', 'CHEM120', 1260], ['s4', 'HIST140', 540]],\n    2],\n   []),\n  ('normal control 8',\n   [[['s3', 'HIST140', 2039], ['s3', 'BIO130', 600], ['s3', 'HIST140', 2039], ['s3', 'MATH101', 3299]], 2],\n   [])]]\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":"dd402a38e28fec6df8da51c88521a9811950b736a5301dba688649ec521ecc64","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sits, limit):\n    by = {}\n    for st, ex, t in sits:\n        by.setdefault(st, {})[ex] = t\n    out = []\n    for st in sorted(by):\n        ts = sorted(by[st].values())\n        best = 0\n        j = 0\n        for i in range(len(ts)):\n            while ts[i] - ts[j] > 1440:\n                j += 1\n            best = max(best, i - j + 1)\n        if best > limit:\n            out.append([st, best])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: window half open 1',\n   [[['s1', 'ECON150', 3419], ['s1', 'BIO130', 540], ['s3', 'ECON150', 3601], ['s3', 'MATH101H', 4861],\n     ['s1', 'MATH101', 4259], ['s4', 'ECON150', 600], ['s1', 'HIST140', 7139], ['s3', 'CHEM120', 540],\n     ['s3', 'HIST140', 3421], ['s3', 'PHYS110', 1981], ['s1', 'CHEM120', 1980], ['s4', 'BIO130', 2040],\n     ['s1', 'HIST140', 7139]],\n    1],\n   [['s1', 2], ['s3', 2]]),\n  ('regression variant: window half open 2',\n   [[['s4', 'BIO130', 4920], ['s4', 'CHEM120', 2040], ['s4', 'MATH101H', 600], ['s4', 'HIST140', 6359],\n     ['s4', 'PHYS110', 2040]],\n    2],\n   []),\n  ('partial repair guard 3',\n   [[['s4', 'PHYS110', 1800], ['s2', 'HIST140', 1860], ['s5', 'MATH101', 3240], ['s2', 'ECON150', 600],\n     ['s5', 'HIST140', 3240], ['s2', 'CHEM120', 2160], ['s5', 'MATH101H', 1800], ['s5', 'CHEM120', 1800],\n     ['s4', 'BIO130', 540], ['s2', 'BIO130', 3420], ['s5', 'BIO130', 540], ['s4', 'CHEM120', 3060],\n     ['s4', 'CHEM120', 3060]],\n    1],\n   [['s2', 2], ['s4', 2], ['s5', 3]]),\n  ('boundary control 4', [[['s1', 'A', 600], ['s1', 'A', 600], ['s1', 'B', 900]], 1], [['s1', 2]]),\n  ('normal control 5',\n   [[['s5', 'ECON150', 2700], ['s5', 'PHYS110', 7019], ['s5', 'MATH101H', 5580], ['s5', 'BIO130', 540],\n     ['s5', 'CHEM120', 1980], ['s5', 'ECON150', 2700]],\n    1],\n   [['s5', 2]]),\n  ('normal control 6',\n   [[['s3', 'PHYS110', 600], ['s3', 'MATH101H', 2280], ['s3', 'HIST140', 1440], ['s3', 'MATH101', 5160]], 2],\n   []),\n  ('normal control 7',\n   [[['s4', 'PHYS110', 4920], ['s5', 'PHYS110', 2759], ['s4', 'MATH101', 600], ['s4', 'BIO130', 2041],\n     ['s4', 'ECON150', 3480], ['s5', 'ECON150', 600], ['s5', 'MATH101H', 1320]],\n    1],\n   [['s4', 2], ['s5', 2]]),\n  ('normal control 8',\n   [[['s3', 'MATH101H', 2159], ['s3', 'ECON150', 2879], ['s3', 'CHEM120', 540], ['s3', 'CHEM120', 540],\n     ['s3', 'PHYS110', 720]],\n    2],\n   [])],\n [('regression: window half open 1',\n   [[['s5', 'MATH101', 3481], ['s5', 'PHYS110', 600], ['s5', 'MATH101', 3481], ['s1', 'ECON150', 540],\n     ['s5', 'BIO130', 2040], ['s1', 'BIO130', 1380], ['s5', 'MATH101H', 1860], ['s5', 'CHEM120', 600]],\n    3],\n   []),\n  ('regression variant: window half open 2',\n   [[['s1', 'HIST140', 7140], ['s4', 'PHYS110', 1981], ['s4', 'ECON150', 3421], ['s1', 'CHEM120', 1380],\n     ['s4', 'HIST140', 540], ['s4', 'CHEM120', 3241], ['s1', 'PHYS110', 4260], ['s1', 'ECON150', 540]],\n    2],\n   []),\n  ('partial repair guard 3',\n   [[['s1', 'MATH101H', 3421], ['s1', 'ECON150', 1260], ['s1', 'BIO130', 1980], ['s1', 'CHEM120', 540],\n     ['s1', 'ECON150', 1260]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 540], ['s1', 'B', 1979], ['s1', 'C', 1990]], 2], []),\n  ('normal control 5',\n   [[['s2', 'MATH101', 4259], ['s2', 'ECON150', 540], ['s5', 'BIO130', 2760], ['s2', 'CHEM120', 1979],\n     ['s2', 'BIO130', 5700], ['s5', 'CHEM120', 600], ['s5', 'MATH101H', 1320], ['s2', 'MATH101H', 2819]],\n    2],\n   []),\n  ('normal control 6',\n   [[['s2', 'MATH101H', 1980], ['s2', 'ECON150', 3240], ['s2', 'PHYS110', 3960], ['s2', 'MATH101', 4140],\n     ['s2', 'BIO130', 540]],\n    3],\n   []),\n  ('normal control 7',\n   [[['s5', 'ECON150', 1380], ['s5', 'BIO130', 540], ['s2', 'MATH101', 5159], ['s5', 'PHYS110', 1680],\n     ['s3', 'HIST140', 2761], ['s2', 'MATH101H', 1979], ['s3', 'ECON150', 3061], ['s2', 'HIST140', 540],\n     ['s2', 'ECON150', 4859], ['s5', 'HIST140', 3120], ['s3', 'CHEM120', 1320], ['s2', 'PHYS110', 6598],\n     ['s2', 'HIST140', 540], ['s3', 'BIO130', 600]],\n    1],\n   [['s2', 2], ['s3', 2], ['s5', 3]]),\n  ('normal control 8',\n   [[['s5', 'CHEM120', 1020], ['s5', 'HIST140', 540], ['s5', 'MATH101', 840], ['s5', 'MATH101', 840]], 3],\n   [])],\n [('regression: window half open 1',\n   [[['s3', 'PHYS110', 1980], ['s3', 'CHEM120', 540], ['s2', 'BIO130', 540], ['s3', 'MATH101', 720],\n     ['s2', 'BIO130', 540], ['s2', 'MATH101H', 1800], ['s3', 'ECON150', 1980], ['s2', 'MATH101', 3240]],\n    2],\n   [['s3', 3]]),\n  ('regression variant: window half open 2',\n   [[['s1', 'ECON150', 600], ['s1', 'ECON150', 600], ['s1', 'MATH101H', 2040], ['s1', 'MATH101', 1860],\n     ['s1', 'HIST140', 4920]],\n    1],\n   [['s1', 2]]),\n  ('partial repair guard 3',\n   [[['s4', 'ECON150', 900], ['s4', 'HIST140', 2521], ['s3', 'BIO130', 2760], ['s4', 'MATH101', 600],\n     ['s4', 'MATH101H', 2341], ['s3', 'MATH101', 600], ['s3', 'HIST140', 2040], ['s4', 'ECON150', 900],\n     ['s3', 'ECON150', 2040], ['s3', 'CHEM120', 1320], ['s4', 'PHYS110', 3961]],\n    2],\n   [['s3', 3]]),\n  ('boundary control 4', [[['s1', 'A', 600], ['s1', 'B', 600], ['s1', 'C', 900]], 2], [['s1', 3]]),\n  ('normal control 5',\n   [[['s3', 'HIST140', 2039], ['s3', 'BIO130', 600], ['s3', 'HIST140', 2039], ['s3', 'MATH101', 3299]], 2],\n   []),\n  ('normal control 6',\n   [[['s4', 'ECON150', 2400], ['s3', 'ECON150', 540], ['s4', 'CHEM120', 2400], ['s3', 'BIO130', 2160],\n     ['s1', 'MATH101H', 540], ['s3', 'HIST140', 1980], ['s1', 'BIO130', 4260], ['s1', 'PHYS110', 3420],\n     ['s4', 'MATH101', 540], ['s4', 'HIST140', 1560], ['s1', 'MATH101', 5100], ['s4', 'BIO130', 1260]],\n    3],\n   [['s4', 4]]),\n  ('normal control 7',\n   [[['s4', 'PHYS110', 840], ['s3', 'PHYS110', 1800], ['s4', 'ECON150', 540], ['s4', 'ECON150', 540],\n     ['s3', 'ECON150', 4680], ['s3', 'BIO130', 5520], ['s3', 'CHEM120', 540]],\n    2],\n   []),\n  ('normal control 8',\n   [[['s5', 'CHEM120', 780], ['s4', 'BIO130', 540], ['s4', 'ECON150', 1380], ['s1', 'MATH101', 600],\n     ['s1', 'BIO130', 1440], ['s5', 'BIO130', 2219], ['s5', 'MATH101H', 600]],\n    3],\n   [])],\n [('regression: window half open 1',\n   [[['s4', 'ECON150', 2040], ['s4', 'CHEM120', 1320], ['s4', 'MATH101', 600]], 2], []),\n  ('regression variant: window half open 2',\n   [[['s3', 'HIST140', 1860], ['s5', 'MATH101H', 3241], ['s1', 'CHEM120', 4921], ['s3', 'BIO130', 4741],\n     ['s5', 'CHEM120', 540], ['s1', 'BIO130', 2041], ['s3', 'PHYS110', 3300], ['s5', 'MATH101', 1981],\n     ['s3', 'CHEM120', 600], ['s5', 'BIO130', 3421], ['s5', 'PHYS110', 3421], ['s3', 'MATH101', 1860],\n     ['s1', 'MATH101H', 600]],\n    2],\n   [['s3', 3], ['s5', 3]]),\n  ('partial repair guard 3',\n   [[['s3', 'MATH101H', 2820], ['s2', 'MATH101H', 3420], ['s3', 'BIO130', 2820], ['s2', 'PHYS110', 4140],\n     ['s3', 'PHYS110', 540], ['s3', 'BIO130', 2820], ['s2', 'ECON150', 540], ['s3', 'ECON150', 1380]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 1300], ['s1', 'B', 1500], ['s1', 'C', 1600]], 2], [['s1', 3]]),\n  ('normal control 5', [[['s4', 'PHYS110', 600], ['s4', 'BIO130', 1320]], 1], [['s4', 2]]),\n  ('normal control 6', [[['s1', 'ECON150', 600], ['s1', 'ECON150', 600], ['s1', 'MATH101H', 3480]], 2], []),\n  ('normal control 7',\n   [[['s1', 'MATH101', 600], ['s4', 'ECON150', 540], ['s1', 'HIST140', 2760], ['s1', 'BIO130', 1320],\n     ['s4', 'HIST140', 540], ['s1', 'CHEM120', 4200], ['s4', 'MATH101H', 1560], ['s4', 'PHYS110', 840],\n     ['s4', 'CHEM120', 840], ['s3', 'HIST140', 540], ['s3', 'MATH101H', 3240], ['s3', 'PHYS110', 1980],\n     ['s3', 'BIO130', 1800], ['s1', 'ECON150', 3480]],\n    3],\n   [['s4', 5]]),\n  ('normal control 8',\n   [[['s2', 'MATH101', 540], ['s5', 'ECON150', 780], ['s5', 'HIST140', 2219], ['s2', 'MATH101H', 4860],\n     ['s1', 'ECON150', 540], ['s1', 'BIO130', 1980], ['s5', 'CHEM120', 2939], ['s2', 'MATH101H', 4860],\n     ['s1', 'CHEM120', 4860], ['s5', 'MATH101H', 4380], ['s1', 'MATH101H', 3420], ['s2', 'PHYS110', 3420],\n     ['s2', 'CHEM120', 5700], ['s5', 'PHYS110', 600]],\n    3],\n   [])],\n [('regression: window half open 1',\n   [[['s3', 'BIO130', 540], ['s5', 'PHYS110', 1320], ['s4', 'BIO130', 1980], ['s3', 'PHYS110', 1380],\n     ['s5', 'BIO130', 600], ['s4', 'ECON150', 540]],\n    1],\n   [['s3', 2], ['s5', 2]]),\n  ('regression variant: window half open 2',\n   [[['s1', 'BIO130', 600], ['s1', 'MATH101', 1500], ['s3', 'MATH101', 6361], ['s3', 'CHEM120', 2040],\n     ['s1', 'CHEM120', 1320], ['s1', 'BIO130', 600], ['s3', 'PHYS110', 3481], ['s3', 'BIO130', 600]],\n    1],\n   [['s1', 3]]),\n  ('partial repair guard 3',\n   [[['s5', 'MATH101', 600], ['s2', 'CHEM120', 1980], ['s1', 'MATH101H', 1980], ['s5', 'PHYS110', 600],\n     ['s2', 'ECON150', 1980], ['s1', 'BIO130', 540], ['s1', 'MATH101', 2700], ['s2', 'PHYS110', 540]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 540], ['s1', 'B', 1980], ['s1', 'C', 2000]], 2], []),\n  ('normal control 5',\n   [[['s5', 'PHYS110', 6181], ['s5', 'MATH101', 600], ['s2', 'MATH101H', 540], ['s2', 'ECON150', 4680],\n     ['s4', 'MATH101', 5099], ['s5', 'ECON150', 2041], ['s2', 'MATH101', 3420], ['s4', 'ECON150', 3660],\n     ['s4', 'MATH101H', 6540], ['s5', 'BIO130', 4921], ['s4', 'PHYS110', 3480], ['s5', 'CHEM120', 2041],\n     ['s4', 'CHEM120', 600], ['s2', 'HIST140', 6420], ['s2', 'CHEM120', 6120]],\n    3],\n   []),\n  ('normal control 6',\n   [[['s3', 'BIO130', 2040], ['s5', 'HIST140', 3480], ['s5', 'MATH101', 5279], ['s5', 'MATH101H', 600],\n     ['s3', 'ECON150', 600], ['s5', 'BIO130', 4919], ['s3', 'HIST140', 1320], ['s5', 'PHYS110', 5099]],\n    2],\n   [['s5', 3]]),\n  ('normal control 7',\n   [[['s1', 'CHEM120', 540], ['s4', 'PHYS110', 2100], ['s3', 'MATH101', 600], ['s3', 'CHEM120', 1320],\n     ['s1', 'ECON150', 1979], ['s1', 'MATH101', 4980], ['s1', 'MATH101H', 4680], ['s1', 'PHYS110', 3239],\n     ['s4', 'CHEM120', 1260], ['s4', 'HIST140', 540]],\n    2],\n   []),\n  ('normal control 8',\n   [[['s3', 'HIST140', 2039], ['s3', 'BIO130', 600], ['s3', 'HIST140', 2039], ['s3', 'MATH101', 3299]], 2],\n   [])]]\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":"53b4145ad9cf961dfa35a4fc91f03d945987fe7eb1ff9ed125373ec2b0374dfa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sits, limit):\n    by = {}\n    for st, ex, t in sits:\n        by.setdefault(st, {})[ex] = t\n    out = []\n    for st in sorted(by):\n        ts = sorted(by[st].values())\n        best = 0\n        j = 0\n        for i in range(len(ts)):\n            while ts[i] - ts[j] >= 1440:\n                j += 1\n            best = max(best, i - j + 1)\n        if best > limit:\n            out.append([st, best])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: window half open 1',\n   [[['s1', 'ECON150', 3419], ['s1', 'BIO130', 540], ['s3', 'ECON150', 3601], ['s3', 'MATH101H', 4861],\n     ['s1', 'MATH101', 4259], ['s4', 'ECON150', 600], ['s1', 'HIST140', 7139], ['s3', 'CHEM120', 540],\n     ['s3', 'HIST140', 3421], ['s3', 'PHYS110', 1981], ['s1', 'CHEM120', 1980], ['s4', 'BIO130', 2040],\n     ['s1', 'HIST140', 7139]],\n    1],\n   [['s1', 2], ['s3', 2]]),\n  ('regression variant: window half open 2',\n   [[['s4', 'BIO130', 4920], ['s4', 'CHEM120', 2040], ['s4', 'MATH101H', 600], ['s4', 'HIST140', 6359],\n     ['s4', 'PHYS110', 2040]],\n    2],\n   []),\n  ('partial repair guard 3',\n   [[['s4', 'PHYS110', 1800], ['s2', 'HIST140', 1860], ['s5', 'MATH101', 3240], ['s2', 'ECON150', 600],\n     ['s5', 'HIST140', 3240], ['s2', 'CHEM120', 2160], ['s5', 'MATH101H', 1800], ['s5', 'CHEM120', 1800],\n     ['s4', 'BIO130', 540], ['s2', 'BIO130', 3420], ['s5', 'BIO130', 540], ['s4', 'CHEM120', 3060],\n     ['s4', 'CHEM120', 3060]],\n    1],\n   [['s2', 2], ['s4', 2], ['s5', 3]]),\n  ('boundary control 4', [[['s1', 'A', 600], ['s1', 'A', 600], ['s1', 'B', 900]], 1], [['s1', 2]]),\n  ('normal control 5',\n   [[['s5', 'ECON150', 2700], ['s5', 'PHYS110', 7019], ['s5', 'MATH101H', 5580], ['s5', 'BIO130', 540],\n     ['s5', 'CHEM120', 1980], ['s5', 'ECON150', 2700]],\n    1],\n   [['s5', 2]]),\n  ('normal control 6',\n   [[['s3', 'PHYS110', 600], ['s3', 'MATH101H', 2280], ['s3', 'HIST140', 1440], ['s3', 'MATH101', 5160]], 2],\n   []),\n  ('normal control 7',\n   [[['s4', 'PHYS110', 4920], ['s5', 'PHYS110', 2759], ['s4', 'MATH101', 600], ['s4', 'BIO130', 2041],\n     ['s4', 'ECON150', 3480], ['s5', 'ECON150', 600], ['s5', 'MATH101H', 1320]],\n    1],\n   [['s4', 2], ['s5', 2]]),\n  ('normal control 8',\n   [[['s3', 'MATH101H', 2159], ['s3', 'ECON150', 2879], ['s3', 'CHEM120', 540], ['s3', 'CHEM120', 540],\n     ['s3', 'PHYS110', 720]],\n    2],\n   [])],\n [('regression: window half open 1',\n   [[['s5', 'MATH101', 3481], ['s5', 'PHYS110', 600], ['s5', 'MATH101', 3481], ['s1', 'ECON150', 540],\n     ['s5', 'BIO130', 2040], ['s1', 'BIO130', 1380], ['s5', 'MATH101H', 1860], ['s5', 'CHEM120', 600]],\n    3],\n   []),\n  ('regression variant: window half open 2',\n   [[['s1', 'HIST140', 7140], ['s4', 'PHYS110', 1981], ['s4', 'ECON150', 3421], ['s1', 'CHEM120', 1380],\n     ['s4', 'HIST140', 540], ['s4', 'CHEM120', 3241], ['s1', 'PHYS110', 4260], ['s1', 'ECON150', 540]],\n    2],\n   []),\n  ('partial repair guard 3',\n   [[['s1', 'MATH101H', 3421], ['s1', 'ECON150', 1260], ['s1', 'BIO130', 1980], ['s1', 'CHEM120', 540],\n     ['s1', 'ECON150', 1260]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 540], ['s1', 'B', 1979], ['s1', 'C', 1990]], 2], []),\n  ('normal control 5',\n   [[['s2', 'MATH101', 4259], ['s2', 'ECON150', 540], ['s5', 'BIO130', 2760], ['s2', 'CHEM120', 1979],\n     ['s2', 'BIO130', 5700], ['s5', 'CHEM120', 600], ['s5', 'MATH101H', 1320], ['s2', 'MATH101H', 2819]],\n    2],\n   []),\n  ('normal control 6',\n   [[['s2', 'MATH101H', 1980], ['s2', 'ECON150', 3240], ['s2', 'PHYS110', 3960], ['s2', 'MATH101', 4140],\n     ['s2', 'BIO130', 540]],\n    3],\n   []),\n  ('normal control 7',\n   [[['s5', 'ECON150', 1380], ['s5', 'BIO130', 540], ['s2', 'MATH101', 5159], ['s5', 'PHYS110', 1680],\n     ['s3', 'HIST140', 2761], ['s2', 'MATH101H', 1979], ['s3', 'ECON150', 3061], ['s2', 'HIST140', 540],\n     ['s2', 'ECON150', 4859], ['s5', 'HIST140', 3120], ['s3', 'CHEM120', 1320], ['s2', 'PHYS110', 6598],\n     ['s2', 'HIST140', 540], ['s3', 'BIO130', 600]],\n    1],\n   [['s2', 2], ['s3', 2], ['s5', 3]]),\n  ('normal control 8',\n   [[['s5', 'CHEM120', 1020], ['s5', 'HIST140', 540], ['s5', 'MATH101', 840], ['s5', 'MATH101', 840]], 3],\n   [])],\n [('regression: window half open 1',\n   [[['s3', 'PHYS110', 1980], ['s3', 'CHEM120', 540], ['s2', 'BIO130', 540], ['s3', 'MATH101', 720],\n     ['s2', 'BIO130', 540], ['s2', 'MATH101H', 1800], ['s3', 'ECON150', 1980], ['s2', 'MATH101', 3240]],\n    2],\n   [['s3', 3]]),\n  ('regression variant: window half open 2',\n   [[['s1', 'ECON150', 600], ['s1', 'ECON150', 600], ['s1', 'MATH101H', 2040], ['s1', 'MATH101', 1860],\n     ['s1', 'HIST140', 4920]],\n    1],\n   [['s1', 2]]),\n  ('partial repair guard 3',\n   [[['s4', 'ECON150', 900], ['s4', 'HIST140', 2521], ['s3', 'BIO130', 2760], ['s4', 'MATH101', 600],\n     ['s4', 'MATH101H', 2341], ['s3', 'MATH101', 600], ['s3', 'HIST140', 2040], ['s4', 'ECON150', 900],\n     ['s3', 'ECON150', 2040], ['s3', 'CHEM120', 1320], ['s4', 'PHYS110', 3961]],\n    2],\n   [['s3', 3]]),\n  ('boundary control 4', [[['s1', 'A', 600], ['s1', 'B', 600], ['s1', 'C', 900]], 2], [['s1', 3]]),\n  ('normal control 5',\n   [[['s3', 'HIST140', 2039], ['s3', 'BIO130', 600], ['s3', 'HIST140', 2039], ['s3', 'MATH101', 3299]], 2],\n   []),\n  ('normal control 6',\n   [[['s4', 'ECON150', 2400], ['s3', 'ECON150', 540], ['s4', 'CHEM120', 2400], ['s3', 'BIO130', 2160],\n     ['s1', 'MATH101H', 540], ['s3', 'HIST140', 1980], ['s1', 'BIO130', 4260], ['s1', 'PHYS110', 3420],\n     ['s4', 'MATH101', 540], ['s4', 'HIST140', 1560], ['s1', 'MATH101', 5100], ['s4', 'BIO130', 1260]],\n    3],\n   [['s4', 4]]),\n  ('normal control 7',\n   [[['s4', 'PHYS110', 840], ['s3', 'PHYS110', 1800], ['s4', 'ECON150', 540], ['s4', 'ECON150', 540],\n     ['s3', 'ECON150', 4680], ['s3', 'BIO130', 5520], ['s3', 'CHEM120', 540]],\n    2],\n   []),\n  ('normal control 8',\n   [[['s5', 'CHEM120', 780], ['s4', 'BIO130', 540], ['s4', 'ECON150', 1380], ['s1', 'MATH101', 600],\n     ['s1', 'BIO130', 1440], ['s5', 'BIO130', 2219], ['s5', 'MATH101H', 600]],\n    3],\n   [])],\n [('regression: window half open 1',\n   [[['s4', 'ECON150', 2040], ['s4', 'CHEM120', 1320], ['s4', 'MATH101', 600]], 2], []),\n  ('regression variant: window half open 2',\n   [[['s3', 'HIST140', 1860], ['s5', 'MATH101H', 3241], ['s1', 'CHEM120', 4921], ['s3', 'BIO130', 4741],\n     ['s5', 'CHEM120', 540], ['s1', 'BIO130', 2041], ['s3', 'PHYS110', 3300], ['s5', 'MATH101', 1981],\n     ['s3', 'CHEM120', 600], ['s5', 'BIO130', 3421], ['s5', 'PHYS110', 3421], ['s3', 'MATH101', 1860],\n     ['s1', 'MATH101H', 600]],\n    2],\n   [['s3', 3], ['s5', 3]]),\n  ('partial repair guard 3',\n   [[['s3', 'MATH101H', 2820], ['s2', 'MATH101H', 3420], ['s3', 'BIO130', 2820], ['s2', 'PHYS110', 4140],\n     ['s3', 'PHYS110', 540], ['s3', 'BIO130', 2820], ['s2', 'ECON150', 540], ['s3', 'ECON150', 1380]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 1300], ['s1', 'B', 1500], ['s1', 'C', 1600]], 2], [['s1', 3]]),\n  ('normal control 5', [[['s4', 'PHYS110', 600], ['s4', 'BIO130', 1320]], 1], [['s4', 2]]),\n  ('normal control 6', [[['s1', 'ECON150', 600], ['s1', 'ECON150', 600], ['s1', 'MATH101H', 3480]], 2], []),\n  ('normal control 7',\n   [[['s1', 'MATH101', 600], ['s4', 'ECON150', 540], ['s1', 'HIST140', 2760], ['s1', 'BIO130', 1320],\n     ['s4', 'HIST140', 540], ['s1', 'CHEM120', 4200], ['s4', 'MATH101H', 1560], ['s4', 'PHYS110', 840],\n     ['s4', 'CHEM120', 840], ['s3', 'HIST140', 540], ['s3', 'MATH101H', 3240], ['s3', 'PHYS110', 1980],\n     ['s3', 'BIO130', 1800], ['s1', 'ECON150', 3480]],\n    3],\n   [['s4', 5]]),\n  ('normal control 8',\n   [[['s2', 'MATH101', 540], ['s5', 'ECON150', 780], ['s5', 'HIST140', 2219], ['s2', 'MATH101H', 4860],\n     ['s1', 'ECON150', 540], ['s1', 'BIO130', 1980], ['s5', 'CHEM120', 2939], ['s2', 'MATH101H', 4860],\n     ['s1', 'CHEM120', 4860], ['s5', 'MATH101H', 4380], ['s1', 'MATH101H', 3420], ['s2', 'PHYS110', 3420],\n     ['s2', 'CHEM120', 5700], ['s5', 'PHYS110', 600]],\n    3],\n   [])],\n [('regression: window half open 1',\n   [[['s3', 'BIO130', 540], ['s5', 'PHYS110', 1320], ['s4', 'BIO130', 1980], ['s3', 'PHYS110', 1380],\n     ['s5', 'BIO130', 600], ['s4', 'ECON150', 540]],\n    1],\n   [['s3', 2], ['s5', 2]]),\n  ('regression variant: window half open 2',\n   [[['s1', 'BIO130', 600], ['s1', 'MATH101', 1500], ['s3', 'MATH101', 6361], ['s3', 'CHEM120', 2040],\n     ['s1', 'CHEM120', 1320], ['s1', 'BIO130', 600], ['s3', 'PHYS110', 3481], ['s3', 'BIO130', 600]],\n    1],\n   [['s1', 3]]),\n  ('partial repair guard 3',\n   [[['s5', 'MATH101', 600], ['s2', 'CHEM120', 1980], ['s1', 'MATH101H', 1980], ['s5', 'PHYS110', 600],\n     ['s2', 'ECON150', 1980], ['s1', 'BIO130', 540], ['s1', 'MATH101', 2700], ['s2', 'PHYS110', 540]],\n    2],\n   []),\n  ('boundary control 4', [[['s1', 'A', 540], ['s1', 'B', 1980], ['s1', 'C', 2000]], 2], []),\n  ('normal control 5',\n   [[['s5', 'PHYS110', 6181], ['s5', 'MATH101', 600], ['s2', 'MATH101H', 540], ['s2', 'ECON150', 4680],\n     ['s4', 'MATH101', 5099], ['s5', 'ECON150', 2041], ['s2', 'MATH101', 3420], ['s4', 'ECON150', 3660],\n     ['s4', 'MATH101H', 6540], ['s5', 'BIO130', 4921], ['s4', 'PHYS110', 3480], ['s5', 'CHEM120', 2041],\n     ['s4', 'CHEM120', 600], ['s2', 'HIST140', 6420], ['s2', 'CHEM120', 6120]],\n    3],\n   []),\n  ('normal control 6',\n   [[['s3', 'BIO130', 2040], ['s5', 'HIST140', 3480], ['s5', 'MATH101', 5279], ['s5', 'MATH101H', 600],\n     ['s3', 'ECON150', 600], ['s5', 'BIO130', 4919], ['s3', 'HIST140', 1320], ['s5', 'PHYS110', 5099]],\n    2],\n   [['s5', 3]]),\n  ('normal control 7',\n   [[['s1', 'CHEM120', 540], ['s4', 'PHYS110', 2100], ['s3', 'MATH101', 600], ['s3', 'CHEM120', 1320],\n     ['s1', 'ECON150', 1979], ['s1', 'MATH101', 4980], ['s1', 'MATH101H', 4680], ['s1', 'PHYS110', 3239],\n     ['s4', 'CHEM120', 1260], ['s4', 'HIST140', 540]],\n    2],\n   []),\n  ('normal control 8',\n   [[['s3', 'HIST140', 2039], ['s3', 'BIO130', 600], ['s3', 'HIST140', 2039], ['s3', 'MATH101', 3299]], 2],\n   [])]]\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 exam-timetabling rule set for a bounded model; it does not claim conformance with any institution's regulations or a benchmark specification, and it performs no search or optimisation. 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-exam-timetabling-constraints-rolling-day-exam-load-window-half-open","generated_at":"2026-09-29T14:52:04.989420+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Maximum-exams-per-day rules are stated as rolling windows; calendar bucketing and inclusive windows both misreport.","repair":"Evict starts at least 1440 minutes before the current start.","root_cause":"The window eviction test keeps a start exactly 1440 minutes earlier.","sha256":"ee61157fb9e19f6dfcf248bffde54490fdc8deb62368436fae196b6fd8ce6afc","title":"Exam exactly 24 hours later counted in the same window · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.206,"exit_code":1,"observations":[{"actual":[["s1",2],["s3",3],["s4",2]],"check":"regression: window half open 1","expected":[["s1",2],["s3",2]],"passed":false},{"actual":[["s4",3]],"check":"regression variant: window half open 2","expected":[],"passed":false},{"actual":[["s2",2],["s4",2],["s5",4]],"check":"partial repair guard 3","expected":[["s2",2],["s4",2],["s5",3]],"passed":false},{"actual":[["s1",2]],"check":"boundary control 4","expected":[["s1",2]],"passed":true},{"actual":[["s5",2]],"check":"normal control 5","expected":[["s5",2]],"passed":true},{"actual":[],"check":"normal control 6","expected":[],"passed":true},{"actual":[["s4",2],["s5",2]],"check":"normal control 7","expected":[["s4",2],["s5",2]],"passed":true},{"actual":[],"check":"normal control 8","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: window half open 1\", \"actual\": [[\"s1\", 2], [\"s3\", 3], [\"s4\", 2]], \"expected\": [[\"s1\", 2], [\"s3\", 2]], \"passed\": false}, {\"check\": \"regression variant: window half open 2\", \"actual\": [[\"s4\", 3]], \"expected\": [], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"s2\", 2], [\"s4\", 2], [\"s5\", 4]], \"expected\": [[\"s2\", 2], [\"s4\", 2], [\"s5\", 3]], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[\"s1\", 2]], \"expected\": [[\"s1\", 2]], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[\"s5\", 2]], \"expected\": [[\"s5\", 2]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"s4\", 2], [\"s5\", 2]], \"expected\": [[\"s4\", 2], [\"s5\", 2]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.945,"exit_code":1,"observations":[{"actual":[["s1",2],["s3",3],["s4",2]],"check":"regression: window half open 1","expected":[["s1",2],["s3",2]],"passed":false},{"actual":[["s4",3]],"check":"regression variant: window half open 2","expected":[],"passed":false},{"actual":[["s2",2],["s4",2],["s5",4]],"check":"partial repair guard 3","expected":[["s2",2],["s4",2],["s5",3]],"passed":false},{"actual":[["s1",2]],"check":"boundary control 4","expected":[["s1",2]],"passed":true},{"actual":[["s5",2]],"check":"normal control 5","expected":[["s5",2]],"passed":true},{"actual":[],"check":"normal control 6","expected":[],"passed":true},{"actual":[["s4",2],["s5",2]],"check":"normal control 7","expected":[["s4",2],["s5",2]],"passed":true},{"actual":[],"check":"normal control 8","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: window half open 1\", \"actual\": [[\"s1\", 2], [\"s3\", 3], [\"s4\", 2]], \"expected\": [[\"s1\", 2], [\"s3\", 2]], \"passed\": false}, {\"check\": \"regression variant: window half open 2\", \"actual\": [[\"s4\", 3]], \"expected\": [], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"s2\", 2], [\"s4\", 2], [\"s5\", 4]], \"expected\": [[\"s2\", 2], [\"s4\", 2], [\"s5\", 3]], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[\"s1\", 2]], \"expected\": [[\"s1\", 2]], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[\"s5\", 2]], \"expected\": [[\"s5\", 2]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"s4\", 2], [\"s5\", 2]], \"expected\": [[\"s4\", 2], [\"s5\", 2]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.252,"exit_code":0,"observations":[{"actual":[["s1",2],["s3",2]],"check":"regression: window half open 1","expected":[["s1",2],["s3",2]],"passed":true},{"actual":[],"check":"regression variant: window half open 2","expected":[],"passed":true},{"actual":[["s2",2],["s4",2],["s5",3]],"check":"partial repair guard 3","expected":[["s2",2],["s4",2],["s5",3]],"passed":true},{"actual":[["s1",2]],"check":"boundary control 4","expected":[["s1",2]],"passed":true},{"actual":[["s5",2]],"check":"normal control 5","expected":[["s5",2]],"passed":true},{"actual":[],"check":"normal control 6","expected":[],"passed":true},{"actual":[["s4",2],["s5",2]],"check":"normal control 7","expected":[["s4",2],["s5",2]],"passed":true},{"actual":[],"check":"normal control 8","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: window half open 1\", \"actual\": [[\"s1\", 2], [\"s3\", 2]], \"expected\": [[\"s1\", 2], [\"s3\", 2]], \"passed\": true}, {\"check\": \"regression variant: window half open 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"s2\", 2], [\"s4\", 2], [\"s5\", 3]], \"expected\": [[\"s2\", 2], [\"s4\", 2], [\"s5\", 3]], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [[\"s1\", 2]], \"expected\": [[\"s1\", 2]], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[\"s5\", 2]], \"expected\": [[\"s5\", 2]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"s4\", 2], [\"s5\", 2]], \"expected\": [[\"s4\", 2], [\"s5\", 2]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}