{"abstract":"A 25% allowance on a three-hour exam adds only 25 minutes.","category":"Exam timetabling constraints","checks":8,"contract":"A student's exams [id, start, duration] and an extra-time percentage. Extended duration = ceil(duration * (100 + pct) / 100), then rounded up to a multiple of 5 minutes. In start order (ties by id) a pair conflicts if the next start is earlier than the previous extended end plus the rest minutes. Return [[id, extended end] in order, conflicting pairs].","contract_signature":"exams, pct, rest","evaluation_group":"w2-exam-timetabling-constraints-extra-time-sitting-plan","failed_approach":"Computing only the extra minutes drops the base duration.","family":"w2-exam-timetabling-constraints-extra-time-sitting-plan-percent-as-minutes","id":"FA-94451","implementations":{"attempt":{"sha256":"c0c009b16a220e0a22da9acd7d378f569a3c80fd77e2c4a0ac0e325dd29a5c7f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(exams, pct, rest):\n    rows = []\n    for eid, st, dur in sorted(exams, key=lambda x: (x[1], x[0])):\n        ext = -(-dur * pct // 100)\n        ext = -(-ext // 5) * 5\n        rows.append([eid, st, st + ext])\n    conf = []\n    for a, b in zip(rows, rows[1:]):\n        if b[1] < a[2] + rest:\n            conf.append([a[0], b[0]])\n    return [[[r[0], r[2]] for r in rows], conf]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: percent as minutes 1', [[['A', 540, 88]], 25, 30], [[['A', 650]], []]),\n  ('regression variant: percent as minutes 2', [[['Q0', 600, 182], ['U1', 750, 120]], 10, 15],\n   [[['Q0', 805], ['U1', 885]], [['Q0', 'U1']]]),\n  ('partial repair guard 3', [[['A', 540, 91]], 10, 30], [[['A', 645]], []]),\n  ('boundary control 4', [[['A', 540, 120], ['B', 720, 90]], 50, 0], [[['A', 720], ['B', 855]], []]),\n  ('boundary control 5', [[['A', 540, 73], ['B', 640, 60]], 10, 15], [[['A', 625], ['B', 710]], []]),\n  ('normal control 6', [[['R3', 1100, 150], ['S2', 980, 180], ['W1', 780, 88], ['R0', 600, 73]], 15, 15],\n   [[['R0', 685], ['W1', 885], ['S2', 1190], ['R3', 1275]], [['S2', 'R3']]]),\n  ('normal control 7', [[['W2', 900, 44], ['P1', 780, 120], ['S0', 600, 182]], 33, 15],\n   [[['S0', 845], ['P1', 940], ['W2', 960]], [['S0', 'P1'], ['P1', 'W2']]]),\n  ('normal control 8', [[['R2', 930, 180], ['V3', 1130, 60], ['T0', 540, 73], ['R1', 690, 150]], 10, 30],\n   [[['T0', 625], ['R1', 855], ['R2', 1130], ['V3', 1200]], [['R2', 'V3']]])],\n [('regression: percent as minutes 1', [[['A', 540, 100], ['B', 700, 60]], 25, 30],\n   [[['A', 665], ['B', 775]], []]),\n  ('regression variant: percent as minutes 2',\n   [[['P2', 810, 91], ['W3', 960, 100], ['R0', 600, 182], ['S1', 720, 88]], 33, 30],\n   [[['R0', 845], ['S1', 840], ['P2', 935], ['W3', 1095]], [['R0', 'S1'], ['S1', 'P2'], ['P2', 'W3']]]),\n  ('partial repair guard 3',\n   [[['P1', 690, 150], ['S2', 890, 72], ['Q0', 600, 150], ['R3', 1010, 90]], 50, 15],\n   [[['Q0', 825], ['P1', 915], ['S2', 1000], ['R3', 1145]], [['Q0', 'P1'], ['P1', 'S2'], ['S2', 'R3']]]),\n  ('boundary control 4', [[['A', 540, 91]], 10, 30], [[['A', 645]], []]),\n  ('boundary control 5', [[['A', 540, 100], ['B', 699, 60]], 25, 30], [[['A', 665], ['B', 774]], []]),\n  ('normal control 6', [[['S0', 540, 120], ['U2', 920, 44], ['Q3', 1070, 90], ['W1', 740, 91]], 25, 15],\n   [[['S0', 690], ['W1', 855], ['U2', 975], ['Q3', 1185]], []]),\n  ('normal control 7', [[['S0', 540, 100], ['P2', 890, 100], ['W3', 1070, 150], ['Q1', 740, 72]], 50, 30],\n   [[['S0', 690], ['Q1', 850], ['P2', 1040], ['W3', 1295]], []]),\n  ('normal control 8', [[['V1', 630, 180], ['Q0', 540, 44]], 10, 30], [[['Q0', 590], ['V1', 830]], []])],\n [('regression: percent as minutes 1', [[['A', 540, 100], ['B', 699, 60]], 25, 30],\n   [[['A', 665], ['B', 774]], []]),\n  ('regression variant: percent as minutes 2', [[['P1', 740, 120], ['P0', 540, 44], ['W2', 940, 72]], 15, 30],\n   [[['P0', 595], ['P1', 880], ['W2', 1025]], []]),\n  ('partial repair guard 3', [[['S0', 600, 150], ['S1', 800, 100]], 10, 30],\n   [[['S0', 765], ['S1', 910]], []]),\n  ('boundary control 4', [[['A', 540, 88]], 25, 30], [[['A', 650]], []]),\n  ('boundary control 5', [[['A', 540, 72]], 33, 15], [[['A', 640]], []]),\n  ('normal control 6', [[['U2', 780, 72], ['V1', 660, 91], ['S3', 900, 90], ['T0', 540, 91]], 15, 30],\n   [[['T0', 645], ['V1', 765], ['U2', 865], ['S3', 1005]], [['T0', 'V1'], ['V1', 'U2']]]),\n  ('normal control 7', [[['P0', 600, 100], ['R1', 720, 60]], 15, 30],\n   [[['P0', 715], ['R1', 790]], [['P0', 'R1']]]),\n  ('normal control 8', [[['P2', 990, 60], ['V0', 600, 60], ['T1', 840, 73]], 15, 15],\n   [[['V0', 670], ['T1', 925], ['P2', 1060]], []])],\n [('regression: percent as minutes 1', [[['A', 540, 120], ['B', 720, 90]], 50, 0],\n   [[['A', 720], ['B', 855]], []]),\n  ('regression variant: percent as minutes 2', [[['W0', 540, 60], ['W1', 780, 44]], 15, 15],\n   [[['W0', 610], ['W1', 835]], []]),\n  ('partial repair guard 3', [[['T1', 720, 120], ['V0', 600, 180]], 33, 15],\n   [[['V0', 840], ['T1', 880]], [['V0', 'T1']]]),\n  ('boundary control 4', [[['A', 540, 73], ['B', 640, 60]], 10, 15], [[['A', 625], ['B', 710]], []]),\n  ('normal control 5', [[['U0', 540, 88], ['V1', 740, 44]], 50, 30], [[['U0', 675], ['V1', 810]], []]),\n  ('normal control 6', [[['S2', 810, 100], ['Q0', 600, 72], ['V1', 690, 100], ['R3', 990, 120]], 33, 15],\n   [[['Q0', 700], ['V1', 825], ['S2', 945], ['R3', 1150]], [['Q0', 'V1'], ['V1', 'S2']]]),\n  ('normal control 7', [[['R2', 840, 72], ['W1', 690, 150], ['P0', 540, 120]], 50, 30],\n   [[['P0', 720], ['W1', 915], ['R2', 950]], [['P0', 'W1'], ['W1', 'R2']]]),\n  ('normal control 8', [[['Q0', 600, 150], ['R1', 780, 44], ['U2', 960, 91], ['T3', 1160, 100]], 50, 15],\n   [[['Q0', 825], ['R1', 850], ['U2', 1100], ['T3', 1310]], [['Q0', 'R1']]])],\n [('regression: percent as minutes 1', [[['B', 800, 60], ['A', 540, 90]], 15, 30],\n   [[['A', 645], ['B', 870]], []]),\n  ('regression variant: percent as minutes 2',\n   [[['R1', 720, 44], ['U3', 1040, 150], ['R0', 540, 90], ['V2', 840, 182]], 15, 15],\n   [[['R0', 645], ['R1', 775], ['V2', 1050], ['U3', 1215]], [['V2', 'U3']]]),\n  ('partial repair guard 3', [[['P1', 740, 120], ['P0', 540, 44], ['W2', 940, 72]], 15, 30],\n   [[['P0', 595], ['P1', 880], ['W2', 1025]], []]),\n  ('boundary control 4', [[['A', 540, 91]], 10, 30], [[['A', 645]], []]),\n  ('boundary control 5', [[['A', 540, 100], ['B', 699, 60]], 25, 30], [[['A', 665], ['B', 774]], []]),\n  ('normal control 6', [[['Q0', 540, 90], ['P2', 860, 100], ['R1', 740, 88]], 10, 15],\n   [[['Q0', 640], ['R1', 840], ['P2', 970]], []]),\n  ('normal control 7', [[['T1', 780, 73], ['R3', 1050, 91], ['T2', 960, 120], ['S0', 600, 90]], 25, 30],\n   [[['S0', 715], ['T1', 875], ['T2', 1110], ['R3', 1165]], [['T2', 'R3']]]),\n  ('normal control 8', [[['R1', 780, 150], ['T0', 600, 60], ['R2', 900, 182]], 25, 15],\n   [[['T0', 675], ['R1', 970], ['R2', 1130]], [['R1', 'R2']]])]]\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":"2939b807ff9c1fc2427584c244b4f3082f62f9957ac39230292460b7b0e073eb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(exams, pct, rest):\n    rows = []\n    for eid, st, dur in sorted(exams, key=lambda x: (x[1], x[0])):\n        ext = dur + pct\n        ext = -(-ext // 5) * 5\n        rows.append([eid, st, st + ext])\n    conf = []\n    for a, b in zip(rows, rows[1:]):\n        if b[1] < a[2] + rest:\n            conf.append([a[0], b[0]])\n    return [[[r[0], r[2]] for r in rows], conf]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: percent as minutes 1', [[['A', 540, 88]], 25, 30], [[['A', 650]], []]),\n  ('regression variant: percent as minutes 2', [[['Q0', 600, 182], ['U1', 750, 120]], 10, 15],\n   [[['Q0', 805], ['U1', 885]], [['Q0', 'U1']]]),\n  ('partial repair guard 3', [[['A', 540, 91]], 10, 30], [[['A', 645]], []]),\n  ('boundary control 4', [[['A', 540, 120], ['B', 720, 90]], 50, 0], [[['A', 720], ['B', 855]], []]),\n  ('boundary control 5', [[['A', 540, 73], ['B', 640, 60]], 10, 15], [[['A', 625], ['B', 710]], []]),\n  ('normal control 6', [[['R3', 1100, 150], ['S2', 980, 180], ['W1', 780, 88], ['R0', 600, 73]], 15, 15],\n   [[['R0', 685], ['W1', 885], ['S2', 1190], ['R3', 1275]], [['S2', 'R3']]]),\n  ('normal control 7', [[['W2', 900, 44], ['P1', 780, 120], ['S0', 600, 182]], 33, 15],\n   [[['S0', 845], ['P1', 940], ['W2', 960]], [['S0', 'P1'], ['P1', 'W2']]]),\n  ('normal control 8', [[['R2', 930, 180], ['V3', 1130, 60], ['T0', 540, 73], ['R1', 690, 150]], 10, 30],\n   [[['T0', 625], ['R1', 855], ['R2', 1130], ['V3', 1200]], [['R2', 'V3']]])],\n [('regression: percent as minutes 1', [[['A', 540, 100], ['B', 700, 60]], 25, 30],\n   [[['A', 665], ['B', 775]], []]),\n  ('regression variant: percent as minutes 2',\n   [[['P2', 810, 91], ['W3', 960, 100], ['R0', 600, 182], ['S1', 720, 88]], 33, 30],\n   [[['R0', 845], ['S1', 840], ['P2', 935], ['W3', 1095]], [['R0', 'S1'], ['S1', 'P2'], ['P2', 'W3']]]),\n  ('partial repair guard 3',\n   [[['P1', 690, 150], ['S2', 890, 72], ['Q0', 600, 150], ['R3', 1010, 90]], 50, 15],\n   [[['Q0', 825], ['P1', 915], ['S2', 1000], ['R3', 1145]], [['Q0', 'P1'], ['P1', 'S2'], ['S2', 'R3']]]),\n  ('boundary control 4', [[['A', 540, 91]], 10, 30], [[['A', 645]], []]),\n  ('boundary control 5', [[['A', 540, 100], ['B', 699, 60]], 25, 30], [[['A', 665], ['B', 774]], []]),\n  ('normal control 6', [[['S0', 540, 120], ['U2', 920, 44], ['Q3', 1070, 90], ['W1', 740, 91]], 25, 15],\n   [[['S0', 690], ['W1', 855], ['U2', 975], ['Q3', 1185]], []]),\n  ('normal control 7', [[['S0', 540, 100], ['P2', 890, 100], ['W3', 1070, 150], ['Q1', 740, 72]], 50, 30],\n   [[['S0', 690], ['Q1', 850], ['P2', 1040], ['W3', 1295]], []]),\n  ('normal control 8', [[['V1', 630, 180], ['Q0', 540, 44]], 10, 30], [[['Q0', 590], ['V1', 830]], []])],\n [('regression: percent as minutes 1', [[['A', 540, 100], ['B', 699, 60]], 25, 30],\n   [[['A', 665], ['B', 774]], []]),\n  ('regression variant: percent as minutes 2', [[['P1', 740, 120], ['P0', 540, 44], ['W2', 940, 72]], 15, 30],\n   [[['P0', 595], ['P1', 880], ['W2', 1025]], []]),\n  ('partial repair guard 3', [[['S0', 600, 150], ['S1', 800, 100]], 10, 30],\n   [[['S0', 765], ['S1', 910]], []]),\n  ('boundary control 4', [[['A', 540, 88]], 25, 30], [[['A', 650]], []]),\n  ('boundary control 5', [[['A', 540, 72]], 33, 15], [[['A', 640]], []]),\n  ('normal control 6', [[['U2', 780, 72], ['V1', 660, 91], ['S3', 900, 90], ['T0', 540, 91]], 15, 30],\n   [[['T0', 645], ['V1', 765], ['U2', 865], ['S3', 1005]], [['T0', 'V1'], ['V1', 'U2']]]),\n  ('normal control 7', [[['P0', 600, 100], ['R1', 720, 60]], 15, 30],\n   [[['P0', 715], ['R1', 790]], [['P0', 'R1']]]),\n  ('normal control 8', [[['P2', 990, 60], ['V0', 600, 60], ['T1', 840, 73]], 15, 15],\n   [[['V0', 670], ['T1', 925], ['P2', 1060]], []])],\n [('regression: percent as minutes 1', [[['A', 540, 120], ['B', 720, 90]], 50, 0],\n   [[['A', 720], ['B', 855]], []]),\n  ('regression variant: percent as minutes 2', [[['W0', 540, 60], ['W1', 780, 44]], 15, 15],\n   [[['W0', 610], ['W1', 835]], []]),\n  ('partial repair guard 3', [[['T1', 720, 120], ['V0', 600, 180]], 33, 15],\n   [[['V0', 840], ['T1', 880]], [['V0', 'T1']]]),\n  ('boundary control 4', [[['A', 540, 73], ['B', 640, 60]], 10, 15], [[['A', 625], ['B', 710]], []]),\n  ('normal control 5', [[['U0', 540, 88], ['V1', 740, 44]], 50, 30], [[['U0', 675], ['V1', 810]], []]),\n  ('normal control 6', [[['S2', 810, 100], ['Q0', 600, 72], ['V1', 690, 100], ['R3', 990, 120]], 33, 15],\n   [[['Q0', 700], ['V1', 825], ['S2', 945], ['R3', 1150]], [['Q0', 'V1'], ['V1', 'S2']]]),\n  ('normal control 7', [[['R2', 840, 72], ['W1', 690, 150], ['P0', 540, 120]], 50, 30],\n   [[['P0', 720], ['W1', 915], ['R2', 950]], [['P0', 'W1'], ['W1', 'R2']]]),\n  ('normal control 8', [[['Q0', 600, 150], ['R1', 780, 44], ['U2', 960, 91], ['T3', 1160, 100]], 50, 15],\n   [[['Q0', 825], ['R1', 850], ['U2', 1100], ['T3', 1310]], [['Q0', 'R1']]])],\n [('regression: percent as minutes 1', [[['B', 800, 60], ['A', 540, 90]], 15, 30],\n   [[['A', 645], ['B', 870]], []]),\n  ('regression variant: percent as minutes 2',\n   [[['R1', 720, 44], ['U3', 1040, 150], ['R0', 540, 90], ['V2', 840, 182]], 15, 15],\n   [[['R0', 645], ['R1', 775], ['V2', 1050], ['U3', 1215]], [['V2', 'U3']]]),\n  ('partial repair guard 3', [[['P1', 740, 120], ['P0', 540, 44], ['W2', 940, 72]], 15, 30],\n   [[['P0', 595], ['P1', 880], ['W2', 1025]], []]),\n  ('boundary control 4', [[['A', 540, 91]], 10, 30], [[['A', 645]], []]),\n  ('boundary control 5', [[['A', 540, 100], ['B', 699, 60]], 25, 30], [[['A', 665], ['B', 774]], []]),\n  ('normal control 6', [[['Q0', 540, 90], ['P2', 860, 100], ['R1', 740, 88]], 10, 15],\n   [[['Q0', 640], ['R1', 840], ['P2', 970]], []]),\n  ('normal control 7', [[['T1', 780, 73], ['R3', 1050, 91], ['T2', 960, 120], ['S0', 600, 90]], 25, 30],\n   [[['S0', 715], ['T1', 875], ['T2', 1110], ['R3', 1165]], [['T2', 'R3']]]),\n  ('normal control 8', [[['R1', 780, 150], ['T0', 600, 60], ['R2', 900, 182]], 25, 15],\n   [[['T0', 675], ['R1', 970], ['R2', 1130]], [['R1', 'R2']]])]]\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-extra-time-sitting-plan-percent-as-minutes","generated_at":"2026-09-29T14:52:04.539803+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Access arrangements extend sittings; the timetable must still leave rest between a student's exams.","root_cause":"The percentage is added to the duration as minutes.","sha256":"186eb98749a8a0e0f5aa62a08b9d4b787677dcb1b56864cec5c60769a3ccf07d","title":"Extra-time percentage added as flat minutes · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.181,"exit_code":1,"observations":[{"actual":[[["A",565]],[]],"check":"regression: percent as minutes 1","expected":[[["A",650]],[]],"passed":false},{"actual":[[["Q0",620],["U1",765]],[]],"check":"regression variant: percent as minutes 2","expected":[[["Q0",805],["U1",885]],[["Q0","U1"]]],"passed":false},{"actual":[[["A",550]],[]],"check":"partial repair guard 3","expected":[[["A",645]],[]],"passed":false},{"actual":[[["A",600],["B",765]],[]],"check":"boundary control 4","expected":[[["A",720],["B",855]],[]],"passed":false},{"actual":[[["A",550],["B",650]],[]],"check":"boundary control 5","expected":[[["A",625],["B",710]],[]],"passed":false},{"actual":[[["R0",615],["W1",795],["S2",1010],["R3",1125]],[]],"check":"normal control 6","expected":[[["R0",685],["W1",885],["S2",1190],["R3",1275]],[["S2","R3"]]],"passed":false},{"actual":[[["S0",665],["P1",820],["W2",915]],[]],"check":"normal control 7","expected":[[["S0",845],["P1",940],["W2",960]],[["S0","P1"],["P1","W2"]]],"passed":false},{"actual":[[["T0",550],["R1",705],["R2",950],["V3",1140]],[]],"check":"normal control 8","expected":[[["T0",625],["R1",855],["R2",1130],["V3",1200]],[["R2","V3"]]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: percent as minutes 1\", \"actual\": [[[\"A\", 565]], []], \"expected\": [[[\"A\", 650]], []], \"passed\": false}, {\"check\": \"regression variant: percent as minutes 2\", \"actual\": [[[\"Q0\", 620], [\"U1\", 765]], []], \"expected\": [[[\"Q0\", 805], [\"U1\", 885]], [[\"Q0\", \"U1\"]]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[[\"A\", 550]], []], \"expected\": [[[\"A\", 645]], []], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[[\"A\", 600], [\"B\", 765]], []], \"expected\": [[[\"A\", 720], [\"B\", 855]], []], \"passed\": false}, {\"check\": \"boundary control 5\", \"actual\": [[[\"A\", 550], [\"B\", 650]], []], \"expected\": [[[\"A\", 625], [\"B\", 710]], []], \"passed\": false}, {\"check\": \"normal control 6\", \"actual\": [[[\"R0\", 615], [\"W1\", 795], [\"S2\", 1010], [\"R3\", 1125]], []], \"expected\": [[[\"R0\", 685], [\"W1\", 885], [\"S2\", 1190], [\"R3\", 1275]], [[\"S2\", \"R3\"]]], \"passed\": false}, {\"check\": \"normal control 7\", \"actual\": [[[\"S0\", 665], [\"P1\", 820], [\"W2\", 915]], []], \"expected\": [[[\"S0\", 845], [\"P1\", 940], [\"W2\", 960]], [[\"S0\", \"P1\"], [\"P1\", \"W2\"]]], \"passed\": false}, {\"check\": \"normal control 8\", \"actual\": [[[\"T0\", 550], [\"R1\", 705], [\"R2\", 950], [\"V3\", 1140]], []], \"expected\": [[[\"T0\", 625], [\"R1\", 855], [\"R2\", 1130], [\"V3\", 1200]], [[\"R2\", \"V3\"]]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.281,"exit_code":1,"observations":[{"actual":[[["A",655]],[]],"check":"regression: percent as minutes 1","expected":[[["A",650]],[]],"passed":false},{"actual":[[["Q0",795],["U1",880]],[["Q0","U1"]]],"check":"regression variant: percent as minutes 2","expected":[[["Q0",805],["U1",885]],[["Q0","U1"]]],"passed":false},{"actual":[[["A",645]],[]],"check":"partial repair guard 3","expected":[[["A",645]],[]],"passed":true},{"actual":[[["A",710],["B",860]],[]],"check":"boundary control 4","expected":[[["A",720],["B",855]],[]],"passed":false},{"actual":[[["A",625],["B",710]],[]],"check":"boundary control 5","expected":[[["A",625],["B",710]],[]],"passed":true},{"actual":[[["R0",690],["W1",885],["S2",1175],["R3",1265]],[["S2","R3"]]],"check":"normal control 6","expected":[[["R0",685],["W1",885],["S2",1190],["R3",1275]],[["S2","R3"]]],"passed":false},{"actual":[[["S0",815],["P1",935],["W2",980]],[["S0","P1"],["P1","W2"]]],"check":"normal control 7","expected":[[["S0",845],["P1",940],["W2",960]],[["S0","P1"],["P1","W2"]]],"passed":false},{"actual":[[["T0",625],["R1",850],["R2",1120],["V3",1200]],[["R2","V3"]]],"check":"normal control 8","expected":[[["T0",625],["R1",855],["R2",1130],["V3",1200]],[["R2","V3"]]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: percent as minutes 1\", \"actual\": [[[\"A\", 655]], []], \"expected\": [[[\"A\", 650]], []], \"passed\": false}, {\"check\": \"regression variant: percent as minutes 2\", \"actual\": [[[\"Q0\", 795], [\"U1\", 880]], [[\"Q0\", \"U1\"]]], \"expected\": [[[\"Q0\", 805], [\"U1\", 885]], [[\"Q0\", \"U1\"]]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[[\"A\", 645]], []], \"expected\": [[[\"A\", 645]], []], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [[[\"A\", 710], [\"B\", 860]], []], \"expected\": [[[\"A\", 720], [\"B\", 855]], []], \"passed\": false}, {\"check\": \"boundary control 5\", \"actual\": [[[\"A\", 625], [\"B\", 710]], []], \"expected\": [[[\"A\", 625], [\"B\", 710]], []], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[[\"R0\", 690], [\"W1\", 885], [\"S2\", 1175], [\"R3\", 1265]], [[\"S2\", \"R3\"]]], \"expected\": [[[\"R0\", 685], [\"W1\", 885], [\"S2\", 1190], [\"R3\", 1275]], [[\"S2\", \"R3\"]]], \"passed\": false}, {\"check\": \"normal control 7\", \"actual\": [[[\"S0\", 815], [\"P1\", 935], [\"W2\", 980]], [[\"S0\", \"P1\"], [\"P1\", \"W2\"]]], \"expected\": [[[\"S0\", 845], [\"P1\", 940], [\"W2\", 960]], [[\"S0\", \"P1\"], [\"P1\", \"W2\"]]], \"passed\": false}, {\"check\": \"normal control 8\", \"actual\": [[[\"T0\", 625], [\"R1\", 850], [\"R2\", 1120], [\"V3\", 1200]], [[\"R2\", \"V3\"]]], \"expected\": [[[\"T0\", 625], [\"R1\", 855], [\"R2\", 1130], [\"V3\", 1200]], [[\"R2\", \"V3\"]]], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}