FA-94216 / Shift rostering labor rules / Open access
Shift running past the window end counted in full · case 01
A long shift starting late in the window pushes the total over the limit.
ROOT CAUSE
Shift minutes are not clipped at the window end.
VERIFIED REPAIR
Clip each shift at the window end t + W.
Unsuccessful approach: Clipping one minute early undercounts every shift reaching the end.
Case 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.
Why this case matters
Rolling-window fatigue limits catch hours concentrated across calendar-day boundaries.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(shifts):
starts = sorted(s for s, e in shifts)
def worst(W):
best = 0
for t in starts:
tot = sum(max(0, e - max(s, t)) for s, e in shifts)
best = max(best, tot)
return best
m24, m168 = worst(1440), worst(10080)
v = []
if m24 > 960:
v.append('24h')
if m168 > 3600:
v.append('7d')
return [m24, m168, v]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: window end clip 1', [[[0, 600], [1200, 1800]]], [840, 1200, []]),
('regression variant: window end clip 2', [[[2700, 3420], [0, 720], [4320, 4680], [1440, 1800]]],
[720, 2160, []]),
('partial repair guard 3',
[[[4680, 5160], [4080, 4440], [1920, 2640], [1200, 1680], [6120, 6600], [0, 720], [5400, 5880],
[3540, 4020]]],
[1200, 4200, ['24h', '7d']]),
('boundary control 4', [[[1000, 1500], [0, 480]]], [920, 980, []]),
('boundary control 5', [[[0, 480], [480, 960]]], [960, 960, []]),
('normal control 6',
[[[3720, 4440], [6300, 7020], [3120, 3480], [0, 600], [5340, 6060], [660, 1140], [1200, 1680],
[7020, 7740]]],
[1440, 4800, ['24h', '7d']]),
('normal control 7', [[[0, 360], [3840, 4440], [600, 1320], [2760, 3120]]], [1080, 2040, ['24h']]),
('normal control 8', [[[300, 900], [1380, 1740]]], [960, 960, []])],
[('regression: window end clip 1', [[[1000, 1500], [0, 480]]], [920, 980, []]),
('regression variant: window end clip 2', [[[2520, 3120], [2100, 2460], [300, 660]]], [960, 1320, []]),
('partial repair guard 3', [[[3840, 4560], [5460, 6180], [2880, 3360], [1500, 1980], [0, 600]]],
[960, 3000, []]),
('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),
('normal control 5',
[[[6180, 6660], [1680, 2040], [7140, 7500], [720, 1200], [8400, 9120], [3480, 4080], [300, 660],
[4980, 5460]]],
[900, 3840, ['7d']]),
('normal control 6',
[[[6900, 7620], [1260, 1740], [9060, 9780], [4860, 5220], [3060, 3420], [1740, 2340], [5700, 6180],
[300, 1020]]],
[1200, 4440, ['24h', '7d']]),
('normal control 7', [[[2340, 2700], [300, 900]]], [600, 960, []]),
('normal control 8',
[[[3720, 4320], [2460, 2820], [6240, 6960], [9180, 9660], [300, 1020], [5040, 5760], [7680, 8040],
[8100, 8700]]],
[960, 4560, ['7d']])],
[('regression: window end clip 1', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('regression variant: window end clip 2', [[[2160, 2640], [300, 780], [840, 1440]]], [1080, 1560, ['24h']]),
('partial repair guard 3',
[[[1080, 1440], [7260, 7860], [1920, 2520], [0, 600], [5460, 5820], [3300, 4020], [2520, 3240]]],
[1380, 3960, ['24h', '7d']]),
('boundary control 4', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),
('boundary control 5', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),
('normal control 6', [[[1560, 2160], [300, 780], [780, 1500]]], [1380, 1800, ['24h']]),
('normal control 7',
[[[1680, 2400], [3840, 4200], [5040, 5640], [300, 780], [4680, 5040], [6540, 7260], [6120, 6480],
[7500, 7860]]],
[1140, 3960, ['24h', '7d']]),
('normal control 8', [[[3000, 3360], [300, 1020], [2460, 2940], [4800, 5520]]], [840, 2280, []])],
[('regression: window end clip 1', [[[0, 480], [1920, 2640]]], [720, 1200, []]),
('regression variant: window end clip 2',
[[[6060, 6420], [5100, 5580], [1080, 1560], [0, 360], [3120, 3600], [3840, 4200], [1620, 2220]]],
[1080, 3120, ['24h']]),
('partial repair guard 3',
[[[2580, 3180], [4500, 5220], [7380, 8100], [0, 600], [1500, 2100], [9000, 9720], [3420, 4020],
[6120, 6480]]],
[1200, 4920, ['24h', '7d']]),
('boundary control 4', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('boundary control 5', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),
('normal control 6', [[[1920, 2520], [0, 480], [720, 1200], [2760, 3480]]], [1200, 2280, ['24h']]),
('normal control 7', [[[1320, 1920], [2820, 3180], [0, 600]]], [720, 1560, []]),
('normal control 8',
[[[1200, 1560], [2280, 2880], [0, 480], [720, 1200], [7440, 8040], [5940, 6540], [3360, 3960],
[4020, 4500]]],
[1200, 4200, ['24h', '7d']])],
[('regression: window end clip 1',
[[[0, 600], [3480, 3960], [5400, 5880], [840, 1200], [4200, 4920], [1680, 2040]]], [1200, 3000, ['24h']]),
('regression variant: window end clip 2',
[[[1920, 2640], [5100, 5580], [2640, 3000], [0, 720], [3060, 3780], [960, 1440], [3840, 4200],
[6300, 6780]]],
[1380, 4320, ['24h', '7d']]),
('partial repair guard 3', [[[1920, 2520], [0, 480], [720, 1200], [2760, 3480]]], [1200, 2280, ['24h']]),
('boundary control 4', [[[0, 1010]]], [1010, 1010, ['24h']]),
('boundary control 5', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('normal control 6', [[[1380, 2100], [2340, 2700], [3600, 4200], [300, 900], [4260, 4620], [5100, 5580]]],
[1080, 3120, ['24h']]),
('normal control 7',
[[[0, 720], [5400, 6000], [9180, 9900], [7980, 8460], [10140, 10620], [1620, 2340], [3240, 3960],
[7440, 7920]]],
[1200, 4440, ['24h', '7d']]),
('normal control 8', [[[1740, 2100], [2580, 3300], [0, 600], [1080, 1680], [3540, 4260]]],
[1200, 3000, ['24h']])]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: window end clip 1 | [1200, 1200, ['24h']] | [840, 1200, []] | Failed |
| regression variant: window end clip 2 | [2160, 2160, ['24h']] | [720, 2160, []] | Failed |
| partial repair guard 3 | [4200, 4200, ['24h', '7d']] | [1200, 4200, ['24h', '7d']] | Failed |
| boundary control 4 | [980, 980, ['24h']] | [920, 980, []] | Failed |
| boundary control 5 | [960, 960, []] | [960, 960, []] | Passed |
| normal control 6 | [4800, 4800, ['24h', '7d']] | [1440, 4800, ['24h', '7d']] | Failed |
| normal control 7 | [2040, 2040, ['24h']] | [1080, 2040, ['24h']] | Failed |
| normal control 8 | [960, 960, []] | [960, 960, []] | Passed |
SHA-256 / 3a6e761f3e6bd3895757cdaa5e7d05ae8ef71d4afcfa2f7517a25f3fe6a97cea
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(shifts):
starts = sorted(s for s, e in shifts)
def worst(W):
best = 0
for t in starts:
tot = sum(max(0, min(e, t + W - 1) - max(s, t)) for s, e in shifts)
best = max(best, tot)
return best
m24, m168 = worst(1440), worst(10080)
v = []
if m24 > 960:
v.append('24h')
if m168 > 3600:
v.append('7d')
return [m24, m168, v]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: window end clip 1', [[[0, 600], [1200, 1800]]], [840, 1200, []]),
('regression variant: window end clip 2', [[[2700, 3420], [0, 720], [4320, 4680], [1440, 1800]]],
[720, 2160, []]),
('partial repair guard 3',
[[[4680, 5160], [4080, 4440], [1920, 2640], [1200, 1680], [6120, 6600], [0, 720], [5400, 5880],
[3540, 4020]]],
[1200, 4200, ['24h', '7d']]),
('boundary control 4', [[[1000, 1500], [0, 480]]], [920, 980, []]),
('boundary control 5', [[[0, 480], [480, 960]]], [960, 960, []]),
('normal control 6',
[[[3720, 4440], [6300, 7020], [3120, 3480], [0, 600], [5340, 6060], [660, 1140], [1200, 1680],
[7020, 7740]]],
[1440, 4800, ['24h', '7d']]),
('normal control 7', [[[0, 360], [3840, 4440], [600, 1320], [2760, 3120]]], [1080, 2040, ['24h']]),
('normal control 8', [[[300, 900], [1380, 1740]]], [960, 960, []])],
[('regression: window end clip 1', [[[1000, 1500], [0, 480]]], [920, 980, []]),
('regression variant: window end clip 2', [[[2520, 3120], [2100, 2460], [300, 660]]], [960, 1320, []]),
('partial repair guard 3', [[[3840, 4560], [5460, 6180], [2880, 3360], [1500, 1980], [0, 600]]],
[960, 3000, []]),
('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),
('normal control 5',
[[[6180, 6660], [1680, 2040], [7140, 7500], [720, 1200], [8400, 9120], [3480, 4080], [300, 660],
[4980, 5460]]],
[900, 3840, ['7d']]),
('normal control 6',
[[[6900, 7620], [1260, 1740], [9060, 9780], [4860, 5220], [3060, 3420], [1740, 2340], [5700, 6180],
[300, 1020]]],
[1200, 4440, ['24h', '7d']]),
('normal control 7', [[[2340, 2700], [300, 900]]], [600, 960, []]),
('normal control 8',
[[[3720, 4320], [2460, 2820], [6240, 6960], [9180, 9660], [300, 1020], [5040, 5760], [7680, 8040],
[8100, 8700]]],
[960, 4560, ['7d']])],
[('regression: window end clip 1', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('regression variant: window end clip 2', [[[2160, 2640], [300, 780], [840, 1440]]], [1080, 1560, ['24h']]),
('partial repair guard 3',
[[[1080, 1440], [7260, 7860], [1920, 2520], [0, 600], [5460, 5820], [3300, 4020], [2520, 3240]]],
[1380, 3960, ['24h', '7d']]),
('boundary control 4', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),
('boundary control 5', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),
('normal control 6', [[[1560, 2160], [300, 780], [780, 1500]]], [1380, 1800, ['24h']]),
('normal control 7',
[[[1680, 2400], [3840, 4200], [5040, 5640], [300, 780], [4680, 5040], [6540, 7260], [6120, 6480],
[7500, 7860]]],
[1140, 3960, ['24h', '7d']]),
('normal control 8', [[[3000, 3360], [300, 1020], [2460, 2940], [4800, 5520]]], [840, 2280, []])],
[('regression: window end clip 1', [[[0, 480], [1920, 2640]]], [720, 1200, []]),
('regression variant: window end clip 2',
[[[6060, 6420], [5100, 5580], [1080, 1560], [0, 360], [3120, 3600], [3840, 4200], [1620, 2220]]],
[1080, 3120, ['24h']]),
('partial repair guard 3',
[[[2580, 3180], [4500, 5220], [7380, 8100], [0, 600], [1500, 2100], [9000, 9720], [3420, 4020],
[6120, 6480]]],
[1200, 4920, ['24h', '7d']]),
('boundary control 4', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('boundary control 5', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),
('normal control 6', [[[1920, 2520], [0, 480], [720, 1200], [2760, 3480]]], [1200, 2280, ['24h']]),
('normal control 7', [[[1320, 1920], [2820, 3180], [0, 600]]], [720, 1560, []]),
('normal control 8',
[[[1200, 1560], [2280, 2880], [0, 480], [720, 1200], [7440, 8040], [5940, 6540], [3360, 3960],
[4020, 4500]]],
[1200, 4200, ['24h', '7d']])],
[('regression: window end clip 1',
[[[0, 600], [3480, 3960], [5400, 5880], [840, 1200], [4200, 4920], [1680, 2040]]], [1200, 3000, ['24h']]),
('regression variant: window end clip 2',
[[[1920, 2640], [5100, 5580], [2640, 3000], [0, 720], [3060, 3780], [960, 1440], [3840, 4200],
[6300, 6780]]],
[1380, 4320, ['24h', '7d']]),
('partial repair guard 3', [[[1920, 2520], [0, 480], [720, 1200], [2760, 3480]]], [1200, 2280, ['24h']]),
('boundary control 4', [[[0, 1010]]], [1010, 1010, ['24h']]),
('boundary control 5', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('normal control 6', [[[1380, 2100], [2340, 2700], [3600, 4200], [300, 900], [4260, 4620], [5100, 5580]]],
[1080, 3120, ['24h']]),
('normal control 7',
[[[0, 720], [5400, 6000], [9180, 9900], [7980, 8460], [10140, 10620], [1620, 2340], [3240, 3960],
[7440, 7920]]],
[1200, 4440, ['24h', '7d']]),
('normal control 8', [[[1740, 2100], [2580, 3300], [0, 600], [1080, 1680], [3540, 4260]]],
[1200, 3000, ['24h']])]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: window end clip 1 | [839, 1200, []] | [840, 1200, []] | Failed |
| regression variant: window end clip 2 | [720, 2160, []] | [720, 2160, []] | Passed |
| partial repair guard 3 | [1199, 4200, ['24h', '7d']] | [1200, 4200, ['24h', '7d']] | Failed |
| boundary control 4 | [919, 980, []] | [920, 980, []] | Failed |
| boundary control 5 | [960, 960, []] | [960, 960, []] | Passed |
| normal control 6 | [1439, 4800, ['24h', '7d']] | [1440, 4800, ['24h', '7d']] | Failed |
| normal control 7 | [1080, 2040, ['24h']] | [1080, 2040, ['24h']] | Passed |
| normal control 8 | [959, 960, []] | [960, 960, []] | Failed |
SHA-256 / c63c17d6d0139ed2782c7737ffb9f1729ca4189e4da3d3fe4546e3b03703b820
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(shifts):
starts = sorted(s for s, e in shifts)
def worst(W):
best = 0
for t in starts:
tot = sum(max(0, min(e, t + W) - max(s, t)) for s, e in shifts)
best = max(best, tot)
return best
m24, m168 = worst(1440), worst(10080)
v = []
if m24 > 960:
v.append('24h')
if m168 > 3600:
v.append('7d')
return [m24, m168, v]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: window end clip 1', [[[0, 600], [1200, 1800]]], [840, 1200, []]),
('regression variant: window end clip 2', [[[2700, 3420], [0, 720], [4320, 4680], [1440, 1800]]],
[720, 2160, []]),
('partial repair guard 3',
[[[4680, 5160], [4080, 4440], [1920, 2640], [1200, 1680], [6120, 6600], [0, 720], [5400, 5880],
[3540, 4020]]],
[1200, 4200, ['24h', '7d']]),
('boundary control 4', [[[1000, 1500], [0, 480]]], [920, 980, []]),
('boundary control 5', [[[0, 480], [480, 960]]], [960, 960, []]),
('normal control 6',
[[[3720, 4440], [6300, 7020], [3120, 3480], [0, 600], [5340, 6060], [660, 1140], [1200, 1680],
[7020, 7740]]],
[1440, 4800, ['24h', '7d']]),
('normal control 7', [[[0, 360], [3840, 4440], [600, 1320], [2760, 3120]]], [1080, 2040, ['24h']]),
('normal control 8', [[[300, 900], [1380, 1740]]], [960, 960, []])],
[('regression: window end clip 1', [[[1000, 1500], [0, 480]]], [920, 980, []]),
('regression variant: window end clip 2', [[[2520, 3120], [2100, 2460], [300, 660]]], [960, 1320, []]),
('partial repair guard 3', [[[3840, 4560], [5460, 6180], [2880, 3360], [1500, 1980], [0, 600]]],
[960, 3000, []]),
('boundary control 4', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),
('normal control 5',
[[[6180, 6660], [1680, 2040], [7140, 7500], [720, 1200], [8400, 9120], [3480, 4080], [300, 660],
[4980, 5460]]],
[900, 3840, ['7d']]),
('normal control 6',
[[[6900, 7620], [1260, 1740], [9060, 9780], [4860, 5220], [3060, 3420], [1740, 2340], [5700, 6180],
[300, 1020]]],
[1200, 4440, ['24h', '7d']]),
('normal control 7', [[[2340, 2700], [300, 900]]], [600, 960, []]),
('normal control 8',
[[[3720, 4320], [2460, 2820], [6240, 6960], [9180, 9660], [300, 1020], [5040, 5760], [7680, 8040],
[8100, 8700]]],
[960, 4560, ['7d']])],
[('regression: window end clip 1', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('regression variant: window end clip 2', [[[2160, 2640], [300, 780], [840, 1440]]], [1080, 1560, ['24h']]),
('partial repair guard 3',
[[[1080, 1440], [7260, 7860], [1920, 2520], [0, 600], [5460, 5820], [3300, 4020], [2520, 3240]]],
[1380, 3960, ['24h', '7d']]),
('boundary control 4', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),
('boundary control 5', [[[100, 700], [900, 1300]]], [1000, 1000, ['24h']]),
('normal control 6', [[[1560, 2160], [300, 780], [780, 1500]]], [1380, 1800, ['24h']]),
('normal control 7',
[[[1680, 2400], [3840, 4200], [5040, 5640], [300, 780], [4680, 5040], [6540, 7260], [6120, 6480],
[7500, 7860]]],
[1140, 3960, ['24h', '7d']]),
('normal control 8', [[[3000, 3360], [300, 1020], [2460, 2940], [4800, 5520]]], [840, 2280, []])],
[('regression: window end clip 1', [[[0, 480], [1920, 2640]]], [720, 1200, []]),
('regression variant: window end clip 2',
[[[6060, 6420], [5100, 5580], [1080, 1560], [0, 360], [3120, 3600], [3840, 4200], [1620, 2220]]],
[1080, 3120, ['24h']]),
('partial repair guard 3',
[[[2580, 3180], [4500, 5220], [7380, 8100], [0, 600], [1500, 2100], [9000, 9720], [3420, 4020],
[6120, 6480]]],
[1200, 4920, ['24h', '7d']]),
('boundary control 4', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('boundary control 5', [[[0, 480], [480, 961]]], [961, 961, ['24h']]),
('normal control 6', [[[1920, 2520], [0, 480], [720, 1200], [2760, 3480]]], [1200, 2280, ['24h']]),
('normal control 7', [[[1320, 1920], [2820, 3180], [0, 600]]], [720, 1560, []]),
('normal control 8',
[[[1200, 1560], [2280, 2880], [0, 480], [720, 1200], [7440, 8040], [5940, 6540], [3360, 3960],
[4020, 4500]]],
[1200, 4200, ['24h', '7d']])],
[('regression: window end clip 1',
[[[0, 600], [3480, 3960], [5400, 5880], [840, 1200], [4200, 4920], [1680, 2040]]], [1200, 3000, ['24h']]),
('regression variant: window end clip 2',
[[[1920, 2640], [5100, 5580], [2640, 3000], [0, 720], [3060, 3780], [960, 1440], [3840, 4200],
[6300, 6780]]],
[1380, 4320, ['24h', '7d']]),
('partial repair guard 3', [[[1920, 2520], [0, 480], [720, 1200], [2760, 3480]]], [1200, 2280, ['24h']]),
('boundary control 4', [[[0, 1010]]], [1010, 1010, ['24h']]),
('boundary control 5', [[[0, 720], [1440, 2160], [2880, 3600], [4320, 5040], [5760, 6480]]],
[720, 3600, []]),
('normal control 6', [[[1380, 2100], [2340, 2700], [3600, 4200], [300, 900], [4260, 4620], [5100, 5580]]],
[1080, 3120, ['24h']]),
('normal control 7',
[[[0, 720], [5400, 6000], [9180, 9900], [7980, 8460], [10140, 10620], [1620, 2340], [3240, 3960],
[7440, 7920]]],
[1200, 4440, ['24h', '7d']]),
('normal control 8', [[[1740, 2100], [2580, 3300], [0, 600], [1080, 1680], [3540, 4260]]],
[1200, 3000, ['24h']])]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: window end clip 1 | [840, 1200, []] | [840, 1200, []] | Passed |
| regression variant: window end clip 2 | [720, 2160, []] | [720, 2160, []] | Passed |
| partial repair guard 3 | [1200, 4200, ['24h', '7d']] | [1200, 4200, ['24h', '7d']] | Passed |
| boundary control 4 | [920, 980, []] | [920, 980, []] | Passed |
| boundary control 5 | [960, 960, []] | [960, 960, []] | Passed |
| normal control 6 | [1440, 4800, ['24h', '7d']] | [1440, 4800, ['24h', '7d']] | Passed |
| normal control 7 | [1080, 2040, ['24h']] | [1080, 2040, ['24h']] | Passed |
| normal control 8 | [960, 960, []] | [960, 960, []] | Passed |
SHA-256 / 6a21a0681e02a2e3ef02d5342bc51c8c29a5efc14bf43ff7af817fa85a35001e
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:52:02.223706+00:00.
Case digest / b0b96c42628f03b2fa2b1515cd0482954c2232184db5394c8b687a3b2f726c33