{"abstract":"Negative footage within the first foot, such as -0+05, is read as positive.","category":"Broadcast timecode arithmetic","checks":9,"contract":"Frames per foot: 35mm4 16, 35mm2 32, 16mm 40. An int frame count converts to \"[-]F+ff\" (feet, two-digit frames, sign in front for negatives); a string \"[-]F+ff\" converts to a signed frame count, with ff below frames per foot (else None). \"-0+05\" means -5.","evaluation_group":"w2-broadcast-timecode-arithmetic-feet-frames","failed_approach":"Also testing the magnitude still cannot see the sign of \"-0\".","family":"w2-broadcast-timecode-arithmetic-feet-frames-negative-zero-feet","id":"FA-78526","implementations":{"attempt":{"sha256":"a30c6891d01f4d4e06d0c8b0c8662fac34fe4a69f96728de427b99b9ecbdd376","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value, gauge):\n    per={'35mm4':16,'35mm2':32,'16mm':40}[gauge]\n    if isinstance(value,int):\n        sign='-' if value<0 else ''\n        v=abs(value)\n        return '%s%d+%02d'%(sign,v//per,v%per)\n    ft,fr=value.split('+')\n    if int(fr)>=per:\n        return None\n    n=abs(int(ft))*per+int(fr)\n    return -n if int(ft)<0 or n<0 else n\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: negative zero feet', ['-0+05', '35mm4'], -5), ('regression variant: negative zero feet', ['-0+01', '16mm'], -1), ('partial repair probe: negative zero feet', ['-0+01', '35mm4'], -1), ('partial repair variant: negative zero feet', ['-0+15', '35mm4'], -15), ('boundary control', [16, '35mm4'], '1+00'), ('boundary control', ['0+16', '35mm4'], None), ('normal control', [-1, '35mm4'], '-0+01'), ('normal control', ['2+39', '16mm'], 119), ('normal control', ['0+01', '35mm4'], 1)], [('regression: negative zero feet', ['-0+15', '35mm4'], -15), ('regression variant: negative zero feet', ['-0+20', '16mm'], -20), ('partial repair probe: negative zero feet', ['-0+31', '16mm'], -31), ('partial repair variant: negative zero feet', ['-0+01', '35mm4'], -1), ('boundary control', [-1, '35mm4'], '-0+01'), ('boundary control', ['2+39', '16mm'], 119), ('normal control', ['-3+20', '35mm4'], None), ('normal control', ['12+32', '35mm4'], None), ('normal control', [15, '35mm4'], '0+15')], [('regression: negative zero feet', ['-0+01', '35mm4'], -1), ('regression variant: negative zero feet', ['-0+15', '16mm'], -15), ('partial repair probe: negative zero feet', ['-0+01', '35mm2'], -1), ('partial repair variant: negative zero feet', ['-0+31', '16mm'], -31), ('boundary control', ['1+15', '35mm4'], 31), ('boundary control', [16, '35mm4'], '1+00'), ('normal control', ['-0+40', '16mm'], None), ('normal control', [-43, '16mm'], '-1+03'), ('normal control', ['-3+31', '35mm4'], None)], [('regression: negative zero feet', ['-0+31', '16mm'], -31), ('regression variant: negative zero feet', ['-0+16', '16mm'], -16), ('partial repair probe: negative zero feet', ['-0+01', '16mm'], -1), ('partial repair variant: negative zero feet', ['-0+01', '35mm2'], -1), ('boundary control', ['0+16', '35mm4'], None), ('boundary control', [-1, '35mm4'], '-0+01'), ('normal control', ['-3+20', '35mm2'], -116), ('normal control', ['-3+32', '35mm2'], None), ('normal control', ['-0+16', '35mm4'], None)], [('regression: negative zero feet', ['-0+01', '35mm2'], -1), ('regression variant: negative zero feet', ['-0+05', '35mm4'], -5), ('partial repair probe: negative zero feet', ['-0+20', '16mm'], -20), ('partial repair variant: negative zero feet', ['-0+01', '16mm'], -1), ('boundary control', ['2+39', '16mm'], 119), ('boundary control', ['1+15', '35mm4'], 31), ('normal control', [39, '16mm'], '0+39'), ('normal control', ['0+00', '35mm2'], 0), ('normal control', [-5, '35mm2'], '-0+05')]]\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":"755f0e0a0b20f2f89c3e8fc6f59240c164b8d4ef01c4b89f52803971541eef3b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value, gauge):\n    per={'35mm4':16,'35mm2':32,'16mm':40}[gauge]\n    if isinstance(value,int):\n        sign='-' if value<0 else ''\n        v=abs(value)\n        return '%s%d+%02d'%(sign,v//per,v%per)\n    ft,fr=value.split('+')\n    if int(fr)>=per:\n        return None\n    n=abs(int(ft))*per+int(fr)\n    return -n if int(ft)<0 else n\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: negative zero feet', ['-0+05', '35mm4'], -5), ('regression variant: negative zero feet', ['-0+01', '16mm'], -1), ('partial repair probe: negative zero feet', ['-0+01', '35mm4'], -1), ('partial repair variant: negative zero feet', ['-0+15', '35mm4'], -15), ('boundary control', [16, '35mm4'], '1+00'), ('boundary control', ['0+16', '35mm4'], None), ('normal control', [-1, '35mm4'], '-0+01'), ('normal control', ['2+39', '16mm'], 119), ('normal control', ['0+01', '35mm4'], 1)], [('regression: negative zero feet', ['-0+15', '35mm4'], -15), ('regression variant: negative zero feet', ['-0+20', '16mm'], -20), ('partial repair probe: negative zero feet', ['-0+31', '16mm'], -31), ('partial repair variant: negative zero feet', ['-0+01', '35mm4'], -1), ('boundary control', [-1, '35mm4'], '-0+01'), ('boundary control', ['2+39', '16mm'], 119), ('normal control', ['-3+20', '35mm4'], None), ('normal control', ['12+32', '35mm4'], None), ('normal control', [15, '35mm4'], '0+15')], [('regression: negative zero feet', ['-0+01', '35mm4'], -1), ('regression variant: negative zero feet', ['-0+15', '16mm'], -15), ('partial repair probe: negative zero feet', ['-0+01', '35mm2'], -1), ('partial repair variant: negative zero feet', ['-0+31', '16mm'], -31), ('boundary control', ['1+15', '35mm4'], 31), ('boundary control', [16, '35mm4'], '1+00'), ('normal control', ['-0+40', '16mm'], None), ('normal control', [-43, '16mm'], '-1+03'), ('normal control', ['-3+31', '35mm4'], None)], [('regression: negative zero feet', ['-0+31', '16mm'], -31), ('regression variant: negative zero feet', ['-0+16', '16mm'], -16), ('partial repair probe: negative zero feet', ['-0+01', '16mm'], -1), ('partial repair variant: negative zero feet', ['-0+01', '35mm2'], -1), ('boundary control', ['0+16', '35mm4'], None), ('boundary control', [-1, '35mm4'], '-0+01'), ('normal control', ['-3+20', '35mm2'], -116), ('normal control', ['-3+32', '35mm2'], None), ('normal control', ['-0+16', '35mm4'], None)], [('regression: negative zero feet', ['-0+01', '35mm2'], -1), ('regression variant: negative zero feet', ['-0+05', '35mm4'], -5), ('partial repair probe: negative zero feet', ['-0+20', '16mm'], -20), ('partial repair variant: negative zero feet', ['-0+01', '16mm'], -1), ('boundary control', ['2+39', '16mm'], 119), ('boundary control', ['1+15', '35mm4'], 31), ('normal control', [39, '16mm'], '0+39'), ('normal control', ['0+00', '35mm2'], 0), ('normal control', [-5, '35mm2'], '-0+05')]]\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":"721a69aee72b65c067dbda4169849bd35949257cfe302272bd6e01c7118dc394","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value, gauge):\n    per={'35mm4':16,'35mm2':32,'16mm':40}[gauge]\n    if isinstance(value,int):\n        sign='-' if value<0 else ''\n        v=abs(value)\n        return '%s%d+%02d'%(sign,v//per,v%per)\n    ft,fr=value.split('+')\n    if int(fr)>=per:\n        return None\n    n=abs(int(ft))*per+int(fr)\n    return -n if ft.startswith('-') else n\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: negative zero feet', ['-0+05', '35mm4'], -5), ('regression variant: negative zero feet', ['-0+01', '16mm'], -1), ('partial repair probe: negative zero feet', ['-0+01', '35mm4'], -1), ('partial repair variant: negative zero feet', ['-0+15', '35mm4'], -15), ('boundary control', [16, '35mm4'], '1+00'), ('boundary control', ['0+16', '35mm4'], None), ('normal control', [-1, '35mm4'], '-0+01'), ('normal control', ['2+39', '16mm'], 119), ('normal control', ['0+01', '35mm4'], 1)], [('regression: negative zero feet', ['-0+15', '35mm4'], -15), ('regression variant: negative zero feet', ['-0+20', '16mm'], -20), ('partial repair probe: negative zero feet', ['-0+31', '16mm'], -31), ('partial repair variant: negative zero feet', ['-0+01', '35mm4'], -1), ('boundary control', [-1, '35mm4'], '-0+01'), ('boundary control', ['2+39', '16mm'], 119), ('normal control', ['-3+20', '35mm4'], None), ('normal control', ['12+32', '35mm4'], None), ('normal control', [15, '35mm4'], '0+15')], [('regression: negative zero feet', ['-0+01', '35mm4'], -1), ('regression variant: negative zero feet', ['-0+15', '16mm'], -15), ('partial repair probe: negative zero feet', ['-0+01', '35mm2'], -1), ('partial repair variant: negative zero feet', ['-0+31', '16mm'], -31), ('boundary control', ['1+15', '35mm4'], 31), ('boundary control', [16, '35mm4'], '1+00'), ('normal control', ['-0+40', '16mm'], None), ('normal control', [-43, '16mm'], '-1+03'), ('normal control', ['-3+31', '35mm4'], None)], [('regression: negative zero feet', ['-0+31', '16mm'], -31), ('regression variant: negative zero feet', ['-0+16', '16mm'], -16), ('partial repair probe: negative zero feet', ['-0+01', '16mm'], -1), ('partial repair variant: negative zero feet', ['-0+01', '35mm2'], -1), ('boundary control', ['0+16', '35mm4'], None), ('boundary control', [-1, '35mm4'], '-0+01'), ('normal control', ['-3+20', '35mm2'], -116), ('normal control', ['-3+32', '35mm2'], None), ('normal control', ['-0+16', '35mm4'], None)], [('regression: negative zero feet', ['-0+01', '35mm2'], -1), ('regression variant: negative zero feet', ['-0+05', '35mm4'], -5), ('partial repair probe: negative zero feet', ['-0+20', '16mm'], -20), ('partial repair variant: negative zero feet', ['-0+01', '16mm'], -1), ('boundary control', ['2+39', '16mm'], 119), ('boundary control', ['1+15', '35mm4'], 31), ('normal control', [39, '16mm'], '0+39'), ('normal control', ['0+00', '35mm2'], 0), ('normal control', [-5, '35mm2'], '-0+05')]]\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-feet-frames-negative-zero-feet","generated_at":"2026-09-29T14:49:35.957241+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":"Detect the sign from the text of the feet field.","root_cause":"The sign is detected numerically, and int(\"-0\") is zero.","sha256":"110a85d1657b2288f2d002ab3863fbbefefda966828f4d38b3403b5e3bc939a6","title":"Film feet and frames conversion: negative zero feet · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.533,"exit_code":1,"observations":[{"actual":5,"check":"regression: negative zero feet","expected":-5,"passed":false},{"actual":1,"check":"regression variant: negative zero feet","expected":-1,"passed":false},{"actual":1,"check":"partial repair probe: negative zero feet","expected":-1,"passed":false},{"actual":15,"check":"partial repair variant: negative zero feet","expected":-15,"passed":false},{"actual":"1+00","check":"boundary control","expected":"1+00","passed":true},{"actual":null,"check":"boundary control","expected":null,"passed":true},{"actual":"-0+01","check":"normal control","expected":"-0+01","passed":true},{"actual":119,"check":"normal control","expected":119,"passed":true},{"actual":1,"check":"normal control","expected":1,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: negative zero feet\", \"actual\": 5, \"expected\": -5, \"passed\": false}, {\"check\": \"regression variant: negative zero feet\", \"actual\": 1, \"expected\": -1, \"passed\": false}, {\"check\": \"partial repair probe: negative zero feet\", \"actual\": 1, \"expected\": -1, \"passed\": false}, {\"check\": \"partial repair variant: negative zero feet\", \"actual\": 15, \"expected\": -15, \"passed\": false}, {\"check\": \"boundary control\", \"actual\": \"1+00\", \"expected\": \"1+00\", \"passed\": true}, {\"check\": \"boundary control\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"-0+01\", \"expected\": \"-0+01\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": 119, \"expected\": 119, \"passed\": true}, {\"check\": \"normal control\", \"actual\": 1, \"expected\": 1, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.594,"exit_code":1,"observations":[{"actual":5,"check":"regression: negative zero feet","expected":-5,"passed":false},{"actual":1,"check":"regression variant: negative zero feet","expected":-1,"passed":false},{"actual":1,"check":"partial repair probe: negative zero feet","expected":-1,"passed":false},{"actual":15,"check":"partial repair variant: negative zero feet","expected":-15,"passed":false},{"actual":"1+00","check":"boundary control","expected":"1+00","passed":true},{"actual":null,"check":"boundary control","expected":null,"passed":true},{"actual":"-0+01","check":"normal control","expected":"-0+01","passed":true},{"actual":119,"check":"normal control","expected":119,"passed":true},{"actual":1,"check":"normal control","expected":1,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: negative zero feet\", \"actual\": 5, \"expected\": -5, \"passed\": false}, {\"check\": \"regression variant: negative zero feet\", \"actual\": 1, \"expected\": -1, \"passed\": false}, {\"check\": \"partial repair probe: negative zero feet\", \"actual\": 1, \"expected\": -1, \"passed\": false}, {\"check\": \"partial repair variant: negative zero feet\", \"actual\": 15, \"expected\": -15, \"passed\": false}, {\"check\": \"boundary control\", \"actual\": \"1+00\", \"expected\": \"1+00\", \"passed\": true}, {\"check\": \"boundary control\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"-0+01\", \"expected\": \"-0+01\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": 119, \"expected\": 119, \"passed\": true}, {\"check\": \"normal control\", \"actual\": 1, \"expected\": 1, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.514,"exit_code":0,"observations":[{"actual":-5,"check":"regression: negative zero feet","expected":-5,"passed":true},{"actual":-1,"check":"regression variant: negative zero feet","expected":-1,"passed":true},{"actual":-1,"check":"partial repair probe: negative zero feet","expected":-1,"passed":true},{"actual":-15,"check":"partial repair variant: negative zero feet","expected":-15,"passed":true},{"actual":"1+00","check":"boundary control","expected":"1+00","passed":true},{"actual":null,"check":"boundary control","expected":null,"passed":true},{"actual":"-0+01","check":"normal control","expected":"-0+01","passed":true},{"actual":119,"check":"normal control","expected":119,"passed":true},{"actual":1,"check":"normal control","expected":1,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: negative zero feet\", \"actual\": -5, \"expected\": -5, \"passed\": true}, {\"check\": \"regression variant: negative zero feet\", \"actual\": -1, \"expected\": -1, \"passed\": true}, {\"check\": \"partial repair probe: negative zero feet\", \"actual\": -1, \"expected\": -1, \"passed\": true}, {\"check\": \"partial repair variant: negative zero feet\", \"actual\": -15, \"expected\": -15, \"passed\": true}, {\"check\": \"boundary control\", \"actual\": \"1+00\", \"expected\": \"1+00\", \"passed\": true}, {\"check\": \"boundary control\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"normal control\", \"actual\": \"-0+01\", \"expected\": \"-0+01\", \"passed\": true}, {\"check\": \"normal control\", \"actual\": 119, \"expected\": 119, \"passed\": true}, {\"check\": \"normal control\", \"actual\": 1, \"expected\": 1, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}