{"abstract":"The reported millisecond duration is shorter than the frame count covers.","category":"Subtitle cue timing","checks":9,"contract":"rules [base,per_char,min,max]. Count characters other than spaces and line breaks; duration = base + count*per_char, clamped to [min,max]; then rounded up to whole frames at fps [N,D]. Return [frames, ceil(frames*1000*D/N)].","evaluation_group":"w2-subtitle-cue-timing-recommended-duration","failed_approach":"Dividing by the rate numerator before multiplying by the denominator loses precision.","family":"w2-subtitle-cue-timing-recommended-duration-frame-back-conversion","id":"FA-78281","implementations":{"attempt":{"sha256":"355cdfda236e1acd1e548e02f5693de6edf02815b46bcdd43153bf8c715db49e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(text, fps, rules):\n    base,per,lo,hi=rules\n    n=len(text.replace(' ','').replace('\\n',''))\n    d=base+n*per\n    d=max(lo,min(hi,d))\n    num,den=fps\n    fr=-((-d*num)//(1000*den))\n    return [fr,fr*1000//num*den]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: frame back-conversion', ['Two\\nlines here', [30000, 1001], [0, 70, 800, 7000]], [26, 868]), ('regression variant: frame back-conversion', ['Two\\nlines here', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair probe: frame back-conversion', ['A much longer subtitle line to read', [24000, 1001], [300, 50, 1200, 1500]], [36, 1502]), ('partial repair variant: frame back-conversion', ['', [24, 1], [300, 50, 1200, 1500]], [29, 1209]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['   ', [25, 1], [700, 100, 1000, 2000]], [25, 1000]), ('normal control', ['Two\\nlines here', [25, 1], [300, 50, 1200, 1500]], [30, 1200]), ('normal control', ['Hi', [24, 1], [500, 60, 1000, 6000]], [24, 1000])], [('regression: frame back-conversion', ['ok', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('regression variant: frame back-conversion', ['Two\\nlines here', [24000, 1001], [700, 100, 1000, 2000]], [46, 1919]), ('partial repair probe: frame back-conversion', ['Hi', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('partial repair variant: frame back-conversion', ['Hi', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Hello world', [25, 1], [300, 50, 1200, 1500]], [30, 1200]), ('normal control', ['A much longer subtitle line to read', [30, 1], [700, 100, 1000, 2000]], [60, 2000]), ('normal control', ['Hello world', [30, 1], [300, 50, 1200, 1500]], [36, 1200])], [('regression: frame back-conversion', ['A much longer subtitle line to read', [24000, 1001], [300, 50, 1200, 1500]], [36, 1502]), ('regression variant: frame back-conversion', ['Hello world', [30000, 1001], [0, 70, 800, 7000]], [24, 801]), ('partial repair probe: frame back-conversion', ['   ', [24000, 1001], [0, 70, 800, 7000]], [20, 835]), ('partial repair variant: frame back-conversion', ['', [30000, 1001], [0, 70, 800, 7000]], [24, 801]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['   ', [24, 1], [700, 100, 1000, 2000]], [24, 1000]), ('normal control', ['ok', [24, 1], [700, 100, 1000, 2000]], [24, 1000]), ('normal control', ['', [24000, 1001], [700, 100, 1000, 2000]], [24, 1001])], [('regression: frame back-conversion', ['Hi', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('regression variant: frame back-conversion', ['ok', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair probe: frame back-conversion', ['Two\\nlines here', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair variant: frame back-conversion', ['Hello world', [30000, 1001], [500, 60, 1000, 6000]], [33, 1102]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Hi', [30000, 1001], [700, 100, 1000, 2000]], [30, 1001]), ('normal control', ['Two\\nlines here', [24, 1], [0, 70, 800, 7000]], [21, 875]), ('normal control', ['ok', [25, 1], [500, 60, 1000, 6000]], [25, 1000])], [('regression: frame back-conversion', ['   ', [24000, 1001], [0, 70, 800, 7000]], [20, 835]), ('regression variant: frame back-conversion', ['', [24, 1], [300, 50, 1200, 1500]], [29, 1209]), ('partial repair probe: frame back-conversion', ['Two\\nlines here', [24000, 1001], [700, 100, 1000, 2000]], [46, 1919]), ('partial repair variant: frame back-conversion', ['A much longer subtitle line to read', [24, 1], [0, 70, 800, 7000]], [49, 2042]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Two\\nlines here', [25, 1], [0, 70, 800, 7000]], [21, 840]), ('normal control', ['Hello world', [30, 1], [500, 60, 1000, 6000]], [33, 1100])]]\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":"eba0b48f6b1afd92cbea55df43dc98a2d705d48b5a97fa5309519697bd5e5ce0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(text, fps, rules):\n    base,per,lo,hi=rules\n    n=len(text.replace(' ','').replace('\\n',''))\n    d=base+n*per\n    d=max(lo,min(hi,d))\n    num,den=fps\n    fr=-((-d*num)//(1000*den))\n    return [fr,fr*1000*den//num]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: frame back-conversion', ['Two\\nlines here', [30000, 1001], [0, 70, 800, 7000]], [26, 868]), ('regression variant: frame back-conversion', ['Two\\nlines here', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair probe: frame back-conversion', ['A much longer subtitle line to read', [24000, 1001], [300, 50, 1200, 1500]], [36, 1502]), ('partial repair variant: frame back-conversion', ['', [24, 1], [300, 50, 1200, 1500]], [29, 1209]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['   ', [25, 1], [700, 100, 1000, 2000]], [25, 1000]), ('normal control', ['Two\\nlines here', [25, 1], [300, 50, 1200, 1500]], [30, 1200]), ('normal control', ['Hi', [24, 1], [500, 60, 1000, 6000]], [24, 1000])], [('regression: frame back-conversion', ['ok', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('regression variant: frame back-conversion', ['Two\\nlines here', [24000, 1001], [700, 100, 1000, 2000]], [46, 1919]), ('partial repair probe: frame back-conversion', ['Hi', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('partial repair variant: frame back-conversion', ['Hi', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Hello world', [25, 1], [300, 50, 1200, 1500]], [30, 1200]), ('normal control', ['A much longer subtitle line to read', [30, 1], [700, 100, 1000, 2000]], [60, 2000]), ('normal control', ['Hello world', [30, 1], [300, 50, 1200, 1500]], [36, 1200])], [('regression: frame back-conversion', ['A much longer subtitle line to read', [24000, 1001], [300, 50, 1200, 1500]], [36, 1502]), ('regression variant: frame back-conversion', ['Hello world', [30000, 1001], [0, 70, 800, 7000]], [24, 801]), ('partial repair probe: frame back-conversion', ['   ', [24000, 1001], [0, 70, 800, 7000]], [20, 835]), ('partial repair variant: frame back-conversion', ['', [30000, 1001], [0, 70, 800, 7000]], [24, 801]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['   ', [24, 1], [700, 100, 1000, 2000]], [24, 1000]), ('normal control', ['ok', [24, 1], [700, 100, 1000, 2000]], [24, 1000]), ('normal control', ['', [24000, 1001], [700, 100, 1000, 2000]], [24, 1001])], [('regression: frame back-conversion', ['Hi', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('regression variant: frame back-conversion', ['ok', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair probe: frame back-conversion', ['Two\\nlines here', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair variant: frame back-conversion', ['Hello world', [30000, 1001], [500, 60, 1000, 6000]], [33, 1102]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Hi', [30000, 1001], [700, 100, 1000, 2000]], [30, 1001]), ('normal control', ['Two\\nlines here', [24, 1], [0, 70, 800, 7000]], [21, 875]), ('normal control', ['ok', [25, 1], [500, 60, 1000, 6000]], [25, 1000])], [('regression: frame back-conversion', ['   ', [24000, 1001], [0, 70, 800, 7000]], [20, 835]), ('regression variant: frame back-conversion', ['', [24, 1], [300, 50, 1200, 1500]], [29, 1209]), ('partial repair probe: frame back-conversion', ['Two\\nlines here', [24000, 1001], [700, 100, 1000, 2000]], [46, 1919]), ('partial repair variant: frame back-conversion', ['A much longer subtitle line to read', [24, 1], [0, 70, 800, 7000]], [49, 2042]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Two\\nlines here', [25, 1], [0, 70, 800, 7000]], [21, 840]), ('normal control', ['Hello world', [30, 1], [500, 60, 1000, 6000]], [33, 1100])]]\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":"1dc67084c1f39a934ab99357a5009849570a1932454df7dde8bc32d6a47d5c38","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(text, fps, rules):\n    base,per,lo,hi=rules\n    n=len(text.replace(' ','').replace('\\n',''))\n    d=base+n*per\n    d=max(lo,min(hi,d))\n    num,den=fps\n    fr=-((-d*num)//(1000*den))\n    return [fr,-((-fr*1000*den)//num)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: frame back-conversion', ['Two\\nlines here', [30000, 1001], [0, 70, 800, 7000]], [26, 868]), ('regression variant: frame back-conversion', ['Two\\nlines here', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair probe: frame back-conversion', ['A much longer subtitle line to read', [24000, 1001], [300, 50, 1200, 1500]], [36, 1502]), ('partial repair variant: frame back-conversion', ['', [24, 1], [300, 50, 1200, 1500]], [29, 1209]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['   ', [25, 1], [700, 100, 1000, 2000]], [25, 1000]), ('normal control', ['Two\\nlines here', [25, 1], [300, 50, 1200, 1500]], [30, 1200]), ('normal control', ['Hi', [24, 1], [500, 60, 1000, 6000]], [24, 1000])], [('regression: frame back-conversion', ['ok', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('regression variant: frame back-conversion', ['Two\\nlines here', [24000, 1001], [700, 100, 1000, 2000]], [46, 1919]), ('partial repair probe: frame back-conversion', ['Hi', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('partial repair variant: frame back-conversion', ['Hi', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Hello world', [25, 1], [300, 50, 1200, 1500]], [30, 1200]), ('normal control', ['A much longer subtitle line to read', [30, 1], [700, 100, 1000, 2000]], [60, 2000]), ('normal control', ['Hello world', [30, 1], [300, 50, 1200, 1500]], [36, 1200])], [('regression: frame back-conversion', ['A much longer subtitle line to read', [24000, 1001], [300, 50, 1200, 1500]], [36, 1502]), ('regression variant: frame back-conversion', ['Hello world', [30000, 1001], [0, 70, 800, 7000]], [24, 801]), ('partial repair probe: frame back-conversion', ['   ', [24000, 1001], [0, 70, 800, 7000]], [20, 835]), ('partial repair variant: frame back-conversion', ['', [30000, 1001], [0, 70, 800, 7000]], [24, 801]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['   ', [24, 1], [700, 100, 1000, 2000]], [24, 1000]), ('normal control', ['ok', [24, 1], [700, 100, 1000, 2000]], [24, 1000]), ('normal control', ['', [24000, 1001], [700, 100, 1000, 2000]], [24, 1001])], [('regression: frame back-conversion', ['Hi', [24, 1], [0, 70, 800, 7000]], [20, 834]), ('regression variant: frame back-conversion', ['ok', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair probe: frame back-conversion', ['Two\\nlines here', [30000, 1001], [300, 50, 1200, 1500]], [36, 1202]), ('partial repair variant: frame back-conversion', ['Hello world', [30000, 1001], [500, 60, 1000, 6000]], [33, 1102]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Hi', [30000, 1001], [700, 100, 1000, 2000]], [30, 1001]), ('normal control', ['Two\\nlines here', [24, 1], [0, 70, 800, 7000]], [21, 875]), ('normal control', ['ok', [25, 1], [500, 60, 1000, 6000]], [25, 1000])], [('regression: frame back-conversion', ['   ', [24000, 1001], [0, 70, 800, 7000]], [20, 835]), ('regression variant: frame back-conversion', ['', [24, 1], [300, 50, 1200, 1500]], [29, 1209]), ('partial repair probe: frame back-conversion', ['Two\\nlines here', [24000, 1001], [700, 100, 1000, 2000]], [46, 1919]), ('partial repair variant: frame back-conversion', ['A much longer subtitle line to read', [24, 1], [0, 70, 800, 7000]], [49, 2042]), ('boundary control', ['Hi', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('boundary control', ['A much longer subtitle line to read', [25, 1], [500, 60, 1000, 2000]], [50, 2000]), ('normal control', ['', [25, 1], [500, 60, 1000, 6000]], [25, 1000]), ('normal control', ['Two\\nlines here', [25, 1], [0, 70, 800, 7000]], [21, 840]), ('normal control', ['Hello world', [30, 1], [500, 60, 1000, 6000]], [33, 1100])]]\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 any subtitle 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-subtitle-cue-timing-recommended-duration-frame-back-conversion","generated_at":"2026-09-29T14:49:33.982287+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Subtitle timing defects shift, hide or overlap captions that viewers depend on for comprehension and accessibility.","repair":"Convert frames back with a ceiling.","root_cause":"Frames are converted back to ms with floor instead of ceiling.","sha256":"76e98e883246d4e76b371dc2c144ff6993a30655c566298b6b12a759c32aa1ad","title":"Recommended cue duration on frame grid: frame back-conversion · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.96,"exit_code":1,"observations":[{"actual":[26,0],"check":"regression: frame back-conversion","expected":[26,868],"passed":false},{"actual":[36,1001],"check":"regression variant: frame back-conversion","expected":[36,1202],"passed":false},{"actual":[36,1001],"check":"partial repair probe: frame back-conversion","expected":[36,1502],"passed":false},{"actual":[29,1208],"check":"partial repair variant: frame back-conversion","expected":[29,1209],"passed":false},{"actual":[25,1000],"check":"boundary control","expected":[25,1000],"passed":true},{"actual":[50,2000],"check":"boundary control","expected":[50,2000],"passed":true},{"actual":[25,1000],"check":"normal control","expected":[25,1000],"passed":true},{"actual":[30,1200],"check":"normal control","expected":[30,1200],"passed":true},{"actual":[24,1000],"check":"normal control","expected":[24,1000],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: frame back-conversion\", \"actual\": [26, 0], \"expected\": [26, 868], \"passed\": false}, {\"check\": \"regression variant: frame back-conversion\", \"actual\": [36, 1001], \"expected\": [36, 1202], \"passed\": false}, {\"check\": \"partial repair probe: frame back-conversion\", \"actual\": [36, 1001], \"expected\": [36, 1502], \"passed\": false}, {\"check\": \"partial repair variant: frame back-conversion\", \"actual\": [29, 1208], \"expected\": [29, 1209], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [25, 1000], \"expected\": [25, 1000], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [50, 2000], \"expected\": [50, 2000], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [25, 1000], \"expected\": [25, 1000], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [30, 1200], \"expected\": [30, 1200], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [24, 1000], \"expected\": [24, 1000], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.339,"exit_code":1,"observations":[{"actual":[26,867],"check":"regression: frame back-conversion","expected":[26,868],"passed":false},{"actual":[36,1201],"check":"regression variant: frame back-conversion","expected":[36,1202],"passed":false},{"actual":[36,1501],"check":"partial repair probe: frame back-conversion","expected":[36,1502],"passed":false},{"actual":[29,1208],"check":"partial repair variant: frame back-conversion","expected":[29,1209],"passed":false},{"actual":[25,1000],"check":"boundary control","expected":[25,1000],"passed":true},{"actual":[50,2000],"check":"boundary control","expected":[50,2000],"passed":true},{"actual":[25,1000],"check":"normal control","expected":[25,1000],"passed":true},{"actual":[30,1200],"check":"normal control","expected":[30,1200],"passed":true},{"actual":[24,1000],"check":"normal control","expected":[24,1000],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: frame back-conversion\", \"actual\": [26, 867], \"expected\": [26, 868], \"passed\": false}, {\"check\": \"regression variant: frame back-conversion\", \"actual\": [36, 1201], \"expected\": [36, 1202], \"passed\": false}, {\"check\": \"partial repair probe: frame back-conversion\", \"actual\": [36, 1501], \"expected\": [36, 1502], \"passed\": false}, {\"check\": \"partial repair variant: frame back-conversion\", \"actual\": [29, 1208], \"expected\": [29, 1209], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [25, 1000], \"expected\": [25, 1000], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [50, 2000], \"expected\": [50, 2000], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [25, 1000], \"expected\": [25, 1000], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [30, 1200], \"expected\": [30, 1200], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [24, 1000], \"expected\": [24, 1000], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.437,"exit_code":0,"observations":[{"actual":[26,868],"check":"regression: frame back-conversion","expected":[26,868],"passed":true},{"actual":[36,1202],"check":"regression variant: frame back-conversion","expected":[36,1202],"passed":true},{"actual":[36,1502],"check":"partial repair probe: frame back-conversion","expected":[36,1502],"passed":true},{"actual":[29,1209],"check":"partial repair variant: frame back-conversion","expected":[29,1209],"passed":true},{"actual":[25,1000],"check":"boundary control","expected":[25,1000],"passed":true},{"actual":[50,2000],"check":"boundary control","expected":[50,2000],"passed":true},{"actual":[25,1000],"check":"normal control","expected":[25,1000],"passed":true},{"actual":[30,1200],"check":"normal control","expected":[30,1200],"passed":true},{"actual":[24,1000],"check":"normal control","expected":[24,1000],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: frame back-conversion\", \"actual\": [26, 868], \"expected\": [26, 868], \"passed\": true}, {\"check\": \"regression variant: frame back-conversion\", \"actual\": [36, 1202], \"expected\": [36, 1202], \"passed\": true}, {\"check\": \"partial repair probe: frame back-conversion\", \"actual\": [36, 1502], \"expected\": [36, 1502], \"passed\": true}, {\"check\": \"partial repair variant: frame back-conversion\", \"actual\": [29, 1209], \"expected\": [29, 1209], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [25, 1000], \"expected\": [25, 1000], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [50, 2000], \"expected\": [50, 2000], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [25, 1000], \"expected\": [25, 1000], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [30, 1200], \"expected\": [30, 1200], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [24, 1000], \"expected\": [24, 1000], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}