{"abstract":"Snapped cues remain on screen across the shot change.","category":"Subtitle cue timing","checks":9,"contract":"For each cue, the start snaps to the nearest shot change within window ms (|shot - start| <= window; ties go to the earlier shot). The end snaps so that it sits gap ms before the nearest shot change within window of end+gap. If snapping leaves end <= start, the original cue is kept unchanged.","evaluation_group":"w2-subtitle-cue-timing-shot-change-snap","failed_approach":"Adding the gap puts the end after the cut.","family":"w2-subtitle-cue-timing-shot-change-snap-end-placement","id":"FA-78156","implementations":{"attempt":{"sha256":"eae198e95cac6cb2e5947617822e14fb95785195fb6d9b31ab21773c2a1e1aaa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, shots, window, gap):\n    def near(t):\n        best=None\n        for sc in shots:\n            d=abs(sc-t)\n            if d<=window and (best is None or d<abs(best-t)):\n                best=sc\n        return best\n    out=[]\n    for s0,e0 in cues:\n        s,e=s0,e0\n        a=near(s)\n        if a is not None:\n            s=a\n        b=near(e+gap)\n        if b is not None:\n            e=b+gap\n        if e<=s:\n            s,e=s0,e0\n        out.append([s,e])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: end placement', [[[1251, 1261], [0, 851]], [0, 1000, 3040], 250, 80], [[1251, 1261], [0, 920]]), ('regression variant: end placement', [[[50, 950]], [0, 1200], 250, 42], [[0, 1158]]), ('partial repair probe: end placement', [[[50, 1150]], [0, 1200, 2000, 2150], 250, 80], [[0, 1120]]), ('partial repair variant: end placement', [[[2990, 3020], [3040, 4140], [3040, 4040]], [0, 2000, 3040], 100, 42], [[2990, 3020], [3040, 4140], [3040, 4040]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('normal control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[50, 80], [4050, 5050]], [0, 1100, 2150, 3000, 4000], 250, 0], [[50, 80], [4000, 5050]]), ('normal control', [[[2200, 2700]], [2150], 200, 80], [[2150, 2700]])], [('regression: end placement', [[[50, 1150]], [0, 1200, 2000, 2150], 250, 80], [[0, 1120]]), ('regression variant: end placement', [[[1301, 1331], [50, 1050]], [0, 1100], 200, 42], [[1301, 1331], [0, 1058]]), ('partial repair probe: end placement', [[[1801, 2841], [1000, 1010]], [1000, 1200, 2000, 2150], 200, 42], [[2000, 2841], [1000, 1010]]), ('partial repair variant: end placement', [[[1150, 2050], [849, 859], [1350, 2390]], [1100, 3000], 250, 80], [[1100, 2050], [849, 1020], [1100, 2390]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[750, 1650]], [1000, 1200, 2150, 3000], 250, 0], [[1000, 1650]]), ('normal control', [[[1100, 2100], [2990, 3000], [900, 1800]], [1100, 3040], 200, 0], [[1100, 2100], [2990, 3000], [1100, 1800]]), ('normal control', [[[1050, 2150]], [1000, 4000], 200, 80], [[1000, 2150]])], [('regression: end placement', [[[1751, 2651], [851, 1851]], [1100, 2000, 2150, 3040], 250, 80], [[2000, 2651], [1100, 1920]]), ('regression variant: end placement', [[[1150, 2050], [849, 859], [1350, 2390]], [1100, 3000], 250, 80], [[1100, 2050], [849, 1020], [1100, 2390]]), ('partial repair probe: end placement', [[[1000, 2000], [3901, 4401]], [1100, 2000, 2150, 4000], 100, 42], [[1100, 1958], [4000, 4401]]), ('partial repair variant: end placement', [[[3000, 3010], [2800, 3700], [2799, 3799]], [1200, 3000], 200, 42], [[3000, 3010], [3000, 3700], [2799, 3799]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('normal control', [[[2950, 2980]], [1200, 2150, 3000], 250, 0], [[2950, 2980]]), ('normal control', [[[1401, 2401]], [1000, 1200], 200, 42], [[1401, 2401]]), ('normal control', [[[1101, 1111], [950, 960], [950, 1850]], [1000, 4000], 100, 0], [[1101, 1111], [950, 960], [1000, 1850]])], [('regression: end placement', [[[1000, 2000], [3901, 4401]], [1100, 2000, 2150, 4000], 100, 42], [[1100, 1958], [4000, 4401]]), ('regression variant: end placement', [[[3141, 4041], [1200, 1230], [1900, 3000]], [1100, 2000, 3040, 4000], 100, 42], [[3141, 3958], [1100, 1230], [2000, 2998]]), ('partial repair probe: end placement', [[[3040, 3070], [2790, 3890], [849, 859]], [1100, 3040], 250, 80], [[3040, 3070], [3040, 3890], [849, 1020]]), ('partial repair variant: end placement', [[[3000, 3010], [2800, 3700], [2799, 3799]], [1200, 3000], 200, 42], [[3000, 3010], [3000, 3700], [2799, 3799]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('normal control', [[[101, 131], [1950, 2450], [2101, 3201]], [0, 2000, 4000], 100, 0], [[101, 131], [2000, 2450], [2101, 3201]]), ('normal control', [[[4201, 5101], [1150, 1650], [2200, 3240]], [1100, 2000, 4000], 200, 0], [[4201, 5101], [1100, 1650], [2000, 3240]]), ('normal control', [[[1950, 2990]], [2000], 250, 80], [[2000, 2990]])], [('regression: end placement', [[[3040, 3070], [2790, 3890], [849, 859]], [1100, 3040], 250, 80], [[3040, 3070], [3040, 3890], [849, 1020]]), ('regression variant: end placement', [[[1351, 2451], [1000, 1030], [1050, 1550]], [0, 1000, 1100], 250, 80], [[1351, 2451], [1000, 1020], [1000, 1550]]), ('partial repair probe: end placement', [[[3000, 3900], [900, 930], [3000, 3030]], [0, 1100, 1200, 3000], 200, 80], [[3000, 3900], [900, 930], [3000, 3030]]), ('partial repair variant: end placement', [[[3141, 4041], [1200, 1230], [1900, 3000]], [1100, 2000, 3040, 4000], 100, 42], [[3141, 3958], [1100, 1230], [2000, 2998]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[2050, 3050]], [0, 2000, 2150], 100, 42], [[2000, 3050]]), ('normal control', [[[2790, 3830], [2990, 3990], [2251, 2281]], [2000, 3040], 250, 42], [[3040, 3830], [3040, 3990], [2251, 2281]]), ('normal control', [[[1150, 2250], [1200, 1230], [3900, 5000]], [0, 1100, 4000], 100, 42], [[1100, 2250], [1100, 1230], [4000, 5000]])]]\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":"d63189e89e23e5245a0afbe6cb91a7d7198cfecf694f6945adbfd40bdaf61997","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, shots, window, gap):\n    def near(t):\n        best=None\n        for sc in shots:\n            d=abs(sc-t)\n            if d<=window and (best is None or d<abs(best-t)):\n                best=sc\n        return best\n    out=[]\n    for s0,e0 in cues:\n        s,e=s0,e0\n        a=near(s)\n        if a is not None:\n            s=a\n        b=near(e+gap)\n        if b is not None:\n            e=b\n        if e<=s:\n            s,e=s0,e0\n        out.append([s,e])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: end placement', [[[1251, 1261], [0, 851]], [0, 1000, 3040], 250, 80], [[1251, 1261], [0, 920]]), ('regression variant: end placement', [[[50, 950]], [0, 1200], 250, 42], [[0, 1158]]), ('partial repair probe: end placement', [[[50, 1150]], [0, 1200, 2000, 2150], 250, 80], [[0, 1120]]), ('partial repair variant: end placement', [[[2990, 3020], [3040, 4140], [3040, 4040]], [0, 2000, 3040], 100, 42], [[2990, 3020], [3040, 4140], [3040, 4040]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('normal control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[50, 80], [4050, 5050]], [0, 1100, 2150, 3000, 4000], 250, 0], [[50, 80], [4000, 5050]]), ('normal control', [[[2200, 2700]], [2150], 200, 80], [[2150, 2700]])], [('regression: end placement', [[[50, 1150]], [0, 1200, 2000, 2150], 250, 80], [[0, 1120]]), ('regression variant: end placement', [[[1301, 1331], [50, 1050]], [0, 1100], 200, 42], [[1301, 1331], [0, 1058]]), ('partial repair probe: end placement', [[[1801, 2841], [1000, 1010]], [1000, 1200, 2000, 2150], 200, 42], [[2000, 2841], [1000, 1010]]), ('partial repair variant: end placement', [[[1150, 2050], [849, 859], [1350, 2390]], [1100, 3000], 250, 80], [[1100, 2050], [849, 1020], [1100, 2390]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[750, 1650]], [1000, 1200, 2150, 3000], 250, 0], [[1000, 1650]]), ('normal control', [[[1100, 2100], [2990, 3000], [900, 1800]], [1100, 3040], 200, 0], [[1100, 2100], [2990, 3000], [1100, 1800]]), ('normal control', [[[1050, 2150]], [1000, 4000], 200, 80], [[1000, 2150]])], [('regression: end placement', [[[1751, 2651], [851, 1851]], [1100, 2000, 2150, 3040], 250, 80], [[2000, 2651], [1100, 1920]]), ('regression variant: end placement', [[[1150, 2050], [849, 859], [1350, 2390]], [1100, 3000], 250, 80], [[1100, 2050], [849, 1020], [1100, 2390]]), ('partial repair probe: end placement', [[[1000, 2000], [3901, 4401]], [1100, 2000, 2150, 4000], 100, 42], [[1100, 1958], [4000, 4401]]), ('partial repair variant: end placement', [[[3000, 3010], [2800, 3700], [2799, 3799]], [1200, 3000], 200, 42], [[3000, 3010], [3000, 3700], [2799, 3799]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('normal control', [[[2950, 2980]], [1200, 2150, 3000], 250, 0], [[2950, 2980]]), ('normal control', [[[1401, 2401]], [1000, 1200], 200, 42], [[1401, 2401]]), ('normal control', [[[1101, 1111], [950, 960], [950, 1850]], [1000, 4000], 100, 0], [[1101, 1111], [950, 960], [1000, 1850]])], [('regression: end placement', [[[1000, 2000], [3901, 4401]], [1100, 2000, 2150, 4000], 100, 42], [[1100, 1958], [4000, 4401]]), ('regression variant: end placement', [[[3141, 4041], [1200, 1230], [1900, 3000]], [1100, 2000, 3040, 4000], 100, 42], [[3141, 3958], [1100, 1230], [2000, 2998]]), ('partial repair probe: end placement', [[[3040, 3070], [2790, 3890], [849, 859]], [1100, 3040], 250, 80], [[3040, 3070], [3040, 3890], [849, 1020]]), ('partial repair variant: end placement', [[[3000, 3010], [2800, 3700], [2799, 3799]], [1200, 3000], 200, 42], [[3000, 3010], [3000, 3700], [2799, 3799]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('normal control', [[[101, 131], [1950, 2450], [2101, 3201]], [0, 2000, 4000], 100, 0], [[101, 131], [2000, 2450], [2101, 3201]]), ('normal control', [[[4201, 5101], [1150, 1650], [2200, 3240]], [1100, 2000, 4000], 200, 0], [[4201, 5101], [1100, 1650], [2000, 3240]]), ('normal control', [[[1950, 2990]], [2000], 250, 80], [[2000, 2990]])], [('regression: end placement', [[[3040, 3070], [2790, 3890], [849, 859]], [1100, 3040], 250, 80], [[3040, 3070], [3040, 3890], [849, 1020]]), ('regression variant: end placement', [[[1351, 2451], [1000, 1030], [1050, 1550]], [0, 1000, 1100], 250, 80], [[1351, 2451], [1000, 1020], [1000, 1550]]), ('partial repair probe: end placement', [[[3000, 3900], [900, 930], [3000, 3030]], [0, 1100, 1200, 3000], 200, 80], [[3000, 3900], [900, 930], [3000, 3030]]), ('partial repair variant: end placement', [[[3141, 4041], [1200, 1230], [1900, 3000]], [1100, 2000, 3040, 4000], 100, 42], [[3141, 3958], [1100, 1230], [2000, 2998]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[2050, 3050]], [0, 2000, 2150], 100, 42], [[2000, 3050]]), ('normal control', [[[2790, 3830], [2990, 3990], [2251, 2281]], [2000, 3040], 250, 42], [[3040, 3830], [3040, 3990], [2251, 2281]]), ('normal control', [[[1150, 2250], [1200, 1230], [3900, 5000]], [0, 1100, 4000], 100, 42], [[1100, 2250], [1100, 1230], [4000, 5000]])]]\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":"0331960ae85ca2a4abe2b3825502fc39644f499f486fb250e6b0eda0a575cabc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, shots, window, gap):\n    def near(t):\n        best=None\n        for sc in shots:\n            d=abs(sc-t)\n            if d<=window and (best is None or d<abs(best-t)):\n                best=sc\n        return best\n    out=[]\n    for s0,e0 in cues:\n        s,e=s0,e0\n        a=near(s)\n        if a is not None:\n            s=a\n        b=near(e+gap)\n        if b is not None:\n            e=b-gap\n        if e<=s:\n            s,e=s0,e0\n        out.append([s,e])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: end placement', [[[1251, 1261], [0, 851]], [0, 1000, 3040], 250, 80], [[1251, 1261], [0, 920]]), ('regression variant: end placement', [[[50, 950]], [0, 1200], 250, 42], [[0, 1158]]), ('partial repair probe: end placement', [[[50, 1150]], [0, 1200, 2000, 2150], 250, 80], [[0, 1120]]), ('partial repair variant: end placement', [[[2990, 3020], [3040, 4140], [3040, 4040]], [0, 2000, 3040], 100, 42], [[2990, 3020], [3040, 4140], [3040, 4040]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('normal control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[50, 80], [4050, 5050]], [0, 1100, 2150, 3000, 4000], 250, 0], [[50, 80], [4000, 5050]]), ('normal control', [[[2200, 2700]], [2150], 200, 80], [[2150, 2700]])], [('regression: end placement', [[[50, 1150]], [0, 1200, 2000, 2150], 250, 80], [[0, 1120]]), ('regression variant: end placement', [[[1301, 1331], [50, 1050]], [0, 1100], 200, 42], [[1301, 1331], [0, 1058]]), ('partial repair probe: end placement', [[[1801, 2841], [1000, 1010]], [1000, 1200, 2000, 2150], 200, 42], [[2000, 2841], [1000, 1010]]), ('partial repair variant: end placement', [[[1150, 2050], [849, 859], [1350, 2390]], [1100, 3000], 250, 80], [[1100, 2050], [849, 1020], [1100, 2390]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[750, 1650]], [1000, 1200, 2150, 3000], 250, 0], [[1000, 1650]]), ('normal control', [[[1100, 2100], [2990, 3000], [900, 1800]], [1100, 3040], 200, 0], [[1100, 2100], [2990, 3000], [1100, 1800]]), ('normal control', [[[1050, 2150]], [1000, 4000], 200, 80], [[1000, 2150]])], [('regression: end placement', [[[1751, 2651], [851, 1851]], [1100, 2000, 2150, 3040], 250, 80], [[2000, 2651], [1100, 1920]]), ('regression variant: end placement', [[[1150, 2050], [849, 859], [1350, 2390]], [1100, 3000], 250, 80], [[1100, 2050], [849, 1020], [1100, 2390]]), ('partial repair probe: end placement', [[[1000, 2000], [3901, 4401]], [1100, 2000, 2150, 4000], 100, 42], [[1100, 1958], [4000, 4401]]), ('partial repair variant: end placement', [[[3000, 3010], [2800, 3700], [2799, 3799]], [1200, 3000], 200, 42], [[3000, 3010], [3000, 3700], [2799, 3799]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('normal control', [[[2950, 2980]], [1200, 2150, 3000], 250, 0], [[2950, 2980]]), ('normal control', [[[1401, 2401]], [1000, 1200], 200, 42], [[1401, 2401]]), ('normal control', [[[1101, 1111], [950, 960], [950, 1850]], [1000, 4000], 100, 0], [[1101, 1111], [950, 960], [1000, 1850]])], [('regression: end placement', [[[1000, 2000], [3901, 4401]], [1100, 2000, 2150, 4000], 100, 42], [[1100, 1958], [4000, 4401]]), ('regression variant: end placement', [[[3141, 4041], [1200, 1230], [1900, 3000]], [1100, 2000, 3040, 4000], 100, 42], [[3141, 3958], [1100, 1230], [2000, 2998]]), ('partial repair probe: end placement', [[[3040, 3070], [2790, 3890], [849, 859]], [1100, 3040], 250, 80], [[3040, 3070], [3040, 3890], [849, 1020]]), ('partial repair variant: end placement', [[[3000, 3010], [2800, 3700], [2799, 3799]], [1200, 3000], 200, 42], [[3000, 3010], [3000, 3700], [2799, 3799]]), ('boundary control', [[[900, 1500]], [1000], 100, 0], [[1000, 1500]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('normal control', [[[101, 131], [1950, 2450], [2101, 3201]], [0, 2000, 4000], 100, 0], [[101, 131], [2000, 2450], [2101, 3201]]), ('normal control', [[[4201, 5101], [1150, 1650], [2200, 3240]], [1100, 2000, 4000], 200, 0], [[4201, 5101], [1100, 1650], [2000, 3240]]), ('normal control', [[[1950, 2990]], [2000], 250, 80], [[2000, 2990]])], [('regression: end placement', [[[3040, 3070], [2790, 3890], [849, 859]], [1100, 3040], 250, 80], [[3040, 3070], [3040, 3890], [849, 1020]]), ('regression variant: end placement', [[[1351, 2451], [1000, 1030], [1050, 1550]], [0, 1000, 1100], 250, 80], [[1351, 2451], [1000, 1020], [1000, 1550]]), ('partial repair probe: end placement', [[[3000, 3900], [900, 930], [3000, 3030]], [0, 1100, 1200, 3000], 200, 80], [[3000, 3900], [900, 930], [3000, 3030]]), ('partial repair variant: end placement', [[[3141, 4041], [1200, 1230], [1900, 3000]], [1100, 2000, 3040, 4000], 100, 42], [[3141, 3958], [1100, 1230], [2000, 2998]]), ('boundary control', [[[1150, 1800]], [1000, 1200, 2000], 100, 80], [[1200, 1800]]), ('boundary control', [[[1000, 1010]], [1000, 1100], 100, 0], [[1000, 1010]]), ('normal control', [[[2050, 3050]], [0, 2000, 2150], 100, 42], [[2000, 3050]]), ('normal control', [[[2790, 3830], [2990, 3990], [2251, 2281]], [2000, 3040], 250, 42], [[3040, 3830], [3040, 3990], [2251, 2281]]), ('normal control', [[[1150, 2250], [1200, 1230], [3900, 5000]], [0, 1100, 4000], 100, 42], [[1100, 2250], [1100, 1230], [4000, 5000]])]]\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-shot-change-snap-end-placement","generated_at":"2026-09-29T14:49:32.701824+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":"Place the end gap ms before the cut.","root_cause":"The end is snapped onto the cut itself, ignoring the required gap.","sha256":"d85dc7ebb02498e8052f66303ec2fb9bbb33c6f8e351cfed9930841ea53a13e0","title":"Shot-change snapping of cue boundaries: end placement · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.097,"exit_code":1,"observations":[{"actual":[[1251,1261],[0,1080]],"check":"regression: end placement","expected":[[1251,1261],[0,920]],"passed":false},{"actual":[[0,1242]],"check":"regression variant: end placement","expected":[[0,1158]],"passed":false},{"actual":[[0,1280]],"check":"partial repair probe: end placement","expected":[[0,1120]],"passed":false},{"actual":[[3040,3082],[3040,4140],[3040,4040]],"check":"partial repair variant: end placement","expected":[[2990,3020],[3040,4140],[3040,4040]],"passed":false},{"actual":[[1000,1500]],"check":"boundary control","expected":[[1000,1500]],"passed":true},{"actual":[[1200,1800]],"check":"boundary control","expected":[[1200,1800]],"passed":true},{"actual":[[1000,1010]],"check":"normal control","expected":[[1000,1010]],"passed":true},{"actual":[[50,80],[4000,5050]],"check":"normal control","expected":[[50,80],[4000,5050]],"passed":true},{"actual":[[2150,2700]],"check":"normal control","expected":[[2150,2700]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: end placement\", \"actual\": [[1251, 1261], [0, 1080]], \"expected\": [[1251, 1261], [0, 920]], \"passed\": false}, {\"check\": \"regression variant: end placement\", \"actual\": [[0, 1242]], \"expected\": [[0, 1158]], \"passed\": false}, {\"check\": \"partial repair probe: end placement\", \"actual\": [[0, 1280]], \"expected\": [[0, 1120]], \"passed\": false}, {\"check\": \"partial repair variant: end placement\", \"actual\": [[3040, 3082], [3040, 4140], [3040, 4040]], \"expected\": [[2990, 3020], [3040, 4140], [3040, 4040]], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [[1000, 1500]], \"expected\": [[1000, 1500]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1200, 1800]], \"expected\": [[1200, 1800]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[1000, 1010]], \"expected\": [[1000, 1010]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[50, 80], [4000, 5050]], \"expected\": [[50, 80], [4000, 5050]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[2150, 2700]], \"expected\": [[2150, 2700]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.434,"exit_code":1,"observations":[{"actual":[[1251,1261],[0,1000]],"check":"regression: end placement","expected":[[1251,1261],[0,920]],"passed":false},{"actual":[[0,1200]],"check":"regression variant: end placement","expected":[[0,1158]],"passed":false},{"actual":[[0,1200]],"check":"partial repair probe: end placement","expected":[[0,1120]],"passed":false},{"actual":[[2990,3020],[3040,4140],[3040,4040]],"check":"partial repair variant: end placement","expected":[[2990,3020],[3040,4140],[3040,4040]],"passed":true},{"actual":[[1000,1500]],"check":"boundary control","expected":[[1000,1500]],"passed":true},{"actual":[[1200,1800]],"check":"boundary control","expected":[[1200,1800]],"passed":true},{"actual":[[1000,1010]],"check":"normal control","expected":[[1000,1010]],"passed":true},{"actual":[[50,80],[4000,5050]],"check":"normal control","expected":[[50,80],[4000,5050]],"passed":true},{"actual":[[2150,2700]],"check":"normal control","expected":[[2150,2700]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: end placement\", \"actual\": [[1251, 1261], [0, 1000]], \"expected\": [[1251, 1261], [0, 920]], \"passed\": false}, {\"check\": \"regression variant: end placement\", \"actual\": [[0, 1200]], \"expected\": [[0, 1158]], \"passed\": false}, {\"check\": \"partial repair probe: end placement\", \"actual\": [[0, 1200]], \"expected\": [[0, 1120]], \"passed\": false}, {\"check\": \"partial repair variant: end placement\", \"actual\": [[2990, 3020], [3040, 4140], [3040, 4040]], \"expected\": [[2990, 3020], [3040, 4140], [3040, 4040]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1000, 1500]], \"expected\": [[1000, 1500]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1200, 1800]], \"expected\": [[1200, 1800]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[1000, 1010]], \"expected\": [[1000, 1010]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[50, 80], [4000, 5050]], \"expected\": [[50, 80], [4000, 5050]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[2150, 2700]], \"expected\": [[2150, 2700]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.387,"exit_code":0,"observations":[{"actual":[[1251,1261],[0,920]],"check":"regression: end placement","expected":[[1251,1261],[0,920]],"passed":true},{"actual":[[0,1158]],"check":"regression variant: end placement","expected":[[0,1158]],"passed":true},{"actual":[[0,1120]],"check":"partial repair probe: end placement","expected":[[0,1120]],"passed":true},{"actual":[[2990,3020],[3040,4140],[3040,4040]],"check":"partial repair variant: end placement","expected":[[2990,3020],[3040,4140],[3040,4040]],"passed":true},{"actual":[[1000,1500]],"check":"boundary control","expected":[[1000,1500]],"passed":true},{"actual":[[1200,1800]],"check":"boundary control","expected":[[1200,1800]],"passed":true},{"actual":[[1000,1010]],"check":"normal control","expected":[[1000,1010]],"passed":true},{"actual":[[50,80],[4000,5050]],"check":"normal control","expected":[[50,80],[4000,5050]],"passed":true},{"actual":[[2150,2700]],"check":"normal control","expected":[[2150,2700]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: end placement\", \"actual\": [[1251, 1261], [0, 920]], \"expected\": [[1251, 1261], [0, 920]], \"passed\": true}, {\"check\": \"regression variant: end placement\", \"actual\": [[0, 1158]], \"expected\": [[0, 1158]], \"passed\": true}, {\"check\": \"partial repair probe: end placement\", \"actual\": [[0, 1120]], \"expected\": [[0, 1120]], \"passed\": true}, {\"check\": \"partial repair variant: end placement\", \"actual\": [[2990, 3020], [3040, 4140], [3040, 4040]], \"expected\": [[2990, 3020], [3040, 4140], [3040, 4040]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1000, 1500]], \"expected\": [[1000, 1500]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1200, 1800]], \"expected\": [[1200, 1800]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[1000, 1010]], \"expected\": [[1000, 1010]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[50, 80], [4000, 5050]], \"expected\": [[50, 80], [4000, 5050]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[2150, 2700]], \"expected\": [[2150, 2700]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}