{"abstract":"Periodic tasks whose execution equals the period are skipped every other cycle and the overlap counter climbs.","category":"PLC ladder logic scan cycles","checks":8,"contract":"Periodic task triggered every period ms from t=0; exec_times[k] is how long the k-th triggered execution would take. A trigger arriving while the previous execution is still running (trigger time < completion time) is an overlap: it is counted and skipped, not queued; a trigger exactly at completion starts normally. An execution longer than watchdog raises a major fault at start + watchdog and scheduling stops. Return [start_times, overlap_count, fault_time or None].","evaluation_group":"w2-plc-ladder-logic-scan-cycles-periodic-task-overlap","failed_approach":"Exempting the first trigger still treats a back-to-back completion as an overlap.","family":"w2-plc-ladder-logic-scan-cycles-periodic-task-overlap-overlap-boundary","id":"FA-92056","implementations":{"attempt":{"sha256":"f341de25bd553a30ab94b609ec5666be297c6acf263089b3a0812baaaecb18fe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(period, watchdog, exec_times):\n    t_free = 0\n    starts = []\n    overlaps = 0\n    fault = None\n    for k, ex in enumerate(exec_times):\n        trig = k * period\n        if k and trig <= t_free:\n            overlaps += 1\n            continue\n        starts.append(trig)\n        if ex > watchdog:\n            fault = trig + watchdog\n            break\n        t_free = trig + ex\n    return [starts, overlaps, fault]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: scenario 1', [50, 100, [100, 100, 100, 100, 50, 25]], [[0, 100, 200, 250], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 2', [20, 100, [100, 100, 60, 39, 20, 40, 54, 40]], [[0, 100, 140], 5, None]],\n  ['regression: scenario 3', [50, 40, [50, 100, 50, 100, 100, 40]], [[0], 0, 40]]],\n [['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: scenario 1', [20, 60, [60, 20, 36, 40, 20]], [[0, 60], 3, None]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 2',\n   [10, 100, [10, 10, 10, 10, 10, 20, 100, 3, 20, 10, 100]],\n   [[0, 10, 20, 30, 40, 50, 70, 80, 100], 2, None]],\n  ['regression: scenario 3', [20, 100, [40, 40, 51, 40, 100]], [[0, 40], 3, None]]],\n [['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: scenario 3',\n   [20, 30, [20, 30, 6, 30, 40, 39, 61, 36, 40, 40, 30, 20]],\n   [[0, 20, 60, 100], 2, 130]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 1', [20, 100, [100, 20, 60, 100, 40, 20, 30, 12]], [[0, 100, 120], 5, None]],\n  ['regression: scenario 2', [10, 40, [50, 40, 10, 40, 10, 61, 60, 40, 20, 20, 10, 10]], [[0], 0, 40]]],\n [['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: scenario 3',\n   [10, 40, [20, 20, 20, 20, 10, 61, 55, 66, 20, 37, 40, 40]],\n   [[0, 20, 40, 50], 2, 90]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 1',\n   [20, 30, [21, 20, 20, 20, 40, 30, 20, 30, 40, 30, 40]],\n   [[0, 40, 60, 80], 1, 110]],\n  ['regression: scenario 2',\n   [50, 100, [100, 100, 100, 50, 100, 50, 100, 50, 100, 15, 100, 50]],\n   [[0, 100, 200, 300, 400, 500], 6, None]]],\n [['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 10',\n   [10, 40, [40, 40, 40, 20, 10, 40, 14, 21, 20, 40, 41, 10]],\n   [[0, 40, 50, 90], 8, None]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: scenario 1', [25, 60, [70, 25, 60, 35, 25, 15, 60, 60, 25, 50, 25, 4]], [[0], 0, 60]],\n  ['regression: scenario 2', [20, 30, [40, 33, 50, 20, 40, 30, 30, 29, 30, 68, 20]], [[0], 0, 30]]]]\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":"af78ce1958cfbd0c6dca293fcf941282dcc57fd2ffde5a5e18824a1e4b19d672","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(period, watchdog, exec_times):\n    t_free = 0\n    starts = []\n    overlaps = 0\n    fault = None\n    for k, ex in enumerate(exec_times):\n        trig = k * period\n        if trig <= t_free:\n            overlaps += 1\n            continue\n        starts.append(trig)\n        if ex > watchdog:\n            fault = trig + watchdog\n            break\n        t_free = trig + ex\n    return [starts, overlaps, fault]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: scenario 1', [50, 100, [100, 100, 100, 100, 50, 25]], [[0, 100, 200, 250], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 2', [20, 100, [100, 100, 60, 39, 20, 40, 54, 40]], [[0, 100, 140], 5, None]],\n  ['regression: scenario 3', [50, 40, [50, 100, 50, 100, 100, 40]], [[0], 0, 40]]],\n [['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: scenario 1', [20, 60, [60, 20, 36, 40, 20]], [[0, 60], 3, None]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 2',\n   [10, 100, [10, 10, 10, 10, 10, 20, 100, 3, 20, 10, 100]],\n   [[0, 10, 20, 30, 40, 50, 70, 80, 100], 2, None]],\n  ['regression: scenario 3', [20, 100, [40, 40, 51, 40, 100]], [[0, 40], 3, None]]],\n [['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: scenario 3',\n   [20, 30, [20, 30, 6, 30, 40, 39, 61, 36, 40, 40, 30, 20]],\n   [[0, 20, 60, 100], 2, 130]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 1', [20, 100, [100, 20, 60, 100, 40, 20, 30, 12]], [[0, 100, 120], 5, None]],\n  ['regression: scenario 2', [10, 40, [50, 40, 10, 40, 10, 61, 60, 40, 20, 20, 10, 10]], [[0], 0, 40]]],\n [['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: scenario 3',\n   [10, 40, [20, 20, 20, 20, 10, 61, 55, 66, 20, 37, 40, 40]],\n   [[0, 20, 40, 50], 2, 90]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 1',\n   [20, 30, [21, 20, 20, 20, 40, 30, 20, 30, 40, 30, 40]],\n   [[0, 40, 60, 80], 1, 110]],\n  ['regression: scenario 2',\n   [50, 100, [100, 100, 100, 50, 100, 50, 100, 50, 100, 15, 100, 50]],\n   [[0, 100, 200, 300, 400, 500], 6, None]]],\n [['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 10',\n   [10, 40, [40, 40, 40, 20, 10, 40, 14, 21, 20, 40, 41, 10]],\n   [[0, 40, 50, 90], 8, None]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: scenario 1', [25, 60, [70, 25, 60, 35, 25, 15, 60, 60, 25, 50, 25, 4]], [[0], 0, 60]],\n  ['regression: scenario 2', [20, 30, [40, 33, 50, 20, 40, 30, 30, 29, 30, 68, 20]], [[0], 0, 30]]]]\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":"0df9b788a94f1879653922cb63cdc81e10c3f111466f8b524d4e8f303f1ab3fa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(period, watchdog, exec_times):\n    t_free = 0\n    starts = []\n    overlaps = 0\n    fault = None\n    for k, ex in enumerate(exec_times):\n        trig = k * period\n        if trig < t_free:\n            overlaps += 1\n            continue\n        starts.append(trig)\n        if ex > watchdog:\n            fault = trig + watchdog\n            break\n        t_free = trig + ex\n    return [starts, overlaps, fault]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: scenario 1', [50, 100, [100, 100, 100, 100, 50, 25]], [[0, 100, 200, 250], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 2', [20, 100, [100, 100, 60, 39, 20, 40, 54, 40]], [[0, 100, 140], 5, None]],\n  ['regression: scenario 3', [50, 40, [50, 100, 50, 100, 100, 40]], [[0], 0, 40]]],\n [['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: scenario 1', [20, 60, [60, 20, 36, 40, 20]], [[0, 60], 3, None]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 2',\n   [10, 100, [10, 10, 10, 10, 10, 20, 100, 3, 20, 10, 100]],\n   [[0, 10, 20, 30, 40, 50, 70, 80, 100], 2, None]],\n  ['regression: scenario 3', [20, 100, [40, 40, 51, 40, 100]], [[0, 40], 3, None]]],\n [['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: scenario 3',\n   [20, 30, [20, 30, 6, 30, 40, 39, 61, 36, 40, 40, 30, 20]],\n   [[0, 20, 60, 100], 2, 130]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 1', [20, 100, [100, 20, 60, 100, 40, 20, 30, 12]], [[0, 100, 120], 5, None]],\n  ['regression: scenario 2', [10, 40, [50, 40, 10, 40, 10, 61, 60, 40, 20, 20, 10, 10]], [[0], 0, 40]]],\n [['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: scenario 3',\n   [10, 40, [20, 20, 20, 20, 10, 61, 55, 66, 20, 37, 40, 40]],\n   [[0, 20, 40, 50], 2, 90]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 1',\n   [20, 30, [21, 20, 20, 20, 40, 30, 20, 30, 40, 30, 40]],\n   [[0, 40, 60, 80], 1, 110]],\n  ['regression: scenario 2',\n   [50, 100, [100, 100, 100, 50, 100, 50, 100, 50, 100, 15, 100, 50]],\n   [[0, 100, 200, 300, 400, 500], 6, None]]],\n [['regression: skip then drift', [10, 100, [25, 1, 1, 1, 1, 1]], [[0, 30, 40, 50], 2, None]],\n  ['regression: scenario 10',\n   [10, 40, [40, 40, 40, 20, 10, 40, 14, 21, 20, 40, 41, 10]],\n   [[0, 40, 50, 90], 8, None]],\n  ['regression: mixed overlaps', [10, 50, [5, 15, 3, 10, 12, 4]], [[0, 10, 30, 40], 2, None]],\n  ['regression: watchdog exceeded', [10, 12, [5, 13, 4]], [[0, 10], 0, 22]],\n  ['regression: exact watchdog', [20, 30, [30, 5, 5, 5]], [[0, 40, 60], 1, None]],\n  ['regression: first execution overruns', [10, 25, [30, 5]], [[0], 0, 25]],\n  ['regression: scenario 1', [25, 60, [70, 25, 60, 35, 25, 15, 60, 60, 25, 50, 25, 4]], [[0], 0, 60]],\n  ['regression: scenario 2', [20, 30, [40, 33, 50, 20, 40, 30, 30, 29, 30, 68, 20]], [[0], 0, 30]]]]\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":"A deterministic bounded teaching model of one PLC instruction or rung pattern evaluated scan by scan. The stated contract is a stipulated toy convention, not a claim of conformance to any vendor controller or IEC 61131-3 runtime. 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-plc-ladder-logic-scan-cycles-periodic-task-overlap-overlap-boundary","generated_at":"2026-09-29T14:51:42.030941+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ladder programs are executed as repeated scans; each defect here changes what a rung, timer, counter or data-table instruction reports on a particular scan, which is how commissioning and field faults are actually observed.","repair":"Only a trigger strictly before the previous completion is an overlap.","root_cause":"The overlap test uses trigger <= completion time.","sha256":"f5d61068f7c8c393c32b9970b2cca8c61ce2977a20ce4a9d120fc124da8d2376","title":"A trigger at the exact completion time is counted as a task overlap · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.017,"exit_code":1,"observations":[{"actual":[[0,10,30,50],2,null],"check":"regression: mixed overlaps","expected":[[0,10,30,40],2,null],"passed":false},{"actual":[[0,150],4,null],"check":"regression: scenario 1","expected":[[0,100,200,250],2,null],"passed":false},{"actual":[[0,10],0,22],"check":"regression: watchdog exceeded","expected":[[0,10],0,22],"passed":true},{"actual":[[0,40,60],1,null],"check":"regression: exact watchdog","expected":[[0,40,60],1,null],"passed":true},{"actual":[[0],0,25],"check":"regression: first execution overruns","expected":[[0],0,25],"passed":true},{"actual":[[0,30,40,50],2,null],"check":"regression: skip then drift","expected":[[0,30,40,50],2,null],"passed":true},{"actual":[[0,120],6,null],"check":"regression: scenario 2","expected":[[0,100,140],5,null],"passed":false},{"actual":[[0],0,40],"check":"regression: scenario 3","expected":[[0],0,40],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: mixed overlaps\", \"actual\": [[0, 10, 30, 50], 2, null], \"expected\": [[0, 10, 30, 40], 2, null], \"passed\": false}, {\"check\": \"regression: scenario 1\", \"actual\": [[0, 150], 4, null], \"expected\": [[0, 100, 200, 250], 2, null], \"passed\": false}, {\"check\": \"regression: watchdog exceeded\", \"actual\": [[0, 10], 0, 22], \"expected\": [[0, 10], 0, 22], \"passed\": true}, {\"check\": \"regression: exact watchdog\", \"actual\": [[0, 40, 60], 1, null], \"expected\": [[0, 40, 60], 1, null], \"passed\": true}, {\"check\": \"regression: first execution overruns\", \"actual\": [[0], 0, 25], \"expected\": [[0], 0, 25], \"passed\": true}, {\"check\": \"regression: skip then drift\", \"actual\": [[0, 30, 40, 50], 2, null], \"expected\": [[0, 30, 40, 50], 2, null], \"passed\": true}, {\"check\": \"regression: scenario 2\", \"actual\": [[0, 120], 6, null], \"expected\": [[0, 100, 140], 5, null], \"passed\": false}, {\"check\": \"regression: scenario 3\", \"actual\": [[0], 0, 40], \"expected\": [[0], 0, 40], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.714,"exit_code":1,"observations":[{"actual":[[10,30,50],3,null],"check":"regression: mixed overlaps","expected":[[0,10,30,40],2,null],"passed":false},{"actual":[[50,200],4,null],"check":"regression: scenario 1","expected":[[0,100,200,250],2,null],"passed":false},{"actual":[[10],1,22],"check":"regression: watchdog exceeded","expected":[[0,10],0,22],"passed":false},{"actual":[[20,40,60],1,null],"check":"regression: exact watchdog","expected":[[0,40,60],1,null],"passed":false},{"actual":[[10],1,null],"check":"regression: first execution overruns","expected":[[0],0,25],"passed":false},{"actual":[[10,20,30,40,50],1,null],"check":"regression: skip then drift","expected":[[0,30,40,50],2,null],"passed":false},{"actual":[[20,140],6,null],"check":"regression: scenario 2","expected":[[0,100,140],5,null],"passed":false},{"actual":[[50],1,90],"check":"regression: scenario 3","expected":[[0],0,40],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: mixed overlaps\", \"actual\": [[10, 30, 50], 3, null], \"expected\": [[0, 10, 30, 40], 2, null], \"passed\": false}, {\"check\": \"regression: scenario 1\", \"actual\": [[50, 200], 4, null], \"expected\": [[0, 100, 200, 250], 2, null], \"passed\": false}, {\"check\": \"regression: watchdog exceeded\", \"actual\": [[10], 1, 22], \"expected\": [[0, 10], 0, 22], \"passed\": false}, {\"check\": \"regression: exact watchdog\", \"actual\": [[20, 40, 60], 1, null], \"expected\": [[0, 40, 60], 1, null], \"passed\": false}, {\"check\": \"regression: first execution overruns\", \"actual\": [[10], 1, null], \"expected\": [[0], 0, 25], \"passed\": false}, {\"check\": \"regression: skip then drift\", \"actual\": [[10, 20, 30, 40, 50], 1, null], \"expected\": [[0, 30, 40, 50], 2, null], \"passed\": false}, {\"check\": \"regression: scenario 2\", \"actual\": [[20, 140], 6, null], \"expected\": [[0, 100, 140], 5, null], \"passed\": false}, {\"check\": \"regression: scenario 3\", \"actual\": [[50], 1, 90], \"expected\": [[0], 0, 40], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.825,"exit_code":0,"observations":[{"actual":[[0,10,30,40],2,null],"check":"regression: mixed overlaps","expected":[[0,10,30,40],2,null],"passed":true},{"actual":[[0,100,200,250],2,null],"check":"regression: scenario 1","expected":[[0,100,200,250],2,null],"passed":true},{"actual":[[0,10],0,22],"check":"regression: watchdog exceeded","expected":[[0,10],0,22],"passed":true},{"actual":[[0,40,60],1,null],"check":"regression: exact watchdog","expected":[[0,40,60],1,null],"passed":true},{"actual":[[0],0,25],"check":"regression: first execution overruns","expected":[[0],0,25],"passed":true},{"actual":[[0,30,40,50],2,null],"check":"regression: skip then drift","expected":[[0,30,40,50],2,null],"passed":true},{"actual":[[0,100,140],5,null],"check":"regression: scenario 2","expected":[[0,100,140],5,null],"passed":true},{"actual":[[0],0,40],"check":"regression: scenario 3","expected":[[0],0,40],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: mixed overlaps\", \"actual\": [[0, 10, 30, 40], 2, null], \"expected\": [[0, 10, 30, 40], 2, null], \"passed\": true}, {\"check\": \"regression: scenario 1\", \"actual\": [[0, 100, 200, 250], 2, null], \"expected\": [[0, 100, 200, 250], 2, null], \"passed\": true}, {\"check\": \"regression: watchdog exceeded\", \"actual\": [[0, 10], 0, 22], \"expected\": [[0, 10], 0, 22], \"passed\": true}, {\"check\": \"regression: exact watchdog\", \"actual\": [[0, 40, 60], 1, null], \"expected\": [[0, 40, 60], 1, null], \"passed\": true}, {\"check\": \"regression: first execution overruns\", \"actual\": [[0], 0, 25], \"expected\": [[0], 0, 25], \"passed\": true}, {\"check\": \"regression: skip then drift\", \"actual\": [[0, 30, 40, 50], 2, null], \"expected\": [[0, 30, 40, 50], 2, null], \"passed\": true}, {\"check\": \"regression: scenario 2\", \"actual\": [[0, 100, 140], 5, null], \"expected\": [[0, 100, 140], 5, null], \"passed\": true}, {\"check\": \"regression: scenario 3\", \"actual\": [[0], 0, 40], \"expected\": [[0], 0, 40], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}