FAILURE MAP
← Case archive

FA-93846 / Shift rostering labor rules / Open access

Rest gap computed as wall-clock difference modulo one day · case 01

Two days off between shifts looks like a short rest, and overlapping shifts disappear.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The rest gap is reduced modulo 1440 as if both times were clock readings on adjacent days.

THE FAILURE

The rest gap is reduced modulo 1440 as if both times were clock readings on adjacent days.

Unsuccessful approach: Reducing modulo a week still turns overlaps into large positive gaps.

Case contract

Input shifts as [worker, start, end] absolute minutes and a minimum rest "HH:MM". For each worker, walk shifts by start time, comparing each start with the latest end seen so far (and that shift index): a negative gap is an overlap, a gap below the minimum rest is short_rest; exactly the minimum is compliant. Return [worker, earlier index, later index, kind] rows ordered by worker then start.

Why this case matters

Rest-period validation is the most common roster labor rule; errors either hide fatigue risks or block legal rosters.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(shifts, min_rest):
    h, m = min_rest.split(':')
    limit = int(h) * 60 + int(m)
    by = {}
    for i, (w, s, e) in enumerate(shifts):
        by.setdefault(w, []).append((s, e, i))
    out = []
    for w in sorted(by):
        seq = sorted(by[w])
        prev = None
        for s, e, i in seq:
            if prev is not None:
                pe, pi = prev
                gap = (s - pe) % 1440
                if gap < 0:
                    out.append([w, pi, i, 'overlap'])
                elif gap < limit:
                    out.append([w, pi, i, 'short_rest'])
            if prev is None or e > prev[0]:
                prev = (e, i)
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: clock wrap gap 1', [[['ana', 0, 900], ['ana', 100, 300], ['ana', 600, 800]], '11:00'],
   [['ana', 0, 1, 'overlap'], ['ana', 0, 2, 'overlap']]),
  ('regression variant: clock wrap gap 2',
   [[['ana', 1320, 1680], ['chi', 2579, 2939], ['dev', 2570, 2810], ['ana', 2311, 2911], ['ana', 3572, 3932],
     ['chi', 0, 720], ['dev', 2000, 2600], ['chi', 1350, 1950], ['ana', 3812, 4412]],
    '12:00'],
   [['ana', 0, 3, 'short_rest'], ['ana', 3, 4, 'short_rest'], ['ana', 4, 8, 'overlap'],
    ['chi', 5, 7, 'short_rest'], ['chi', 7, 1, 'short_rest'], ['dev', 6, 2, 'overlap']]),
  ('partial repair guard 3',
   [[['dev', 2101, 2821], ['ana', 300, 1020], ['chi', 2000, 2720], ['dev', 300, 780], ['dev', 1411, 1771],
     ['dev', 1741, 2221], ['chi', 1940, 2420], ['ana', 2320, 3040], ['ana', 1720, 2440]],
    '10:30'],
   [['ana', 8, 7, 'overlap'], ['chi', 6, 2, 'overlap'], ['dev', 4, 5, 'overlap'], ['dev', 5, 0, 'overlap']]),
  ('boundary control 4', [[['ana', 0, 480], ['ana', 1139, 1620]], '11:00'], [['ana', 0, 1, 'short_rest']]),
  ('normal control 5', [[['chi', 2010, 2490], ['chi', 1320, 2040]], '09:45'], [['chi', 1, 0, 'overlap']]),
  ('normal control 6',
   [[['ana', 3401, 3881], ['dev', 1680, 1920], ['dev', 1320, 1800], ['ana', 2341, 2701], ['ana', 1320, 1680],
     ['chi', 1589, 2309], ['chi', 3209, 3809], ['ana', 4512, 4752], ['chi', 300, 1020], ['dev', 2551, 2911],
     ['chi', 1649, 2129]],
    '11:00'],
   [['ana', 0, 7, 'short_rest'], ['chi', 8, 5, 'short_rest'], ['chi', 5, 10, 'overlap'],
    ['dev', 2, 1, 'overlap'], ['dev', 1, 9, 'short_rest']]),
  ('normal control 7',
   [[['ben', 1320, 1560], ['dev', 1320, 1800], ['dev', 4980, 5460], ['dev', 3800, 4280], ['ben', 2190, 2670]],
    '11:00'],
   [['ben', 0, 4, 'short_rest']]),
  ('normal control 8',
   [[['ben', 2380, 3100], ['chi', 300, 1020], ['chi', 2821, 3301], ['ana', 2000, 2480], ['ben', 1320, 1680],
     ['chi', 1681, 1921], ['ana', 2480, 3080]],
    '10:31'],
   [['ana', 3, 6, 'short_rest']])],
 [('regression: clock wrap gap 1', [[['ben', 0, 480], ['ben', 3400, 3800]], '11:00'], []),
  ('regression variant: clock wrap gap 2',
   [[['chi', 2700, 3180], ['ben', 1380, 1860], ['chi', 1320, 1800], ['chi', 3150, 3750], ['ben', 0, 480],
     ['chi', 5750, 5990]],
    '10:30'],
   [['chi', 0, 3, 'overlap']]),
  ('partial repair guard 3',
   [[['ana', 1380, 1620], ['dev', 3420, 3660], ['ana', 3241, 3841], ['ana', 2220, 2580], ['ben', 4841, 5201],
     ['ana', 300, 780], ['ben', 3460, 4180], ['ben', 1320, 1800], ['dev', 1320, 1920], ['dev', 3540, 4260],
     ['ben', 2500, 2860]],
    '10:30'],
   [['ana', 5, 0, 'short_rest'], ['ana', 0, 3, 'short_rest'], ['ben', 10, 6, 'short_rest'],
    ['dev', 1, 9, 'overlap']]),
  ('boundary control 4', [[['ben', 0, 480], ['ben', 1110, 1400]], '10:30'], []),
  ('boundary control 5', [[['ana', 0, 480], ['ana', 480, 960], ['ben', 0, 480]], '10:30'],
   [['ana', 0, 1, 'short_rest']]),
  ('normal control 6',
   [[['ana', 1940, 2180], ['ana', 6040, 6760], ['ana', 2000, 2480], ['ana', 3680, 4040]], '12:00'],
   [['ana', 0, 2, 'overlap']]),
  ('normal control 7', [[['chi', 300, 900], ['chi', 870, 1230], ['chi', 3230, 3710]], '10:31'],
   [['chi', 0, 1, 'overlap']]),
  ('normal control 8',
   [[['chi', 2251, 2731], ['ben', 2940, 3540], ['ben', 4171, 4411], ['chi', 1320, 1680], ['chi', 1260, 1620],
     ['ben', 1320, 2040]],
    '09:45'],
   [['chi', 4, 3, 'overlap'], ['chi', 3, 0, 'short_rest']])],
 [('regression: clock wrap gap 1', [[['ana', 4760, 5480], ['ana', 300, 660], ['ana', 2660, 3260]], '10:31'],
   []),
  ('regression variant: clock wrap gap 2',
   [[['dev', 1771, 2011], ['dev', 300, 540], ['ana', 0, 240], ['ana', 2240, 2840], ['dev', 510, 1110]],
    '10:30'],
   [['dev', 1, 4, 'overlap']]),
  ('partial repair guard 3',
   [[['dev', 1420, 2020], ['ben', 3111, 3591], ['chi', 1320, 1680], ['chi', 480, 720], ['dev', 0, 720],
     ['chi', 0, 600], ['ben', 2000, 2480], ['ben', 3051, 3771], ['dev', 2651, 3251], ['chi', 2280, 2760]],
    '09:45'],
   [['ben', 6, 7, 'short_rest'], ['ben', 7, 1, 'overlap'], ['chi', 5, 3, 'overlap']]),
  ('boundary control 4', [[['ana', 1200, 1680], ['ana', 0, 480]], '11:00'], []),
  ('boundary control 5', [[['ana', 0, 480], ['ana', 1140, 1620]], '11:00'], []),
  ('normal control 6',
   [[['ana', 0, 600], ['ben', 300, 900], ['chi', 5400, 6000], ['chi', 6600, 7200], ['ben', 2900, 3500],
     ['chi', 2000, 2600], ['chi', 4100, 4700], ['ben', 4131, 4371], ['ana', 480, 1200]],
    '10:30'],
   [['ana', 0, 8, 'overlap'], ['chi', 2, 3, 'short_rest']]),
  ('normal control 7',
   [[['ben', 1800, 2280], ['chi', 2069, 2549], ['chi', 0, 480], ['ben', 300, 900], ['chi', 1080, 1440]],
    '11:00'],
   [['chi', 2, 4, 'short_rest'], ['chi', 4, 1, 'short_rest']]),
  ('normal control 8',
   [[['chi', 2000, 2240], ['ben', 1261, 1741], ['chi', 2840, 3440], ['ben', 0, 600], ['ana', 1021, 1381],
     ['ben', 2641, 3361], ['ana', 0, 360]],
    '10:31'],
   [['chi', 0, 2, 'short_rest']])],
 [('regression: clock wrap gap 1',
   [[['ana', 4741, 5101], ['dev', 1940, 2300], ['ben', 3719, 3959], ['ben', 2999, 3719], ['ben', 2549, 3029],
     ['ben', 1320, 1920], ['ana', 2220, 2940], ['ana', 0, 720], ['dev', 2000, 2360], ['ana', 3601, 3841]],
    '11:00'],
   [['ben', 5, 4, 'short_rest'], ['ben', 4, 3, 'overlap'], ['ben', 3, 2, 'short_rest'],
    ['dev', 1, 8, 'overlap']]),
  ('regression variant: clock wrap gap 2',
   [[['chi', 2480, 2720], ['chi', 2000, 2600], ['chi', 4720, 5080], ['chi', 5740, 5980]], '09:45'],
   [['chi', 1, 0, 'overlap']]),
  ('boundary control 3', [[['ben', 0, 480], ['ben', 3400, 3800]], '11:00'], []),
  ('boundary control 4', [[['ana', 0, 900], ['ana', 100, 300], ['ana', 600, 800]], '11:00'],
   [['ana', 0, 1, 'overlap'], ['ana', 0, 2, 'overlap']]),
  ('normal control 5',
   [[['chi', 3180, 3780], ['dev', 1320, 1680], ['dev', 1560, 2040], ['dev', 5340, 5580], ['chi', 1320, 1680],
     ['dev', 4040, 4640]],
    '09:45'],
   [['dev', 1, 2, 'overlap']]),
  ('normal control 6',
   [[['chi', 1620, 2340], ['chi', 0, 360], ['dev', 2000, 2600], ['chi', 2971, 3451], ['ben', 2251, 2971],
     ['ben', 1110, 1590], ['dev', 5760, 6240], ['dev', 3229, 3709], ['chi', 1260, 1740], ['dev', 4409, 5129],
     ['ben', 0, 480]],
    '12:00'],
   [['ben', 10, 5, 'short_rest'], ['ben', 5, 4, 'short_rest'], ['chi', 8, 0, 'overlap'],
    ['chi', 0, 3, 'short_rest'], ['dev', 2, 7, 'short_rest'], ['dev', 7, 9, 'short_rest'],
    ['dev', 9, 6, 'short_rest']]),
  ('normal control 7',
   [[['dev', 2460, 2700], ['dev', 2700, 3300], ['chi', 6549, 6909], ['dev', 0, 480], ['chi', 2960, 3320],
     ['chi', 2000, 2360], ['dev', 1110, 1830], ['chi', 3949, 4549]],
    '11:00'],
   [['chi', 5, 4, 'short_rest'], ['chi', 4, 7, 'short_rest'], ['dev', 3, 6, 'short_rest'],
    ['dev', 6, 0, 'short_rest'], ['dev', 0, 1, 'short_rest']]),
  ('normal control 8', [[['chi', 1351, 1831], ['chi', 0, 720]], '09:45'], [])],
 [('regression: clock wrap gap 1',
   [[['ana', 1940, 2180], ['ana', 6040, 6760], ['ana', 2000, 2480], ['ana', 3680, 4040]], '12:00'],
   [['ana', 0, 2, 'overlap']]),
  ('regression variant: clock wrap gap 2',
   [[['chi', 1620, 2340], ['chi', 0, 360], ['dev', 2000, 2600], ['chi', 2971, 3451], ['ben', 2251, 2971],
     ['ben', 1110, 1590], ['dev', 5760, 6240], ['dev', 3229, 3709], ['chi', 1260, 1740], ['dev', 4409, 5129],
     ['ben', 0, 480]],
    '12:00'],
   [['ben', 10, 5, 'short_rest'], ['ben', 5, 4, 'short_rest'], ['chi', 8, 0, 'overlap'],
    ['chi', 0, 3, 'short_rest'], ['dev', 2, 7, 'short_rest'], ['dev', 7, 9, 'short_rest'],
    ['dev', 9, 6, 'short_rest']]),
  ('partial repair guard 3',
   [[['chi', 1940, 2420], ['ana', 1320, 1680], ['ana', 5760, 6480], ['ana', 2340, 2700], ['chi', 2000, 2720],
     ['chi', 3051, 3771], ['ana', 4700, 5060]],
    '11:00'],
   [['chi', 0, 4, 'overlap'], ['chi', 4, 5, 'short_rest']]),
  ('boundary control 4', [[['ana', 0, 480], ['ana', 1139, 1620]], '11:00'], [['ana', 0, 1, 'short_rest']]),
  ('boundary control 5', [[['ben', 0, 480], ['ben', 1110, 1400]], '10:30'], []),
  ('normal control 6',
   [[['chi', 3540, 3780], ['chi', 1320, 1560], ['chi', 4411, 4651], ['chi', 2189, 2909]], '10:30'],
   [['chi', 1, 3, 'short_rest']]),
  ('normal control 7',
   [[['dev', 1260, 1860], ['ana', 2551, 2911], ['ana', 1231, 1951], ['ana', 0, 600], ['dev', 0, 600]],
    '09:45'],
   []),
  ('normal control 8',
   [[['ben', 2380, 3100], ['chi', 300, 1020], ['chi', 2821, 3301], ['ana', 2000, 2480], ['ben', 1320, 1680],
     ['chi', 1681, 1921], ['ana', 2480, 3080]],
    '10:31'],
   [['ana', 3, 6, 'short_rest']])]]
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 fixtureActualExpectedOutcome
regression: clock wrap gap 1[['ana', 0, 1, 'short_rest']][['ana', 0, 1, 'overlap'], ['ana', 0, 2, 'overlap']]Failed
regression variant: clock wrap gap 2[['ana', 0, 3, 'short_rest'], ['ana', 3, 4, 'short_rest'], ['chi', 5, 7, 'short_rest'], ['chi', 7, 1, 'short_rest']][['ana', 0, 3, 'short_rest'], ['ana', 3, 4, 'short_rest'], ['ana', 4, 8, 'overlap'], ['chi', 5, 7, 'short_rest'], ['chi', 7, 1, 'short_rest'], ['dev', 6, 2, 'overlap']]Failed
partial repair guard 3[][['ana', 8, 7, 'overlap'], ['chi', 6, 2, 'overlap'], ['dev', 4, 5, 'overlap'], ['dev', 5, 0, 'overlap']]Failed
boundary control 4[['ana', 0, 1, 'short_rest']][['ana', 0, 1, 'short_rest']]Passed
normal control 5[][['chi', 1, 0, 'overlap']]Failed
normal control 6[['ana', 0, 7, 'short_rest'], ['chi', 8, 5, 'short_rest'], ['dev', 1, 9, 'short_rest']][['ana', 0, 7, 'short_rest'], ['chi', 8, 5, 'short_rest'], ['chi', 5, 10, 'overlap'], ['dev', 2, 1, 'overlap'], ['dev', 1, 9, 'short_rest']]Failed
normal control 7[['ben', 0, 4, 'short_rest'], ['dev', 1, 3, 'short_rest']][['ben', 0, 4, 'short_rest']]Failed
normal control 8[['ana', 3, 6, 'short_rest']][['ana', 3, 6, 'short_rest']]Passed

SHA-256 / bfd8e127cdd64334afbef11a4cf4d1a0c99da7f1b9232efb60a2aa2b178a9ab0

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(shifts, min_rest):
    h, m = min_rest.split(':')
    limit = int(h) * 60 + int(m)
    by = {}
    for i, (w, s, e) in enumerate(shifts):
        by.setdefault(w, []).append((s, e, i))
    out = []
    for w in sorted(by):
        seq = sorted(by[w])
        prev = None
        for s, e, i in seq:
            if prev is not None:
                pe, pi = prev
                gap = (s - pe) % 10080
                if gap < 0:
                    out.append([w, pi, i, 'overlap'])
                elif gap < limit:
                    out.append([w, pi, i, 'short_rest'])
            if prev is None or e > prev[0]:
                prev = (e, i)
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: clock wrap gap 1', [[['ana', 0, 900], ['ana', 100, 300], ['ana', 600, 800]], '11:00'],
   [['ana', 0, 1, 'overlap'], ['ana', 0, 2, 'overlap']]),
  ('regression variant: clock wrap gap 2',
   [[['ana', 1320, 1680], ['chi', 2579, 2939], ['dev', 2570, 2810], ['ana', 2311, 2911], ['ana', 3572, 3932],
     ['chi', 0, 720], ['dev', 2000, 2600], ['chi', 1350, 1950], ['ana', 3812, 4412]],
    '12:00'],
   [['ana', 0, 3, 'short_rest'], ['ana', 3, 4, 'short_rest'], ['ana', 4, 8, 'overlap'],
    ['chi', 5, 7, 'short_rest'], ['chi', 7, 1, 'short_rest'], ['dev', 6, 2, 'overlap']]),
  ('partial repair guard 3',
   [[['dev', 2101, 2821], ['ana', 300, 1020], ['chi', 2000, 2720], ['dev', 300, 780], ['dev', 1411, 1771],
     ['dev', 1741, 2221], ['chi', 1940, 2420], ['ana', 2320, 3040], ['ana', 1720, 2440]],
    '10:30'],
   [['ana', 8, 7, 'overlap'], ['chi', 6, 2, 'overlap'], ['dev', 4, 5, 'overlap'], ['dev', 5, 0, 'overlap']]),
  ('boundary control 4', [[['ana', 0, 480], ['ana', 1139, 1620]], '11:00'], [['ana', 0, 1, 'short_rest']]),
  ('normal control 5', [[['chi', 2010, 2490], ['chi', 1320, 2040]], '09:45'], [['chi', 1, 0, 'overlap']]),
  ('normal control 6',
   [[['ana', 3401, 3881], ['dev', 1680, 1920], ['dev', 1320, 1800], ['ana', 2341, 2701], ['ana', 1320, 1680],
     ['chi', 1589, 2309], ['chi', 3209, 3809], ['ana', 4512, 4752], ['chi', 300, 1020], ['dev', 2551, 2911],
     ['chi', 1649, 2129]],
    '11:00'],
   [['ana', 0, 7, 'short_rest'], ['chi', 8, 5, 'short_rest'], ['chi', 5, 10, 'overlap'],
    ['dev', 2, 1, 'overlap'], ['dev', 1, 9, 'short_rest']]),
  ('normal control 7',
   [[['ben', 1320, 1560], ['dev', 1320, 1800], ['dev', 4980, 5460], ['dev', 3800, 4280], ['ben', 2190, 2670]],
    '11:00'],
   [['ben', 0, 4, 'short_rest']]),
  ('normal control 8',
   [[['ben', 2380, 3100], ['chi', 300, 1020], ['chi', 2821, 3301], ['ana', 2000, 2480], ['ben', 1320, 1680],
     ['chi', 1681, 1921], ['ana', 2480, 3080]],
    '10:31'],
   [['ana', 3, 6, 'short_rest']])],
 [('regression: clock wrap gap 1', [[['ben', 0, 480], ['ben', 3400, 3800]], '11:00'], []),
  ('regression variant: clock wrap gap 2',
   [[['chi', 2700, 3180], ['ben', 1380, 1860], ['chi', 1320, 1800], ['chi', 3150, 3750], ['ben', 0, 480],
     ['chi', 5750, 5990]],
    '10:30'],
   [['chi', 0, 3, 'overlap']]),
  ('partial repair guard 3',
   [[['ana', 1380, 1620], ['dev', 3420, 3660], ['ana', 3241, 3841], ['ana', 2220, 2580], ['ben', 4841, 5201],
     ['ana', 300, 780], ['ben', 3460, 4180], ['ben', 1320, 1800], ['dev', 1320, 1920], ['dev', 3540, 4260],
     ['ben', 2500, 2860]],
    '10:30'],
   [['ana', 5, 0, 'short_rest'], ['ana', 0, 3, 'short_rest'], ['ben', 10, 6, 'short_rest'],
    ['dev', 1, 9, 'overlap']]),
  ('boundary control 4', [[['ben', 0, 480], ['ben', 1110, 1400]], '10:30'], []),
  ('boundary control 5', [[['ana', 0, 480], ['ana', 480, 960], ['ben', 0, 480]], '10:30'],
   [['ana', 0, 1, 'short_rest']]),
  ('normal control 6',
   [[['ana', 1940, 2180], ['ana', 6040, 6760], ['ana', 2000, 2480], ['ana', 3680, 4040]], '12:00'],
   [['ana', 0, 2, 'overlap']]),
  ('normal control 7', [[['chi', 300, 900], ['chi', 870, 1230], ['chi', 3230, 3710]], '10:31'],
   [['chi', 0, 1, 'overlap']]),
  ('normal control 8',
   [[['chi', 2251, 2731], ['ben', 2940, 3540], ['ben', 4171, 4411], ['chi', 1320, 1680], ['chi', 1260, 1620],
     ['ben', 1320, 2040]],
    '09:45'],
   [['chi', 4, 3, 'overlap'], ['chi', 3, 0, 'short_rest']])],
 [('regression: clock wrap gap 1', [[['ana', 4760, 5480], ['ana', 300, 660], ['ana', 2660, 3260]], '10:31'],
   []),
  ('regression variant: clock wrap gap 2',
   [[['dev', 1771, 2011], ['dev', 300, 540], ['ana', 0, 240], ['ana', 2240, 2840], ['dev', 510, 1110]],
    '10:30'],
   [['dev', 1, 4, 'overlap']]),
  ('partial repair guard 3',
   [[['dev', 1420, 2020], ['ben', 3111, 3591], ['chi', 1320, 1680], ['chi', 480, 720], ['dev', 0, 720],
     ['chi', 0, 600], ['ben', 2000, 2480], ['ben', 3051, 3771], ['dev', 2651, 3251], ['chi', 2280, 2760]],
    '09:45'],
   [['ben', 6, 7, 'short_rest'], ['ben', 7, 1, 'overlap'], ['chi', 5, 3, 'overlap']]),
  ('boundary control 4', [[['ana', 1200, 1680], ['ana', 0, 480]], '11:00'], []),
  ('boundary control 5', [[['ana', 0, 480], ['ana', 1140, 1620]], '11:00'], []),
  ('normal control 6',
   [[['ana', 0, 600], ['ben', 300, 900], ['chi', 5400, 6000], ['chi', 6600, 7200], ['ben', 2900, 3500],
     ['chi', 2000, 2600], ['chi', 4100, 4700], ['ben', 4131, 4371], ['ana', 480, 1200]],
    '10:30'],
   [['ana', 0, 8, 'overlap'], ['chi', 2, 3, 'short_rest']]),
  ('normal control 7',
   [[['ben', 1800, 2280], ['chi', 2069, 2549], ['chi', 0, 480], ['ben', 300, 900], ['chi', 1080, 1440]],
    '11:00'],
   [['chi', 2, 4, 'short_rest'], ['chi', 4, 1, 'short_rest']]),
  ('normal control 8',
   [[['chi', 2000, 2240], ['ben', 1261, 1741], ['chi', 2840, 3440], ['ben', 0, 600], ['ana', 1021, 1381],
     ['ben', 2641, 3361], ['ana', 0, 360]],
    '10:31'],
   [['chi', 0, 2, 'short_rest']])],
 [('regression: clock wrap gap 1',
   [[['ana', 4741, 5101], ['dev', 1940, 2300], ['ben', 3719, 3959], ['ben', 2999, 3719], ['ben', 2549, 3029],
     ['ben', 1320, 1920], ['ana', 2220, 2940], ['ana', 0, 720], ['dev', 2000, 2360], ['ana', 3601, 3841]],
    '11:00'],
   [['ben', 5, 4, 'short_rest'], ['ben', 4, 3, 'overlap'], ['ben', 3, 2, 'short_rest'],
    ['dev', 1, 8, 'overlap']]),
  ('regression variant: clock wrap gap 2',
   [[['chi', 2480, 2720], ['chi', 2000, 2600], ['chi', 4720, 5080], ['chi', 5740, 5980]], '09:45'],
   [['chi', 1, 0, 'overlap']]),
  ('boundary control 3', [[['ben', 0, 480], ['ben', 3400, 3800]], '11:00'], []),
  ('boundary control 4', [[['ana', 0, 900], ['ana', 100, 300], ['ana', 600, 800]], '11:00'],
   [['ana', 0, 1, 'overlap'], ['ana', 0, 2, 'overlap']]),
  ('normal control 5',
   [[['chi', 3180, 3780], ['dev', 1320, 1680], ['dev', 1560, 2040], ['dev', 5340, 5580], ['chi', 1320, 1680],
     ['dev', 4040, 4640]],
    '09:45'],
   [['dev', 1, 2, 'overlap']]),
  ('normal control 6',
   [[['chi', 1620, 2340], ['chi', 0, 360], ['dev', 2000, 2600], ['chi', 2971, 3451], ['ben', 2251, 2971],
     ['ben', 1110, 1590], ['dev', 5760, 6240], ['dev', 3229, 3709], ['chi', 1260, 1740], ['dev', 4409, 5129],
     ['ben', 0, 480]],
    '12:00'],
   [['ben', 10, 5, 'short_rest'], ['ben', 5, 4, 'short_rest'], ['chi', 8, 0, 'overlap'],
    ['chi', 0, 3, 'short_rest'], ['dev', 2, 7, 'short_rest'], ['dev', 7, 9, 'short_rest'],
    ['dev', 9, 6, 'short_rest']]),
  ('normal control 7',
   [[['dev', 2460, 2700], ['dev', 2700, 3300], ['chi', 6549, 6909], ['dev', 0, 480], ['chi', 2960, 3320],
     ['chi', 2000, 2360], ['dev', 1110, 1830], ['chi', 3949, 4549]],
    '11:00'],
   [['chi', 5, 4, 'short_rest'], ['chi', 4, 7, 'short_rest'], ['dev', 3, 6, 'short_rest'],
    ['dev', 6, 0, 'short_rest'], ['dev', 0, 1, 'short_rest']]),
  ('normal control 8', [[['chi', 1351, 1831], ['chi', 0, 720]], '09:45'], [])],
 [('regression: clock wrap gap 1',
   [[['ana', 1940, 2180], ['ana', 6040, 6760], ['ana', 2000, 2480], ['ana', 3680, 4040]], '12:00'],
   [['ana', 0, 2, 'overlap']]),
  ('regression variant: clock wrap gap 2',
   [[['chi', 1620, 2340], ['chi', 0, 360], ['dev', 2000, 2600], ['chi', 2971, 3451], ['ben', 2251, 2971],
     ['ben', 1110, 1590], ['dev', 5760, 6240], ['dev', 3229, 3709], ['chi', 1260, 1740], ['dev', 4409, 5129],
     ['ben', 0, 480]],
    '12:00'],
   [['ben', 10, 5, 'short_rest'], ['ben', 5, 4, 'short_rest'], ['chi', 8, 0, 'overlap'],
    ['chi', 0, 3, 'short_rest'], ['dev', 2, 7, 'short_rest'], ['dev', 7, 9, 'short_rest'],
    ['dev', 9, 6, 'short_rest']]),
  ('partial repair guard 3',
   [[['chi', 1940, 2420], ['ana', 1320, 1680], ['ana', 5760, 6480], ['ana', 2340, 2700], ['chi', 2000, 2720],
     ['chi', 3051, 3771], ['ana', 4700, 5060]],
    '11:00'],
   [['chi', 0, 4, 'overlap'], ['chi', 4, 5, 'short_rest']]),
  ('boundary control 4', [[['ana', 0, 480], ['ana', 1139, 1620]], '11:00'], [['ana', 0, 1, 'short_rest']]),
  ('boundary control 5', [[['ben', 0, 480], ['ben', 1110, 1400]], '10:30'], []),
  ('normal control 6',
   [[['chi', 3540, 3780], ['chi', 1320, 1560], ['chi', 4411, 4651], ['chi', 2189, 2909]], '10:30'],
   [['chi', 1, 3, 'short_rest']]),
  ('normal control 7',
   [[['dev', 1260, 1860], ['ana', 2551, 2911], ['ana', 1231, 1951], ['ana', 0, 600], ['dev', 0, 600]],
    '09:45'],
   []),
  ('normal control 8',
   [[['ben', 2380, 3100], ['chi', 300, 1020], ['chi', 2821, 3301], ['ana', 2000, 2480], ['ben', 1320, 1680],
     ['chi', 1681, 1921], ['ana', 2480, 3080]],
    '10:31'],
   [['ana', 3, 6, 'short_rest']])]]
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 fixtureActualExpectedOutcome
regression: clock wrap gap 1[][['ana', 0, 1, 'overlap'], ['ana', 0, 2, 'overlap']]Failed
regression variant: clock wrap gap 2[['ana', 0, 3, 'short_rest'], ['ana', 3, 4, 'short_rest'], ['chi', 5, 7, 'short_rest'], ['chi', 7, 1, 'short_rest']][['ana', 0, 3, 'short_rest'], ['ana', 3, 4, 'short_rest'], ['ana', 4, 8, 'overlap'], ['chi', 5, 7, 'short_rest'], ['chi', 7, 1, 'short_rest'], ['dev', 6, 2, 'overlap']]Failed
partial repair guard 3[][['ana', 8, 7, 'overlap'], ['chi', 6, 2, 'overlap'], ['dev', 4, 5, 'overlap'], ['dev', 5, 0, 'overlap']]Failed
boundary control 4[['ana', 0, 1, 'short_rest']][['ana', 0, 1, 'short_rest']]Passed
normal control 5[][['chi', 1, 0, 'overlap']]Failed
normal control 6[['ana', 0, 7, 'short_rest'], ['chi', 8, 5, 'short_rest'], ['dev', 1, 9, 'short_rest']][['ana', 0, 7, 'short_rest'], ['chi', 8, 5, 'short_rest'], ['chi', 5, 10, 'overlap'], ['dev', 2, 1, 'overlap'], ['dev', 1, 9, 'short_rest']]Failed
normal control 7[['ben', 0, 4, 'short_rest']][['ben', 0, 4, 'short_rest']]Passed
normal control 8[['ana', 3, 6, 'short_rest']][['ana', 3, 6, 'short_rest']]Passed

SHA-256 / 71862324394abced47a37e5a2eef6a4ff2ff6da955baab013474538dc3fe31a7

HELD IN THE MEMBER ARCHIVE

The verified repair and its recorded checks are member-only.

This mechanism has 8 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.

Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.

Member access is invitation-based. Sign in with your invited account to inspect the repair.

Sign in to the archive ↗

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:51:58.841219+00:00.

Case digest / 1af8323aa5de2d58fdec1112a9afadeae15b5c0561954d30aa5f12e4b4544ac2