{"abstract":"An invigilator two duties over the limit gets two daily_max findings.","category":"Exam timetabling constraints","checks":8,"contract":"duties [invigilator, exam, period]; teach invigilator -> busy periods; subj invigilator -> subject code; exam subject is the part of the exam id before \"-\". Findings: busy (duty in a busy period), own_subject, double (same invigilator already on duty that period), daily_max (reported once, on the first duty that exceeds maxday on a day = period // spd). Return sorted [invigilator, exam, finding] rows.","evaluation_group":"w2-exam-timetabling-constraints-invigilation-duty-validation","failed_approach":"Firing at the limit reports compliant days.","family":"w2-exam-timetabling-constraints-invigilation-duty-validation-daily-max-once","id":"FA-94591","implementations":{"attempt":{"sha256":"e0a1cb99c8b7f28e27ab4b4cf26552baa2d3870b815105e77e70bc8759a05eac","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(duties, teach, subj, maxday, spd):\n    out = []\n    seen = {}\n    per_day = {}\n    for inv, ex, p in duties:\n        if p in teach.get(inv, []):\n            out.append([inv, ex, 'busy'])\n        if ex.split('-')[0] == subj.get(inv):\n            out.append([inv, ex, 'own_subject'])\n        if (inv, p) in seen:\n            out.append([inv, ex, 'double'])\n        seen[(inv, p)] = ex\n        d = (inv, p // spd)\n        per_day[d] = per_day.get(d, 0) + 1\n        if per_day[d] == maxday:\n            out.append([inv, ex, 'daily_max'])\n    return sorted(out)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: daily max once 1',\n   [[['ann', 'CHEM-110', 2], ['ann', 'MATH-101', 0], ['cy', 'MATH-101', 1], ['ann', 'MATH-101', 1],\n     ['cy', 'MATH-101', 2], ['ann', 'BIO-201', 2], ['ann', 'BIOL-300', 3]],\n    {'ann': [2], 'bob': [1, 4], 'cy': [0, 1]}, {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'BIO-201', 'double'], ['ann', 'BIOL-300', 'own_subject'],\n    ['ann', 'CHEM-110', 'busy'], ['ann', 'MATH-101', 'daily_max'], ['cy', 'MATH-101', 'busy']]),\n  ('regression variant: daily max once 2',\n   [[['bob', 'BIOL-300', 3], ['ann', 'BIO-201', 4], ['bob', 'BIOL-300', 4], ['bob', 'BIO-201', 5]],\n    {'bob': [], 'cy': [4, 5]}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIOL'}, 1, 3],\n   [['bob', 'BIOL-300', 'daily_max']]),\n  ('partial repair guard 3',\n   [[['bob', 'MATH-101', 4], ['bob', 'MATH-101', 4], ['cy', 'BIO-201', 2]], {'ann': [0, 5], 'bob': []},\n    {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'CHEM'}, 2, 2],\n   [['bob', 'MATH-101', 'double']]),\n  ('boundary control 4', [[['ann', 'MATH-101', 2], ['ann', 'CHEM-110', 3]], {}, {}, 1, 3], []),\n  ('normal control 5',\n   [[['ann', 'MATH-101', 2], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 5], ['bob', 'BIOL-300', 0]],\n    {'ann': [], 'bob': [3, 4]}, {'ann': 'MATH', 'bob': 'MATH', 'cy': 'BIO'}, 1, 2],\n   [['ann', 'MATH-101', 'own_subject'], ['bob', 'BIOL-300', 'daily_max'],\n    ['bob', 'MATH-101', 'own_subject']]),\n  ('normal control 6',\n   [[['ann', 'BIO-201', 0], ['cy', 'BIOL-300', 0], ['cy', 'BIOL-300', 3], ['bob', 'BIO-201', 2],\n     ['cy', 'BIO-201', 1], ['bob', 'BIO-201', 4], ['ann', 'CHEM-110', 0]],\n    {'ann': [2], 'cy': []}, {'ann': 'CHEM', 'bob': 'CHEM', 'cy': 'MATH'}, 1, 2],\n   [['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'double'], ['ann', 'CHEM-110', 'own_subject'],\n    ['cy', 'BIO-201', 'daily_max']]),\n  ('normal control 7',\n   [[['ann', 'BIO-201', 4], ['cy', 'MATH-101', 4], ['ann', 'CHEM-110', 3], ['bob', 'MATH-101', 4],\n     ['cy', 'MATH-101', 2], ['ann', 'CHEM-110', 5]],\n    {'ann': [0], 'bob': [3]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'daily_max'], ['cy', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'own_subject']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 1], ['cy', 'BIOL-300', 2],\n     ['ann', 'BIO-201', 4], ['ann', 'BIO-201', 4]],\n    {'ann': [0, 2], 'bob': [0, 5], 'cy': [1, 4]}, {'ann': 'BIO', 'bob': 'CHEM', 'cy': 'CHEM'}, 2, 2],\n   [['ann', 'BIO-201', 'double'], ['ann', 'BIO-201', 'own_subject'], ['ann', 'BIO-201', 'own_subject'],\n    ['ann', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['cy', 'BIOL-300', 1], ['cy', 'BIOL-300', 2], ['cy', 'BIO-201', 1], ['ann', 'BIO-201', 5],\n     ['ann', 'CHEM-110', 5], ['ann', 'BIOL-300', 4], ['cy', 'BIOL-300', 2]],\n    {'ann': [1], 'bob': [1, 5], 'cy': []}, {'ann': 'CHEM', 'bob': 'MATH', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'double'], ['ann', 'CHEM-110', 'own_subject'],\n    ['cy', 'BIO-201', 'double'], ['cy', 'BIOL-300', 'daily_max'], ['cy', 'BIOL-300', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['cy', 'MATH-101', 0], ['cy', 'CHEM-110', 5], ['ann', 'BIOL-300', 0], ['cy', 'BIO-201', 5],\n     ['ann', 'BIO-201', 3], ['cy', 'CHEM-110', 5]],\n    {'ann': [2, 3], 'bob': [0, 4], 'cy': [3]}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'BIO-201', 'own_subject'], ['cy', 'BIO-201', 'daily_max'],\n    ['cy', 'BIO-201', 'double'], ['cy', 'CHEM-110', 'double'], ['cy', 'MATH-101', 'own_subject']]),\n  ('partial repair guard 3',\n   [[['cy', 'MATH-101', 0], ['cy', 'CHEM-110', 2], ['bob', 'BIO-201', 3], ['ann', 'CHEM-110', 3],\n     ['bob', 'BIO-201', 4], ['cy', 'BIO-201', 5]],\n    {'ann': [3], 'bob': [1], 'cy': [0, 4]}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'busy'], ['bob', 'BIO-201', 'daily_max'], ['cy', 'CHEM-110', 'daily_max'],\n    ['cy', 'MATH-101', 'busy'], ['cy', 'MATH-101', 'own_subject']]),\n  ('boundary control 4', [[['ann', 'BIOL-300', 0]], {}, {'ann': 'BIO'}, 2, 3], []),\n  ('normal control 5',\n   [[['cy', 'BIO-201', 2], ['ann', 'MATH-101', 1], ['bob', 'BIOL-300', 3], ['ann', 'BIO-201', 4]],\n    {'ann': [2, 4], 'bob': [0]}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'BIO'}, 1, 2],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'MATH-101', 'own_subject'], ['bob', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIO-201', 'own_subject']]),\n  ('normal control 6',\n   [[['cy', 'BIO-201', 1], ['cy', 'BIOL-300', 2], ['ann', 'CHEM-110', 4], ['cy', 'CHEM-110', 2],\n     ['ann', 'CHEM-110', 0]],\n    {'ann': [2], 'bob': [2, 4], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'MATH'}, 2, 3],\n   [['cy', 'CHEM-110', 'daily_max'], ['cy', 'CHEM-110', 'double']]),\n  ('normal control 7',\n   [[['bob', 'CHEM-110', 1], ['ann', 'BIO-201', 2]], {'ann': [2], 'bob': [3, 5], 'cy': [3, 4]},\n    {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'BIOL'}, 2, 2],\n   [['ann', 'BIO-201', 'busy']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['cy', 'MATH-101', 3], ['bob', 'BIO-201', 4], ['cy', 'BIO-201', 5],\n     ['ann', 'MATH-101', 2], ['bob', 'BIO-201', 2]],\n    {'ann': [0], 'bob': [0, 4]}, {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'MATH'}, 2, 2],\n   [['ann', 'MATH-101', 'busy'], ['bob', 'BIO-201', 'busy'], ['cy', 'MATH-101', 'own_subject']])],\n [('regression: daily max once 1',\n   [[['cy', 'BIOL-300', 2], ['bob', 'BIO-201', 1], ['cy', 'BIOL-300', 2], ['cy', 'CHEM-110', 2],\n     ['bob', 'BIOL-300', 1]],\n    {'ann': [1], 'bob': []}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'BIOL'}, 1, 2],\n   [['bob', 'BIOL-300', 'daily_max'], ['bob', 'BIOL-300', 'double'], ['bob', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIOL-300', 'daily_max'], ['cy', 'BIOL-300', 'double'], ['cy', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIOL-300', 'own_subject'], ['cy', 'CHEM-110', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['bob', 'MATH-101', 4], ['ann', 'BIO-201', 5], ['ann', 'MATH-101', 5], ['ann', 'CHEM-110', 1],\n     ['bob', 'CHEM-110', 0], ['ann', 'BIO-201', 5], ['cy', 'CHEM-110', 1]],\n    {'ann': [2, 4], 'bob': [3, 4], 'cy': [0, 3]}, {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'BIO-201', 'double'], ['ann', 'MATH-101', 'daily_max'], ['ann', 'MATH-101', 'double'],\n    ['bob', 'MATH-101', 'busy'], ['cy', 'CHEM-110', 'own_subject']]),\n  ('partial repair guard 3',\n   [[['ann', 'BIO-201', 2], ['bob', 'BIOL-300', 3], ['bob', 'BIOL-300', 4], ['ann', 'BIOL-300', 4],\n     ['bob', 'CHEM-110', 1], ['ann', 'BIO-201', 1], ['cy', 'BIO-201', 2]],\n    {'ann': [0], 'bob': [4, 5]}, {'ann': 'BIOL', 'bob': 'CHEM', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'BIO-201', 'daily_max'], ['ann', 'BIOL-300', 'own_subject'], ['bob', 'BIOL-300', 'busy'],\n    ['bob', 'BIOL-300', 'daily_max'], ['bob', 'CHEM-110', 'own_subject']]),\n  ('boundary control 4', [[['ann', 'MATH-101', 0], ['bob', 'CHEM-110', 0]], {}, {}, 2, 3], []),\n  ('normal control 5',\n   [[['bob', 'BIO-201', 5], ['cy', 'BIOL-300', 4], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 1],\n     ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 4]],\n    {'bob': [3], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'CHEM-110', 'double']]),\n  ('normal control 6',\n   [[['ann', 'CHEM-110', 0], ['bob', 'MATH-101', 5], ['cy', 'BIO-201', 2], ['cy', 'BIO-201', 0],\n     ['ann', 'BIO-201', 2]],\n    {'bob': []}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'MATH'}, 2, 3],\n   [['ann', 'BIO-201', 'own_subject']]),\n  ('normal control 7',\n   [[['ann', 'BIO-201', 2], ['cy', 'BIO-201', 3]], {'ann': [4], 'bob': [3, 4]},\n    {'ann': 'CHEM', 'bob': 'MATH', 'cy': 'CHEM'}, 2, 2],\n   []),\n  ('normal control 8',\n   [[['ann', 'BIO-201', 4], ['ann', 'MATH-101', 1], ['ann', 'CHEM-110', 2], ['ann', 'CHEM-110', 5],\n     ['bob', 'MATH-101', 1], ['cy', 'BIO-201', 3]],\n    {'ann': [1, 3], 'bob': [2, 4], 'cy': [1]}, {'ann': 'BIO', 'bob': 'BIO', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'BIO-201', 'own_subject'], ['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'daily_max'],\n    ['ann', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['cy', 'MATH-101', 4], ['bob', 'CHEM-110', 3], ['cy', 'BIO-201', 4], ['cy', 'BIO-201', 5],\n     ['bob', 'CHEM-110', 0], ['ann', 'BIOL-300', 4]],\n    {'bob': [2, 5], 'cy': []}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['cy', 'BIO-201', 'daily_max'], ['cy', 'BIO-201', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['cy', 'BIO-201', 1], ['cy', 'BIO-201', 0], ['cy', 'CHEM-110', 0], ['cy', 'MATH-101', 1],\n     ['cy', 'CHEM-110', 5], ['ann', 'CHEM-110', 0], ['cy', 'BIOL-300', 2]],\n    {'ann': [2, 5], 'bob': [1], 'cy': [2]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'CHEM'}, 2, 3],\n   [['cy', 'BIOL-300', 'busy'], ['cy', 'CHEM-110', 'daily_max'], ['cy', 'CHEM-110', 'double'],\n    ['cy', 'CHEM-110', 'own_subject'], ['cy', 'CHEM-110', 'own_subject'], ['cy', 'MATH-101', 'double']]),\n  ('partial repair guard 3',\n   [[['ann', 'BIOL-300', 2], ['ann', 'BIO-201', 1], ['cy', 'BIOL-300', 5], ['cy', 'MATH-101', 0]],\n    {'ann': [3], 'cy': [3]}, {'ann': 'CHEM', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 2],\n   [['cy', 'MATH-101', 'own_subject']]),\n  ('boundary control 4',\n   [[['ann', 'MATH-101', 0], ['ann', 'CHEM-110', 1], ['ann', 'BIO-201', 2]], {}, {}, 2, 3],\n   [['ann', 'BIO-201', 'daily_max']]),\n  ('normal control 5',\n   [[['cy', 'MATH-101', 1], ['bob', 'MATH-101', 3], ['ann', 'BIO-201', 5], ['ann', 'BIO-201', 0],\n     ['bob', 'MATH-101', 4], ['bob', 'BIOL-300', 5]],\n    {'ann': [], 'bob': [0, 4], 'cy': [1, 2]}, {'ann': 'CHEM', 'bob': 'BIOL', 'cy': 'BIOL'}, 2, 3],\n   [['bob', 'BIOL-300', 'daily_max'], ['bob', 'BIOL-300', 'own_subject'], ['bob', 'MATH-101', 'busy'],\n    ['cy', 'MATH-101', 'busy']]),\n  ('normal control 6',\n   [[['bob', 'MATH-101', 4], ['cy', 'MATH-101', 1], ['ann', 'BIOL-300', 2], ['cy', 'MATH-101', 5]],\n    {'bob': [2, 4], 'cy': [4]}, {'ann': 'BIO', 'bob': 'MATH', 'cy': 'MATH'}, 2, 3],\n   [['bob', 'MATH-101', 'busy'], ['bob', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'own_subject'],\n    ['cy', 'MATH-101', 'own_subject']]),\n  ('normal control 7',\n   [[['bob', 'BIO-201', 5], ['cy', 'BIOL-300', 4], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 1],\n     ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 4]],\n    {'bob': [3], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'CHEM-110', 'double']]),\n  ('normal control 8',\n   [[['bob', 'BIOL-300', 5], ['cy', 'MATH-101', 4], ['cy', 'BIO-201', 1], ['bob', 'MATH-101', 3],\n     ['bob', 'CHEM-110', 2]],\n    {'ann': [1], 'bob': [1, 2], 'cy': [4]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'BIOL'}, 2, 3],\n   [['bob', 'CHEM-110', 'busy'], ['cy', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['bob', 'BIO-201', 3], ['ann', 'BIOL-300', 4], ['ann', 'BIOL-300', 4], ['ann', 'BIO-201', 2],\n     ['ann', 'MATH-101', 1], ['ann', 'BIOL-300', 0]],\n    {'ann': [0], 'bob': [5], 'cy': []}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'BIOL'}, 1, 3],\n   [['ann', 'BIOL-300', 'busy'], ['ann', 'BIOL-300', 'daily_max'], ['ann', 'BIOL-300', 'double'],\n    ['ann', 'BIOL-300', 'own_subject'], ['ann', 'BIOL-300', 'own_subject'],\n    ['ann', 'BIOL-300', 'own_subject'], ['ann', 'MATH-101', 'daily_max'],\n    ['bob', 'BIO-201', 'own_subject']]),\n  ('partial repair guard 2',\n   [[['cy', 'MATH-101', 3], ['bob', 'MATH-101', 0], ['ann', 'MATH-101', 5], ['cy', 'MATH-101', 3]],\n    {'ann': [0], 'cy': [0]}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'CHEM'}, 2, 3],\n   [['ann', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'double']]),\n  ('boundary control 3', [[['ann', 'BIO-201', 0]], {}, {'ann': 'BIOL'}, 2, 3], []),\n  ('normal control 4',\n   [[['ann', 'MATH-101', 0], ['ann', 'MATH-101', 2]], {'ann': [5], 'bob': [0, 4]},\n    {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'MATH-101', 'daily_max']]),\n  ('normal control 5',\n   [[['bob', 'CHEM-110', 1], ['cy', 'MATH-101', 2], ['ann', 'CHEM-110', 5], ['cy', 'BIO-201', 4],\n     ['bob', 'BIOL-300', 1], ['bob', 'BIO-201', 2]],\n    {'ann': [], 'bob': [1], 'cy': [1, 3]}, {'ann': 'BIOL', 'bob': 'CHEM', 'cy': 'BIOL'}, 2, 2],\n   [['bob', 'BIOL-300', 'busy'], ['bob', 'BIOL-300', 'double'], ['bob', 'CHEM-110', 'busy'],\n    ['bob', 'CHEM-110', 'own_subject']]),\n  ('normal control 6',\n   [[['cy', 'MATH-101', 0], ['bob', 'BIOL-300', 1]], {'ann': [1, 5], 'bob': [], 'cy': [0, 2]},\n    {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'BIO'}, 1, 3],\n   [['cy', 'MATH-101', 'busy']]),\n  ('normal control 7',\n   [[['cy', 'CHEM-110', 3], ['bob', 'MATH-101', 4], ['cy', 'MATH-101', 0], ['ann', 'MATH-101', 0]],\n    {'ann': [3], 'bob': [4], 'cy': [1, 4]}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['bob', 'MATH-101', 'busy'], ['cy', 'CHEM-110', 'own_subject']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['ann', 'MATH-101', 2], ['bob', 'BIO-201', 0], ['cy', 'BIO-201', 0],\n     ['bob', 'BIO-201', 0]],\n    {'ann': [], 'bob': [1, 5], 'cy': [1]}, {'ann': 'BIO', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 2],\n   [['bob', 'BIO-201', 'double'], ['cy', 'BIO-201', 'own_subject']])]]\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":"ae562645aaecd62c95dde485b67926644ceec6671ef4ce5ec5b9a5ef8a778f43","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(duties, teach, subj, maxday, spd):\n    out = []\n    seen = {}\n    per_day = {}\n    for inv, ex, p in duties:\n        if p in teach.get(inv, []):\n            out.append([inv, ex, 'busy'])\n        if ex.split('-')[0] == subj.get(inv):\n            out.append([inv, ex, 'own_subject'])\n        if (inv, p) in seen:\n            out.append([inv, ex, 'double'])\n        seen[(inv, p)] = ex\n        d = (inv, p // spd)\n        per_day[d] = per_day.get(d, 0) + 1\n        if per_day[d] > maxday:\n            out.append([inv, ex, 'daily_max'])\n    return sorted(out)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: daily max once 1',\n   [[['ann', 'CHEM-110', 2], ['ann', 'MATH-101', 0], ['cy', 'MATH-101', 1], ['ann', 'MATH-101', 1],\n     ['cy', 'MATH-101', 2], ['ann', 'BIO-201', 2], ['ann', 'BIOL-300', 3]],\n    {'ann': [2], 'bob': [1, 4], 'cy': [0, 1]}, {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'BIO-201', 'double'], ['ann', 'BIOL-300', 'own_subject'],\n    ['ann', 'CHEM-110', 'busy'], ['ann', 'MATH-101', 'daily_max'], ['cy', 'MATH-101', 'busy']]),\n  ('regression variant: daily max once 2',\n   [[['bob', 'BIOL-300', 3], ['ann', 'BIO-201', 4], ['bob', 'BIOL-300', 4], ['bob', 'BIO-201', 5]],\n    {'bob': [], 'cy': [4, 5]}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIOL'}, 1, 3],\n   [['bob', 'BIOL-300', 'daily_max']]),\n  ('partial repair guard 3',\n   [[['bob', 'MATH-101', 4], ['bob', 'MATH-101', 4], ['cy', 'BIO-201', 2]], {'ann': [0, 5], 'bob': []},\n    {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'CHEM'}, 2, 2],\n   [['bob', 'MATH-101', 'double']]),\n  ('boundary control 4', [[['ann', 'MATH-101', 2], ['ann', 'CHEM-110', 3]], {}, {}, 1, 3], []),\n  ('normal control 5',\n   [[['ann', 'MATH-101', 2], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 5], ['bob', 'BIOL-300', 0]],\n    {'ann': [], 'bob': [3, 4]}, {'ann': 'MATH', 'bob': 'MATH', 'cy': 'BIO'}, 1, 2],\n   [['ann', 'MATH-101', 'own_subject'], ['bob', 'BIOL-300', 'daily_max'],\n    ['bob', 'MATH-101', 'own_subject']]),\n  ('normal control 6',\n   [[['ann', 'BIO-201', 0], ['cy', 'BIOL-300', 0], ['cy', 'BIOL-300', 3], ['bob', 'BIO-201', 2],\n     ['cy', 'BIO-201', 1], ['bob', 'BIO-201', 4], ['ann', 'CHEM-110', 0]],\n    {'ann': [2], 'cy': []}, {'ann': 'CHEM', 'bob': 'CHEM', 'cy': 'MATH'}, 1, 2],\n   [['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'double'], ['ann', 'CHEM-110', 'own_subject'],\n    ['cy', 'BIO-201', 'daily_max']]),\n  ('normal control 7',\n   [[['ann', 'BIO-201', 4], ['cy', 'MATH-101', 4], ['ann', 'CHEM-110', 3], ['bob', 'MATH-101', 4],\n     ['cy', 'MATH-101', 2], ['ann', 'CHEM-110', 5]],\n    {'ann': [0], 'bob': [3]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'daily_max'], ['cy', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'own_subject']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 1], ['cy', 'BIOL-300', 2],\n     ['ann', 'BIO-201', 4], ['ann', 'BIO-201', 4]],\n    {'ann': [0, 2], 'bob': [0, 5], 'cy': [1, 4]}, {'ann': 'BIO', 'bob': 'CHEM', 'cy': 'CHEM'}, 2, 2],\n   [['ann', 'BIO-201', 'double'], ['ann', 'BIO-201', 'own_subject'], ['ann', 'BIO-201', 'own_subject'],\n    ['ann', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['cy', 'BIOL-300', 1], ['cy', 'BIOL-300', 2], ['cy', 'BIO-201', 1], ['ann', 'BIO-201', 5],\n     ['ann', 'CHEM-110', 5], ['ann', 'BIOL-300', 4], ['cy', 'BIOL-300', 2]],\n    {'ann': [1], 'bob': [1, 5], 'cy': []}, {'ann': 'CHEM', 'bob': 'MATH', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'double'], ['ann', 'CHEM-110', 'own_subject'],\n    ['cy', 'BIO-201', 'double'], ['cy', 'BIOL-300', 'daily_max'], ['cy', 'BIOL-300', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['cy', 'MATH-101', 0], ['cy', 'CHEM-110', 5], ['ann', 'BIOL-300', 0], ['cy', 'BIO-201', 5],\n     ['ann', 'BIO-201', 3], ['cy', 'CHEM-110', 5]],\n    {'ann': [2, 3], 'bob': [0, 4], 'cy': [3]}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'BIO-201', 'own_subject'], ['cy', 'BIO-201', 'daily_max'],\n    ['cy', 'BIO-201', 'double'], ['cy', 'CHEM-110', 'double'], ['cy', 'MATH-101', 'own_subject']]),\n  ('partial repair guard 3',\n   [[['cy', 'MATH-101', 0], ['cy', 'CHEM-110', 2], ['bob', 'BIO-201', 3], ['ann', 'CHEM-110', 3],\n     ['bob', 'BIO-201', 4], ['cy', 'BIO-201', 5]],\n    {'ann': [3], 'bob': [1], 'cy': [0, 4]}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'busy'], ['bob', 'BIO-201', 'daily_max'], ['cy', 'CHEM-110', 'daily_max'],\n    ['cy', 'MATH-101', 'busy'], ['cy', 'MATH-101', 'own_subject']]),\n  ('boundary control 4', [[['ann', 'BIOL-300', 0]], {}, {'ann': 'BIO'}, 2, 3], []),\n  ('normal control 5',\n   [[['cy', 'BIO-201', 2], ['ann', 'MATH-101', 1], ['bob', 'BIOL-300', 3], ['ann', 'BIO-201', 4]],\n    {'ann': [2, 4], 'bob': [0]}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'BIO'}, 1, 2],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'MATH-101', 'own_subject'], ['bob', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIO-201', 'own_subject']]),\n  ('normal control 6',\n   [[['cy', 'BIO-201', 1], ['cy', 'BIOL-300', 2], ['ann', 'CHEM-110', 4], ['cy', 'CHEM-110', 2],\n     ['ann', 'CHEM-110', 0]],\n    {'ann': [2], 'bob': [2, 4], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'MATH'}, 2, 3],\n   [['cy', 'CHEM-110', 'daily_max'], ['cy', 'CHEM-110', 'double']]),\n  ('normal control 7',\n   [[['bob', 'CHEM-110', 1], ['ann', 'BIO-201', 2]], {'ann': [2], 'bob': [3, 5], 'cy': [3, 4]},\n    {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'BIOL'}, 2, 2],\n   [['ann', 'BIO-201', 'busy']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['cy', 'MATH-101', 3], ['bob', 'BIO-201', 4], ['cy', 'BIO-201', 5],\n     ['ann', 'MATH-101', 2], ['bob', 'BIO-201', 2]],\n    {'ann': [0], 'bob': [0, 4]}, {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'MATH'}, 2, 2],\n   [['ann', 'MATH-101', 'busy'], ['bob', 'BIO-201', 'busy'], ['cy', 'MATH-101', 'own_subject']])],\n [('regression: daily max once 1',\n   [[['cy', 'BIOL-300', 2], ['bob', 'BIO-201', 1], ['cy', 'BIOL-300', 2], ['cy', 'CHEM-110', 2],\n     ['bob', 'BIOL-300', 1]],\n    {'ann': [1], 'bob': []}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'BIOL'}, 1, 2],\n   [['bob', 'BIOL-300', 'daily_max'], ['bob', 'BIOL-300', 'double'], ['bob', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIOL-300', 'daily_max'], ['cy', 'BIOL-300', 'double'], ['cy', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIOL-300', 'own_subject'], ['cy', 'CHEM-110', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['bob', 'MATH-101', 4], ['ann', 'BIO-201', 5], ['ann', 'MATH-101', 5], ['ann', 'CHEM-110', 1],\n     ['bob', 'CHEM-110', 0], ['ann', 'BIO-201', 5], ['cy', 'CHEM-110', 1]],\n    {'ann': [2, 4], 'bob': [3, 4], 'cy': [0, 3]}, {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'BIO-201', 'double'], ['ann', 'MATH-101', 'daily_max'], ['ann', 'MATH-101', 'double'],\n    ['bob', 'MATH-101', 'busy'], ['cy', 'CHEM-110', 'own_subject']]),\n  ('partial repair guard 3',\n   [[['ann', 'BIO-201', 2], ['bob', 'BIOL-300', 3], ['bob', 'BIOL-300', 4], ['ann', 'BIOL-300', 4],\n     ['bob', 'CHEM-110', 1], ['ann', 'BIO-201', 1], ['cy', 'BIO-201', 2]],\n    {'ann': [0], 'bob': [4, 5]}, {'ann': 'BIOL', 'bob': 'CHEM', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'BIO-201', 'daily_max'], ['ann', 'BIOL-300', 'own_subject'], ['bob', 'BIOL-300', 'busy'],\n    ['bob', 'BIOL-300', 'daily_max'], ['bob', 'CHEM-110', 'own_subject']]),\n  ('boundary control 4', [[['ann', 'MATH-101', 0], ['bob', 'CHEM-110', 0]], {}, {}, 2, 3], []),\n  ('normal control 5',\n   [[['bob', 'BIO-201', 5], ['cy', 'BIOL-300', 4], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 1],\n     ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 4]],\n    {'bob': [3], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'CHEM-110', 'double']]),\n  ('normal control 6',\n   [[['ann', 'CHEM-110', 0], ['bob', 'MATH-101', 5], ['cy', 'BIO-201', 2], ['cy', 'BIO-201', 0],\n     ['ann', 'BIO-201', 2]],\n    {'bob': []}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'MATH'}, 2, 3],\n   [['ann', 'BIO-201', 'own_subject']]),\n  ('normal control 7',\n   [[['ann', 'BIO-201', 2], ['cy', 'BIO-201', 3]], {'ann': [4], 'bob': [3, 4]},\n    {'ann': 'CHEM', 'bob': 'MATH', 'cy': 'CHEM'}, 2, 2],\n   []),\n  ('normal control 8',\n   [[['ann', 'BIO-201', 4], ['ann', 'MATH-101', 1], ['ann', 'CHEM-110', 2], ['ann', 'CHEM-110', 5],\n     ['bob', 'MATH-101', 1], ['cy', 'BIO-201', 3]],\n    {'ann': [1, 3], 'bob': [2, 4], 'cy': [1]}, {'ann': 'BIO', 'bob': 'BIO', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'BIO-201', 'own_subject'], ['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'daily_max'],\n    ['ann', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['cy', 'MATH-101', 4], ['bob', 'CHEM-110', 3], ['cy', 'BIO-201', 4], ['cy', 'BIO-201', 5],\n     ['bob', 'CHEM-110', 0], ['ann', 'BIOL-300', 4]],\n    {'bob': [2, 5], 'cy': []}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['cy', 'BIO-201', 'daily_max'], ['cy', 'BIO-201', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['cy', 'BIO-201', 1], ['cy', 'BIO-201', 0], ['cy', 'CHEM-110', 0], ['cy', 'MATH-101', 1],\n     ['cy', 'CHEM-110', 5], ['ann', 'CHEM-110', 0], ['cy', 'BIOL-300', 2]],\n    {'ann': [2, 5], 'bob': [1], 'cy': [2]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'CHEM'}, 2, 3],\n   [['cy', 'BIOL-300', 'busy'], ['cy', 'CHEM-110', 'daily_max'], ['cy', 'CHEM-110', 'double'],\n    ['cy', 'CHEM-110', 'own_subject'], ['cy', 'CHEM-110', 'own_subject'], ['cy', 'MATH-101', 'double']]),\n  ('partial repair guard 3',\n   [[['ann', 'BIOL-300', 2], ['ann', 'BIO-201', 1], ['cy', 'BIOL-300', 5], ['cy', 'MATH-101', 0]],\n    {'ann': [3], 'cy': [3]}, {'ann': 'CHEM', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 2],\n   [['cy', 'MATH-101', 'own_subject']]),\n  ('boundary control 4',\n   [[['ann', 'MATH-101', 0], ['ann', 'CHEM-110', 1], ['ann', 'BIO-201', 2]], {}, {}, 2, 3],\n   [['ann', 'BIO-201', 'daily_max']]),\n  ('normal control 5',\n   [[['cy', 'MATH-101', 1], ['bob', 'MATH-101', 3], ['ann', 'BIO-201', 5], ['ann', 'BIO-201', 0],\n     ['bob', 'MATH-101', 4], ['bob', 'BIOL-300', 5]],\n    {'ann': [], 'bob': [0, 4], 'cy': [1, 2]}, {'ann': 'CHEM', 'bob': 'BIOL', 'cy': 'BIOL'}, 2, 3],\n   [['bob', 'BIOL-300', 'daily_max'], ['bob', 'BIOL-300', 'own_subject'], ['bob', 'MATH-101', 'busy'],\n    ['cy', 'MATH-101', 'busy']]),\n  ('normal control 6',\n   [[['bob', 'MATH-101', 4], ['cy', 'MATH-101', 1], ['ann', 'BIOL-300', 2], ['cy', 'MATH-101', 5]],\n    {'bob': [2, 4], 'cy': [4]}, {'ann': 'BIO', 'bob': 'MATH', 'cy': 'MATH'}, 2, 3],\n   [['bob', 'MATH-101', 'busy'], ['bob', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'own_subject'],\n    ['cy', 'MATH-101', 'own_subject']]),\n  ('normal control 7',\n   [[['bob', 'BIO-201', 5], ['cy', 'BIOL-300', 4], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 1],\n     ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 4]],\n    {'bob': [3], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'CHEM-110', 'double']]),\n  ('normal control 8',\n   [[['bob', 'BIOL-300', 5], ['cy', 'MATH-101', 4], ['cy', 'BIO-201', 1], ['bob', 'MATH-101', 3],\n     ['bob', 'CHEM-110', 2]],\n    {'ann': [1], 'bob': [1, 2], 'cy': [4]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'BIOL'}, 2, 3],\n   [['bob', 'CHEM-110', 'busy'], ['cy', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['bob', 'BIO-201', 3], ['ann', 'BIOL-300', 4], ['ann', 'BIOL-300', 4], ['ann', 'BIO-201', 2],\n     ['ann', 'MATH-101', 1], ['ann', 'BIOL-300', 0]],\n    {'ann': [0], 'bob': [5], 'cy': []}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'BIOL'}, 1, 3],\n   [['ann', 'BIOL-300', 'busy'], ['ann', 'BIOL-300', 'daily_max'], ['ann', 'BIOL-300', 'double'],\n    ['ann', 'BIOL-300', 'own_subject'], ['ann', 'BIOL-300', 'own_subject'],\n    ['ann', 'BIOL-300', 'own_subject'], ['ann', 'MATH-101', 'daily_max'],\n    ['bob', 'BIO-201', 'own_subject']]),\n  ('partial repair guard 2',\n   [[['cy', 'MATH-101', 3], ['bob', 'MATH-101', 0], ['ann', 'MATH-101', 5], ['cy', 'MATH-101', 3]],\n    {'ann': [0], 'cy': [0]}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'CHEM'}, 2, 3],\n   [['ann', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'double']]),\n  ('boundary control 3', [[['ann', 'BIO-201', 0]], {}, {'ann': 'BIOL'}, 2, 3], []),\n  ('normal control 4',\n   [[['ann', 'MATH-101', 0], ['ann', 'MATH-101', 2]], {'ann': [5], 'bob': [0, 4]},\n    {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'MATH-101', 'daily_max']]),\n  ('normal control 5',\n   [[['bob', 'CHEM-110', 1], ['cy', 'MATH-101', 2], ['ann', 'CHEM-110', 5], ['cy', 'BIO-201', 4],\n     ['bob', 'BIOL-300', 1], ['bob', 'BIO-201', 2]],\n    {'ann': [], 'bob': [1], 'cy': [1, 3]}, {'ann': 'BIOL', 'bob': 'CHEM', 'cy': 'BIOL'}, 2, 2],\n   [['bob', 'BIOL-300', 'busy'], ['bob', 'BIOL-300', 'double'], ['bob', 'CHEM-110', 'busy'],\n    ['bob', 'CHEM-110', 'own_subject']]),\n  ('normal control 6',\n   [[['cy', 'MATH-101', 0], ['bob', 'BIOL-300', 1]], {'ann': [1, 5], 'bob': [], 'cy': [0, 2]},\n    {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'BIO'}, 1, 3],\n   [['cy', 'MATH-101', 'busy']]),\n  ('normal control 7',\n   [[['cy', 'CHEM-110', 3], ['bob', 'MATH-101', 4], ['cy', 'MATH-101', 0], ['ann', 'MATH-101', 0]],\n    {'ann': [3], 'bob': [4], 'cy': [1, 4]}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['bob', 'MATH-101', 'busy'], ['cy', 'CHEM-110', 'own_subject']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['ann', 'MATH-101', 2], ['bob', 'BIO-201', 0], ['cy', 'BIO-201', 0],\n     ['bob', 'BIO-201', 0]],\n    {'ann': [], 'bob': [1, 5], 'cy': [1]}, {'ann': 'BIO', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 2],\n   [['bob', 'BIO-201', 'double'], ['cy', 'BIO-201', 'own_subject']])]]\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":"392edd7f09601bd1f4e4cbd27ca8a000196aa693869ecee2f811f23124b847dc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(duties, teach, subj, maxday, spd):\n    out = []\n    seen = {}\n    per_day = {}\n    for inv, ex, p in duties:\n        if p in teach.get(inv, []):\n            out.append([inv, ex, 'busy'])\n        if ex.split('-')[0] == subj.get(inv):\n            out.append([inv, ex, 'own_subject'])\n        if (inv, p) in seen:\n            out.append([inv, ex, 'double'])\n        seen[(inv, p)] = ex\n        d = (inv, p // spd)\n        per_day[d] = per_day.get(d, 0) + 1\n        if per_day[d] == maxday + 1:\n            out.append([inv, ex, 'daily_max'])\n    return sorted(out)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: daily max once 1',\n   [[['ann', 'CHEM-110', 2], ['ann', 'MATH-101', 0], ['cy', 'MATH-101', 1], ['ann', 'MATH-101', 1],\n     ['cy', 'MATH-101', 2], ['ann', 'BIO-201', 2], ['ann', 'BIOL-300', 3]],\n    {'ann': [2], 'bob': [1, 4], 'cy': [0, 1]}, {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'BIO-201', 'double'], ['ann', 'BIOL-300', 'own_subject'],\n    ['ann', 'CHEM-110', 'busy'], ['ann', 'MATH-101', 'daily_max'], ['cy', 'MATH-101', 'busy']]),\n  ('regression variant: daily max once 2',\n   [[['bob', 'BIOL-300', 3], ['ann', 'BIO-201', 4], ['bob', 'BIOL-300', 4], ['bob', 'BIO-201', 5]],\n    {'bob': [], 'cy': [4, 5]}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIOL'}, 1, 3],\n   [['bob', 'BIOL-300', 'daily_max']]),\n  ('partial repair guard 3',\n   [[['bob', 'MATH-101', 4], ['bob', 'MATH-101', 4], ['cy', 'BIO-201', 2]], {'ann': [0, 5], 'bob': []},\n    {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'CHEM'}, 2, 2],\n   [['bob', 'MATH-101', 'double']]),\n  ('boundary control 4', [[['ann', 'MATH-101', 2], ['ann', 'CHEM-110', 3]], {}, {}, 1, 3], []),\n  ('normal control 5',\n   [[['ann', 'MATH-101', 2], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 5], ['bob', 'BIOL-300', 0]],\n    {'ann': [], 'bob': [3, 4]}, {'ann': 'MATH', 'bob': 'MATH', 'cy': 'BIO'}, 1, 2],\n   [['ann', 'MATH-101', 'own_subject'], ['bob', 'BIOL-300', 'daily_max'],\n    ['bob', 'MATH-101', 'own_subject']]),\n  ('normal control 6',\n   [[['ann', 'BIO-201', 0], ['cy', 'BIOL-300', 0], ['cy', 'BIOL-300', 3], ['bob', 'BIO-201', 2],\n     ['cy', 'BIO-201', 1], ['bob', 'BIO-201', 4], ['ann', 'CHEM-110', 0]],\n    {'ann': [2], 'cy': []}, {'ann': 'CHEM', 'bob': 'CHEM', 'cy': 'MATH'}, 1, 2],\n   [['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'double'], ['ann', 'CHEM-110', 'own_subject'],\n    ['cy', 'BIO-201', 'daily_max']]),\n  ('normal control 7',\n   [[['ann', 'BIO-201', 4], ['cy', 'MATH-101', 4], ['ann', 'CHEM-110', 3], ['bob', 'MATH-101', 4],\n     ['cy', 'MATH-101', 2], ['ann', 'CHEM-110', 5]],\n    {'ann': [0], 'bob': [3]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'daily_max'], ['cy', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'own_subject']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 1], ['cy', 'BIOL-300', 2],\n     ['ann', 'BIO-201', 4], ['ann', 'BIO-201', 4]],\n    {'ann': [0, 2], 'bob': [0, 5], 'cy': [1, 4]}, {'ann': 'BIO', 'bob': 'CHEM', 'cy': 'CHEM'}, 2, 2],\n   [['ann', 'BIO-201', 'double'], ['ann', 'BIO-201', 'own_subject'], ['ann', 'BIO-201', 'own_subject'],\n    ['ann', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['cy', 'BIOL-300', 1], ['cy', 'BIOL-300', 2], ['cy', 'BIO-201', 1], ['ann', 'BIO-201', 5],\n     ['ann', 'CHEM-110', 5], ['ann', 'BIOL-300', 4], ['cy', 'BIOL-300', 2]],\n    {'ann': [1], 'bob': [1, 5], 'cy': []}, {'ann': 'CHEM', 'bob': 'MATH', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'double'], ['ann', 'CHEM-110', 'own_subject'],\n    ['cy', 'BIO-201', 'double'], ['cy', 'BIOL-300', 'daily_max'], ['cy', 'BIOL-300', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['cy', 'MATH-101', 0], ['cy', 'CHEM-110', 5], ['ann', 'BIOL-300', 0], ['cy', 'BIO-201', 5],\n     ['ann', 'BIO-201', 3], ['cy', 'CHEM-110', 5]],\n    {'ann': [2, 3], 'bob': [0, 4], 'cy': [3]}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'BIO-201', 'own_subject'], ['cy', 'BIO-201', 'daily_max'],\n    ['cy', 'BIO-201', 'double'], ['cy', 'CHEM-110', 'double'], ['cy', 'MATH-101', 'own_subject']]),\n  ('partial repair guard 3',\n   [[['cy', 'MATH-101', 0], ['cy', 'CHEM-110', 2], ['bob', 'BIO-201', 3], ['ann', 'CHEM-110', 3],\n     ['bob', 'BIO-201', 4], ['cy', 'BIO-201', 5]],\n    {'ann': [3], 'bob': [1], 'cy': [0, 4]}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'CHEM-110', 'busy'], ['bob', 'BIO-201', 'daily_max'], ['cy', 'CHEM-110', 'daily_max'],\n    ['cy', 'MATH-101', 'busy'], ['cy', 'MATH-101', 'own_subject']]),\n  ('boundary control 4', [[['ann', 'BIOL-300', 0]], {}, {'ann': 'BIO'}, 2, 3], []),\n  ('normal control 5',\n   [[['cy', 'BIO-201', 2], ['ann', 'MATH-101', 1], ['bob', 'BIOL-300', 3], ['ann', 'BIO-201', 4]],\n    {'ann': [2, 4], 'bob': [0]}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'BIO'}, 1, 2],\n   [['ann', 'BIO-201', 'busy'], ['ann', 'MATH-101', 'own_subject'], ['bob', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIO-201', 'own_subject']]),\n  ('normal control 6',\n   [[['cy', 'BIO-201', 1], ['cy', 'BIOL-300', 2], ['ann', 'CHEM-110', 4], ['cy', 'CHEM-110', 2],\n     ['ann', 'CHEM-110', 0]],\n    {'ann': [2], 'bob': [2, 4], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'MATH'}, 2, 3],\n   [['cy', 'CHEM-110', 'daily_max'], ['cy', 'CHEM-110', 'double']]),\n  ('normal control 7',\n   [[['bob', 'CHEM-110', 1], ['ann', 'BIO-201', 2]], {'ann': [2], 'bob': [3, 5], 'cy': [3, 4]},\n    {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'BIOL'}, 2, 2],\n   [['ann', 'BIO-201', 'busy']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['cy', 'MATH-101', 3], ['bob', 'BIO-201', 4], ['cy', 'BIO-201', 5],\n     ['ann', 'MATH-101', 2], ['bob', 'BIO-201', 2]],\n    {'ann': [0], 'bob': [0, 4]}, {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'MATH'}, 2, 2],\n   [['ann', 'MATH-101', 'busy'], ['bob', 'BIO-201', 'busy'], ['cy', 'MATH-101', 'own_subject']])],\n [('regression: daily max once 1',\n   [[['cy', 'BIOL-300', 2], ['bob', 'BIO-201', 1], ['cy', 'BIOL-300', 2], ['cy', 'CHEM-110', 2],\n     ['bob', 'BIOL-300', 1]],\n    {'ann': [1], 'bob': []}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'BIOL'}, 1, 2],\n   [['bob', 'BIOL-300', 'daily_max'], ['bob', 'BIOL-300', 'double'], ['bob', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIOL-300', 'daily_max'], ['cy', 'BIOL-300', 'double'], ['cy', 'BIOL-300', 'own_subject'],\n    ['cy', 'BIOL-300', 'own_subject'], ['cy', 'CHEM-110', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['bob', 'MATH-101', 4], ['ann', 'BIO-201', 5], ['ann', 'MATH-101', 5], ['ann', 'CHEM-110', 1],\n     ['bob', 'CHEM-110', 0], ['ann', 'BIO-201', 5], ['cy', 'CHEM-110', 1]],\n    {'ann': [2, 4], 'bob': [3, 4], 'cy': [0, 3]}, {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'BIO-201', 'double'], ['ann', 'MATH-101', 'daily_max'], ['ann', 'MATH-101', 'double'],\n    ['bob', 'MATH-101', 'busy'], ['cy', 'CHEM-110', 'own_subject']]),\n  ('partial repair guard 3',\n   [[['ann', 'BIO-201', 2], ['bob', 'BIOL-300', 3], ['bob', 'BIOL-300', 4], ['ann', 'BIOL-300', 4],\n     ['bob', 'CHEM-110', 1], ['ann', 'BIO-201', 1], ['cy', 'BIO-201', 2]],\n    {'ann': [0], 'bob': [4, 5]}, {'ann': 'BIOL', 'bob': 'CHEM', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'BIO-201', 'daily_max'], ['ann', 'BIOL-300', 'own_subject'], ['bob', 'BIOL-300', 'busy'],\n    ['bob', 'BIOL-300', 'daily_max'], ['bob', 'CHEM-110', 'own_subject']]),\n  ('boundary control 4', [[['ann', 'MATH-101', 0], ['bob', 'CHEM-110', 0]], {}, {}, 2, 3], []),\n  ('normal control 5',\n   [[['bob', 'BIO-201', 5], ['cy', 'BIOL-300', 4], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 1],\n     ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 4]],\n    {'bob': [3], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'CHEM-110', 'double']]),\n  ('normal control 6',\n   [[['ann', 'CHEM-110', 0], ['bob', 'MATH-101', 5], ['cy', 'BIO-201', 2], ['cy', 'BIO-201', 0],\n     ['ann', 'BIO-201', 2]],\n    {'bob': []}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'MATH'}, 2, 3],\n   [['ann', 'BIO-201', 'own_subject']]),\n  ('normal control 7',\n   [[['ann', 'BIO-201', 2], ['cy', 'BIO-201', 3]], {'ann': [4], 'bob': [3, 4]},\n    {'ann': 'CHEM', 'bob': 'MATH', 'cy': 'CHEM'}, 2, 2],\n   []),\n  ('normal control 8',\n   [[['ann', 'BIO-201', 4], ['ann', 'MATH-101', 1], ['ann', 'CHEM-110', 2], ['ann', 'CHEM-110', 5],\n     ['bob', 'MATH-101', 1], ['cy', 'BIO-201', 3]],\n    {'ann': [1, 3], 'bob': [2, 4], 'cy': [1]}, {'ann': 'BIO', 'bob': 'BIO', 'cy': 'MATH'}, 1, 3],\n   [['ann', 'BIO-201', 'own_subject'], ['ann', 'CHEM-110', 'daily_max'], ['ann', 'CHEM-110', 'daily_max'],\n    ['ann', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['cy', 'MATH-101', 4], ['bob', 'CHEM-110', 3], ['cy', 'BIO-201', 4], ['cy', 'BIO-201', 5],\n     ['bob', 'CHEM-110', 0], ['ann', 'BIOL-300', 4]],\n    {'bob': [2, 5], 'cy': []}, {'ann': 'MATH', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['cy', 'BIO-201', 'daily_max'], ['cy', 'BIO-201', 'double']]),\n  ('regression variant: daily max once 2',\n   [[['cy', 'BIO-201', 1], ['cy', 'BIO-201', 0], ['cy', 'CHEM-110', 0], ['cy', 'MATH-101', 1],\n     ['cy', 'CHEM-110', 5], ['ann', 'CHEM-110', 0], ['cy', 'BIOL-300', 2]],\n    {'ann': [2, 5], 'bob': [1], 'cy': [2]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'CHEM'}, 2, 3],\n   [['cy', 'BIOL-300', 'busy'], ['cy', 'CHEM-110', 'daily_max'], ['cy', 'CHEM-110', 'double'],\n    ['cy', 'CHEM-110', 'own_subject'], ['cy', 'CHEM-110', 'own_subject'], ['cy', 'MATH-101', 'double']]),\n  ('partial repair guard 3',\n   [[['ann', 'BIOL-300', 2], ['ann', 'BIO-201', 1], ['cy', 'BIOL-300', 5], ['cy', 'MATH-101', 0]],\n    {'ann': [3], 'cy': [3]}, {'ann': 'CHEM', 'bob': 'BIOL', 'cy': 'MATH'}, 1, 2],\n   [['cy', 'MATH-101', 'own_subject']]),\n  ('boundary control 4',\n   [[['ann', 'MATH-101', 0], ['ann', 'CHEM-110', 1], ['ann', 'BIO-201', 2]], {}, {}, 2, 3],\n   [['ann', 'BIO-201', 'daily_max']]),\n  ('normal control 5',\n   [[['cy', 'MATH-101', 1], ['bob', 'MATH-101', 3], ['ann', 'BIO-201', 5], ['ann', 'BIO-201', 0],\n     ['bob', 'MATH-101', 4], ['bob', 'BIOL-300', 5]],\n    {'ann': [], 'bob': [0, 4], 'cy': [1, 2]}, {'ann': 'CHEM', 'bob': 'BIOL', 'cy': 'BIOL'}, 2, 3],\n   [['bob', 'BIOL-300', 'daily_max'], ['bob', 'BIOL-300', 'own_subject'], ['bob', 'MATH-101', 'busy'],\n    ['cy', 'MATH-101', 'busy']]),\n  ('normal control 6',\n   [[['bob', 'MATH-101', 4], ['cy', 'MATH-101', 1], ['ann', 'BIOL-300', 2], ['cy', 'MATH-101', 5]],\n    {'bob': [2, 4], 'cy': [4]}, {'ann': 'BIO', 'bob': 'MATH', 'cy': 'MATH'}, 2, 3],\n   [['bob', 'MATH-101', 'busy'], ['bob', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'own_subject'],\n    ['cy', 'MATH-101', 'own_subject']]),\n  ('normal control 7',\n   [[['bob', 'BIO-201', 5], ['cy', 'BIOL-300', 4], ['bob', 'MATH-101', 1], ['ann', 'CHEM-110', 1],\n     ['ann', 'CHEM-110', 1], ['bob', 'BIO-201', 4]],\n    {'bob': [3], 'cy': []}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 3],\n   [['ann', 'CHEM-110', 'double']]),\n  ('normal control 8',\n   [[['bob', 'BIOL-300', 5], ['cy', 'MATH-101', 4], ['cy', 'BIO-201', 1], ['bob', 'MATH-101', 3],\n     ['bob', 'CHEM-110', 2]],\n    {'ann': [1], 'bob': [1, 2], 'cy': [4]}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'BIOL'}, 2, 3],\n   [['bob', 'CHEM-110', 'busy'], ['cy', 'MATH-101', 'busy']])],\n [('regression: daily max once 1',\n   [[['bob', 'BIO-201', 3], ['ann', 'BIOL-300', 4], ['ann', 'BIOL-300', 4], ['ann', 'BIO-201', 2],\n     ['ann', 'MATH-101', 1], ['ann', 'BIOL-300', 0]],\n    {'ann': [0], 'bob': [5], 'cy': []}, {'ann': 'BIOL', 'bob': 'BIO', 'cy': 'BIOL'}, 1, 3],\n   [['ann', 'BIOL-300', 'busy'], ['ann', 'BIOL-300', 'daily_max'], ['ann', 'BIOL-300', 'double'],\n    ['ann', 'BIOL-300', 'own_subject'], ['ann', 'BIOL-300', 'own_subject'],\n    ['ann', 'BIOL-300', 'own_subject'], ['ann', 'MATH-101', 'daily_max'],\n    ['bob', 'BIO-201', 'own_subject']]),\n  ('partial repair guard 2',\n   [[['cy', 'MATH-101', 3], ['bob', 'MATH-101', 0], ['ann', 'MATH-101', 5], ['cy', 'MATH-101', 3]],\n    {'ann': [0], 'cy': [0]}, {'ann': 'MATH', 'bob': 'CHEM', 'cy': 'CHEM'}, 2, 3],\n   [['ann', 'MATH-101', 'own_subject'], ['cy', 'MATH-101', 'double']]),\n  ('boundary control 3', [[['ann', 'BIO-201', 0]], {}, {'ann': 'BIOL'}, 2, 3], []),\n  ('normal control 4',\n   [[['ann', 'MATH-101', 0], ['ann', 'MATH-101', 2]], {'ann': [5], 'bob': [0, 4]},\n    {'ann': 'BIOL', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['ann', 'MATH-101', 'daily_max']]),\n  ('normal control 5',\n   [[['bob', 'CHEM-110', 1], ['cy', 'MATH-101', 2], ['ann', 'CHEM-110', 5], ['cy', 'BIO-201', 4],\n     ['bob', 'BIOL-300', 1], ['bob', 'BIO-201', 2]],\n    {'ann': [], 'bob': [1], 'cy': [1, 3]}, {'ann': 'BIOL', 'bob': 'CHEM', 'cy': 'BIOL'}, 2, 2],\n   [['bob', 'BIOL-300', 'busy'], ['bob', 'BIOL-300', 'double'], ['bob', 'CHEM-110', 'busy'],\n    ['bob', 'CHEM-110', 'own_subject']]),\n  ('normal control 6',\n   [[['cy', 'MATH-101', 0], ['bob', 'BIOL-300', 1]], {'ann': [1, 5], 'bob': [], 'cy': [0, 2]},\n    {'ann': 'BIOL', 'bob': 'MATH', 'cy': 'BIO'}, 1, 3],\n   [['cy', 'MATH-101', 'busy']]),\n  ('normal control 7',\n   [[['cy', 'CHEM-110', 3], ['bob', 'MATH-101', 4], ['cy', 'MATH-101', 0], ['ann', 'MATH-101', 0]],\n    {'ann': [3], 'bob': [4], 'cy': [1, 4]}, {'ann': 'BIO', 'bob': 'BIOL', 'cy': 'CHEM'}, 1, 3],\n   [['bob', 'MATH-101', 'busy'], ['cy', 'CHEM-110', 'own_subject']]),\n  ('normal control 8',\n   [[['ann', 'MATH-101', 0], ['ann', 'MATH-101', 2], ['bob', 'BIO-201', 0], ['cy', 'BIO-201', 0],\n     ['bob', 'BIO-201', 0]],\n    {'ann': [], 'bob': [1, 5], 'cy': [1]}, {'ann': 'BIO', 'bob': 'CHEM', 'cy': 'BIO'}, 2, 2],\n   [['bob', 'BIO-201', 'double'], ['cy', 'BIO-201', 'own_subject']])]]\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-invigilation-duty-validation-daily-max-once","generated_at":"2026-09-29T14:52:05.832518+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Invigilation rosters must respect teaching commitments, conflict-of-interest rules and daily limits.","repair":"Report daily_max once, when the count first exceeds the limit.","root_cause":"The finding fires on every duty beyond the limit.","sha256":"ae73706b7b96e098ba6274bf5fda39b7756ad5e2e934fe329a390eb3ccbdc5d0","title":"Daily maximum finding repeated for every extra duty · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.824,"exit_code":1,"observations":[{"actual":[["ann","BIO-201","busy"],["ann","BIO-201","double"],["ann","BIOL-300","own_subject"],["ann","CHEM-110","busy"],["ann","MATH-101","daily_max"],["cy","MATH-101","busy"],["cy","MATH-101","daily_max"]],"check":"regression: daily max once 1","expected":[["ann","BIO-201","busy"],["ann","BIO-201","double"],["ann","BIOL-300","own_subject"],["ann","CHEM-110","busy"],["ann","MATH-101","daily_max"],["cy","MATH-101","busy"]],"passed":false},{"actual":[["ann","BIO-201","daily_max"],["bob","BIOL-300","daily_max"]],"check":"regression variant: daily max once 2","expected":[["bob","BIOL-300","daily_max"]],"passed":false},{"actual":[["bob","MATH-101","daily_max"],["bob","MATH-101","double"]],"check":"partial repair guard 3","expected":[["bob","MATH-101","double"]],"passed":false},{"actual":[["ann","CHEM-110","daily_max"],["ann","MATH-101","daily_max"]],"check":"boundary control 4","expected":[],"passed":false},{"actual":[["ann","CHEM-110","daily_max"],["ann","MATH-101","daily_max"],["ann","MATH-101","own_subject"],["bob","MATH-101","daily_max"],["bob","MATH-101","own_subject"]],"check":"normal control 5","expected":[["ann","MATH-101","own_subject"],["bob","BIOL-300","daily_max"],["bob","MATH-101","own_subject"]],"passed":false},{"actual":[["ann","BIO-201","daily_max"],["ann","CHEM-110","double"],["ann","CHEM-110","own_subject"],["bob","BIO-201","daily_max"],["bob","BIO-201","daily_max"],["cy","BIOL-300","daily_max"],["cy","BIOL-300","daily_max"]],"check":"normal control 6","expected":[["ann","CHEM-110","daily_max"],["ann","CHEM-110","double"],["ann","CHEM-110","own_subject"],["cy","BIO-201","daily_max"]],"passed":false},{"actual":[["ann","BIO-201","daily_max"],["bob","MATH-101","daily_max"],["cy","MATH-101","daily_max"],["cy","MATH-101","daily_max"],["cy","MATH-101","own_subject"],["cy","MATH-101","own_subject"]],"check":"normal control 7","expected":[["ann","CHEM-110","daily_max"],["cy","MATH-101","own_subject"],["cy","MATH-101","own_subject"]],"passed":false},{"actual":[["ann","BIO-201","daily_max"],["ann","BIO-201","double"],["ann","BIO-201","own_subject"],["ann","BIO-201","own_subject"],["ann","CHEM-110","daily_max"],["ann","MATH-101","busy"]],"check":"normal control 8","expected":[["ann","BIO-201","double"],["ann","BIO-201","own_subject"],["ann","BIO-201","own_subject"],["ann","MATH-101","busy"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: daily max once 1\", \"actual\": [[\"ann\", \"BIO-201\", \"busy\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIOL-300\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"busy\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"busy\"], [\"cy\", \"MATH-101\", \"daily_max\"]], \"expected\": [[\"ann\", \"BIO-201\", \"busy\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIOL-300\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"busy\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"busy\"]], \"passed\": false}, {\"check\": \"regression variant: daily max once 2\", \"actual\": [[\"ann\", \"BIO-201\", \"daily_max\"], [\"bob\", \"BIOL-300\", \"daily_max\"]], \"expected\": [[\"bob\", \"BIOL-300\", \"daily_max\"]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"bob\", \"MATH-101\", \"daily_max\"], [\"bob\", \"MATH-101\", \"double\"]], \"expected\": [[\"bob\", \"MATH-101\", \"double\"]], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"MATH-101\", \"daily_max\"]], \"expected\": [], \"passed\": false}, {\"check\": \"normal control 5\", \"actual\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"ann\", \"MATH-101\", \"own_subject\"], [\"bob\", \"MATH-101\", \"daily_max\"], [\"bob\", \"MATH-101\", \"own_subject\"]], \"expected\": [[\"ann\", \"MATH-101\", \"own_subject\"], [\"bob\", \"BIOL-300\", \"daily_max\"], [\"bob\", \"MATH-101\", \"own_subject\"]], \"passed\": false}, {\"check\": \"normal control 6\", \"actual\": [[\"ann\", \"BIO-201\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"double\"], [\"ann\", \"CHEM-110\", \"own_subject\"], [\"bob\", \"BIO-201\", \"daily_max\"], [\"bob\", \"BIO-201\", \"daily_max\"], [\"cy\", \"BIOL-300\", \"daily_max\"], [\"cy\", \"BIOL-300\", \"daily_max\"]], \"expected\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"double\"], [\"ann\", \"CHEM-110\", \"own_subject\"], [\"cy\", \"BIO-201\", \"daily_max\"]], \"passed\": false}, {\"check\": \"normal control 7\", \"actual\": [[\"ann\", \"BIO-201\", \"daily_max\"], [\"bob\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"own_subject\"], [\"cy\", \"MATH-101\", \"own_subject\"]], \"expected\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"cy\", \"MATH-101\", \"own_subject\"], [\"cy\", \"MATH-101\", \"own_subject\"]], \"passed\": false}, {\"check\": \"normal control 8\", \"actual\": [[\"ann\", \"BIO-201\", \"daily_max\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"MATH-101\", \"busy\"]], \"expected\": [[\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"MATH-101\", \"busy\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.181,"exit_code":1,"observations":[{"actual":[["ann","BIO-201","busy"],["ann","BIO-201","daily_max"],["ann","BIO-201","double"],["ann","BIOL-300","own_subject"],["ann","CHEM-110","busy"],["ann","MATH-101","daily_max"],["cy","MATH-101","busy"]],"check":"regression: daily max once 1","expected":[["ann","BIO-201","busy"],["ann","BIO-201","double"],["ann","BIOL-300","own_subject"],["ann","CHEM-110","busy"],["ann","MATH-101","daily_max"],["cy","MATH-101","busy"]],"passed":false},{"actual":[["bob","BIO-201","daily_max"],["bob","BIOL-300","daily_max"]],"check":"regression variant: daily max once 2","expected":[["bob","BIOL-300","daily_max"]],"passed":false},{"actual":[["bob","MATH-101","double"]],"check":"partial repair guard 3","expected":[["bob","MATH-101","double"]],"passed":true},{"actual":[],"check":"boundary control 4","expected":[],"passed":true},{"actual":[["ann","MATH-101","own_subject"],["bob","BIOL-300","daily_max"],["bob","MATH-101","own_subject"]],"check":"normal control 5","expected":[["ann","MATH-101","own_subject"],["bob","BIOL-300","daily_max"],["bob","MATH-101","own_subject"]],"passed":true},{"actual":[["ann","CHEM-110","daily_max"],["ann","CHEM-110","double"],["ann","CHEM-110","own_subject"],["cy","BIO-201","daily_max"]],"check":"normal control 6","expected":[["ann","CHEM-110","daily_max"],["ann","CHEM-110","double"],["ann","CHEM-110","own_subject"],["cy","BIO-201","daily_max"]],"passed":true},{"actual":[["ann","CHEM-110","daily_max"],["ann","CHEM-110","daily_max"],["cy","MATH-101","own_subject"],["cy","MATH-101","own_subject"]],"check":"normal control 7","expected":[["ann","CHEM-110","daily_max"],["cy","MATH-101","own_subject"],["cy","MATH-101","own_subject"]],"passed":false},{"actual":[["ann","BIO-201","double"],["ann","BIO-201","own_subject"],["ann","BIO-201","own_subject"],["ann","MATH-101","busy"]],"check":"normal control 8","expected":[["ann","BIO-201","double"],["ann","BIO-201","own_subject"],["ann","BIO-201","own_subject"],["ann","MATH-101","busy"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: daily max once 1\", \"actual\": [[\"ann\", \"BIO-201\", \"busy\"], [\"ann\", \"BIO-201\", \"daily_max\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIOL-300\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"busy\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"busy\"]], \"expected\": [[\"ann\", \"BIO-201\", \"busy\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIOL-300\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"busy\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"busy\"]], \"passed\": false}, {\"check\": \"regression variant: daily max once 2\", \"actual\": [[\"bob\", \"BIO-201\", \"daily_max\"], [\"bob\", \"BIOL-300\", \"daily_max\"]], \"expected\": [[\"bob\", \"BIOL-300\", \"daily_max\"]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"bob\", \"MATH-101\", \"double\"]], \"expected\": [[\"bob\", \"MATH-101\", \"double\"]], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[\"ann\", \"MATH-101\", \"own_subject\"], [\"bob\", \"BIOL-300\", \"daily_max\"], [\"bob\", \"MATH-101\", \"own_subject\"]], \"expected\": [[\"ann\", \"MATH-101\", \"own_subject\"], [\"bob\", \"BIOL-300\", \"daily_max\"], [\"bob\", \"MATH-101\", \"own_subject\"]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"double\"], [\"ann\", \"CHEM-110\", \"own_subject\"], [\"cy\", \"BIO-201\", \"daily_max\"]], \"expected\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"double\"], [\"ann\", \"CHEM-110\", \"own_subject\"], [\"cy\", \"BIO-201\", \"daily_max\"]], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"daily_max\"], [\"cy\", \"MATH-101\", \"own_subject\"], [\"cy\", \"MATH-101\", \"own_subject\"]], \"expected\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"cy\", \"MATH-101\", \"own_subject\"], [\"cy\", \"MATH-101\", \"own_subject\"]], \"passed\": false}, {\"check\": \"normal control 8\", \"actual\": [[\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"MATH-101\", \"busy\"]], \"expected\": [[\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"MATH-101\", \"busy\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.608,"exit_code":0,"observations":[{"actual":[["ann","BIO-201","busy"],["ann","BIO-201","double"],["ann","BIOL-300","own_subject"],["ann","CHEM-110","busy"],["ann","MATH-101","daily_max"],["cy","MATH-101","busy"]],"check":"regression: daily max once 1","expected":[["ann","BIO-201","busy"],["ann","BIO-201","double"],["ann","BIOL-300","own_subject"],["ann","CHEM-110","busy"],["ann","MATH-101","daily_max"],["cy","MATH-101","busy"]],"passed":true},{"actual":[["bob","BIOL-300","daily_max"]],"check":"regression variant: daily max once 2","expected":[["bob","BIOL-300","daily_max"]],"passed":true},{"actual":[["bob","MATH-101","double"]],"check":"partial repair guard 3","expected":[["bob","MATH-101","double"]],"passed":true},{"actual":[],"check":"boundary control 4","expected":[],"passed":true},{"actual":[["ann","MATH-101","own_subject"],["bob","BIOL-300","daily_max"],["bob","MATH-101","own_subject"]],"check":"normal control 5","expected":[["ann","MATH-101","own_subject"],["bob","BIOL-300","daily_max"],["bob","MATH-101","own_subject"]],"passed":true},{"actual":[["ann","CHEM-110","daily_max"],["ann","CHEM-110","double"],["ann","CHEM-110","own_subject"],["cy","BIO-201","daily_max"]],"check":"normal control 6","expected":[["ann","CHEM-110","daily_max"],["ann","CHEM-110","double"],["ann","CHEM-110","own_subject"],["cy","BIO-201","daily_max"]],"passed":true},{"actual":[["ann","CHEM-110","daily_max"],["cy","MATH-101","own_subject"],["cy","MATH-101","own_subject"]],"check":"normal control 7","expected":[["ann","CHEM-110","daily_max"],["cy","MATH-101","own_subject"],["cy","MATH-101","own_subject"]],"passed":true},{"actual":[["ann","BIO-201","double"],["ann","BIO-201","own_subject"],["ann","BIO-201","own_subject"],["ann","MATH-101","busy"]],"check":"normal control 8","expected":[["ann","BIO-201","double"],["ann","BIO-201","own_subject"],["ann","BIO-201","own_subject"],["ann","MATH-101","busy"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: daily max once 1\", \"actual\": [[\"ann\", \"BIO-201\", \"busy\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIOL-300\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"busy\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"busy\"]], \"expected\": [[\"ann\", \"BIO-201\", \"busy\"], [\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIOL-300\", \"own_subject\"], [\"ann\", \"CHEM-110\", \"busy\"], [\"ann\", \"MATH-101\", \"daily_max\"], [\"cy\", \"MATH-101\", \"busy\"]], \"passed\": true}, {\"check\": \"regression variant: daily max once 2\", \"actual\": [[\"bob\", \"BIOL-300\", \"daily_max\"]], \"expected\": [[\"bob\", \"BIOL-300\", \"daily_max\"]], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"bob\", \"MATH-101\", \"double\"]], \"expected\": [[\"bob\", \"MATH-101\", \"double\"]], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[\"ann\", \"MATH-101\", \"own_subject\"], [\"bob\", \"BIOL-300\", \"daily_max\"], [\"bob\", \"MATH-101\", \"own_subject\"]], \"expected\": [[\"ann\", \"MATH-101\", \"own_subject\"], [\"bob\", \"BIOL-300\", \"daily_max\"], [\"bob\", \"MATH-101\", \"own_subject\"]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"double\"], [\"ann\", \"CHEM-110\", \"own_subject\"], [\"cy\", \"BIO-201\", \"daily_max\"]], \"expected\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"ann\", \"CHEM-110\", \"double\"], [\"ann\", \"CHEM-110\", \"own_subject\"], [\"cy\", \"BIO-201\", \"daily_max\"]], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"cy\", \"MATH-101\", \"own_subject\"], [\"cy\", \"MATH-101\", \"own_subject\"]], \"expected\": [[\"ann\", \"CHEM-110\", \"daily_max\"], [\"cy\", \"MATH-101\", \"own_subject\"], [\"cy\", \"MATH-101\", \"own_subject\"]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [[\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"MATH-101\", \"busy\"]], \"expected\": [[\"ann\", \"BIO-201\", \"double\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"BIO-201\", \"own_subject\"], [\"ann\", \"MATH-101\", \"busy\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}