{"abstract":"Double shifts totalling 16 hours are rejected.","category":"Shift rostering labor rules","checks":8,"contract":"Shifts [start, end] in minutes. For window W, evaluate windows [t, t + W) anchored at each shift start and sum the minutes of all shifts clipped to the window; report the maximum. Return [max in any 24h window, max in any 168h window, violations] where more than 960 minutes in 24h or more than 3600 minutes in 168h is a violation.","evaluation_group":"w2-shift-rostering-labor-rules-rolling-fatigue-windows","failed_approach":"Comparing whole hours ignores 1 to 59 excess minutes.","family":"w2-shift-rostering-labor-rules-rolling-fatigue-windows-daily-limit-units","id":"FA-94226","implementations":{"attempt":{"sha256":"808ed4c1b0a4f212b30a5a2d1a39385b049eb5c2f4016be03e2f4e02fa3611c3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(shifts):\n    starts = sorted(s for s, e in shifts)\n    def worst(W):\n        best = 0\n        for t in starts:\n            tot = sum(max(0, min(e, t + W) - max(s, t)) for s, e in shifts)\n            best = max(best, tot)\n        return best\n    m24, m168 = worst(1440), worst(10080)\n    v = []\n    if m24 // 60 > 16:\n        v.append('24h')\n    if m168 > 3600:\n        v.append('7d')\n    return [m24, m168, v]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: daily limit units 1', [[[0, 480], [480, 960]]], [960, 960, []]),\n  ('regression variant: daily limit units 2',\n   [[[1740, 2340], [540, 1020], [2820, 3420], [4140, 4620], [5100, 5700], [7140, 7740], [0, 480]]],\n   [960, 3840, ['7d']]),\n  ('partial repair guard 3', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[1000, 1500], [0, 480]]], [920, 980, []]),\n  ('normal control 5', [[[1260, 1980], [780, 1260], [2700, 3300], [0, 720], [3540, 4140]]],\n   [1380, 3120, ['24h']]),\n  ('normal control 6', [[[300, 780], [3600, 4080], [4140, 4620], [1680, 2160]]], [960, 1920, []]),\n  ('normal control 7', [[[3060, 3660], [2400, 3000], [3900, 4260], [0, 480], [960, 1680]]],\n   [1200, 2760, ['24h']]),\n  ('normal control 8', [[[2460, 3060], [300, 780], [3540, 4140], [1020, 1740]]], [1200, 2400, ['24h']])],\n [('regression: daily limit units 1', [[[2220, 2580], [1560, 2160], [300, 660]]], [960, 1320, []]),\n  ('regression variant: daily limit units 2',\n   [[[4020, 4740], [300, 660], [6600, 7080], [2820, 3300], [5640, 6120], [1560, 1920]]], [960, 2880, []]),\n  ('partial repair guard 3', [[[0, 1010]]], [1010, 1010, ['24h']]),\n  ('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 5', [[[1000, 1500], [0, 480]]], [920, 980, []]),\n  ('normal control 6', [[[0, 360], [1800, 2280]]], [480, 840, []]),\n  ('normal control 7', [[[300, 1020], [4260, 4740], [3480, 4200], [1260, 1620], [3060, 3420]]],\n   [1320, 2640, ['24h']]),\n  ('normal control 8', [[[0, 600], [1080, 1800], [2040, 2640], [3120, 3720]]], [1200, 2520, ['24h']])],\n [('regression: daily limit units 1', [[[300, 900], [1380, 1740]]], [960, 960, []]),\n  ('regression variant: daily limit units 2', [[[660, 1260], [300, 660]]], [960, 960, []]),\n  ('partial repair guard 3', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),\n  ('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('normal control 5', [[[3720, 4200], [2220, 2820], [300, 780]]], [600, 1560, []]),\n  ('normal control 6', [[[4680, 5280], [3960, 4440], [2640, 3240], [1440, 1920], [0, 720], [5520, 6240]]],\n   [1200, 3600, ['24h']]),\n  ('normal control 7', [[[300, 900], [1380, 1860]]], [960, 1080, []]),\n  ('normal control 8',\n   [[[960, 1680], [6480, 6840], [3360, 3720], [7740, 8340], [5160, 5760], [0, 480], [1920, 2640]]],\n   [1200, 3840, ['24h', '7d']])],\n [('regression: daily limit units 1', [[[2520, 3120], [2100, 2460], [300, 660]]], [960, 1320, []]),\n  ('regression variant: daily limit units 2', [[[300, 660], [2580, 2940], [1140, 1860]]], [960, 1440, []]),\n  ('partial repair guard 3', [[[0, 500], [500, 1000]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],\n   [720, 3600, []]),\n  ('boundary control 5', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),\n  ('normal control 6', [[[3120, 3720], [1200, 1800], [1860, 2220], [0, 720]]], [960, 2280, []]),\n  ('normal control 7',\n   [[[4380, 4740], [6180, 6540], [300, 1020], [4980, 5460], [3540, 4140], [2460, 3060], [7440, 7800]]],\n   [960, 3480, []]),\n  ('normal control 8',\n   [[[2520, 2880], [7080, 7680], [0, 600], [4800, 5280], [6000, 6360], [600, 1080], [3600, 4320]]],\n   [1080, 3600, ['24h']])],\n [('regression: daily limit units 1',\n   [[[5700, 6180], [3960, 4320], [4380, 4980], [0, 480], [1920, 2400], [2880, 3480]]], [960, 3000, []]),\n  ('regression variant: daily limit units 2', [[[300, 660], [900, 1500]]], [960, 960, []]),\n  ('partial repair guard 3', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[0, 1010]]], [1010, 1010, ['24h']]),\n  ('boundary control 5', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],\n   [720, 3600, []]),\n  ('normal control 6',\n   [[[1200, 1800], [480, 1200], [0, 480], [4500, 5220], [7140, 7620], [2880, 3600], [5940, 6420],\n     [2280, 2880]]],\n   [1440, 4800, ['24h', '7d']]),\n  ('normal control 7', [[[4140, 4620], [1800, 2520], [0, 360], [2760, 3240]]], [1200, 2040, ['24h']]),\n  ('normal control 8', [[[300, 780], [840, 1560]]], [1200, 1200, ['24h']])]]\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":"0debfdb3522fc7ede3755a39b83de5b11627ac7f45e0eb30c05264bd58c88a2a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(shifts):\n    starts = sorted(s for s, e in shifts)\n    def worst(W):\n        best = 0\n        for t in starts:\n            tot = sum(max(0, min(e, t + W) - max(s, t)) for s, e in shifts)\n            best = max(best, tot)\n        return best\n    m24, m168 = worst(1440), worst(10080)\n    v = []\n    if m24 >= 960:\n        v.append('24h')\n    if m168 > 3600:\n        v.append('7d')\n    return [m24, m168, v]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: daily limit units 1', [[[0, 480], [480, 960]]], [960, 960, []]),\n  ('regression variant: daily limit units 2',\n   [[[1740, 2340], [540, 1020], [2820, 3420], [4140, 4620], [5100, 5700], [7140, 7740], [0, 480]]],\n   [960, 3840, ['7d']]),\n  ('partial repair guard 3', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[1000, 1500], [0, 480]]], [920, 980, []]),\n  ('normal control 5', [[[1260, 1980], [780, 1260], [2700, 3300], [0, 720], [3540, 4140]]],\n   [1380, 3120, ['24h']]),\n  ('normal control 6', [[[300, 780], [3600, 4080], [4140, 4620], [1680, 2160]]], [960, 1920, []]),\n  ('normal control 7', [[[3060, 3660], [2400, 3000], [3900, 4260], [0, 480], [960, 1680]]],\n   [1200, 2760, ['24h']]),\n  ('normal control 8', [[[2460, 3060], [300, 780], [3540, 4140], [1020, 1740]]], [1200, 2400, ['24h']])],\n [('regression: daily limit units 1', [[[2220, 2580], [1560, 2160], [300, 660]]], [960, 1320, []]),\n  ('regression variant: daily limit units 2',\n   [[[4020, 4740], [300, 660], [6600, 7080], [2820, 3300], [5640, 6120], [1560, 1920]]], [960, 2880, []]),\n  ('partial repair guard 3', [[[0, 1010]]], [1010, 1010, ['24h']]),\n  ('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 5', [[[1000, 1500], [0, 480]]], [920, 980, []]),\n  ('normal control 6', [[[0, 360], [1800, 2280]]], [480, 840, []]),\n  ('normal control 7', [[[300, 1020], [4260, 4740], [3480, 4200], [1260, 1620], [3060, 3420]]],\n   [1320, 2640, ['24h']]),\n  ('normal control 8', [[[0, 600], [1080, 1800], [2040, 2640], [3120, 3720]]], [1200, 2520, ['24h']])],\n [('regression: daily limit units 1', [[[300, 900], [1380, 1740]]], [960, 960, []]),\n  ('regression variant: daily limit units 2', [[[660, 1260], [300, 660]]], [960, 960, []]),\n  ('partial repair guard 3', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),\n  ('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('normal control 5', [[[3720, 4200], [2220, 2820], [300, 780]]], [600, 1560, []]),\n  ('normal control 6', [[[4680, 5280], [3960, 4440], [2640, 3240], [1440, 1920], [0, 720], [5520, 6240]]],\n   [1200, 3600, ['24h']]),\n  ('normal control 7', [[[300, 900], [1380, 1860]]], [960, 1080, []]),\n  ('normal control 8',\n   [[[960, 1680], [6480, 6840], [3360, 3720], [7740, 8340], [5160, 5760], [0, 480], [1920, 2640]]],\n   [1200, 3840, ['24h', '7d']])],\n [('regression: daily limit units 1', [[[2520, 3120], [2100, 2460], [300, 660]]], [960, 1320, []]),\n  ('regression variant: daily limit units 2', [[[300, 660], [2580, 2940], [1140, 1860]]], [960, 1440, []]),\n  ('partial repair guard 3', [[[0, 500], [500, 1000]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],\n   [720, 3600, []]),\n  ('boundary control 5', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),\n  ('normal control 6', [[[3120, 3720], [1200, 1800], [1860, 2220], [0, 720]]], [960, 2280, []]),\n  ('normal control 7',\n   [[[4380, 4740], [6180, 6540], [300, 1020], [4980, 5460], [3540, 4140], [2460, 3060], [7440, 7800]]],\n   [960, 3480, []]),\n  ('normal control 8',\n   [[[2520, 2880], [7080, 7680], [0, 600], [4800, 5280], [6000, 6360], [600, 1080], [3600, 4320]]],\n   [1080, 3600, ['24h']])],\n [('regression: daily limit units 1',\n   [[[5700, 6180], [3960, 4320], [4380, 4980], [0, 480], [1920, 2400], [2880, 3480]]], [960, 3000, []]),\n  ('regression variant: daily limit units 2', [[[300, 660], [900, 1500]]], [960, 960, []]),\n  ('partial repair guard 3', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[0, 1010]]], [1010, 1010, ['24h']]),\n  ('boundary control 5', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],\n   [720, 3600, []]),\n  ('normal control 6',\n   [[[1200, 1800], [480, 1200], [0, 480], [4500, 5220], [7140, 7620], [2880, 3600], [5940, 6420],\n     [2280, 2880]]],\n   [1440, 4800, ['24h', '7d']]),\n  ('normal control 7', [[[4140, 4620], [1800, 2520], [0, 360], [2760, 3240]]], [1200, 2040, ['24h']]),\n  ('normal control 8', [[[300, 780], [840, 1560]]], [1200, 1200, ['24h']])]]\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":"a0b548183ead4a487c3ea5725a0edde3a002d32135b5a1c9a5eb9973eb352fb6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(shifts):\n    starts = sorted(s for s, e in shifts)\n    def worst(W):\n        best = 0\n        for t in starts:\n            tot = sum(max(0, min(e, t + W) - max(s, t)) for s, e in shifts)\n            best = max(best, tot)\n        return best\n    m24, m168 = worst(1440), worst(10080)\n    v = []\n    if m24 > 960:\n        v.append('24h')\n    if m168 > 3600:\n        v.append('7d')\n    return [m24, m168, v]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: daily limit units 1', [[[0, 480], [480, 960]]], [960, 960, []]),\n  ('regression variant: daily limit units 2',\n   [[[1740, 2340], [540, 1020], [2820, 3420], [4140, 4620], [5100, 5700], [7140, 7740], [0, 480]]],\n   [960, 3840, ['7d']]),\n  ('partial repair guard 3', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[1000, 1500], [0, 480]]], [920, 980, []]),\n  ('normal control 5', [[[1260, 1980], [780, 1260], [2700, 3300], [0, 720], [3540, 4140]]],\n   [1380, 3120, ['24h']]),\n  ('normal control 6', [[[300, 780], [3600, 4080], [4140, 4620], [1680, 2160]]], [960, 1920, []]),\n  ('normal control 7', [[[3060, 3660], [2400, 3000], [3900, 4260], [0, 480], [960, 1680]]],\n   [1200, 2760, ['24h']]),\n  ('normal control 8', [[[2460, 3060], [300, 780], [3540, 4140], [1020, 1740]]], [1200, 2400, ['24h']])],\n [('regression: daily limit units 1', [[[2220, 2580], [1560, 2160], [300, 660]]], [960, 1320, []]),\n  ('regression variant: daily limit units 2',\n   [[[4020, 4740], [300, 660], [6600, 7080], [2820, 3300], [5640, 6120], [1560, 1920]]], [960, 2880, []]),\n  ('partial repair guard 3', [[[0, 1010]]], [1010, 1010, ['24h']]),\n  ('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 5', [[[1000, 1500], [0, 480]]], [920, 980, []]),\n  ('normal control 6', [[[0, 360], [1800, 2280]]], [480, 840, []]),\n  ('normal control 7', [[[300, 1020], [4260, 4740], [3480, 4200], [1260, 1620], [3060, 3420]]],\n   [1320, 2640, ['24h']]),\n  ('normal control 8', [[[0, 600], [1080, 1800], [2040, 2640], [3120, 3720]]], [1200, 2520, ['24h']])],\n [('regression: daily limit units 1', [[[300, 900], [1380, 1740]]], [960, 960, []]),\n  ('regression variant: daily limit units 2', [[[660, 1260], [300, 660]]], [960, 960, []]),\n  ('partial repair guard 3', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),\n  ('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('normal control 5', [[[3720, 4200], [2220, 2820], [300, 780]]], [600, 1560, []]),\n  ('normal control 6', [[[4680, 5280], [3960, 4440], [2640, 3240], [1440, 1920], [0, 720], [5520, 6240]]],\n   [1200, 3600, ['24h']]),\n  ('normal control 7', [[[300, 900], [1380, 1860]]], [960, 1080, []]),\n  ('normal control 8',\n   [[[960, 1680], [6480, 6840], [3360, 3720], [7740, 8340], [5160, 5760], [0, 480], [1920, 2640]]],\n   [1200, 3840, ['24h', '7d']])],\n [('regression: daily limit units 1', [[[2520, 3120], [2100, 2460], [300, 660]]], [960, 1320, []]),\n  ('regression variant: daily limit units 2', [[[300, 660], [2580, 2940], [1140, 1860]]], [960, 1440, []]),\n  ('partial repair guard 3', [[[0, 500], [500, 1000]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],\n   [720, 3600, []]),\n  ('boundary control 5', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),\n  ('normal control 6', [[[3120, 3720], [1200, 1800], [1860, 2220], [0, 720]]], [960, 2280, []]),\n  ('normal control 7',\n   [[[4380, 4740], [6180, 6540], [300, 1020], [4980, 5460], [3540, 4140], [2460, 3060], [7440, 7800]]],\n   [960, 3480, []]),\n  ('normal control 8',\n   [[[2520, 2880], [7080, 7680], [0, 600], [4800, 5280], [6000, 6360], [600, 1080], [3600, 4320]]],\n   [1080, 3600, ['24h']])],\n [('regression: daily limit units 1',\n   [[[5700, 6180], [3960, 4320], [4380, 4980], [0, 480], [1920, 2400], [2880, 3480]]], [960, 3000, []]),\n  ('regression variant: daily limit units 2', [[[300, 660], [900, 1500]]], [960, 960, []]),\n  ('partial repair guard 3', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),\n  ('boundary control 4', [[[0, 1010]]], [1010, 1010, ['24h']]),\n  ('boundary control 5', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],\n   [720, 3600, []]),\n  ('normal control 6',\n   [[[1200, 1800], [480, 1200], [0, 480], [4500, 5220], [7140, 7620], [2880, 3600], [5940, 6420],\n     [2280, 2880]]],\n   [1440, 4800, ['24h', '7d']]),\n  ('normal control 7', [[[4140, 4620], [1800, 2520], [0, 360], [2760, 3240]]], [1200, 2040, ['24h']]),\n  ('normal control 8', [[[300, 780], [840, 1560]]], [1200, 1200, ['24h']])]]\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 labor rule for a bounded roster model; it is not legal advice and does not claim conformance with any jurisdiction, award, or collective agreement. 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-shift-rostering-labor-rules-rolling-fatigue-windows-daily-limit-units","generated_at":"2026-09-29T14:52:02.366511+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Rolling-window fatigue limits catch hours concentrated across calendar-day boundaries.","repair":"Flag only totals above 960 minutes.","root_cause":"The 24-hour limit comparison is inclusive.","sha256":"330ae337335a1af2802d360ebeaacf915d43284232a61c459336ddc9d0190b96","title":"Exactly sixteen hours in 24 flagged as fatigue breach · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.819,"exit_code":1,"observations":[{"actual":[960,960,[]],"check":"regression: daily limit units 1","expected":[960,960,[]],"passed":true},{"actual":[960,3840,["7d"]],"check":"regression variant: daily limit units 2","expected":[960,3840,["7d"]],"passed":true},{"actual":[1000,1000,[]],"check":"partial repair guard 3","expected":[1000,1000,["24h"]],"passed":false},{"actual":[920,980,[]],"check":"boundary control 4","expected":[920,980,[]],"passed":true},{"actual":[1380,3120,["24h"]],"check":"normal control 5","expected":[1380,3120,["24h"]],"passed":true},{"actual":[960,1920,[]],"check":"normal control 6","expected":[960,1920,[]],"passed":true},{"actual":[1200,2760,["24h"]],"check":"normal control 7","expected":[1200,2760,["24h"]],"passed":true},{"actual":[1200,2400,["24h"]],"check":"normal control 8","expected":[1200,2400,["24h"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: daily limit units 1\", \"actual\": [960, 960, []], \"expected\": [960, 960, []], \"passed\": true}, {\"check\": \"regression variant: daily limit units 2\", \"actual\": [960, 3840, [\"7d\"]], \"expected\": [960, 3840, [\"7d\"]], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [1000, 1000, []], \"expected\": [1000, 1000, [\"24h\"]], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [920, 980, []], \"expected\": [920, 980, []], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [1380, 3120, [\"24h\"]], \"expected\": [1380, 3120, [\"24h\"]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [960, 1920, []], \"expected\": [960, 1920, []], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [1200, 2760, [\"24h\"]], \"expected\": [1200, 2760, [\"24h\"]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [1200, 2400, [\"24h\"]], \"expected\": [1200, 2400, [\"24h\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.259,"exit_code":1,"observations":[{"actual":[960,960,["24h"]],"check":"regression: daily limit units 1","expected":[960,960,[]],"passed":false},{"actual":[960,3840,["24h","7d"]],"check":"regression variant: daily limit units 2","expected":[960,3840,["7d"]],"passed":false},{"actual":[1000,1000,["24h"]],"check":"partial repair guard 3","expected":[1000,1000,["24h"]],"passed":true},{"actual":[920,980,[]],"check":"boundary control 4","expected":[920,980,[]],"passed":true},{"actual":[1380,3120,["24h"]],"check":"normal control 5","expected":[1380,3120,["24h"]],"passed":true},{"actual":[960,1920,["24h"]],"check":"normal control 6","expected":[960,1920,[]],"passed":false},{"actual":[1200,2760,["24h"]],"check":"normal control 7","expected":[1200,2760,["24h"]],"passed":true},{"actual":[1200,2400,["24h"]],"check":"normal control 8","expected":[1200,2400,["24h"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: daily limit units 1\", \"actual\": [960, 960, [\"24h\"]], \"expected\": [960, 960, []], \"passed\": false}, {\"check\": \"regression variant: daily limit units 2\", \"actual\": [960, 3840, [\"24h\", \"7d\"]], \"expected\": [960, 3840, [\"7d\"]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [1000, 1000, [\"24h\"]], \"expected\": [1000, 1000, [\"24h\"]], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [920, 980, []], \"expected\": [920, 980, []], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [1380, 3120, [\"24h\"]], \"expected\": [1380, 3120, [\"24h\"]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [960, 1920, [\"24h\"]], \"expected\": [960, 1920, []], \"passed\": false}, {\"check\": \"normal control 7\", \"actual\": [1200, 2760, [\"24h\"]], \"expected\": [1200, 2760, [\"24h\"]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [1200, 2400, [\"24h\"]], \"expected\": [1200, 2400, [\"24h\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.356,"exit_code":0,"observations":[{"actual":[960,960,[]],"check":"regression: daily limit units 1","expected":[960,960,[]],"passed":true},{"actual":[960,3840,["7d"]],"check":"regression variant: daily limit units 2","expected":[960,3840,["7d"]],"passed":true},{"actual":[1000,1000,["24h"]],"check":"partial repair guard 3","expected":[1000,1000,["24h"]],"passed":true},{"actual":[920,980,[]],"check":"boundary control 4","expected":[920,980,[]],"passed":true},{"actual":[1380,3120,["24h"]],"check":"normal control 5","expected":[1380,3120,["24h"]],"passed":true},{"actual":[960,1920,[]],"check":"normal control 6","expected":[960,1920,[]],"passed":true},{"actual":[1200,2760,["24h"]],"check":"normal control 7","expected":[1200,2760,["24h"]],"passed":true},{"actual":[1200,2400,["24h"]],"check":"normal control 8","expected":[1200,2400,["24h"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: daily limit units 1\", \"actual\": [960, 960, []], \"expected\": [960, 960, []], \"passed\": true}, {\"check\": \"regression variant: daily limit units 2\", \"actual\": [960, 3840, [\"7d\"]], \"expected\": [960, 3840, [\"7d\"]], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [1000, 1000, [\"24h\"]], \"expected\": [1000, 1000, [\"24h\"]], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [920, 980, []], \"expected\": [920, 980, []], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [1380, 3120, [\"24h\"]], \"expected\": [1380, 3120, [\"24h\"]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [960, 1920, []], \"expected\": [960, 1920, []], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [1200, 2760, [\"24h\"]], \"expected\": [1200, 2760, [\"24h\"]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [1200, 2400, [\"24h\"]], \"expected\": [1200, 2400, [\"24h\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}