{"abstract":"Files using 29.97 fps timing run about 3.4% slow because each frame is taken as 1/29 second.","category":"MIDI event timing","checks":8,"contract":"Input [division_high_byte, ticks_per_frame, ticks]. The high byte is a negative frame-rate code in two's complement: 24, 25, 29 (meaning 30000/1001 frames per second) or 30. Microseconds = ticks * 1000000 / (rate * ticks_per_frame), floored once. Invalid codes, non-positive ticks per frame or negative ticks return None.","evaluation_group":"w2-midi-event-timing-smpte-division-time","failed_approach":"Approximating 29.97 as 2997/100 drifts by about one frame per hour on long files.","family":"w2-midi-event-timing-smpte-division-time-drop-frame-rate","id":"FA-81506","implementations":{"attempt":{"sha256":"c62ceb163baa2ca6f19fc817e9e965ffd8d662ddaa837ec2ec785195cd22ed2e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list) or len(x) != 3:\n        return None\n    hi, tpf, ticks = x\n    code = 256 - hi\n    rates = {24: Fraction(24), 25: Fraction(25), 29: Fraction(2997, 100), 30: Fraction(30)}\n    if code not in rates or tpf <= 0 or ticks < 0:\n        return None\n    return int(Fraction(ticks * 1000000) / (rates[code] * tpf))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([232, 40, 40], 41666), ([231, 40, 1000], 1000000), ([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 3000], 1000000), ([226, 100, 7], 2333), ([227, 100, 300000], 100100000)], [([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 7], 2333), ([232, 1, 1], 41666), ([231, 4, 3], 30000), ([227, 1, 29], 967633), ([233, 40, 40], None), ([228, 40, 40], None)], [([227, 4, 107892], 899999100), ([227, 1, 29], 967633), ([233, 40, 40], None), ([228, 40, 40], None), ([232, 0, 10], None), ([232, 40, -1], None), ([227, 80, 0], 0), ([227, 100, 300000], 100100000)], [([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([227, 1, 29], 967633), ([232, 40, -1], None), ([227, 80, 0], 0), ([226, 3, 1000001], 11111122222), ([227, 100, 300000], 100100000)], [([232, 40, 40], 41666), ([231, 40, 1000], 1000000), ([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 3000], 1000000), ([227, 1, 29], 967633), ([227, 100, 300000], 100100000)]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"oracle %d\" % i, 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":"e7fc591fc6569eb97100e0a9681fd7d9e40673e8a79ce6511cf84a08922af178","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list) or len(x) != 3:\n        return None\n    hi, tpf, ticks = x\n    code = 256 - hi\n    rates = {24: Fraction(24), 25: Fraction(25), 29: Fraction(29), 30: Fraction(30)}\n    if code not in rates or tpf <= 0 or ticks < 0:\n        return None\n    return int(Fraction(ticks * 1000000) / (rates[code] * tpf))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([232, 40, 40], 41666), ([231, 40, 1000], 1000000), ([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 3000], 1000000), ([226, 100, 7], 2333), ([227, 100, 300000], 100100000)], [([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 7], 2333), ([232, 1, 1], 41666), ([231, 4, 3], 30000), ([227, 1, 29], 967633), ([233, 40, 40], None), ([228, 40, 40], None)], [([227, 4, 107892], 899999100), ([227, 1, 29], 967633), ([233, 40, 40], None), ([228, 40, 40], None), ([232, 0, 10], None), ([232, 40, -1], None), ([227, 80, 0], 0), ([227, 100, 300000], 100100000)], [([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([227, 1, 29], 967633), ([232, 40, -1], None), ([227, 80, 0], 0), ([226, 3, 1000001], 11111122222), ([227, 100, 300000], 100100000)], [([232, 40, 40], 41666), ([231, 40, 1000], 1000000), ([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 3000], 1000000), ([227, 1, 29], 967633), ([227, 100, 300000], 100100000)]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"oracle %d\" % i, 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":"d64a026077c0108a989ae593472e8aded7580c984e8a5d91584a5799806062bf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list) or len(x) != 3:\n        return None\n    hi, tpf, ticks = x\n    code = 256 - hi\n    rates = {24: Fraction(24), 25: Fraction(25), 29: Fraction(30000, 1001), 30: Fraction(30)}\n    if code not in rates or tpf <= 0 or ticks < 0:\n        return None\n    return int(Fraction(ticks * 1000000) / (rates[code] * tpf))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([232, 40, 40], 41666), ([231, 40, 1000], 1000000), ([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 3000], 1000000), ([226, 100, 7], 2333), ([227, 100, 300000], 100100000)], [([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 7], 2333), ([232, 1, 1], 41666), ([231, 4, 3], 30000), ([227, 1, 29], 967633), ([233, 40, 40], None), ([228, 40, 40], None)], [([227, 4, 107892], 899999100), ([227, 1, 29], 967633), ([233, 40, 40], None), ([228, 40, 40], None), ([232, 0, 10], None), ([232, 40, -1], None), ([227, 80, 0], 0), ([227, 100, 300000], 100100000)], [([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([227, 1, 29], 967633), ([232, 40, -1], None), ([227, 80, 0], 0), ([226, 3, 1000001], 11111122222), ([227, 100, 300000], 100100000)], [([232, 40, 40], 41666), ([231, 40, 1000], 1000000), ([227, 80, 80], 33366), ([227, 80, 2400], 1001000), ([227, 4, 107892], 899999100), ([226, 100, 3000], 1000000), ([227, 1, 29], 967633), ([227, 100, 300000], 100100000)]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"oracle %d\" % i, 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 is not a complete Standard MIDI File or MIDI 1.0/2.0 implementation. 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-midi-event-timing-smpte-division-time-drop-frame-rate","generated_at":"2026-09-29T14:50:03.739929+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"MIDI sequencers, file readers and synth drivers depend on exact event ordering and tick/time arithmetic.","repair":"Restore the drop-frame rate step so that it reads `29: Fraction(30000, 1001)`.","root_cause":"The rate code 29 is mapped to 29 frames per second instead of 30000/1001.","sha256":"4c765781ddad6c720e55f4e17abe54c62d61ac0956dea2c79984e05e335e9517","title":"SMPTE time-division ticks to microseconds: code 29 timed at 29 frames per second · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.279,"exit_code":1,"observations":[{"actual":41666,"check":"oracle 0","expected":41666,"passed":true},{"actual":1000000,"check":"oracle 1","expected":1000000,"passed":true},{"actual":33366,"check":"oracle 2","expected":33366,"passed":true},{"actual":1001001,"check":"oracle 3","expected":1001000,"passed":false},{"actual":900000000,"check":"oracle 4","expected":899999100,"passed":false},{"actual":1000000,"check":"oracle 5","expected":1000000,"passed":true},{"actual":2333,"check":"oracle 6","expected":2333,"passed":true},{"actual":100100100,"check":"oracle 7","expected":100100000,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": 41666, \"expected\": 41666, \"passed\": true}, {\"check\": \"oracle 1\", \"actual\": 1000000, \"expected\": 1000000, \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": 33366, \"expected\": 33366, \"passed\": true}, {\"check\": \"oracle 3\", \"actual\": 1001001, \"expected\": 1001000, \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": 900000000, \"expected\": 899999100, \"passed\": false}, {\"check\": \"oracle 5\", \"actual\": 1000000, \"expected\": 1000000, \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": 2333, \"expected\": 2333, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": 100100100, \"expected\": 100100000, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.805,"exit_code":1,"observations":[{"actual":41666,"check":"oracle 0","expected":41666,"passed":true},{"actual":1000000,"check":"oracle 1","expected":1000000,"passed":true},{"actual":34482,"check":"oracle 2","expected":33366,"passed":false},{"actual":1034482,"check":"oracle 3","expected":1001000,"passed":false},{"actual":930103448,"check":"oracle 4","expected":899999100,"passed":false},{"actual":1000000,"check":"oracle 5","expected":1000000,"passed":true},{"actual":2333,"check":"oracle 6","expected":2333,"passed":true},{"actual":103448275,"check":"oracle 7","expected":100100000,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": 41666, \"expected\": 41666, \"passed\": true}, {\"check\": \"oracle 1\", \"actual\": 1000000, \"expected\": 1000000, \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": 34482, \"expected\": 33366, \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": 1034482, \"expected\": 1001000, \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": 930103448, \"expected\": 899999100, \"passed\": false}, {\"check\": \"oracle 5\", \"actual\": 1000000, \"expected\": 1000000, \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": 2333, \"expected\": 2333, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": 103448275, \"expected\": 100100000, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.262,"exit_code":0,"observations":[{"actual":41666,"check":"oracle 0","expected":41666,"passed":true},{"actual":1000000,"check":"oracle 1","expected":1000000,"passed":true},{"actual":33366,"check":"oracle 2","expected":33366,"passed":true},{"actual":1001000,"check":"oracle 3","expected":1001000,"passed":true},{"actual":899999100,"check":"oracle 4","expected":899999100,"passed":true},{"actual":1000000,"check":"oracle 5","expected":1000000,"passed":true},{"actual":2333,"check":"oracle 6","expected":2333,"passed":true},{"actual":100100000,"check":"oracle 7","expected":100100000,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": 41666, \"expected\": 41666, \"passed\": true}, {\"check\": \"oracle 1\", \"actual\": 1000000, \"expected\": 1000000, \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": 33366, \"expected\": 33366, \"passed\": true}, {\"check\": \"oracle 3\", \"actual\": 1001000, \"expected\": 1001000, \"passed\": true}, {\"check\": \"oracle 4\", \"actual\": 899999100, \"expected\": 899999100, \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": 1000000, \"expected\": 1000000, \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": 2333, \"expected\": 2333, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": 100100000, \"expected\": 100100000, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}