{"abstract":"Almost no cue is ever trimmed or chained because gaps look enormous.","category":"Subtitle cue timing","checks":8,"contract":"For sorted cues [start,end], compare each cue with the next start. If gap = next_start - end is below min_gap, the end is trimmed to next_start - min_gap but never below start+1. If min_gap <= gap < chain, the end is extended to next_start - min_gap. Larger gaps are untouched.","evaluation_group":"w2-subtitle-cue-timing-gap-chaining","failed_approach":"Taking the absolute value turns overlaps into positive gaps that are chained or ignored.","family":"w2-subtitle-cue-timing-gap-chaining-gap-measurement","id":"FA-77986","implementations":{"attempt":{"sha256":"2ffe47433e59a3dc0eef0d4db7ea07a40c8dd03349d42a46fc0d1029cf07a2d2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, min_gap, chain):\n    out=[list(c) for c in cues]\n    for i in range(len(out)-1):\n        cur=out[i]\n        nxt_start=out[i+1][0]\n        gap=abs(nxt_start-cur[1])\n        if gap<min_gap:\n            cur[1]=max(cur[0]+1,nxt_start-min_gap)\n        elif gap<chain:\n            cur[1]=nxt_start-min_gap\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: gap measurement', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('regression variant: gap measurement', [[[1000, 2000], [2005, 2405], [2486, 2886], [3266, 5266], [5567, 6567]], 80, 300], [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('partial repair variant: gap measurement', [[[1000, 1100], [1001, 1401]], 83, 300], [[1000, 1001], [1001, 1401]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 400], [1400, 2400]], 80, 750], [[0, 400], [1400, 2400]]), ('normal control', [[[0, 1000], [1301, 1401]], 100, 300], [[0, 1000], [1301, 1401]]), ('normal control', [[[0, 400], [479, 879]], 80, 750], [[0, 399], [479, 879]])], [('regression: gap measurement', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('regression variant: gap measurement', [[[1000, 1400], [1499, 1899], [2398, 2498], [2399, 2799], [2900, 3900]], 100, 500], [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair variant: gap measurement', [[[0, 100], [1100, 1200], [1101, 3101], [3131, 4131]], 83, 750], [[0, 100], [1100, 1101], [1101, 3048], [3131, 4131]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 100], [182, 582]], 83, 300], [[0, 99], [182, 582]]), ('normal control', [[[0, 1000], [1833, 2833]], 83, 750], [[0, 1000], [1833, 2833]]), ('normal control', [[[0, 400], [405, 505]], 100, 750], [[0, 305], [405, 505]])], [('regression: gap measurement', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('regression variant: gap measurement', [[[1000, 2000], [2030, 2430]], 83, 300], [[1000, 1947], [2030, 2430]]), ('partial repair probe: gap measurement', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair variant: gap measurement', [[[0, 100], [1, 2001], [2081, 2481], [2561, 4561]], 80, 750], [[0, 1], [1, 2001], [2081, 2481], [2561, 4561]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 1000], [1750, 3750]], 83, 750], [[0, 1000], [1750, 3750]]), ('normal control', [[[1000, 1100], [1183, 2183], [2266, 4266], [4349, 4749]], 83, 500], [[1000, 1100], [1183, 2183], [2266, 4266], [4349, 4749]]), ('normal control', [[[1000, 1400], [2151, 2251], [2281, 2681], [3431, 5431]], 80, 750], [[1000, 1400], [2151, 2201], [2281, 2681], [3431, 5431]])], [('regression: gap measurement', [[[0, 1000], [1030, 2030], [2131, 4131], [4882, 5882]], 100, 750], [[0, 930], [1030, 2031], [2131, 4131], [4882, 5882]]), ('regression variant: gap measurement', [[[0, 100], [199, 1199], [999, 1999], [2004, 3004]], 100, 750], [[0, 99], [199, 899], [999, 1904], [2004, 3004]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 2001]], 80, 750], [[1000, 1001], [1001, 2001]]), ('partial repair variant: gap measurement', [[[0, 1000], [1005, 1105], [1006, 1106], [1111, 3111], [3410, 3810]], 80, 300], [[0, 925], [1005, 1006], [1006, 1031], [1111, 3330], [3410, 3810]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 400], [500, 600], [501, 2501], [3351, 3751]], 100, 750], [[0, 400], [500, 501], [501, 2501], [3351, 3751]]), ('normal control', [[[1000, 1100], [1050, 3050]], 120, 300], [[1000, 1001], [1050, 3050]]), ('normal control', [[[1000, 1100], [1050, 1150], [1155, 1255], [1376, 1476]], 120, 750], [[1000, 1001], [1050, 1051], [1155, 1256], [1376, 1476]])], [('regression: gap measurement', [[[0, 1000], [1005, 1105]], 100, 750], [[0, 905], [1005, 1105]]), ('regression variant: gap measurement', [[[1000, 3000], [3030, 5030], [5113, 6113], [6864, 6964], [6964, 8964]], 83, 750], [[1000, 2947], [3030, 5030], [5113, 6113], [6864, 6881], [6964, 8964]]), ('partial repair probe: gap measurement', [[[0, 100], [1, 1001], [1001, 1101]], 83, 500], [[0, 1], [1, 918], [1001, 1101]]), ('partial repair variant: gap measurement', [[[1000, 2000], [2301, 4301], [4384, 4484], [4385, 6385], [6768, 6868]], 83, 300], [[1000, 2000], [2301, 4301], [4384, 4385], [4385, 6385], [6768, 6868]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[1000, 2000], [3000, 3400], [3350, 5350], [5851, 5951], [5956, 6956]], 80, 500], [[1000, 2000], [3000, 3270], [3350, 5350], [5851, 5876], [5956, 6956]]), ('normal control', [[[0, 400], [901, 1901]], 120, 500], [[0, 400], [901, 1901]]), ('normal control', [[[0, 400], [1270, 3270], [4270, 4370], [5370, 7370], [7490, 7590]], 120, 750], [[0, 400], [1270, 3270], [4270, 4370], [5370, 7370], [7490, 7590]])]]\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":"07b5c32387fcbb03d29ce07f500994693eb0c3d698290d337fbb695c2f6cd3c3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, min_gap, chain):\n    out=[list(c) for c in cues]\n    for i in range(len(out)-1):\n        cur=out[i]\n        nxt_start=out[i+1][0]\n        gap=nxt_start-cur[0]\n        if gap<min_gap:\n            cur[1]=max(cur[0]+1,nxt_start-min_gap)\n        elif gap<chain:\n            cur[1]=nxt_start-min_gap\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: gap measurement', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('regression variant: gap measurement', [[[1000, 2000], [2005, 2405], [2486, 2886], [3266, 5266], [5567, 6567]], 80, 300], [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('partial repair variant: gap measurement', [[[1000, 1100], [1001, 1401]], 83, 300], [[1000, 1001], [1001, 1401]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 400], [1400, 2400]], 80, 750], [[0, 400], [1400, 2400]]), ('normal control', [[[0, 1000], [1301, 1401]], 100, 300], [[0, 1000], [1301, 1401]]), ('normal control', [[[0, 400], [479, 879]], 80, 750], [[0, 399], [479, 879]])], [('regression: gap measurement', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('regression variant: gap measurement', [[[1000, 1400], [1499, 1899], [2398, 2498], [2399, 2799], [2900, 3900]], 100, 500], [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair variant: gap measurement', [[[0, 100], [1100, 1200], [1101, 3101], [3131, 4131]], 83, 750], [[0, 100], [1100, 1101], [1101, 3048], [3131, 4131]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 100], [182, 582]], 83, 300], [[0, 99], [182, 582]]), ('normal control', [[[0, 1000], [1833, 2833]], 83, 750], [[0, 1000], [1833, 2833]]), ('normal control', [[[0, 400], [405, 505]], 100, 750], [[0, 305], [405, 505]])], [('regression: gap measurement', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('regression variant: gap measurement', [[[1000, 2000], [2030, 2430]], 83, 300], [[1000, 1947], [2030, 2430]]), ('partial repair probe: gap measurement', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair variant: gap measurement', [[[0, 100], [1, 2001], [2081, 2481], [2561, 4561]], 80, 750], [[0, 1], [1, 2001], [2081, 2481], [2561, 4561]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 1000], [1750, 3750]], 83, 750], [[0, 1000], [1750, 3750]]), ('normal control', [[[1000, 1100], [1183, 2183], [2266, 4266], [4349, 4749]], 83, 500], [[1000, 1100], [1183, 2183], [2266, 4266], [4349, 4749]]), ('normal control', [[[1000, 1400], [2151, 2251], [2281, 2681], [3431, 5431]], 80, 750], [[1000, 1400], [2151, 2201], [2281, 2681], [3431, 5431]])], [('regression: gap measurement', [[[0, 1000], [1030, 2030], [2131, 4131], [4882, 5882]], 100, 750], [[0, 930], [1030, 2031], [2131, 4131], [4882, 5882]]), ('regression variant: gap measurement', [[[0, 100], [199, 1199], [999, 1999], [2004, 3004]], 100, 750], [[0, 99], [199, 899], [999, 1904], [2004, 3004]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 2001]], 80, 750], [[1000, 1001], [1001, 2001]]), ('partial repair variant: gap measurement', [[[0, 1000], [1005, 1105], [1006, 1106], [1111, 3111], [3410, 3810]], 80, 300], [[0, 925], [1005, 1006], [1006, 1031], [1111, 3330], [3410, 3810]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 400], [500, 600], [501, 2501], [3351, 3751]], 100, 750], [[0, 400], [500, 501], [501, 2501], [3351, 3751]]), ('normal control', [[[1000, 1100], [1050, 3050]], 120, 300], [[1000, 1001], [1050, 3050]]), ('normal control', [[[1000, 1100], [1050, 1150], [1155, 1255], [1376, 1476]], 120, 750], [[1000, 1001], [1050, 1051], [1155, 1256], [1376, 1476]])], [('regression: gap measurement', [[[0, 1000], [1005, 1105]], 100, 750], [[0, 905], [1005, 1105]]), ('regression variant: gap measurement', [[[1000, 3000], [3030, 5030], [5113, 6113], [6864, 6964], [6964, 8964]], 83, 750], [[1000, 2947], [3030, 5030], [5113, 6113], [6864, 6881], [6964, 8964]]), ('partial repair probe: gap measurement', [[[0, 100], [1, 1001], [1001, 1101]], 83, 500], [[0, 1], [1, 918], [1001, 1101]]), ('partial repair variant: gap measurement', [[[1000, 2000], [2301, 4301], [4384, 4484], [4385, 6385], [6768, 6868]], 83, 300], [[1000, 2000], [2301, 4301], [4384, 4385], [4385, 6385], [6768, 6868]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[1000, 2000], [3000, 3400], [3350, 5350], [5851, 5951], [5956, 6956]], 80, 500], [[1000, 2000], [3000, 3270], [3350, 5350], [5851, 5876], [5956, 6956]]), ('normal control', [[[0, 400], [901, 1901]], 120, 500], [[0, 400], [901, 1901]]), ('normal control', [[[0, 400], [1270, 3270], [4270, 4370], [5370, 7370], [7490, 7590]], 120, 750], [[0, 400], [1270, 3270], [4270, 4370], [5370, 7370], [7490, 7590]])]]\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":"1a12f1ba5f349f2a4e76ac8b92a137c72eaaec0c3a38baac5a5cb98075a4edc2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, min_gap, chain):\n    out=[list(c) for c in cues]\n    for i in range(len(out)-1):\n        cur=out[i]\n        nxt_start=out[i+1][0]\n        gap=nxt_start-cur[1]\n        if gap<min_gap:\n            cur[1]=max(cur[0]+1,nxt_start-min_gap)\n        elif gap<chain:\n            cur[1]=nxt_start-min_gap\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: gap measurement', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('regression variant: gap measurement', [[[1000, 2000], [2005, 2405], [2486, 2886], [3266, 5266], [5567, 6567]], 80, 300], [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('partial repair variant: gap measurement', [[[1000, 1100], [1001, 1401]], 83, 300], [[1000, 1001], [1001, 1401]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 400], [1400, 2400]], 80, 750], [[0, 400], [1400, 2400]]), ('normal control', [[[0, 1000], [1301, 1401]], 100, 300], [[0, 1000], [1301, 1401]]), ('normal control', [[[0, 400], [479, 879]], 80, 750], [[0, 399], [479, 879]])], [('regression: gap measurement', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('regression variant: gap measurement', [[[1000, 1400], [1499, 1899], [2398, 2498], [2399, 2799], [2900, 3900]], 100, 500], [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair variant: gap measurement', [[[0, 100], [1100, 1200], [1101, 3101], [3131, 4131]], 83, 750], [[0, 100], [1100, 1101], [1101, 3048], [3131, 4131]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 100], [182, 582]], 83, 300], [[0, 99], [182, 582]]), ('normal control', [[[0, 1000], [1833, 2833]], 83, 750], [[0, 1000], [1833, 2833]]), ('normal control', [[[0, 400], [405, 505]], 100, 750], [[0, 305], [405, 505]])], [('regression: gap measurement', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('regression variant: gap measurement', [[[1000, 2000], [2030, 2430]], 83, 300], [[1000, 1947], [2030, 2430]]), ('partial repair probe: gap measurement', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair variant: gap measurement', [[[0, 100], [1, 2001], [2081, 2481], [2561, 4561]], 80, 750], [[0, 1], [1, 2001], [2081, 2481], [2561, 4561]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 1000], [1750, 3750]], 83, 750], [[0, 1000], [1750, 3750]]), ('normal control', [[[1000, 1100], [1183, 2183], [2266, 4266], [4349, 4749]], 83, 500], [[1000, 1100], [1183, 2183], [2266, 4266], [4349, 4749]]), ('normal control', [[[1000, 1400], [2151, 2251], [2281, 2681], [3431, 5431]], 80, 750], [[1000, 1400], [2151, 2201], [2281, 2681], [3431, 5431]])], [('regression: gap measurement', [[[0, 1000], [1030, 2030], [2131, 4131], [4882, 5882]], 100, 750], [[0, 930], [1030, 2031], [2131, 4131], [4882, 5882]]), ('regression variant: gap measurement', [[[0, 100], [199, 1199], [999, 1999], [2004, 3004]], 100, 750], [[0, 99], [199, 899], [999, 1904], [2004, 3004]]), ('partial repair probe: gap measurement', [[[1000, 1100], [1001, 2001]], 80, 750], [[1000, 1001], [1001, 2001]]), ('partial repair variant: gap measurement', [[[0, 1000], [1005, 1105], [1006, 1106], [1111, 3111], [3410, 3810]], 80, 300], [[0, 925], [1005, 1006], [1006, 1031], [1111, 3330], [3410, 3810]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 400], [500, 600], [501, 2501], [3351, 3751]], 100, 750], [[0, 400], [500, 501], [501, 2501], [3351, 3751]]), ('normal control', [[[1000, 1100], [1050, 3050]], 120, 300], [[1000, 1001], [1050, 3050]]), ('normal control', [[[1000, 1100], [1050, 1150], [1155, 1255], [1376, 1476]], 120, 750], [[1000, 1001], [1050, 1051], [1155, 1256], [1376, 1476]])], [('regression: gap measurement', [[[0, 1000], [1005, 1105]], 100, 750], [[0, 905], [1005, 1105]]), ('regression variant: gap measurement', [[[1000, 3000], [3030, 5030], [5113, 6113], [6864, 6964], [6964, 8964]], 83, 750], [[1000, 2947], [3030, 5030], [5113, 6113], [6864, 6881], [6964, 8964]]), ('partial repair probe: gap measurement', [[[0, 100], [1, 1001], [1001, 1101]], 83, 500], [[0, 1], [1, 918], [1001, 1101]]), ('partial repair variant: gap measurement', [[[1000, 2000], [2301, 4301], [4384, 4484], [4385, 6385], [6768, 6868]], 83, 300], [[1000, 2000], [2301, 4301], [4384, 4385], [4385, 6385], [6768, 6868]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[1000, 2000], [3000, 3400], [3350, 5350], [5851, 5951], [5956, 6956]], 80, 500], [[1000, 2000], [3000, 3270], [3350, 5350], [5851, 5876], [5956, 6956]]), ('normal control', [[[0, 400], [901, 1901]], 120, 500], [[0, 400], [901, 1901]]), ('normal control', [[[0, 400], [1270, 3270], [4270, 4370], [5370, 7370], [7490, 7590]], 120, 750], [[0, 400], [1270, 3270], [4270, 4370], [5370, 7370], [7490, 7590]])]]\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-gap-chaining-gap-measurement","generated_at":"2026-09-29T14:49:31.081583+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":"Measure the gap from the current end to the next start.","root_cause":"The gap is measured from the current start rather than the current end.","sha256":"761a10e01f655f7d550121d50d930f9d057702efcf8e3373120af51c38362cc9","title":"Minimum gap and chaining between cues: gap measurement · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.629,"exit_code":1,"observations":[{"actual":[[0,950],[1050,2000]],"check":"regression: gap measurement","expected":[[0,950],[1050,2000]],"passed":true},{"actual":[[1000,1925],[2005,2406],[2486,2886],[3266,5266],[5567,6567]],"check":"regression variant: gap measurement","expected":[[1000,1925],[2005,2406],[2486,2886],[3266,5266],[5567,6567]],"passed":true},{"actual":[[1000,918],[1001,1101],[1402,3401],[3484,3506],[3589,5589]],"check":"partial repair probe: gap measurement","expected":[[1000,1001],[1001,1101],[1402,3401],[3484,3506],[3589,5589]],"passed":false},{"actual":[[1000,918],[1001,1401]],"check":"partial repair variant: gap measurement","expected":[[1000,1001],[1001,1401]],"passed":false},{"actual":[[0,1000],[1500,2000]],"check":"boundary control","expected":[[0,1000],[1500,2000]],"passed":true},{"actual":[[0,400],[1400,2400]],"check":"normal control","expected":[[0,400],[1400,2400]],"passed":true},{"actual":[[0,1000],[1301,1401]],"check":"normal control","expected":[[0,1000],[1301,1401]],"passed":true},{"actual":[[0,399],[479,879]],"check":"normal control","expected":[[0,399],[479,879]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: gap measurement\", \"actual\": [[0, 950], [1050, 2000]], \"expected\": [[0, 950], [1050, 2000]], \"passed\": true}, {\"check\": \"regression variant: gap measurement\", \"actual\": [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]], \"expected\": [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]], \"passed\": true}, {\"check\": \"partial repair probe: gap measurement\", \"actual\": [[1000, 918], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]], \"expected\": [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]], \"passed\": false}, {\"check\": \"partial repair variant: gap measurement\", \"actual\": [[1000, 918], [1001, 1401]], \"expected\": [[1000, 1001], [1001, 1401]], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [[0, 1000], [1500, 2000]], \"expected\": [[0, 1000], [1500, 2000]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 400], [1400, 2400]], \"expected\": [[0, 400], [1400, 2400]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 1000], [1301, 1401]], \"expected\": [[0, 1000], [1301, 1401]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 399], [479, 879]], \"expected\": [[0, 399], [479, 879]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.58,"exit_code":1,"observations":[{"actual":[[0,1000],[1050,2000]],"check":"regression: gap measurement","expected":[[0,950],[1050,2000]],"passed":false},{"actual":[[1000,2000],[2005,2405],[2486,2886],[3266,5266],[5567,6567]],"check":"regression variant: gap measurement","expected":[[1000,1925],[2005,2406],[2486,2886],[3266,5266],[5567,6567]],"passed":false},{"actual":[[1000,1001],[1001,1101],[1402,3402],[3484,3506],[3589,5589]],"check":"partial repair probe: gap measurement","expected":[[1000,1001],[1001,1101],[1402,3401],[3484,3506],[3589,5589]],"passed":false},{"actual":[[1000,1001],[1001,1401]],"check":"partial repair variant: gap measurement","expected":[[1000,1001],[1001,1401]],"passed":true},{"actual":[[0,1000],[1500,2000]],"check":"boundary control","expected":[[0,1000],[1500,2000]],"passed":true},{"actual":[[0,400],[1400,2400]],"check":"normal control","expected":[[0,400],[1400,2400]],"passed":true},{"actual":[[0,1000],[1301,1401]],"check":"normal control","expected":[[0,1000],[1301,1401]],"passed":true},{"actual":[[0,399],[479,879]],"check":"normal control","expected":[[0,399],[479,879]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: gap measurement\", \"actual\": [[0, 1000], [1050, 2000]], \"expected\": [[0, 950], [1050, 2000]], \"passed\": false}, {\"check\": \"regression variant: gap measurement\", \"actual\": [[1000, 2000], [2005, 2405], [2486, 2886], [3266, 5266], [5567, 6567]], \"expected\": [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]], \"passed\": false}, {\"check\": \"partial repair probe: gap measurement\", \"actual\": [[1000, 1001], [1001, 1101], [1402, 3402], [3484, 3506], [3589, 5589]], \"expected\": [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]], \"passed\": false}, {\"check\": \"partial repair variant: gap measurement\", \"actual\": [[1000, 1001], [1001, 1401]], \"expected\": [[1000, 1001], [1001, 1401]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[0, 1000], [1500, 2000]], \"expected\": [[0, 1000], [1500, 2000]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 400], [1400, 2400]], \"expected\": [[0, 400], [1400, 2400]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 1000], [1301, 1401]], \"expected\": [[0, 1000], [1301, 1401]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 399], [479, 879]], \"expected\": [[0, 399], [479, 879]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.719,"exit_code":0,"observations":[{"actual":[[0,950],[1050,2000]],"check":"regression: gap measurement","expected":[[0,950],[1050,2000]],"passed":true},{"actual":[[1000,1925],[2005,2406],[2486,2886],[3266,5266],[5567,6567]],"check":"regression variant: gap measurement","expected":[[1000,1925],[2005,2406],[2486,2886],[3266,5266],[5567,6567]],"passed":true},{"actual":[[1000,1001],[1001,1101],[1402,3401],[3484,3506],[3589,5589]],"check":"partial repair probe: gap measurement","expected":[[1000,1001],[1001,1101],[1402,3401],[3484,3506],[3589,5589]],"passed":true},{"actual":[[1000,1001],[1001,1401]],"check":"partial repair variant: gap measurement","expected":[[1000,1001],[1001,1401]],"passed":true},{"actual":[[0,1000],[1500,2000]],"check":"boundary control","expected":[[0,1000],[1500,2000]],"passed":true},{"actual":[[0,400],[1400,2400]],"check":"normal control","expected":[[0,400],[1400,2400]],"passed":true},{"actual":[[0,1000],[1301,1401]],"check":"normal control","expected":[[0,1000],[1301,1401]],"passed":true},{"actual":[[0,399],[479,879]],"check":"normal control","expected":[[0,399],[479,879]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: gap measurement\", \"actual\": [[0, 950], [1050, 2000]], \"expected\": [[0, 950], [1050, 2000]], \"passed\": true}, {\"check\": \"regression variant: gap measurement\", \"actual\": [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]], \"expected\": [[1000, 1925], [2005, 2406], [2486, 2886], [3266, 5266], [5567, 6567]], \"passed\": true}, {\"check\": \"partial repair probe: gap measurement\", \"actual\": [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]], \"expected\": [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]], \"passed\": true}, {\"check\": \"partial repair variant: gap measurement\", \"actual\": [[1000, 1001], [1001, 1401]], \"expected\": [[1000, 1001], [1001, 1401]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[0, 1000], [1500, 2000]], \"expected\": [[0, 1000], [1500, 2000]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 400], [1400, 2400]], \"expected\": [[0, 400], [1400, 2400]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 1000], [1301, 1401]], \"expected\": [[0, 1000], [1301, 1401]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[0, 399], [479, 879]], \"expected\": [[0, 399], [479, 879]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}