{"abstract":"Elapsed times are a millisecond early for many frames.","category":"Broadcast timecode arithmetic","checks":9,"contract":"Rates \"23.976\", \"29.97\", \"59.94\" run at nominal*1000/1001 frames per second while labels count nominal frames per second (non-drop). mode \"to_ms\": label to elapsed milliseconds, rounded half up. mode \"to_tc\": milliseconds to the nearest frame (half up), formatted as a non-drop label wrapping at 24 hours.","evaluation_group":"w2-broadcast-timecode-arithmetic-pulldown-wall-clock","failed_approach":"Float rounding with half-to-even disagrees at exact halves.","family":"w2-broadcast-timecode-arithmetic-pulldown-wall-clock-label-to-ms-rounding","id":"FA-78596","implementations":{"attempt":{"sha256":"7cabd61643b2fcbac4803caf6c4109e4c86124c07604588ae35c9e051565609b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value, rate, mode):\n    nominal={'23.976':24,'29.97':30,'59.94':60,'24':24,'25':25,'30':30}[rate]\n    den=1001 if '.' in rate else 1000\n    num=nominal*1000\n    if mode=='to_ms':\n        h,m,s,f=map(int,value.split(':'))\n        n=((h*60+m)*60+s)*nominal+f\n        return round(n*1000*den/num)\n    n=(2*value*num+1000*den)//(2000*den)\n    return '%02d:%02d:%02d:%02d'%(n//(3600*nominal)%24,n//(60*nominal)%60,n//nominal%60,n%nominal)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: label to ms rounding', ['00:00:00:01', '23.976', 'to_ms'], 42), ('regression variant: label to ms rounding', ['01:01:00:01', '23.976', 'to_ms'], 3663702), ('partial repair probe: label to ms rounding', ['01:00:00:12', '23.976', 'to_ms'], 3604101), ('partial repair variant: label to ms rounding', ['23:01:01:45', '29.97', 'to_ms'], 82945363), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('normal control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', [1, '24', 'to_tc'], '00:00:00:00'), ('normal control', [1020, '24', 'to_tc'], '00:00:01:00')], [('regression: label to ms rounding', ['10:59:00:45', '23.976', 'to_ms'], 39581417), ('regression variant: label to ms rounding', ['01:01:00:15', '29.97', 'to_ms'], 3664161), ('partial repair probe: label to ms rounding', ['23:00:59:45', '29.97', 'to_ms'], 82943361), ('partial repair variant: label to ms rounding', ['01:01:01:45', '29.97', 'to_ms'], 3666163), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', ['10:00:01:24', '25', 'to_ms'], 36001960), ('normal control', [250, '59.94', 'to_tc'], '00:00:00:15'), ('normal control', ['01:01:01:36', '30', 'to_ms'], 3662200)], [('regression: label to ms rounding', ['01:01:01:15', '23.976', 'to_ms'], 3665287), ('regression variant: label to ms rounding', ['01:01:00:29', '29.97', 'to_ms'], 3664628), ('partial repair probe: label to ms rounding', ['23:01:59:45', '29.97', 'to_ms'], 83003421), ('partial repair variant: label to ms rounding', ['01:01:59:45', '29.97', 'to_ms'], 3724221), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('normal control', ['23:59:59:15', '59.94', 'to_ms'], 86485649), ('normal control', ['10:00:01:06', '30', 'to_ms'], 36001200), ('normal control', ['10:59:59:36', '30', 'to_ms'], 39600200)], [('regression: label to ms rounding', ['10:59:00:36', '59.94', 'to_ms'], 39580141), ('regression variant: label to ms rounding', ['00:01:01:01', '23.976', 'to_ms'], 61103), ('partial repair probe: label to ms rounding', ['23:01:00:15', '29.97', 'to_ms'], 82943361), ('partial repair variant: label to ms rounding', ['01:01:00:15', '29.97', 'to_ms'], 3664161), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('normal control', [0, '23.976', 'to_tc'], '00:00:00:00'), ('normal control', [100, '23.976', 'to_tc'], '00:00:00:02'), ('normal control', [100, '59.94', 'to_tc'], '00:00:00:06')], [('regression: label to ms rounding', ['00:01:01:15', '23.976', 'to_ms'], 61687), ('regression variant: label to ms rounding', ['10:01:00:15', '23.976', 'to_ms'], 36096686), ('partial repair probe: label to ms rounding', ['00:00:01:36', '23.976', 'to_ms'], 2503), ('partial repair variant: label to ms rounding', ['00:01:01:36', '23.976', 'to_ms'], 62563), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', ['10:00:01:15', '30', 'to_ms'], 36001500), ('normal control', [250, '24', 'to_tc'], '00:00:00:06'), ('normal control', [3603600, '29.97', 'to_tc'], '01:00:00:00')]]\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":"5a0e54cab7c537a67bad43d05a83c6be34ef9356964caaeaa38bad153430c1df","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value, rate, mode):\n    nominal={'23.976':24,'29.97':30,'59.94':60,'24':24,'25':25,'30':30}[rate]\n    den=1001 if '.' in rate else 1000\n    num=nominal*1000\n    if mode=='to_ms':\n        h,m,s,f=map(int,value.split(':'))\n        n=((h*60+m)*60+s)*nominal+f\n        return n*1000*den//num\n    n=(2*value*num+1000*den)//(2000*den)\n    return '%02d:%02d:%02d:%02d'%(n//(3600*nominal)%24,n//(60*nominal)%60,n//nominal%60,n%nominal)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: label to ms rounding', ['00:00:00:01', '23.976', 'to_ms'], 42), ('regression variant: label to ms rounding', ['01:01:00:01', '23.976', 'to_ms'], 3663702), ('partial repair probe: label to ms rounding', ['01:00:00:12', '23.976', 'to_ms'], 3604101), ('partial repair variant: label to ms rounding', ['23:01:01:45', '29.97', 'to_ms'], 82945363), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('normal control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', [1, '24', 'to_tc'], '00:00:00:00'), ('normal control', [1020, '24', 'to_tc'], '00:00:01:00')], [('regression: label to ms rounding', ['10:59:00:45', '23.976', 'to_ms'], 39581417), ('regression variant: label to ms rounding', ['01:01:00:15', '29.97', 'to_ms'], 3664161), ('partial repair probe: label to ms rounding', ['23:00:59:45', '29.97', 'to_ms'], 82943361), ('partial repair variant: label to ms rounding', ['01:01:01:45', '29.97', 'to_ms'], 3666163), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', ['10:00:01:24', '25', 'to_ms'], 36001960), ('normal control', [250, '59.94', 'to_tc'], '00:00:00:15'), ('normal control', ['01:01:01:36', '30', 'to_ms'], 3662200)], [('regression: label to ms rounding', ['01:01:01:15', '23.976', 'to_ms'], 3665287), ('regression variant: label to ms rounding', ['01:01:00:29', '29.97', 'to_ms'], 3664628), ('partial repair probe: label to ms rounding', ['23:01:59:45', '29.97', 'to_ms'], 83003421), ('partial repair variant: label to ms rounding', ['01:01:59:45', '29.97', 'to_ms'], 3724221), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('normal control', ['23:59:59:15', '59.94', 'to_ms'], 86485649), ('normal control', ['10:00:01:06', '30', 'to_ms'], 36001200), ('normal control', ['10:59:59:36', '30', 'to_ms'], 39600200)], [('regression: label to ms rounding', ['10:59:00:36', '59.94', 'to_ms'], 39580141), ('regression variant: label to ms rounding', ['00:01:01:01', '23.976', 'to_ms'], 61103), ('partial repair probe: label to ms rounding', ['23:01:00:15', '29.97', 'to_ms'], 82943361), ('partial repair variant: label to ms rounding', ['01:01:00:15', '29.97', 'to_ms'], 3664161), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('normal control', [0, '23.976', 'to_tc'], '00:00:00:00'), ('normal control', [100, '23.976', 'to_tc'], '00:00:00:02'), ('normal control', [100, '59.94', 'to_tc'], '00:00:00:06')], [('regression: label to ms rounding', ['00:01:01:15', '23.976', 'to_ms'], 61687), ('regression variant: label to ms rounding', ['10:01:00:15', '23.976', 'to_ms'], 36096686), ('partial repair probe: label to ms rounding', ['00:00:01:36', '23.976', 'to_ms'], 2503), ('partial repair variant: label to ms rounding', ['00:01:01:36', '23.976', 'to_ms'], 62563), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', ['10:00:01:15', '30', 'to_ms'], 36001500), ('normal control', [250, '24', 'to_tc'], '00:00:00:06'), ('normal control', [3603600, '29.97', 'to_tc'], '01:00:00:00')]]\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":"618796a274abb964045e14f3f0c780a211cd150633b57651e46f47e727edd8c5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value, rate, mode):\n    nominal={'23.976':24,'29.97':30,'59.94':60,'24':24,'25':25,'30':30}[rate]\n    den=1001 if '.' in rate else 1000\n    num=nominal*1000\n    if mode=='to_ms':\n        h,m,s,f=map(int,value.split(':'))\n        n=((h*60+m)*60+s)*nominal+f\n        return (2*n*1000*den+num)//(2*num)\n    n=(2*value*num+1000*den)//(2000*den)\n    return '%02d:%02d:%02d:%02d'%(n//(3600*nominal)%24,n//(60*nominal)%60,n//nominal%60,n%nominal)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: label to ms rounding', ['00:00:00:01', '23.976', 'to_ms'], 42), ('regression variant: label to ms rounding', ['01:01:00:01', '23.976', 'to_ms'], 3663702), ('partial repair probe: label to ms rounding', ['01:00:00:12', '23.976', 'to_ms'], 3604101), ('partial repair variant: label to ms rounding', ['23:01:01:45', '29.97', 'to_ms'], 82945363), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('normal control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', [1, '24', 'to_tc'], '00:00:00:00'), ('normal control', [1020, '24', 'to_tc'], '00:00:01:00')], [('regression: label to ms rounding', ['10:59:00:45', '23.976', 'to_ms'], 39581417), ('regression variant: label to ms rounding', ['01:01:00:15', '29.97', 'to_ms'], 3664161), ('partial repair probe: label to ms rounding', ['23:00:59:45', '29.97', 'to_ms'], 82943361), ('partial repair variant: label to ms rounding', ['01:01:01:45', '29.97', 'to_ms'], 3666163), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', ['10:00:01:24', '25', 'to_ms'], 36001960), ('normal control', [250, '59.94', 'to_tc'], '00:00:00:15'), ('normal control', ['01:01:01:36', '30', 'to_ms'], 3662200)], [('regression: label to ms rounding', ['01:01:01:15', '23.976', 'to_ms'], 3665287), ('regression variant: label to ms rounding', ['01:01:00:29', '29.97', 'to_ms'], 3664628), ('partial repair probe: label to ms rounding', ['23:01:59:45', '29.97', 'to_ms'], 83003421), ('partial repair variant: label to ms rounding', ['01:01:59:45', '29.97', 'to_ms'], 3724221), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('normal control', ['23:59:59:15', '59.94', 'to_ms'], 86485649), ('normal control', ['10:00:01:06', '30', 'to_ms'], 36001200), ('normal control', ['10:59:59:36', '30', 'to_ms'], 39600200)], [('regression: label to ms rounding', ['10:59:00:36', '59.94', 'to_ms'], 39580141), ('regression variant: label to ms rounding', ['00:01:01:01', '23.976', 'to_ms'], 61103), ('partial repair probe: label to ms rounding', ['23:01:00:15', '29.97', 'to_ms'], 82943361), ('partial repair variant: label to ms rounding', ['01:01:00:15', '29.97', 'to_ms'], 3664161), ('boundary control', ['01:00:00:00', '29.97', 'to_ms'], 3603600), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('normal control', [0, '23.976', 'to_tc'], '00:00:00:00'), ('normal control', [100, '23.976', 'to_tc'], '00:00:00:02'), ('normal control', [100, '59.94', 'to_tc'], '00:00:00:06')], [('regression: label to ms rounding', ['00:01:01:15', '23.976', 'to_ms'], 61687), ('regression variant: label to ms rounding', ['10:01:00:15', '23.976', 'to_ms'], 36096686), ('partial repair probe: label to ms rounding', ['00:00:01:36', '23.976', 'to_ms'], 2503), ('partial repair variant: label to ms rounding', ['00:01:01:36', '23.976', 'to_ms'], 62563), ('boundary control', [3600000, '29.97', 'to_tc'], '00:59:56:12'), ('boundary control', ['00:00:00:01', '25', 'to_ms'], 40), ('normal control', ['10:00:01:15', '30', 'to_ms'], 36001500), ('normal control', [250, '24', 'to_tc'], '00:00:00:06'), ('normal control', [3603600, '29.97', 'to_tc'], '01:00:00:00')]]\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 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-broadcast-timecode-arithmetic-pulldown-wall-clock-label-to-ms-rounding","generated_at":"2026-09-29T14:49:36.649897+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Timecode arithmetic errors misplace edits, commercial breaks and captions against the broadcast clock.","repair":"Round the elapsed time half up.","root_cause":"The millisecond conversion is floored.","sha256":"ee021db99acce970c865dc3672f128ee34babba61fc80234e901abc730f85934","title":"Non-drop label to wall clock at pulled-down rates: label to ms rounding · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.4,"exit_code":1,"observations":[{"actual":42,"check":"regression: label to ms rounding","expected":42,"passed":true},{"actual":3663702,"check":"regression variant: label to ms rounding","expected":3663702,"passed":true},{"actual":3604100,"check":"partial repair probe: label to ms rounding","expected":3604101,"passed":false},{"actual":82945362,"check":"partial repair variant: label to ms rounding","expected":82945363,"passed":false},{"actual":3603600,"check":"boundary control","expected":3603600,"passed":true},{"actual":"00:59:56:12","check":"boundary control","expected":"00:59:56:12","passed":true},{"actual":40,"check":"normal control","expected":40,"passed":true},{"actual":"00:00:00:00","check":"normal control","expected":"00:00:00:00","passed":true},{"actual":"00:00:01:00","check":"normal control","expected":"00:00:01:00","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: label to ms rounding\", \"actual\": 42, \"expected\": 42, \"passed\": true}, {\"check\": \"regression variant: label to ms rounding\", \"actual\": 3663702, \"expected\": 3663702, \"passed\": true}, {\"check\": \"partial repair probe: label to ms rounding\", \"actual\": 3604100, \"expected\": 3604101, \"passed\": false}, {\"check\": \"partial repair variant: label to ms rounding\", \"actual\": 82945362, \"expected\": 82945363, \"passed\": false}, {\"check\": \"boundary control\", \"actual\": 3603600, \"expected\": 3603600, \"passed\": true}, {\"check\": \"boundary control\", \"actual\": \"00:59:56:12\", \"expected\": \"00:59:56:12\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": 40, \"expected\": 40, \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"00:00:00:00\", \"expected\": \"00:00:00:00\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"00:00:01:00\", \"expected\": \"00:00:01:00\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.357,"exit_code":1,"observations":[{"actual":41,"check":"regression: label to ms rounding","expected":42,"passed":false},{"actual":3663701,"check":"regression variant: label to ms rounding","expected":3663702,"passed":false},{"actual":3604100,"check":"partial repair probe: label to ms rounding","expected":3604101,"passed":false},{"actual":82945362,"check":"partial repair variant: label to ms rounding","expected":82945363,"passed":false},{"actual":3603600,"check":"boundary control","expected":3603600,"passed":true},{"actual":"00:59:56:12","check":"boundary control","expected":"00:59:56:12","passed":true},{"actual":40,"check":"normal control","expected":40,"passed":true},{"actual":"00:00:00:00","check":"normal control","expected":"00:00:00:00","passed":true},{"actual":"00:00:01:00","check":"normal control","expected":"00:00:01:00","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: label to ms rounding\", \"actual\": 41, \"expected\": 42, \"passed\": false}, {\"check\": \"regression variant: label to ms rounding\", \"actual\": 3663701, \"expected\": 3663702, \"passed\": false}, {\"check\": \"partial repair probe: label to ms rounding\", \"actual\": 3604100, \"expected\": 3604101, \"passed\": false}, {\"check\": \"partial repair variant: label to ms rounding\", \"actual\": 82945362, \"expected\": 82945363, \"passed\": false}, {\"check\": \"boundary control\", \"actual\": 3603600, \"expected\": 3603600, \"passed\": true}, {\"check\": \"boundary control\", \"actual\": \"00:59:56:12\", \"expected\": \"00:59:56:12\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": 40, \"expected\": 40, \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"00:00:00:00\", \"expected\": \"00:00:00:00\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"00:00:01:00\", \"expected\": \"00:00:01:00\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.332,"exit_code":0,"observations":[{"actual":42,"check":"regression: label to ms rounding","expected":42,"passed":true},{"actual":3663702,"check":"regression variant: label to ms rounding","expected":3663702,"passed":true},{"actual":3604101,"check":"partial repair probe: label to ms rounding","expected":3604101,"passed":true},{"actual":82945363,"check":"partial repair variant: label to ms rounding","expected":82945363,"passed":true},{"actual":3603600,"check":"boundary control","expected":3603600,"passed":true},{"actual":"00:59:56:12","check":"boundary control","expected":"00:59:56:12","passed":true},{"actual":40,"check":"normal control","expected":40,"passed":true},{"actual":"00:00:00:00","check":"normal control","expected":"00:00:00:00","passed":true},{"actual":"00:00:01:00","check":"normal control","expected":"00:00:01:00","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: label to ms rounding\", \"actual\": 42, \"expected\": 42, \"passed\": true}, {\"check\": \"regression variant: label to ms rounding\", \"actual\": 3663702, \"expected\": 3663702, \"passed\": true}, {\"check\": \"partial repair probe: label to ms rounding\", \"actual\": 3604101, \"expected\": 3604101, \"passed\": true}, {\"check\": \"partial repair variant: label to ms rounding\", \"actual\": 82945363, \"expected\": 82945363, \"passed\": true}, {\"check\": \"boundary control\", \"actual\": 3603600, \"expected\": 3603600, \"passed\": true}, {\"check\": \"boundary control\", \"actual\": \"00:59:56:12\", \"expected\": \"00:59:56:12\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": 40, \"expected\": 40, \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"00:00:00:00\", \"expected\": \"00:00:00:00\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"00:00:01:00\", \"expected\": \"00:00:01:00\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}