{"abstract":"NTSC-rate sources written as 30000/1001 retime as if they were exactly 29 fps.","category":"Subtitle cue timing","checks":9,"contract":"Cue times authored against a src frame rate are rescaled for playback at dst by t*src/dst, rounded half up to integer ms. Rates are \"N\", \"N/D\", or the aliases \"23.976\"/\"29.97\" meaning (N+1)*1000/1001. The end is rounded independently; an end that does not exceed the start becomes start+1.","evaluation_group":"w2-subtitle-cue-timing-frame-rate-retime","failed_approach":"Rounding the rate to two decimals leaves a residual drift of several frames per hour.","family":"w2-subtitle-cue-timing-frame-rate-retime-rational-rate-parsing","id":"FA-77921","implementations":{"attempt":{"sha256":"1a053686b546e57da6d264e02da39af321fc40ff2763bda0b70e07dc87e8c2c4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(cues, src, dst):\n    def rate(r):\n        if '/' in r:\n            a,b=r.split('/')\n            return Fraction(round(int(a)/int(b),2))\n        if '.' in r:\n            return Fraction(int(float(r)+0.5)*1000,1001)\n        return Fraction(int(r))\n    k=rate(src)/rate(dst)\n    out=[]\n    for start,end in cues:\n        rs=math.floor(start*k+Fraction(1,2))\n        re_=math.floor(end*k+Fraction(1,2))\n        if re_<=rs:\n            re_=rs+1\n        out.append([rs,re_])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: rational rate parsing', [[[1001, 3003]], '24000/1001', '24'], [[1000, 3000]]), ('regression variant: rational rate parsing', [[[3, 4], [12345, 12903]], '30', '30000/1001'], [[3, 4], [12357, 12916]]), ('partial repair probe: rational rate parsing', [[[1001, 2968], [1001, 4376]], '24', '24000/1001'], [[1002, 2971], [1002, 4380]]), ('partial repair variant: rational rate parsing', [[[0, 3], [3, 6]], '30000/1001', '24000/1001'], [[0, 4], [4, 8]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('normal control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[7, 10], [1001, 4303], [12345, 12348], [0, 101]], '25', '29.97'], [[6, 8], [835, 3589], [10298, 10300], [0, 84]]), ('normal control', [[[268354, 268356], [12345, 14346], [0, 42]], '60', '25'], [[644050, 644054], [29628, 34430], [0, 101]])], [('regression: rational rate parsing', [[[1, 1001]], '30000/1001', '29.97'], [[1, 1001]]), ('regression variant: rational rate parsing', [[[1, 3], [999, 3000]], '48', '30000/1001'], [[2, 5], [1600, 4805]]), ('partial repair probe: rational rate parsing', [[[37041, 39886], [885298, 885301], [219784, 219786], [3, 1003]], '24000/1001', '50'], [[17762, 19126], [424519, 424520], [105391, 105392], [1, 481]]), ('partial repair variant: rational rate parsing', [[[1, 2002], [12345, 12347], [51717, 51718]], '25', '24000/1001'], [[1, 2088], [12872, 12874], [53926, 53927]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[3, 6]], '30', '48'], [[2, 4]]), ('normal control', [[[1001, 1003], [7, 4855], [12345, 13345]], '50', '50'], [[1001, 1003], [7, 4855], [12345, 13345]]), ('normal control', [[[12345, 15451]], '24000/1001', '24000/1001'], [[12345, 15451]])], [('regression: rational rate parsing', [[[269050, 271051]], '30000/1001', '23.976'], [[336313, 338814]]), ('regression variant: rational rate parsing', [[[3, 2004], [3, 1003], [0, 3]], '30000/1001', '24000/1001'], [[4, 2505], [4, 1254], [0, 4]]), ('partial repair probe: rational rate parsing', [[[999, 1999], [7, 1007], [12345, 12346]], '15', '24000/1001'], [[625, 1251], [4, 630], [7723, 7724]]), ('partial repair variant: rational rate parsing', [[[498674, 500675], [1, 4], [0, 3], [1001, 1004]], '24', '30000/1001'], [[399338, 400941], [1, 3], [0, 2], [802, 804]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('normal control', [[[999, 4970]], '30', '60'], [[500, 2485]]), ('normal control', [[[418354, 420355]], '60', '48'], [[522943, 525444]]), ('normal control', [[[3, 1003], [999, 1000], [3, 5]], '50', '30'], [[5, 1672], [1665, 1667], [5, 8]])], [('regression: rational rate parsing', [[[999, 2714], [12345, 13345], [1, 2002]], '29.97', '30000/1001'], [[999, 2714], [12345, 13345], [1, 2002]]), ('regression variant: rational rate parsing', [[[1001, 2968], [1001, 4376]], '24', '24000/1001'], [[1002, 2971], [1002, 4380]]), ('partial repair probe: rational rate parsing', [[[999, 1000]], '24000/1001', '15'], [[1597, 1598]]), ('partial repair variant: rational rate parsing', [[[12345, 12348]], '24000/1001', '60'], [[4933, 4934]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('normal control', [[[7, 2008], [1001, 3002]], '50', '12'], [[29, 8367], [4171, 12508]]), ('normal control', [[[0, 1], [3, 716], [12345, 16324]], '29.97', '48'], [[0, 1], [2, 447], [7708, 10192]]), ('normal control', [[[7, 2849], [7, 10], [1, 1001], [7, 3995]], '15', '29.97'], [[4, 1426], [4, 5], [1, 501], [4, 1999]])], [('regression: rational rate parsing', [[[1, 4], [7, 9], [12345, 14346], [1001, 1002]], '24000/1001', '12'], [[2, 8], [14, 18], [24665, 28663], [2000, 2002]]), ('regression variant: rational rate parsing', [[[3, 2004]], '24000/1001', '30000/1001'], [[2, 1603]]), ('partial repair probe: rational rate parsing', [[[252986, 253737]], '23.976', '24000/1001'], [[252986, 253737]]), ('partial repair variant: rational rate parsing', [[[654091, 654093]], '30000/1001', '24'], [[816797, 816799]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[1001, 1004], [7, 9], [999, 1001]], '30', '25'], [[1201, 1205], [8, 11], [1199, 1201]]), ('normal control', [[[3, 6]], '29.97', '24'], [[4, 7]]), ('normal control', [[[1, 2], [7, 2008], [1001, 1002]], '50', '25'], [[2, 4], [14, 4016], [2002, 2004]])]]\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":"049c473cfe0b7cbcf4b5f1bf7be99cd18f8fa245ed6f62d00dd4fdc72ed21540","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(cues, src, dst):\n    def rate(r):\n        if '/' in r:\n            a,b=r.split('/')\n            return Fraction(int(a)//int(b))\n        if '.' in r:\n            return Fraction(int(float(r)+0.5)*1000,1001)\n        return Fraction(int(r))\n    k=rate(src)/rate(dst)\n    out=[]\n    for start,end in cues:\n        rs=math.floor(start*k+Fraction(1,2))\n        re_=math.floor(end*k+Fraction(1,2))\n        if re_<=rs:\n            re_=rs+1\n        out.append([rs,re_])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: rational rate parsing', [[[1001, 3003]], '24000/1001', '24'], [[1000, 3000]]), ('regression variant: rational rate parsing', [[[3, 4], [12345, 12903]], '30', '30000/1001'], [[3, 4], [12357, 12916]]), ('partial repair probe: rational rate parsing', [[[1001, 2968], [1001, 4376]], '24', '24000/1001'], [[1002, 2971], [1002, 4380]]), ('partial repair variant: rational rate parsing', [[[0, 3], [3, 6]], '30000/1001', '24000/1001'], [[0, 4], [4, 8]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('normal control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[7, 10], [1001, 4303], [12345, 12348], [0, 101]], '25', '29.97'], [[6, 8], [835, 3589], [10298, 10300], [0, 84]]), ('normal control', [[[268354, 268356], [12345, 14346], [0, 42]], '60', '25'], [[644050, 644054], [29628, 34430], [0, 101]])], [('regression: rational rate parsing', [[[1, 1001]], '30000/1001', '29.97'], [[1, 1001]]), ('regression variant: rational rate parsing', [[[1, 3], [999, 3000]], '48', '30000/1001'], [[2, 5], [1600, 4805]]), ('partial repair probe: rational rate parsing', [[[37041, 39886], [885298, 885301], [219784, 219786], [3, 1003]], '24000/1001', '50'], [[17762, 19126], [424519, 424520], [105391, 105392], [1, 481]]), ('partial repair variant: rational rate parsing', [[[1, 2002], [12345, 12347], [51717, 51718]], '25', '24000/1001'], [[1, 2088], [12872, 12874], [53926, 53927]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[3, 6]], '30', '48'], [[2, 4]]), ('normal control', [[[1001, 1003], [7, 4855], [12345, 13345]], '50', '50'], [[1001, 1003], [7, 4855], [12345, 13345]]), ('normal control', [[[12345, 15451]], '24000/1001', '24000/1001'], [[12345, 15451]])], [('regression: rational rate parsing', [[[269050, 271051]], '30000/1001', '23.976'], [[336313, 338814]]), ('regression variant: rational rate parsing', [[[3, 2004], [3, 1003], [0, 3]], '30000/1001', '24000/1001'], [[4, 2505], [4, 1254], [0, 4]]), ('partial repair probe: rational rate parsing', [[[999, 1999], [7, 1007], [12345, 12346]], '15', '24000/1001'], [[625, 1251], [4, 630], [7723, 7724]]), ('partial repair variant: rational rate parsing', [[[498674, 500675], [1, 4], [0, 3], [1001, 1004]], '24', '30000/1001'], [[399338, 400941], [1, 3], [0, 2], [802, 804]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('normal control', [[[999, 4970]], '30', '60'], [[500, 2485]]), ('normal control', [[[418354, 420355]], '60', '48'], [[522943, 525444]]), ('normal control', [[[3, 1003], [999, 1000], [3, 5]], '50', '30'], [[5, 1672], [1665, 1667], [5, 8]])], [('regression: rational rate parsing', [[[999, 2714], [12345, 13345], [1, 2002]], '29.97', '30000/1001'], [[999, 2714], [12345, 13345], [1, 2002]]), ('regression variant: rational rate parsing', [[[1001, 2968], [1001, 4376]], '24', '24000/1001'], [[1002, 2971], [1002, 4380]]), ('partial repair probe: rational rate parsing', [[[999, 1000]], '24000/1001', '15'], [[1597, 1598]]), ('partial repair variant: rational rate parsing', [[[12345, 12348]], '24000/1001', '60'], [[4933, 4934]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('normal control', [[[7, 2008], [1001, 3002]], '50', '12'], [[29, 8367], [4171, 12508]]), ('normal control', [[[0, 1], [3, 716], [12345, 16324]], '29.97', '48'], [[0, 1], [2, 447], [7708, 10192]]), ('normal control', [[[7, 2849], [7, 10], [1, 1001], [7, 3995]], '15', '29.97'], [[4, 1426], [4, 5], [1, 501], [4, 1999]])], [('regression: rational rate parsing', [[[1, 4], [7, 9], [12345, 14346], [1001, 1002]], '24000/1001', '12'], [[2, 8], [14, 18], [24665, 28663], [2000, 2002]]), ('regression variant: rational rate parsing', [[[3, 2004]], '24000/1001', '30000/1001'], [[2, 1603]]), ('partial repair probe: rational rate parsing', [[[252986, 253737]], '23.976', '24000/1001'], [[252986, 253737]]), ('partial repair variant: rational rate parsing', [[[654091, 654093]], '30000/1001', '24'], [[816797, 816799]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[1001, 1004], [7, 9], [999, 1001]], '30', '25'], [[1201, 1205], [8, 11], [1199, 1201]]), ('normal control', [[[3, 6]], '29.97', '24'], [[4, 7]]), ('normal control', [[[1, 2], [7, 2008], [1001, 1002]], '50', '25'], [[2, 4], [14, 4016], [2002, 2004]])]]\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":"2ac7ae5f4eb3463db36a0f63aeb2faf36d23b962d521dafe830f25ecf9f4c51a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(cues, src, dst):\n    def rate(r):\n        if '/' in r:\n            a,b=r.split('/')\n            return Fraction(int(a),int(b))\n        if '.' in r:\n            return Fraction(int(float(r)+0.5)*1000,1001)\n        return Fraction(int(r))\n    k=rate(src)/rate(dst)\n    out=[]\n    for start,end in cues:\n        rs=math.floor(start*k+Fraction(1,2))\n        re_=math.floor(end*k+Fraction(1,2))\n        if re_<=rs:\n            re_=rs+1\n        out.append([rs,re_])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: rational rate parsing', [[[1001, 3003]], '24000/1001', '24'], [[1000, 3000]]), ('regression variant: rational rate parsing', [[[3, 4], [12345, 12903]], '30', '30000/1001'], [[3, 4], [12357, 12916]]), ('partial repair probe: rational rate parsing', [[[1001, 2968], [1001, 4376]], '24', '24000/1001'], [[1002, 2971], [1002, 4380]]), ('partial repair variant: rational rate parsing', [[[0, 3], [3, 6]], '30000/1001', '24000/1001'], [[0, 4], [4, 8]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('normal control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[7, 10], [1001, 4303], [12345, 12348], [0, 101]], '25', '29.97'], [[6, 8], [835, 3589], [10298, 10300], [0, 84]]), ('normal control', [[[268354, 268356], [12345, 14346], [0, 42]], '60', '25'], [[644050, 644054], [29628, 34430], [0, 101]])], [('regression: rational rate parsing', [[[1, 1001]], '30000/1001', '29.97'], [[1, 1001]]), ('regression variant: rational rate parsing', [[[1, 3], [999, 3000]], '48', '30000/1001'], [[2, 5], [1600, 4805]]), ('partial repair probe: rational rate parsing', [[[37041, 39886], [885298, 885301], [219784, 219786], [3, 1003]], '24000/1001', '50'], [[17762, 19126], [424519, 424520], [105391, 105392], [1, 481]]), ('partial repair variant: rational rate parsing', [[[1, 2002], [12345, 12347], [51717, 51718]], '25', '24000/1001'], [[1, 2088], [12872, 12874], [53926, 53927]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[3, 6]], '30', '48'], [[2, 4]]), ('normal control', [[[1001, 1003], [7, 4855], [12345, 13345]], '50', '50'], [[1001, 1003], [7, 4855], [12345, 13345]]), ('normal control', [[[12345, 15451]], '24000/1001', '24000/1001'], [[12345, 15451]])], [('regression: rational rate parsing', [[[269050, 271051]], '30000/1001', '23.976'], [[336313, 338814]]), ('regression variant: rational rate parsing', [[[3, 2004], [3, 1003], [0, 3]], '30000/1001', '24000/1001'], [[4, 2505], [4, 1254], [0, 4]]), ('partial repair probe: rational rate parsing', [[[999, 1999], [7, 1007], [12345, 12346]], '15', '24000/1001'], [[625, 1251], [4, 630], [7723, 7724]]), ('partial repair variant: rational rate parsing', [[[498674, 500675], [1, 4], [0, 3], [1001, 1004]], '24', '30000/1001'], [[399338, 400941], [1, 3], [0, 2], [802, 804]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('normal control', [[[999, 4970]], '30', '60'], [[500, 2485]]), ('normal control', [[[418354, 420355]], '60', '48'], [[522943, 525444]]), ('normal control', [[[3, 1003], [999, 1000], [3, 5]], '50', '30'], [[5, 1672], [1665, 1667], [5, 8]])], [('regression: rational rate parsing', [[[999, 2714], [12345, 13345], [1, 2002]], '29.97', '30000/1001'], [[999, 2714], [12345, 13345], [1, 2002]]), ('regression variant: rational rate parsing', [[[1001, 2968], [1001, 4376]], '24', '24000/1001'], [[1002, 2971], [1002, 4380]]), ('partial repair probe: rational rate parsing', [[[999, 1000]], '24000/1001', '15'], [[1597, 1598]]), ('partial repair variant: rational rate parsing', [[[12345, 12348]], '24000/1001', '60'], [[4933, 4934]]), ('boundary control', [[[1000, 2000]], '25', '50'], [[500, 1000]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('normal control', [[[7, 2008], [1001, 3002]], '50', '12'], [[29, 8367], [4171, 12508]]), ('normal control', [[[0, 1], [3, 716], [12345, 16324]], '29.97', '48'], [[0, 1], [2, 447], [7708, 10192]]), ('normal control', [[[7, 2849], [7, 10], [1, 1001], [7, 3995]], '15', '29.97'], [[4, 1426], [4, 5], [1, 501], [4, 1999]])], [('regression: rational rate parsing', [[[1, 4], [7, 9], [12345, 14346], [1001, 1002]], '24000/1001', '12'], [[2, 8], [14, 18], [24665, 28663], [2000, 2002]]), ('regression variant: rational rate parsing', [[[3, 2004]], '24000/1001', '30000/1001'], [[2, 1603]]), ('partial repair probe: rational rate parsing', [[[252986, 253737]], '23.976', '24000/1001'], [[252986, 253737]]), ('partial repair variant: rational rate parsing', [[[654091, 654093]], '30000/1001', '24'], [[816797, 816799]]), ('boundary control', [[[5, 6]], '24', '25'], [[5, 6]]), ('boundary control', [[[1, 2], [3, 4]], '23.976', '25'], [[1, 2], [3, 4]]), ('normal control', [[[1001, 1004], [7, 9], [999, 1001]], '30', '25'], [[1201, 1205], [8, 11], [1199, 1201]]), ('normal control', [[[3, 6]], '29.97', '24'], [[4, 7]]), ('normal control', [[[1, 2], [7, 2008], [1001, 1002]], '50', '25'], [[2, 4], [14, 4016], [2002, 2004]])]]\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-frame-rate-retime-rational-rate-parsing","generated_at":"2026-09-29T14:49:30.439083+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":"Keep the rate as the exact fraction N/D.","root_cause":"The N/D rate is parsed with integer division, truncating 29.97 to 29.","sha256":"4069b3d8f1ccac1c07782d2fea38f2ffe4f0628b55f8b84b03f2d1f0df94b74e","title":"Subtitle frame-rate retiming: rational rate parsing · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.863,"exit_code":1,"observations":[{"actual":[[1000,3000]],"check":"regression: rational rate parsing","expected":[[1000,3000]],"passed":true},{"actual":[[3,4],[12357,12916]],"check":"regression variant: rational rate parsing","expected":[[3,4],[12357,12916]],"passed":true},{"actual":[[1002,2970],[1002,4380]],"check":"partial repair probe: rational rate parsing","expected":[[1002,2971],[1002,4380]],"passed":false},{"actual":[[0,4],[4,7]],"check":"partial repair variant: rational rate parsing","expected":[[0,4],[4,8]],"passed":false},{"actual":[[500,1000]],"check":"boundary control","expected":[[500,1000]],"passed":true},{"actual":[[5,6]],"check":"boundary control","expected":[[5,6]],"passed":true},{"actual":[[1,2],[3,4]],"check":"normal control","expected":[[1,2],[3,4]],"passed":true},{"actual":[[6,8],[835,3589],[10298,10300],[0,84]],"check":"normal control","expected":[[6,8],[835,3589],[10298,10300],[0,84]],"passed":true},{"actual":[[644050,644054],[29628,34430],[0,101]],"check":"normal control","expected":[[644050,644054],[29628,34430],[0,101]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: rational rate parsing\", \"actual\": [[1000, 3000]], \"expected\": [[1000, 3000]], \"passed\": true}, {\"check\": \"regression variant: rational rate parsing\", \"actual\": [[3, 4], [12357, 12916]], \"expected\": [[3, 4], [12357, 12916]], \"passed\": true}, {\"check\": \"partial repair probe: rational rate parsing\", \"actual\": [[1002, 2970], [1002, 4380]], \"expected\": [[1002, 2971], [1002, 4380]], \"passed\": false}, {\"check\": \"partial repair variant: rational rate parsing\", \"actual\": [[0, 4], [4, 7]], \"expected\": [[0, 4], [4, 8]], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [[500, 1000]], \"expected\": [[500, 1000]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[5, 6]], \"expected\": [[5, 6]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[1, 2], [3, 4]], \"expected\": [[1, 2], [3, 4]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[6, 8], [835, 3589], [10298, 10300], [0, 84]], \"expected\": [[6, 8], [835, 3589], [10298, 10300], [0, 84]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[644050, 644054], [29628, 34430], [0, 101]], \"expected\": [[644050, 644054], [29628, 34430], [0, 101]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.809,"exit_code":1,"observations":[{"actual":[[959,2878]],"check":"regression: rational rate parsing","expected":[[1000,3000]],"passed":false},{"actual":[[3,4],[12771,13348]],"check":"regression variant: rational rate parsing","expected":[[3,4],[12357,12916]],"passed":false},{"actual":[[1045,3097],[1045,4566]],"check":"partial repair probe: rational rate parsing","expected":[[1002,2971],[1002,4380]],"passed":false},{"actual":[[0,4],[4,8]],"check":"partial repair variant: rational rate parsing","expected":[[0,4],[4,8]],"passed":true},{"actual":[[500,1000]],"check":"boundary control","expected":[[500,1000]],"passed":true},{"actual":[[5,6]],"check":"boundary control","expected":[[5,6]],"passed":true},{"actual":[[1,2],[3,4]],"check":"normal control","expected":[[1,2],[3,4]],"passed":true},{"actual":[[6,8],[835,3589],[10298,10300],[0,84]],"check":"normal control","expected":[[6,8],[835,3589],[10298,10300],[0,84]],"passed":true},{"actual":[[644050,644054],[29628,34430],[0,101]],"check":"normal control","expected":[[644050,644054],[29628,34430],[0,101]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: rational rate parsing\", \"actual\": [[959, 2878]], \"expected\": [[1000, 3000]], \"passed\": false}, {\"check\": \"regression variant: rational rate parsing\", \"actual\": [[3, 4], [12771, 13348]], \"expected\": [[3, 4], [12357, 12916]], \"passed\": false}, {\"check\": \"partial repair probe: rational rate parsing\", \"actual\": [[1045, 3097], [1045, 4566]], \"expected\": [[1002, 2971], [1002, 4380]], \"passed\": false}, {\"check\": \"partial repair variant: rational rate parsing\", \"actual\": [[0, 4], [4, 8]], \"expected\": [[0, 4], [4, 8]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[500, 1000]], \"expected\": [[500, 1000]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[5, 6]], \"expected\": [[5, 6]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[1, 2], [3, 4]], \"expected\": [[1, 2], [3, 4]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[6, 8], [835, 3589], [10298, 10300], [0, 84]], \"expected\": [[6, 8], [835, 3589], [10298, 10300], [0, 84]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[644050, 644054], [29628, 34430], [0, 101]], \"expected\": [[644050, 644054], [29628, 34430], [0, 101]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.433,"exit_code":0,"observations":[{"actual":[[1000,3000]],"check":"regression: rational rate parsing","expected":[[1000,3000]],"passed":true},{"actual":[[3,4],[12357,12916]],"check":"regression variant: rational rate parsing","expected":[[3,4],[12357,12916]],"passed":true},{"actual":[[1002,2971],[1002,4380]],"check":"partial repair probe: rational rate parsing","expected":[[1002,2971],[1002,4380]],"passed":true},{"actual":[[0,4],[4,8]],"check":"partial repair variant: rational rate parsing","expected":[[0,4],[4,8]],"passed":true},{"actual":[[500,1000]],"check":"boundary control","expected":[[500,1000]],"passed":true},{"actual":[[5,6]],"check":"boundary control","expected":[[5,6]],"passed":true},{"actual":[[1,2],[3,4]],"check":"normal control","expected":[[1,2],[3,4]],"passed":true},{"actual":[[6,8],[835,3589],[10298,10300],[0,84]],"check":"normal control","expected":[[6,8],[835,3589],[10298,10300],[0,84]],"passed":true},{"actual":[[644050,644054],[29628,34430],[0,101]],"check":"normal control","expected":[[644050,644054],[29628,34430],[0,101]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: rational rate parsing\", \"actual\": [[1000, 3000]], \"expected\": [[1000, 3000]], \"passed\": true}, {\"check\": \"regression variant: rational rate parsing\", \"actual\": [[3, 4], [12357, 12916]], \"expected\": [[3, 4], [12357, 12916]], \"passed\": true}, {\"check\": \"partial repair probe: rational rate parsing\", \"actual\": [[1002, 2971], [1002, 4380]], \"expected\": [[1002, 2971], [1002, 4380]], \"passed\": true}, {\"check\": \"partial repair variant: rational rate parsing\", \"actual\": [[0, 4], [4, 8]], \"expected\": [[0, 4], [4, 8]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[500, 1000]], \"expected\": [[500, 1000]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[5, 6]], \"expected\": [[5, 6]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[1, 2], [3, 4]], \"expected\": [[1, 2], [3, 4]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[6, 8], [835, 3589], [10298, 10300], [0, 84]], \"expected\": [[6, 8], [835, 3589], [10298, 10300], [0, 84]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[644050, 644054], [29628, 34430], [0, 101]], \"expected\": [[644050, 644054], [29628, 34430], [0, 101]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}