{"abstract":"A charger finishing exactly at departure is reported as late.","category":"EV charging session scheduling","checks":7,"contract":"chargers are [id, kw, free_at]; kw > 22 is DC (usable only if dc_ok, full kw), otherwise AC limited to the vehicle onboard max_ac. vehicle is [need_kwh, depart, max_ac, dc_ok]. Finish = max(now, free_at) + ceil(need*60/power) minutes. Among chargers finishing by depart pick the lowest power, then earliest finish, then id; otherwise the earliest finish (then id) with status 'late'. Return [id, finish, status] or None when no charger is usable.","evaluation_group":"w2-ev_charging_session_scheduling-charger-matching","failed_approach":"Requiring an extra quarter hour rejects feasible chargers.","family":"w2-ev_charging_session_scheduling-charger-matching-deadline-inclusivity","id":"FA-93276","implementations":{"attempt":{"sha256":"fb4f5f9fdae5ca0026ae726cefa0b5e372f85e6e9ed89d00a468dcd049ea7f76","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(chargers, vehicle, now):\n    need, depart, max_ac, dc_ok = vehicle\n    opts = []\n    for cid, kw, free_at in chargers:\n        if kw > 22:\n            if not dc_ok:\n                continue\n            pw = kw\n        else:\n            pw = min(kw, max_ac)\n        start = max(now, free_at)\n        finish = start + math.ceil(need * 60 / pw)\n        opts.append([pw, finish, cid])\n    if not opts:\n        return None\n    ok = [o for o in opts if o[1] + 15 <= depart]\n    if ok:\n        pw, finish, cid = min(ok)\n        return [cid, finish, 'ok']\n    pw, finish, cid = min(opts, key=lambda o: (o[1], o[2]))\n    return [cid, finish, 'late']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 60], [2, 150, 60], [3, 3.7, 0]], [30, 74, 11, True], 46], [2, 72, 'ok']],\n  ['control 1', [[[1, 22, 60]], [5, 244, 11, False], 8], [1, 88, 'ok']],\n  ['control 2', [[[1, 50, 0], [2, 50, 0]], [5, 160, 11, False], 39], None],\n  ['control 3', [[[1, 7.4, 120], [2, 50, 0], [3, 50, 0], [4, 50, 120]], [45, 375, 11, True], 13],\n   [2, 67, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 50, 120], [2, 7.4, 0], [3, 3.7, 0], [4, 7.4, 60], [5, 50, 10]], [20, 64, 3.7, True], 31],\n   [5, 55, 'ok']],\n  ['control 1', [[[1, 50, 0]], [45, 63, 7.4, True], 12], [1, 66, 'late']],\n  ['control 2',\n   [[[1, 7.4, 60], [2, 7.4, 10], [3, 22, 10], [4, 11, 120], [5, 50, 120]], [45, 353, 7.4, True],\n    45],\n   [5, 174, 'ok']],\n  ['control 3', [[[1, 150, 120], [2, 7.4, 60]], [20, 386, 11, True], 0], [2, 223, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 50, 0], [2, 50, 120], [3, 7.4, 10], [4, 3.7, 0]], [5, 54, 7.4, True], 37], [1, 43, 'ok']],\n  ['control 1', [[[1, 7.4, 10], [2, 7.4, 0]], [45, 88, 7.4, True], 40], [1, 405, 'late']],\n  ['control 2', [[[1, 3.7, 10], [2, 3.7, 120], [3, 11, 10], [4, 50, 0]], [5, 42, 7.4, True], 27],\n   [4, 33, 'ok']],\n  ['control 3',\n   [[[1, 22, 120], [2, 50, 30], [3, 150, 0], [4, 7.4, 60], [5, 7.4, 120]], [5, 316, 7.4, True], 35],\n   [4, 101, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 0], [2, 50, 10], [3, 50, 0], [4, 150, 30], [5, 22, 0]], [10, 143, 7.4, True], 58],\n   [1, 140, 'ok']],\n  ['control 1', [[[1, 7.4, 60]], [30, 240, 3.7, True], 21], [1, 547, 'late']],\n  ['control 2', [[[1, 3.7, 60], [2, 3.7, 120], [3, 150, 30], [4, 150, 0]], [45, 67, 11, False], 57],\n   [1, 790, 'late']],\n  ['control 3', [[[1, 3.7, 10], [2, 50, 60], [3, 22, 10], [4, 7.4, 10]], [30, 289, 7.4, True], 35],\n   [3, 279, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 0], [2, 50, 10], [3, 50, 0], [4, 150, 30], [5, 22, 0]], [10, 143, 7.4, True], 58],\n   [1, 140, 'ok']],\n  ['control 1', [[[1, 50, 60], [2, 50, 60]], [45, 130, 7.4, True], 48], [1, 114, 'ok']],\n  ['control 2', [[[1, 150, 0], [2, 7.4, 10]], [10, 89, 3.7, True], 57], [1, 61, 'ok']],\n  ['control 3', [[[1, 50, 0]], [5, 182, 7.4, False], 45], None]]]\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":"a52e0895d112dd5f70f1ec218b6a3d33f0e2b934765a19aca8a861641004f5fb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(chargers, vehicle, now):\n    need, depart, max_ac, dc_ok = vehicle\n    opts = []\n    for cid, kw, free_at in chargers:\n        if kw > 22:\n            if not dc_ok:\n                continue\n            pw = kw\n        else:\n            pw = min(kw, max_ac)\n        start = max(now, free_at)\n        finish = start + math.ceil(need * 60 / pw)\n        opts.append([pw, finish, cid])\n    if not opts:\n        return None\n    ok = [o for o in opts if o[1] < depart]\n    if ok:\n        pw, finish, cid = min(ok)\n        return [cid, finish, 'ok']\n    pw, finish, cid = min(opts, key=lambda o: (o[1], o[2]))\n    return [cid, finish, 'late']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 60], [2, 150, 60], [3, 3.7, 0]], [30, 74, 11, True], 46], [2, 72, 'ok']],\n  ['control 1', [[[1, 22, 60]], [5, 244, 11, False], 8], [1, 88, 'ok']],\n  ['control 2', [[[1, 50, 0], [2, 50, 0]], [5, 160, 11, False], 39], None],\n  ['control 3', [[[1, 7.4, 120], [2, 50, 0], [3, 50, 0], [4, 50, 120]], [45, 375, 11, True], 13],\n   [2, 67, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 50, 120], [2, 7.4, 0], [3, 3.7, 0], [4, 7.4, 60], [5, 50, 10]], [20, 64, 3.7, True], 31],\n   [5, 55, 'ok']],\n  ['control 1', [[[1, 50, 0]], [45, 63, 7.4, True], 12], [1, 66, 'late']],\n  ['control 2',\n   [[[1, 7.4, 60], [2, 7.4, 10], [3, 22, 10], [4, 11, 120], [5, 50, 120]], [45, 353, 7.4, True],\n    45],\n   [5, 174, 'ok']],\n  ['control 3', [[[1, 150, 120], [2, 7.4, 60]], [20, 386, 11, True], 0], [2, 223, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 50, 0], [2, 50, 120], [3, 7.4, 10], [4, 3.7, 0]], [5, 54, 7.4, True], 37], [1, 43, 'ok']],\n  ['control 1', [[[1, 7.4, 10], [2, 7.4, 0]], [45, 88, 7.4, True], 40], [1, 405, 'late']],\n  ['control 2', [[[1, 3.7, 10], [2, 3.7, 120], [3, 11, 10], [4, 50, 0]], [5, 42, 7.4, True], 27],\n   [4, 33, 'ok']],\n  ['control 3',\n   [[[1, 22, 120], [2, 50, 30], [3, 150, 0], [4, 7.4, 60], [5, 7.4, 120]], [5, 316, 7.4, True], 35],\n   [4, 101, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 0], [2, 50, 10], [3, 50, 0], [4, 150, 30], [5, 22, 0]], [10, 143, 7.4, True], 58],\n   [1, 140, 'ok']],\n  ['control 1', [[[1, 7.4, 60]], [30, 240, 3.7, True], 21], [1, 547, 'late']],\n  ['control 2', [[[1, 3.7, 60], [2, 3.7, 120], [3, 150, 30], [4, 150, 0]], [45, 67, 11, False], 57],\n   [1, 790, 'late']],\n  ['control 3', [[[1, 3.7, 10], [2, 50, 60], [3, 22, 10], [4, 7.4, 10]], [30, 289, 7.4, True], 35],\n   [3, 279, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 0], [2, 50, 10], [3, 50, 0], [4, 150, 30], [5, 22, 0]], [10, 143, 7.4, True], 58],\n   [1, 140, 'ok']],\n  ['control 1', [[[1, 50, 60], [2, 50, 60]], [45, 130, 7.4, True], 48], [1, 114, 'ok']],\n  ['control 2', [[[1, 150, 0], [2, 7.4, 10]], [10, 89, 3.7, True], 57], [1, 61, 'ok']],\n  ['control 3', [[[1, 50, 0]], [5, 182, 7.4, False], 45], None]]]\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":"4c39c8ed699da7c681a7d6e73ef79e504f86dee8a055329049d208699bee2827","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(chargers, vehicle, now):\n    need, depart, max_ac, dc_ok = vehicle\n    opts = []\n    for cid, kw, free_at in chargers:\n        if kw > 22:\n            if not dc_ok:\n                continue\n            pw = kw\n        else:\n            pw = min(kw, max_ac)\n        start = max(now, free_at)\n        finish = start + math.ceil(need * 60 / pw)\n        opts.append([pw, finish, cid])\n    if not opts:\n        return None\n    ok = [o for o in opts if o[1] <= depart]\n    if ok:\n        pw, finish, cid = min(ok)\n        return [cid, finish, 'ok']\n    pw, finish, cid = min(opts, key=lambda o: (o[1], o[2]))\n    return [cid, finish, 'late']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 60], [2, 150, 60], [3, 3.7, 0]], [30, 74, 11, True], 46], [2, 72, 'ok']],\n  ['control 1', [[[1, 22, 60]], [5, 244, 11, False], 8], [1, 88, 'ok']],\n  ['control 2', [[[1, 50, 0], [2, 50, 0]], [5, 160, 11, False], 39], None],\n  ['control 3', [[[1, 7.4, 120], [2, 50, 0], [3, 50, 0], [4, 50, 120]], [45, 375, 11, True], 13],\n   [2, 67, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 50, 120], [2, 7.4, 0], [3, 3.7, 0], [4, 7.4, 60], [5, 50, 10]], [20, 64, 3.7, True], 31],\n   [5, 55, 'ok']],\n  ['control 1', [[[1, 50, 0]], [45, 63, 7.4, True], 12], [1, 66, 'late']],\n  ['control 2',\n   [[[1, 7.4, 60], [2, 7.4, 10], [3, 22, 10], [4, 11, 120], [5, 50, 120]], [45, 353, 7.4, True],\n    45],\n   [5, 174, 'ok']],\n  ['control 3', [[[1, 150, 120], [2, 7.4, 60]], [20, 386, 11, True], 0], [2, 223, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 50, 0], [2, 50, 120], [3, 7.4, 10], [4, 3.7, 0]], [5, 54, 7.4, True], 37], [1, 43, 'ok']],\n  ['control 1', [[[1, 7.4, 10], [2, 7.4, 0]], [45, 88, 7.4, True], 40], [1, 405, 'late']],\n  ['control 2', [[[1, 3.7, 10], [2, 3.7, 120], [3, 11, 10], [4, 50, 0]], [5, 42, 7.4, True], 27],\n   [4, 33, 'ok']],\n  ['control 3',\n   [[[1, 22, 120], [2, 50, 30], [3, 150, 0], [4, 7.4, 60], [5, 7.4, 120]], [5, 316, 7.4, True], 35],\n   [4, 101, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 0], [2, 50, 10], [3, 50, 0], [4, 150, 30], [5, 22, 0]], [10, 143, 7.4, True], 58],\n   [1, 140, 'ok']],\n  ['control 1', [[[1, 7.4, 60]], [30, 240, 3.7, True], 21], [1, 547, 'late']],\n  ['control 2', [[[1, 3.7, 60], [2, 3.7, 120], [3, 150, 30], [4, 150, 0]], [45, 67, 11, False], 57],\n   [1, 790, 'late']],\n  ['control 3', [[[1, 3.7, 10], [2, 50, 60], [3, 22, 10], [4, 7.4, 10]], [30, 289, 7.4, True], 35],\n   [3, 279, 'ok']]],\n [['boundary: 22 kW AC charger', [[[1, 22, 0]], [11, 300, 11, False], 0], [1, 60, 'ok']],\n  ['boundary: finish exactly at departure', [[[1, 7.4, 0]], [37, 300, 7.4, True], 0],\n   [1, 300, 'ok']],\n  ['boundary: only DC and no DC support', [[[1, 50, 0]], [10, 100, 11, False], 0], None],\n  ['regression: deadline inclusivity (partial repair)',\n   [[[1, 7.4, 0], [2, 50, 10], [3, 50, 0], [4, 150, 30], [5, 22, 0]], [10, 143, 7.4, True], 58],\n   [1, 140, 'ok']],\n  ['control 1', [[[1, 50, 60], [2, 50, 60]], [45, 130, 7.4, True], 48], [1, 114, 'ok']],\n  ['control 2', [[[1, 150, 0], [2, 7.4, 10]], [10, 89, 3.7, True], 57], [1, 61, 'ok']],\n  ['control 3', [[[1, 50, 0]], [5, 182, 7.4, False], 45], None]]]\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":"Deterministic stipulated toy contract for teaching; no claim of conformance with any standard, vendor protocol or production controller. 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-ev_charging_session_scheduling-charger-matching-deadline-inclusivity","generated_at":"2026-09-29T14:51:53.641281+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Depot, workplace and public EV chargers schedule sessions against prices, circuit limits and departure deadlines; a wrong decision silently strands a driver or overloads a feeder.","repair":"A finish equal to depart is feasible.","root_cause":"The feasibility test is strict.","sha256":"fec821d9532d280432afcf4cc21c95106b2de7751af4cf7a48c3e43080876bab","title":"Arrival charger matching: deadline inclusivity · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.36,"exit_code":1,"observations":[{"actual":[1,60,"ok"],"check":"boundary: 22 kW AC charger","expected":[1,60,"ok"],"passed":true},{"actual":[1,300,"late"],"check":"boundary: finish exactly at departure","expected":[1,300,"ok"],"passed":false},{"actual":null,"check":"boundary: only DC and no DC support","expected":null,"passed":true},{"actual":[2,72,"late"],"check":"regression: deadline inclusivity (partial repair)","expected":[2,72,"ok"],"passed":false},{"actual":[1,88,"ok"],"check":"control 1","expected":[1,88,"ok"],"passed":true},{"actual":null,"check":"control 2","expected":null,"passed":true},{"actual":[2,67,"ok"],"check":"control 3","expected":[2,67,"ok"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"boundary: 22 kW AC charger\", \"actual\": [1, 60, \"ok\"], \"expected\": [1, 60, \"ok\"], \"passed\": true}, {\"check\": \"boundary: finish exactly at departure\", \"actual\": [1, 300, \"late\"], \"expected\": [1, 300, \"ok\"], \"passed\": false}, {\"check\": \"boundary: only DC and no DC support\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression: deadline inclusivity (partial repair)\", \"actual\": [2, 72, \"late\"], \"expected\": [2, 72, \"ok\"], \"passed\": false}, {\"check\": \"control 1\", \"actual\": [1, 88, \"ok\"], \"expected\": [1, 88, \"ok\"], \"passed\": true}, {\"check\": \"control 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control 3\", \"actual\": [2, 67, \"ok\"], \"expected\": [2, 67, \"ok\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.676,"exit_code":1,"observations":[{"actual":[1,60,"ok"],"check":"boundary: 22 kW AC charger","expected":[1,60,"ok"],"passed":true},{"actual":[1,300,"late"],"check":"boundary: finish exactly at departure","expected":[1,300,"ok"],"passed":false},{"actual":null,"check":"boundary: only DC and no DC support","expected":null,"passed":true},{"actual":[2,72,"ok"],"check":"regression: deadline inclusivity (partial repair)","expected":[2,72,"ok"],"passed":true},{"actual":[1,88,"ok"],"check":"control 1","expected":[1,88,"ok"],"passed":true},{"actual":null,"check":"control 2","expected":null,"passed":true},{"actual":[2,67,"ok"],"check":"control 3","expected":[2,67,"ok"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"boundary: 22 kW AC charger\", \"actual\": [1, 60, \"ok\"], \"expected\": [1, 60, \"ok\"], \"passed\": true}, {\"check\": \"boundary: finish exactly at departure\", \"actual\": [1, 300, \"late\"], \"expected\": [1, 300, \"ok\"], \"passed\": false}, {\"check\": \"boundary: only DC and no DC support\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression: deadline inclusivity (partial repair)\", \"actual\": [2, 72, \"ok\"], \"expected\": [2, 72, \"ok\"], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [1, 88, \"ok\"], \"expected\": [1, 88, \"ok\"], \"passed\": true}, {\"check\": \"control 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control 3\", \"actual\": [2, 67, \"ok\"], \"expected\": [2, 67, \"ok\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.146,"exit_code":0,"observations":[{"actual":[1,60,"ok"],"check":"boundary: 22 kW AC charger","expected":[1,60,"ok"],"passed":true},{"actual":[1,300,"ok"],"check":"boundary: finish exactly at departure","expected":[1,300,"ok"],"passed":true},{"actual":null,"check":"boundary: only DC and no DC support","expected":null,"passed":true},{"actual":[2,72,"ok"],"check":"regression: deadline inclusivity (partial repair)","expected":[2,72,"ok"],"passed":true},{"actual":[1,88,"ok"],"check":"control 1","expected":[1,88,"ok"],"passed":true},{"actual":null,"check":"control 2","expected":null,"passed":true},{"actual":[2,67,"ok"],"check":"control 3","expected":[2,67,"ok"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"boundary: 22 kW AC charger\", \"actual\": [1, 60, \"ok\"], \"expected\": [1, 60, \"ok\"], \"passed\": true}, {\"check\": \"boundary: finish exactly at departure\", \"actual\": [1, 300, \"ok\"], \"expected\": [1, 300, \"ok\"], \"passed\": true}, {\"check\": \"boundary: only DC and no DC support\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression: deadline inclusivity (partial repair)\", \"actual\": [2, 72, \"ok\"], \"expected\": [2, 72, \"ok\"], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [1, 88, \"ok\"], \"expected\": [1, 88, \"ok\"], \"passed\": true}, {\"check\": \"control 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control 3\", \"actual\": [2, 67, \"ok\"], \"expected\": [2, 67, \"ok\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}