FAILURE MAP
← Case archive

FA-78506 / Broadcast timecode arithmetic / Open access

EDL speed-change record out: record label wrap · case 01

Record out labels past midnight show hours of 24 or more.

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

ROOT CAUSE

The record label wraps at a PAL day regardless of the event rate.

VERIFIED REPAIR

Wrap record labels at 86400*fps frames.

Unsuccessful approach: Not wrapping at all produces hour fields above 23 after midnight.

Case contract

event [src_in, src_out, rec_in, speed_percent] with non-drop labels at fps; src_out is exclusive and may cross midnight. Record duration = source frames * 100 / |speed| rounded half up (reverse speeds use the magnitude; speed 0 returns None). Return [record_out label (exclusive, wrapped at 24 h), record duration].

Why this case matters

Timecode arithmetic errors misplace edits, commercial breaks and captions against the broadcast clock.

1 / The failure

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

N = 1
observations = []
def solve(event, fps):
    def fr(t):
        h,m,s,f=map(int,t.split(':'))
        return ((h*60+m)*60+s)*fps+f
    def tc(n):
        n%=86400*25
        return '%02d:%02d:%02d:%02d'%(n//(3600*fps),n//(60*fps)%60,n//fps%60,n%fps)
    src_in,src_out,rec_in,speed=event
    if speed==0:
        return None
    sp=abs(speed)
    dur=(fr(src_out)-fr(src_in))%(86400*fps)
    rec=(dur*200+sp)//(2*sp)
    return [tc(fr(rec_in)+rec),rec]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: record label wrap', [['00:29:01:12', '10:00:59:01', '23:00:59:01', -100], 24], ['08:32:56:14', 823621]), ('regression variant: record label wrap', [['10:00:30:01', '23:00:00:01', '23:29:01:01', 100], 30], ['12:28:31:01', 1403100]), ('partial repair probe: record label wrap', [['01:59:30:00', '00:59:01:01', '23:29:59:00', 200], 30], ['10:59:44:16', 1241566]), ('partial repair variant: record label wrap', [['00:01:00:00', '10:29:00:12', '23:59:01:12', -100], 25], ['10:27:01:24', 942012]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('normal control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['23:01:00:00', '01:01:00:23', '01:00:30:12', 75], 24], ['03:40:31:19', 230431]), ('normal control', [['00:00:01:12', '23:00:30:01', '00:01:59:00', -100], 25], ['23:02:27:14', 2070714])], [('regression: record label wrap', [['01:59:30:00', '00:59:01:01', '23:29:59:00', 200], 30], ['10:59:44:16', 1241566]), ('regression variant: record label wrap', [['00:00:30:12', '23:00:59:12', '00:01:59:01', 75], 24], ['06:42:37:17', 2650528]), ('partial repair probe: record label wrap', [['01:00:59:00', '00:01:30:01', '23:29:01:12', 250], 24], ['08:41:13:22', 795178]), ('partial repair variant: record label wrap', [['10:00:30:01', '23:00:00:01', '23:29:01:01', 100], 30], ['12:28:31:01', 1403100]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['23:01:01:00', '00:00:30:23', '01:01:30:01', 100], 24], ['02:01:00:00', 85679]), ('normal control', [['23:00:30:01', '00:29:59:29', '00:29:59:29', 75], 30], ['02:29:19:26', 214797]), ('normal control', [['01:59:00:00', '23:59:01:00', '00:59:01:01', 200], 24], ['11:59:01:13', 950412])], [('regression: record label wrap', [['01:00:59:00', '00:01:30:01', '23:29:01:12', 250], 24], ['08:41:13:22', 795178]), ('regression variant: record label wrap', [['10:59:30:12', '00:01:01:00', '23:00:30:01', -200], 24], ['05:31:15:07', 562686]), ('partial repair probe: record label wrap', [['01:59:30:12', '23:00:01:24', '23:00:30:01', 100], 25], ['20:01:01:13', 1890787]), ('partial repair variant: record label wrap', [['01:01:30:01', '10:59:01:01', '23:59:59:01', 100], 25], ['09:57:30:01', 896275]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('normal control', [['00:29:59:01', '01:59:30:24', '00:01:59:12', 200], 25], ['00:46:45:11', 67149]), ('normal control', [['10:29:30:23', '23:59:59:00', '00:59:30:01', -200], 24], ['07:44:44:02', 583537]), ('normal control', [['23:01:00:23', '10:00:30:00', '01:00:01:00', 100], 24], ['11:59:30:01', 949657])], [('regression: record label wrap', [['23:01:01:01', '01:59:01:29', '23:59:01:01', 250], 30], ['01:10:13:12', 128171]), ('regression variant: record label wrap', [['00:01:59:23', '00:01:30:23', '23:59:00:12', -50], 24], ['23:58:02:12', 4145808]), ('partial repair probe: record label wrap', [['01:59:30:12', '23:00:01:24', '23:00:30:01', 100], 25], ['20:01:01:13', 1890787]), ('partial repair variant: record label wrap', [['00:00:30:12', '23:00:59:12', '00:01:59:01', 75], 24], ['06:42:37:17', 2650528]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('normal control', [['23:00:01:00', '10:01:59:01', '01:00:30:24', 0], 25], None), ('normal control', [['23:01:00:00', '01:59:01:00', '01:01:59:00', 100], 30], ['04:00:00:00', 320430]), ('normal control', [['23:00:00:12', '00:00:00:00', '01:00:01:01', 200], 25], ['01:30:00:20', 44994])], [('regression: record label wrap', [['10:59:00:23', '00:00:30:00', '23:00:30:00', -50], 24], ['01:03:28:02', 2250674]), ('regression variant: record label wrap', [['10:59:30:23', '10:00:30:23', '01:59:59:01', 75], 24], ['08:41:19:01', 2651520]), ('partial repair probe: record label wrap', [['23:01:01:01', '01:59:01:29', '23:59:01:01', 250], 30], ['01:10:13:12', 128171]), ('partial repair variant: record label wrap', [['01:00:59:24', '00:00:01:00', '00:59:59:01', -50], 25], ['22:58:01:03', 4137052]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['10:01:00:01', '23:01:00:01', '00:01:59:29', 200], 30], ['06:31:59:29', 702000]), ('normal control', [['23:29:00:24', '10:01:01:01', '00:59:30:00', 100], 25], ['11:31:30:02', 948002]), ('normal control', [['23:29:00:12', '00:00:30:24', '01:29:59:00', 100], 25], ['02:01:29:12', 47262])]]
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: record label wrap['07:32:56:14', 823621]['08:32:56:14', 823621]Failed
regression variant: record label wrap['16:28:31:01', 1403100]['12:28:31:01', 1403100]Failed
partial repair probe: record label wrap['14:59:44:16', 1241566]['10:59:44:16', 1241566]Failed
partial repair variant: record label wrap['10:27:01:24', 942012]['10:27:01:24', 942012]Passed
boundary control['10:00:02:00', 50]['10:00:02:00', 50]Passed
boundary control['00:00:02:00', 50]['00:00:02:00', 50]Passed
normal control['00:00:00:02', 2]['00:00:00:02', 2]Passed
normal control['03:40:31:19', 230431]['03:40:31:19', 230431]Passed
normal control['23:02:27:14', 2070714]['23:02:27:14', 2070714]Passed

SHA-256 / f2c262a27c90a3a25f9fb91f27d1fbdfd977b7b65bb1dde88e3e052e96bba5a6

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(event, fps):
    def fr(t):
        h,m,s,f=map(int,t.split(':'))
        return ((h*60+m)*60+s)*fps+f
    def tc(n):
        n=n
        return '%02d:%02d:%02d:%02d'%(n//(3600*fps),n//(60*fps)%60,n//fps%60,n%fps)
    src_in,src_out,rec_in,speed=event
    if speed==0:
        return None
    sp=abs(speed)
    dur=(fr(src_out)-fr(src_in))%(86400*fps)
    rec=(dur*200+sp)//(2*sp)
    return [tc(fr(rec_in)+rec),rec]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: record label wrap', [['00:29:01:12', '10:00:59:01', '23:00:59:01', -100], 24], ['08:32:56:14', 823621]), ('regression variant: record label wrap', [['10:00:30:01', '23:00:00:01', '23:29:01:01', 100], 30], ['12:28:31:01', 1403100]), ('partial repair probe: record label wrap', [['01:59:30:00', '00:59:01:01', '23:29:59:00', 200], 30], ['10:59:44:16', 1241566]), ('partial repair variant: record label wrap', [['00:01:00:00', '10:29:00:12', '23:59:01:12', -100], 25], ['10:27:01:24', 942012]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('normal control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['23:01:00:00', '01:01:00:23', '01:00:30:12', 75], 24], ['03:40:31:19', 230431]), ('normal control', [['00:00:01:12', '23:00:30:01', '00:01:59:00', -100], 25], ['23:02:27:14', 2070714])], [('regression: record label wrap', [['01:59:30:00', '00:59:01:01', '23:29:59:00', 200], 30], ['10:59:44:16', 1241566]), ('regression variant: record label wrap', [['00:00:30:12', '23:00:59:12', '00:01:59:01', 75], 24], ['06:42:37:17', 2650528]), ('partial repair probe: record label wrap', [['01:00:59:00', '00:01:30:01', '23:29:01:12', 250], 24], ['08:41:13:22', 795178]), ('partial repair variant: record label wrap', [['10:00:30:01', '23:00:00:01', '23:29:01:01', 100], 30], ['12:28:31:01', 1403100]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['23:01:01:00', '00:00:30:23', '01:01:30:01', 100], 24], ['02:01:00:00', 85679]), ('normal control', [['23:00:30:01', '00:29:59:29', '00:29:59:29', 75], 30], ['02:29:19:26', 214797]), ('normal control', [['01:59:00:00', '23:59:01:00', '00:59:01:01', 200], 24], ['11:59:01:13', 950412])], [('regression: record label wrap', [['01:00:59:00', '00:01:30:01', '23:29:01:12', 250], 24], ['08:41:13:22', 795178]), ('regression variant: record label wrap', [['10:59:30:12', '00:01:01:00', '23:00:30:01', -200], 24], ['05:31:15:07', 562686]), ('partial repair probe: record label wrap', [['01:59:30:12', '23:00:01:24', '23:00:30:01', 100], 25], ['20:01:01:13', 1890787]), ('partial repair variant: record label wrap', [['01:01:30:01', '10:59:01:01', '23:59:59:01', 100], 25], ['09:57:30:01', 896275]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('normal control', [['00:29:59:01', '01:59:30:24', '00:01:59:12', 200], 25], ['00:46:45:11', 67149]), ('normal control', [['10:29:30:23', '23:59:59:00', '00:59:30:01', -200], 24], ['07:44:44:02', 583537]), ('normal control', [['23:01:00:23', '10:00:30:00', '01:00:01:00', 100], 24], ['11:59:30:01', 949657])], [('regression: record label wrap', [['23:01:01:01', '01:59:01:29', '23:59:01:01', 250], 30], ['01:10:13:12', 128171]), ('regression variant: record label wrap', [['00:01:59:23', '00:01:30:23', '23:59:00:12', -50], 24], ['23:58:02:12', 4145808]), ('partial repair probe: record label wrap', [['01:59:30:12', '23:00:01:24', '23:00:30:01', 100], 25], ['20:01:01:13', 1890787]), ('partial repair variant: record label wrap', [['00:00:30:12', '23:00:59:12', '00:01:59:01', 75], 24], ['06:42:37:17', 2650528]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('normal control', [['23:00:01:00', '10:01:59:01', '01:00:30:24', 0], 25], None), ('normal control', [['23:01:00:00', '01:59:01:00', '01:01:59:00', 100], 30], ['04:00:00:00', 320430]), ('normal control', [['23:00:00:12', '00:00:00:00', '01:00:01:01', 200], 25], ['01:30:00:20', 44994])], [('regression: record label wrap', [['10:59:00:23', '00:00:30:00', '23:00:30:00', -50], 24], ['01:03:28:02', 2250674]), ('regression variant: record label wrap', [['10:59:30:23', '10:00:30:23', '01:59:59:01', 75], 24], ['08:41:19:01', 2651520]), ('partial repair probe: record label wrap', [['23:01:01:01', '01:59:01:29', '23:59:01:01', 250], 30], ['01:10:13:12', 128171]), ('partial repair variant: record label wrap', [['01:00:59:24', '00:00:01:00', '00:59:59:01', -50], 25], ['22:58:01:03', 4137052]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['10:01:00:01', '23:01:00:01', '00:01:59:29', 200], 30], ['06:31:59:29', 702000]), ('normal control', [['23:29:00:24', '10:01:01:01', '00:59:30:00', 100], 25], ['11:31:30:02', 948002]), ('normal control', [['23:29:00:12', '00:00:30:24', '01:29:59:00', 100], 25], ['02:01:29:12', 47262])]]
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: record label wrap['32:32:56:14', 823621]['08:32:56:14', 823621]Failed
regression variant: record label wrap['36:28:31:01', 1403100]['12:28:31:01', 1403100]Failed
partial repair probe: record label wrap['34:59:44:16', 1241566]['10:59:44:16', 1241566]Failed
partial repair variant: record label wrap['34:27:01:24', 942012]['10:27:01:24', 942012]Failed
boundary control['10:00:02:00', 50]['10:00:02:00', 50]Passed
boundary control['00:00:02:00', 50]['00:00:02:00', 50]Passed
normal control['00:00:00:02', 2]['00:00:00:02', 2]Passed
normal control['03:40:31:19', 230431]['03:40:31:19', 230431]Passed
normal control['23:02:27:14', 2070714]['23:02:27:14', 2070714]Passed

SHA-256 / 7e2fd6171923f366e180490595c8ac14c06f9ebf89db34a7a2067e4eab9faf87

3 / The verified repair

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

N = 1
observations = []
def solve(event, fps):
    def fr(t):
        h,m,s,f=map(int,t.split(':'))
        return ((h*60+m)*60+s)*fps+f
    def tc(n):
        n%=86400*fps
        return '%02d:%02d:%02d:%02d'%(n//(3600*fps),n//(60*fps)%60,n//fps%60,n%fps)
    src_in,src_out,rec_in,speed=event
    if speed==0:
        return None
    sp=abs(speed)
    dur=(fr(src_out)-fr(src_in))%(86400*fps)
    rec=(dur*200+sp)//(2*sp)
    return [tc(fr(rec_in)+rec),rec]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: record label wrap', [['00:29:01:12', '10:00:59:01', '23:00:59:01', -100], 24], ['08:32:56:14', 823621]), ('regression variant: record label wrap', [['10:00:30:01', '23:00:00:01', '23:29:01:01', 100], 30], ['12:28:31:01', 1403100]), ('partial repair probe: record label wrap', [['01:59:30:00', '00:59:01:01', '23:29:59:00', 200], 30], ['10:59:44:16', 1241566]), ('partial repair variant: record label wrap', [['00:01:00:00', '10:29:00:12', '23:59:01:12', -100], 25], ['10:27:01:24', 942012]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('normal control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['23:01:00:00', '01:01:00:23', '01:00:30:12', 75], 24], ['03:40:31:19', 230431]), ('normal control', [['00:00:01:12', '23:00:30:01', '00:01:59:00', -100], 25], ['23:02:27:14', 2070714])], [('regression: record label wrap', [['01:59:30:00', '00:59:01:01', '23:29:59:00', 200], 30], ['10:59:44:16', 1241566]), ('regression variant: record label wrap', [['00:00:30:12', '23:00:59:12', '00:01:59:01', 75], 24], ['06:42:37:17', 2650528]), ('partial repair probe: record label wrap', [['01:00:59:00', '00:01:30:01', '23:29:01:12', 250], 24], ['08:41:13:22', 795178]), ('partial repair variant: record label wrap', [['10:00:30:01', '23:00:00:01', '23:29:01:01', 100], 30], ['12:28:31:01', 1403100]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['23:01:01:00', '00:00:30:23', '01:01:30:01', 100], 24], ['02:01:00:00', 85679]), ('normal control', [['23:00:30:01', '00:29:59:29', '00:29:59:29', 75], 30], ['02:29:19:26', 214797]), ('normal control', [['01:59:00:00', '23:59:01:00', '00:59:01:01', 200], 24], ['11:59:01:13', 950412])], [('regression: record label wrap', [['01:00:59:00', '00:01:30:01', '23:29:01:12', 250], 24], ['08:41:13:22', 795178]), ('regression variant: record label wrap', [['10:59:30:12', '00:01:01:00', '23:00:30:01', -200], 24], ['05:31:15:07', 562686]), ('partial repair probe: record label wrap', [['01:59:30:12', '23:00:01:24', '23:00:30:01', 100], 25], ['20:01:01:13', 1890787]), ('partial repair variant: record label wrap', [['01:01:30:01', '10:59:01:01', '23:59:59:01', 100], 25], ['09:57:30:01', 896275]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('normal control', [['00:29:59:01', '01:59:30:24', '00:01:59:12', 200], 25], ['00:46:45:11', 67149]), ('normal control', [['10:29:30:23', '23:59:59:00', '00:59:30:01', -200], 24], ['07:44:44:02', 583537]), ('normal control', [['23:01:00:23', '10:00:30:00', '01:00:01:00', 100], 24], ['11:59:30:01', 949657])], [('regression: record label wrap', [['23:01:01:01', '01:59:01:29', '23:59:01:01', 250], 30], ['01:10:13:12', 128171]), ('regression variant: record label wrap', [['00:01:59:23', '00:01:30:23', '23:59:00:12', -50], 24], ['23:58:02:12', 4145808]), ('partial repair probe: record label wrap', [['01:59:30:12', '23:00:01:24', '23:00:30:01', 100], 25], ['20:01:01:13', 1890787]), ('partial repair variant: record label wrap', [['00:00:30:12', '23:00:59:12', '00:01:59:01', 75], 24], ['06:42:37:17', 2650528]), ('boundary control', [['01:00:00:00', '01:00:01:00', '10:00:00:00', 50], 25], ['10:00:02:00', 50]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('normal control', [['23:00:01:00', '10:01:59:01', '01:00:30:24', 0], 25], None), ('normal control', [['23:01:00:00', '01:59:01:00', '01:01:59:00', 100], 30], ['04:00:00:00', 320430]), ('normal control', [['23:00:00:12', '00:00:00:00', '01:00:01:01', 200], 25], ['01:30:00:20', 44994])], [('regression: record label wrap', [['10:59:00:23', '00:00:30:00', '23:00:30:00', -50], 24], ['01:03:28:02', 2250674]), ('regression variant: record label wrap', [['10:59:30:23', '10:00:30:23', '01:59:59:01', 75], 24], ['08:41:19:01', 2651520]), ('partial repair probe: record label wrap', [['23:01:01:01', '01:59:01:29', '23:59:01:01', 250], 30], ['01:10:13:12', 128171]), ('partial repair variant: record label wrap', [['01:00:59:24', '00:00:01:00', '00:59:59:01', -50], 25], ['22:58:01:03', 4137052]), ('boundary control', [['23:59:59:00', '00:00:01:00', '00:00:00:00', 100], 25], ['00:00:02:00', 50]), ('boundary control', [['00:00:00:00', '00:00:00:03', '00:00:00:00', 200], 30], ['00:00:00:02', 2]), ('normal control', [['10:01:00:01', '23:01:00:01', '00:01:59:29', 200], 30], ['06:31:59:29', 702000]), ('normal control', [['23:29:00:24', '10:01:01:01', '00:59:30:00', 100], 25], ['11:31:30:02', 948002]), ('normal control', [['23:29:00:12', '00:00:30:24', '01:29:59:00', 100], 25], ['02:01:29:12', 47262])]]
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: record label wrap['08:32:56:14', 823621]['08:32:56:14', 823621]Passed
regression variant: record label wrap['12:28:31:01', 1403100]['12:28:31:01', 1403100]Passed
partial repair probe: record label wrap['10:59:44:16', 1241566]['10:59:44:16', 1241566]Passed
partial repair variant: record label wrap['10:27:01:24', 942012]['10:27:01:24', 942012]Passed
boundary control['10:00:02:00', 50]['10:00:02:00', 50]Passed
boundary control['00:00:02:00', 50]['00:00:02:00', 50]Passed
normal control['00:00:00:02', 2]['00:00:00:02', 2]Passed
normal control['03:40:31:19', 230431]['03:40:31:19', 230431]Passed
normal control['23:02:27:14', 2070714]['23:02:27:14', 2070714]Passed

SHA-256 / c19e587278f15162c707f5e26b27e9835396e6b0db0a6e2f44f512a8bf011aa1

Verification & scope

A deterministic bounded teaching model with a stipulated toy contract; it does not claim conformance to SMPTE or any broadcast standard. 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:49:35.943962+00:00.

Case digest / dd12acea6f289cb890f93c158b940cbfeb8369b0bc4e27c5a52b8c403fc290e8