{"abstract":"Cues that start inside a removed section keep a start inside material that no longer exists.","category":"Subtitle cue timing","checks":9,"contract":"Cuts [a,b) are removed from the programme (they may overlap or be unsorted and are merged first). A time after a cut shifts left by the removed length; a time inside a cut maps to the cut point. Cues [start,end,text] are mapped and dropped when the mapped end is not after the mapped start.","evaluation_group":"w2-subtitle-cue-timing-cut-list-conform","failed_approach":"Mapping to b-shift places the time after the cut without subtracting its own length.","family":"w2-subtitle-cue-timing-cut-list-conform-inside-cut-mapping","id":"FA-78316","implementations":{"attempt":{"sha256":"625396f121e50e7bf740e27e5896328931521ab7e35dd83b68b9c80a4ec5abbd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, cuts):\n    merged=[]\n    for a,b in sorted(cuts):\n        if merged and a<=merged[-1][1]:\n            merged[-1][1]=max(merged[-1][1],b)\n        else:\n            merged.append([a,b])\n    def mapt(t):\n        shift=0\n        for a,b in merged:\n            if t>=b:\n                shift+=b-a\n            elif t>a:\n                return b-shift\n        return t-shift\n    out=[]\n    for s,e,txt in cues:\n        ns,ne=mapt(s),mapt(e)\n        if ne>ns:\n            out.append([ns,ne,txt])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: inside-cut mapping', [[[1200, 1800, 'a']], [[1000, 1500]]], [[1000, 1300, 'a']]), ('regression variant: inside-cut mapping', [[[200, 300, 'c0'], [1600, 3600, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']], [[3000, 4500]]], [[200, 300, 'c0'], [1600, 3000, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']]), ('partial repair probe: inside-cut mapping', [[[0, 800, 'c0'], [4000, 4300, 'c1'], [0, 800, 'c2']], [[3000, 3100], [3000, 4500], [0, 1500]]], []), ('partial repair variant: inside-cut mapping', [[[1600, 1700, 'c0'], [4000, 4300, 'c1'], [900, 1700, 'c2'], [1600, 1900, 'c3']], [[1000, 2500], [3000, 4500]]], [[900, 1000, 'c2']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[600, 2600, 'c0'], [2500, 3300, 'c1'], [0, 2000, 'c2']], [[1000, 1100]]], [[600, 2500, 'c0'], [2400, 3200, 'c1'], [0, 1900, 'c2']]), ('normal control', [[[2500, 2800, 'c0']], [[500, 600], [1000, 2500], [2000, 2500]]], [[900, 1200, 'c0']]), ('normal control', [[[3200, 5200, 'c0'], [200, 2200, 'c1'], [200, 500, 'c2'], [1200, 1300, 'c3']], [[3000, 3100], [2000, 2100]]], [[3000, 5000, 'c0'], [200, 2100, 'c1'], [200, 500, 'c2'], [1200, 1300, 'c3']])], [('regression: inside-cut mapping', [[[1100, 1400, 'a']], [[1000, 1500]]], []), ('regression variant: inside-cut mapping', [[[2500, 4500, 'c0'], [4000, 6000, 'c1'], [900, 2900, 'c2'], [200, 2200, 'c3']], [[500, 600], [500, 1000]]], [[2000, 4000, 'c0'], [3500, 5500, 'c1'], [500, 2400, 'c2'], [200, 1700, 'c3']]), ('partial repair probe: inside-cut mapping', [[[200, 300, 'c0'], [1600, 3600, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']], [[3000, 4500]]], [[200, 300, 'c0'], [1600, 3000, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']]), ('partial repair variant: inside-cut mapping', [[[2500, 3300, 'c0'], [200, 500, 'c1']], [[1500, 1600], [0, 1000], [1500, 3000]]], [[500, 800, 'c0']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('normal control', [[[0, 2000, 'c0'], [0, 300, 'c1']], []], [[0, 2000, 'c0'], [0, 300, 'c1']]), ('normal control', [[[2500, 2800, 'c0'], [600, 1400, 'c1']], []], [[2500, 2800, 'c0'], [600, 1400, 'c1']]), ('normal control', [[[200, 500, 'c0']], [[1500, 1600], [0, 100]]], [[100, 400, 'c0']])], [('regression: inside-cut mapping', [[[200, 1000, 'c0'], [200, 2200, 'c1'], [0, 100, 'c2'], [200, 300, 'c3']], [[2000, 2500]]], [[200, 1000, 'c0'], [200, 2000, 'c1'], [0, 100, 'c2'], [200, 300, 'c3']]), ('regression variant: inside-cut mapping', [[[3200, 3300, 'c0'], [1200, 2000, 'c1'], [0, 2000, 'c2'], [3200, 3300, 'c3']], [[1000, 1500]]], [[2700, 2800, 'c0'], [1000, 1500, 'c1'], [0, 1500, 'c2'], [2700, 2800, 'c3']]), ('partial repair probe: inside-cut mapping', [[[2500, 4500, 'c0'], [4000, 6000, 'c1'], [900, 2900, 'c2'], [200, 2200, 'c3']], [[500, 600], [500, 1000]]], [[2000, 4000, 'c0'], [3500, 5500, 'c1'], [500, 2400, 'c2'], [200, 1700, 'c3']]), ('partial repair variant: inside-cut mapping', [[[4000, 6000, 'c0'], [200, 1000, 'c1']], [[0, 500], [500, 600]]], [[3400, 5400, 'c0'], [0, 400, 'c1']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[900, 1000, 'c0'], [600, 2600, 'c1'], [4000, 4100, 'c2'], [900, 2900, 'c3']], [[1000, 1500], [2000, 2100], [2000, 2500]]], [[900, 1000, 'c0'], [600, 1600, 'c1'], [3000, 3100, 'c2'], [900, 1900, 'c3']]), ('normal control', [[[4000, 4300, 'c0'], [1200, 3200, 'c1']], [[1500, 2000], [0, 100]]], [[3400, 3700, 'c0'], [1100, 2600, 'c1']]), ('normal control', [[[600, 2600, 'c0'], [200, 2200, 'c1'], [4000, 4300, 'c2']], []], [[600, 2600, 'c0'], [200, 2200, 'c1'], [4000, 4300, 'c2']])], [('regression: inside-cut mapping', [[[3200, 5200, 'c0'], [1200, 1300, 'c1']], [[500, 2000], [2000, 2100], [1500, 1600]]], [[1600, 3600, 'c0']]), ('regression variant: inside-cut mapping', [[[900, 1700, 'c0'], [2500, 3300, 'c1'], [1200, 2000, 'c2']], [[1000, 2500]]], [[900, 1000, 'c0'], [1000, 1800, 'c1']]), ('partial repair probe: inside-cut mapping', [[[3200, 3300, 'c0'], [1200, 2000, 'c1'], [0, 2000, 'c2'], [3200, 3300, 'c3']], [[1000, 1500]]], [[2700, 2800, 'c0'], [1000, 1500, 'c1'], [0, 1500, 'c2'], [2700, 2800, 'c3']]), ('partial repair variant: inside-cut mapping', [[[200, 300, 'c0'], [600, 900, 'c1'], [4000, 4300, 'c2'], [2500, 3300, 'c3']], [[2000, 2500], [2000, 3000], [1500, 2500]]], [[200, 300, 'c0'], [600, 900, 'c1'], [2500, 2800, 'c2'], [1500, 1800, 'c3']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('normal control', [[[1600, 1900, 'c0'], [1600, 3600, 'c1']], []], [[1600, 1900, 'c0'], [1600, 3600, 'c1']]), ('normal control', [[[600, 1400, 'c0'], [0, 300, 'c1']], [[3000, 4000]]], [[600, 1400, 'c0'], [0, 300, 'c1']]), ('normal control', [[[4000, 4300, 'c0'], [3200, 3500, 'c1']], [[1000, 2500], [1500, 2500], [1500, 2000]]], [[2500, 2800, 'c0'], [1700, 2000, 'c1']])], [('regression: inside-cut mapping', [[[0, 800, 'c0'], [4000, 4300, 'c1'], [0, 800, 'c2']], [[3000, 3100], [3000, 4500], [0, 1500]]], []), ('regression variant: inside-cut mapping', [[[600, 2600, 'c0'], [1200, 2000, 'c1'], [200, 2200, 'c2'], [1200, 3200, 'c3']], [[3000, 4000], [1500, 2500], [2000, 3500]]], [[600, 1500, 'c0'], [1200, 1500, 'c1'], [200, 1500, 'c2'], [1200, 1500, 'c3']]), ('partial repair probe: inside-cut mapping', [[[900, 1700, 'c0'], [2500, 3300, 'c1'], [1200, 2000, 'c2']], [[1000, 2500]]], [[900, 1000, 'c0'], [1000, 1800, 'c1']]), ('partial repair variant: inside-cut mapping', [[[1600, 1900, 'c0'], [900, 1700, 'c1'], [3200, 3300, 'c2'], [0, 300, 'c3']], [[0, 500], [2000, 3500]]], [[1100, 1400, 'c0'], [400, 1200, 'c1']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[900, 1200, 'c0'], [900, 1700, 'c1']], []], [[900, 1200, 'c0'], [900, 1700, 'c1']]), ('normal control', [[[2500, 4500, 'c0'], [1600, 3600, 'c1']], [[0, 1500]]], [[1000, 3000, 'c0'], [100, 2100, 'c1']]), ('normal control', [[[900, 1200, 'c0'], [200, 1000, 'c1'], [1200, 2000, 'c2']], []], [[900, 1200, 'c0'], [200, 1000, 'c1'], [1200, 2000, 'c2']])]]\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":"c4799388f3443e2cbc6cab95dc99df39cc6a7e866fa0b5cfccf2ed8fe0aad227","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, cuts):\n    merged=[]\n    for a,b in sorted(cuts):\n        if merged and a<=merged[-1][1]:\n            merged[-1][1]=max(merged[-1][1],b)\n        else:\n            merged.append([a,b])\n    def mapt(t):\n        shift=0\n        for a,b in merged:\n            if t>=b:\n                shift+=b-a\n            elif t>a:\n                return t-shift\n        return t-shift\n    out=[]\n    for s,e,txt in cues:\n        ns,ne=mapt(s),mapt(e)\n        if ne>ns:\n            out.append([ns,ne,txt])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: inside-cut mapping', [[[1200, 1800, 'a']], [[1000, 1500]]], [[1000, 1300, 'a']]), ('regression variant: inside-cut mapping', [[[200, 300, 'c0'], [1600, 3600, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']], [[3000, 4500]]], [[200, 300, 'c0'], [1600, 3000, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']]), ('partial repair probe: inside-cut mapping', [[[0, 800, 'c0'], [4000, 4300, 'c1'], [0, 800, 'c2']], [[3000, 3100], [3000, 4500], [0, 1500]]], []), ('partial repair variant: inside-cut mapping', [[[1600, 1700, 'c0'], [4000, 4300, 'c1'], [900, 1700, 'c2'], [1600, 1900, 'c3']], [[1000, 2500], [3000, 4500]]], [[900, 1000, 'c2']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[600, 2600, 'c0'], [2500, 3300, 'c1'], [0, 2000, 'c2']], [[1000, 1100]]], [[600, 2500, 'c0'], [2400, 3200, 'c1'], [0, 1900, 'c2']]), ('normal control', [[[2500, 2800, 'c0']], [[500, 600], [1000, 2500], [2000, 2500]]], [[900, 1200, 'c0']]), ('normal control', [[[3200, 5200, 'c0'], [200, 2200, 'c1'], [200, 500, 'c2'], [1200, 1300, 'c3']], [[3000, 3100], [2000, 2100]]], [[3000, 5000, 'c0'], [200, 2100, 'c1'], [200, 500, 'c2'], [1200, 1300, 'c3']])], [('regression: inside-cut mapping', [[[1100, 1400, 'a']], [[1000, 1500]]], []), ('regression variant: inside-cut mapping', [[[2500, 4500, 'c0'], [4000, 6000, 'c1'], [900, 2900, 'c2'], [200, 2200, 'c3']], [[500, 600], [500, 1000]]], [[2000, 4000, 'c0'], [3500, 5500, 'c1'], [500, 2400, 'c2'], [200, 1700, 'c3']]), ('partial repair probe: inside-cut mapping', [[[200, 300, 'c0'], [1600, 3600, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']], [[3000, 4500]]], [[200, 300, 'c0'], [1600, 3000, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']]), ('partial repair variant: inside-cut mapping', [[[2500, 3300, 'c0'], [200, 500, 'c1']], [[1500, 1600], [0, 1000], [1500, 3000]]], [[500, 800, 'c0']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('normal control', [[[0, 2000, 'c0'], [0, 300, 'c1']], []], [[0, 2000, 'c0'], [0, 300, 'c1']]), ('normal control', [[[2500, 2800, 'c0'], [600, 1400, 'c1']], []], [[2500, 2800, 'c0'], [600, 1400, 'c1']]), ('normal control', [[[200, 500, 'c0']], [[1500, 1600], [0, 100]]], [[100, 400, 'c0']])], [('regression: inside-cut mapping', [[[200, 1000, 'c0'], [200, 2200, 'c1'], [0, 100, 'c2'], [200, 300, 'c3']], [[2000, 2500]]], [[200, 1000, 'c0'], [200, 2000, 'c1'], [0, 100, 'c2'], [200, 300, 'c3']]), ('regression variant: inside-cut mapping', [[[3200, 3300, 'c0'], [1200, 2000, 'c1'], [0, 2000, 'c2'], [3200, 3300, 'c3']], [[1000, 1500]]], [[2700, 2800, 'c0'], [1000, 1500, 'c1'], [0, 1500, 'c2'], [2700, 2800, 'c3']]), ('partial repair probe: inside-cut mapping', [[[2500, 4500, 'c0'], [4000, 6000, 'c1'], [900, 2900, 'c2'], [200, 2200, 'c3']], [[500, 600], [500, 1000]]], [[2000, 4000, 'c0'], [3500, 5500, 'c1'], [500, 2400, 'c2'], [200, 1700, 'c3']]), ('partial repair variant: inside-cut mapping', [[[4000, 6000, 'c0'], [200, 1000, 'c1']], [[0, 500], [500, 600]]], [[3400, 5400, 'c0'], [0, 400, 'c1']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[900, 1000, 'c0'], [600, 2600, 'c1'], [4000, 4100, 'c2'], [900, 2900, 'c3']], [[1000, 1500], [2000, 2100], [2000, 2500]]], [[900, 1000, 'c0'], [600, 1600, 'c1'], [3000, 3100, 'c2'], [900, 1900, 'c3']]), ('normal control', [[[4000, 4300, 'c0'], [1200, 3200, 'c1']], [[1500, 2000], [0, 100]]], [[3400, 3700, 'c0'], [1100, 2600, 'c1']]), ('normal control', [[[600, 2600, 'c0'], [200, 2200, 'c1'], [4000, 4300, 'c2']], []], [[600, 2600, 'c0'], [200, 2200, 'c1'], [4000, 4300, 'c2']])], [('regression: inside-cut mapping', [[[3200, 5200, 'c0'], [1200, 1300, 'c1']], [[500, 2000], [2000, 2100], [1500, 1600]]], [[1600, 3600, 'c0']]), ('regression variant: inside-cut mapping', [[[900, 1700, 'c0'], [2500, 3300, 'c1'], [1200, 2000, 'c2']], [[1000, 2500]]], [[900, 1000, 'c0'], [1000, 1800, 'c1']]), ('partial repair probe: inside-cut mapping', [[[3200, 3300, 'c0'], [1200, 2000, 'c1'], [0, 2000, 'c2'], [3200, 3300, 'c3']], [[1000, 1500]]], [[2700, 2800, 'c0'], [1000, 1500, 'c1'], [0, 1500, 'c2'], [2700, 2800, 'c3']]), ('partial repair variant: inside-cut mapping', [[[200, 300, 'c0'], [600, 900, 'c1'], [4000, 4300, 'c2'], [2500, 3300, 'c3']], [[2000, 2500], [2000, 3000], [1500, 2500]]], [[200, 300, 'c0'], [600, 900, 'c1'], [2500, 2800, 'c2'], [1500, 1800, 'c3']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('normal control', [[[1600, 1900, 'c0'], [1600, 3600, 'c1']], []], [[1600, 1900, 'c0'], [1600, 3600, 'c1']]), ('normal control', [[[600, 1400, 'c0'], [0, 300, 'c1']], [[3000, 4000]]], [[600, 1400, 'c0'], [0, 300, 'c1']]), ('normal control', [[[4000, 4300, 'c0'], [3200, 3500, 'c1']], [[1000, 2500], [1500, 2500], [1500, 2000]]], [[2500, 2800, 'c0'], [1700, 2000, 'c1']])], [('regression: inside-cut mapping', [[[0, 800, 'c0'], [4000, 4300, 'c1'], [0, 800, 'c2']], [[3000, 3100], [3000, 4500], [0, 1500]]], []), ('regression variant: inside-cut mapping', [[[600, 2600, 'c0'], [1200, 2000, 'c1'], [200, 2200, 'c2'], [1200, 3200, 'c3']], [[3000, 4000], [1500, 2500], [2000, 3500]]], [[600, 1500, 'c0'], [1200, 1500, 'c1'], [200, 1500, 'c2'], [1200, 1500, 'c3']]), ('partial repair probe: inside-cut mapping', [[[900, 1700, 'c0'], [2500, 3300, 'c1'], [1200, 2000, 'c2']], [[1000, 2500]]], [[900, 1000, 'c0'], [1000, 1800, 'c1']]), ('partial repair variant: inside-cut mapping', [[[1600, 1900, 'c0'], [900, 1700, 'c1'], [3200, 3300, 'c2'], [0, 300, 'c3']], [[0, 500], [2000, 3500]]], [[1100, 1400, 'c0'], [400, 1200, 'c1']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[900, 1200, 'c0'], [900, 1700, 'c1']], []], [[900, 1200, 'c0'], [900, 1700, 'c1']]), ('normal control', [[[2500, 4500, 'c0'], [1600, 3600, 'c1']], [[0, 1500]]], [[1000, 3000, 'c0'], [100, 2100, 'c1']]), ('normal control', [[[900, 1200, 'c0'], [200, 1000, 'c1'], [1200, 2000, 'c2']], []], [[900, 1200, 'c0'], [200, 1000, 'c1'], [1200, 2000, 'c2']])]]\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":"88aad64ed991bfd234f70366d55849d4e324ac5f6eafbad0d52fabbb400e36f5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cues, cuts):\n    merged=[]\n    for a,b in sorted(cuts):\n        if merged and a<=merged[-1][1]:\n            merged[-1][1]=max(merged[-1][1],b)\n        else:\n            merged.append([a,b])\n    def mapt(t):\n        shift=0\n        for a,b in merged:\n            if t>=b:\n                shift+=b-a\n            elif t>a:\n                return a-shift\n        return t-shift\n    out=[]\n    for s,e,txt in cues:\n        ns,ne=mapt(s),mapt(e)\n        if ne>ns:\n            out.append([ns,ne,txt])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: inside-cut mapping', [[[1200, 1800, 'a']], [[1000, 1500]]], [[1000, 1300, 'a']]), ('regression variant: inside-cut mapping', [[[200, 300, 'c0'], [1600, 3600, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']], [[3000, 4500]]], [[200, 300, 'c0'], [1600, 3000, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']]), ('partial repair probe: inside-cut mapping', [[[0, 800, 'c0'], [4000, 4300, 'c1'], [0, 800, 'c2']], [[3000, 3100], [3000, 4500], [0, 1500]]], []), ('partial repair variant: inside-cut mapping', [[[1600, 1700, 'c0'], [4000, 4300, 'c1'], [900, 1700, 'c2'], [1600, 1900, 'c3']], [[1000, 2500], [3000, 4500]]], [[900, 1000, 'c2']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[600, 2600, 'c0'], [2500, 3300, 'c1'], [0, 2000, 'c2']], [[1000, 1100]]], [[600, 2500, 'c0'], [2400, 3200, 'c1'], [0, 1900, 'c2']]), ('normal control', [[[2500, 2800, 'c0']], [[500, 600], [1000, 2500], [2000, 2500]]], [[900, 1200, 'c0']]), ('normal control', [[[3200, 5200, 'c0'], [200, 2200, 'c1'], [200, 500, 'c2'], [1200, 1300, 'c3']], [[3000, 3100], [2000, 2100]]], [[3000, 5000, 'c0'], [200, 2100, 'c1'], [200, 500, 'c2'], [1200, 1300, 'c3']])], [('regression: inside-cut mapping', [[[1100, 1400, 'a']], [[1000, 1500]]], []), ('regression variant: inside-cut mapping', [[[2500, 4500, 'c0'], [4000, 6000, 'c1'], [900, 2900, 'c2'], [200, 2200, 'c3']], [[500, 600], [500, 1000]]], [[2000, 4000, 'c0'], [3500, 5500, 'c1'], [500, 2400, 'c2'], [200, 1700, 'c3']]), ('partial repair probe: inside-cut mapping', [[[200, 300, 'c0'], [1600, 3600, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']], [[3000, 4500]]], [[200, 300, 'c0'], [1600, 3000, 'c1'], [1200, 1500, 'c2'], [600, 900, 'c3']]), ('partial repair variant: inside-cut mapping', [[[2500, 3300, 'c0'], [200, 500, 'c1']], [[1500, 1600], [0, 1000], [1500, 3000]]], [[500, 800, 'c0']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('normal control', [[[0, 2000, 'c0'], [0, 300, 'c1']], []], [[0, 2000, 'c0'], [0, 300, 'c1']]), ('normal control', [[[2500, 2800, 'c0'], [600, 1400, 'c1']], []], [[2500, 2800, 'c0'], [600, 1400, 'c1']]), ('normal control', [[[200, 500, 'c0']], [[1500, 1600], [0, 100]]], [[100, 400, 'c0']])], [('regression: inside-cut mapping', [[[200, 1000, 'c0'], [200, 2200, 'c1'], [0, 100, 'c2'], [200, 300, 'c3']], [[2000, 2500]]], [[200, 1000, 'c0'], [200, 2000, 'c1'], [0, 100, 'c2'], [200, 300, 'c3']]), ('regression variant: inside-cut mapping', [[[3200, 3300, 'c0'], [1200, 2000, 'c1'], [0, 2000, 'c2'], [3200, 3300, 'c3']], [[1000, 1500]]], [[2700, 2800, 'c0'], [1000, 1500, 'c1'], [0, 1500, 'c2'], [2700, 2800, 'c3']]), ('partial repair probe: inside-cut mapping', [[[2500, 4500, 'c0'], [4000, 6000, 'c1'], [900, 2900, 'c2'], [200, 2200, 'c3']], [[500, 600], [500, 1000]]], [[2000, 4000, 'c0'], [3500, 5500, 'c1'], [500, 2400, 'c2'], [200, 1700, 'c3']]), ('partial repair variant: inside-cut mapping', [[[4000, 6000, 'c0'], [200, 1000, 'c1']], [[0, 500], [500, 600]]], [[3400, 5400, 'c0'], [0, 400, 'c1']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[900, 1000, 'c0'], [600, 2600, 'c1'], [4000, 4100, 'c2'], [900, 2900, 'c3']], [[1000, 1500], [2000, 2100], [2000, 2500]]], [[900, 1000, 'c0'], [600, 1600, 'c1'], [3000, 3100, 'c2'], [900, 1900, 'c3']]), ('normal control', [[[4000, 4300, 'c0'], [1200, 3200, 'c1']], [[1500, 2000], [0, 100]]], [[3400, 3700, 'c0'], [1100, 2600, 'c1']]), ('normal control', [[[600, 2600, 'c0'], [200, 2200, 'c1'], [4000, 4300, 'c2']], []], [[600, 2600, 'c0'], [200, 2200, 'c1'], [4000, 4300, 'c2']])], [('regression: inside-cut mapping', [[[3200, 5200, 'c0'], [1200, 1300, 'c1']], [[500, 2000], [2000, 2100], [1500, 1600]]], [[1600, 3600, 'c0']]), ('regression variant: inside-cut mapping', [[[900, 1700, 'c0'], [2500, 3300, 'c1'], [1200, 2000, 'c2']], [[1000, 2500]]], [[900, 1000, 'c0'], [1000, 1800, 'c1']]), ('partial repair probe: inside-cut mapping', [[[3200, 3300, 'c0'], [1200, 2000, 'c1'], [0, 2000, 'c2'], [3200, 3300, 'c3']], [[1000, 1500]]], [[2700, 2800, 'c0'], [1000, 1500, 'c1'], [0, 1500, 'c2'], [2700, 2800, 'c3']]), ('partial repair variant: inside-cut mapping', [[[200, 300, 'c0'], [600, 900, 'c1'], [4000, 4300, 'c2'], [2500, 3300, 'c3']], [[2000, 2500], [2000, 3000], [1500, 2500]]], [[200, 300, 'c0'], [600, 900, 'c1'], [2500, 2800, 'c2'], [1500, 1800, 'c3']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('normal control', [[[1600, 1900, 'c0'], [1600, 3600, 'c1']], []], [[1600, 1900, 'c0'], [1600, 3600, 'c1']]), ('normal control', [[[600, 1400, 'c0'], [0, 300, 'c1']], [[3000, 4000]]], [[600, 1400, 'c0'], [0, 300, 'c1']]), ('normal control', [[[4000, 4300, 'c0'], [3200, 3500, 'c1']], [[1000, 2500], [1500, 2500], [1500, 2000]]], [[2500, 2800, 'c0'], [1700, 2000, 'c1']])], [('regression: inside-cut mapping', [[[0, 800, 'c0'], [4000, 4300, 'c1'], [0, 800, 'c2']], [[3000, 3100], [3000, 4500], [0, 1500]]], []), ('regression variant: inside-cut mapping', [[[600, 2600, 'c0'], [1200, 2000, 'c1'], [200, 2200, 'c2'], [1200, 3200, 'c3']], [[3000, 4000], [1500, 2500], [2000, 3500]]], [[600, 1500, 'c0'], [1200, 1500, 'c1'], [200, 1500, 'c2'], [1200, 1500, 'c3']]), ('partial repair probe: inside-cut mapping', [[[900, 1700, 'c0'], [2500, 3300, 'c1'], [1200, 2000, 'c2']], [[1000, 2500]]], [[900, 1000, 'c0'], [1000, 1800, 'c1']]), ('partial repair variant: inside-cut mapping', [[[1600, 1900, 'c0'], [900, 1700, 'c1'], [3200, 3300, 'c2'], [0, 300, 'c3']], [[0, 500], [2000, 3500]]], [[1100, 1400, 'c0'], [400, 1200, 'c1']]), ('boundary control', [[[3000, 3500, 'a']], [[0, 500], [1000, 2000]]], [[1500, 2000, 'a']]), ('boundary control', [[[2000, 3000, 'x']], [[1000, 1500], [1200, 1800]]], [[1200, 2200, 'x']]), ('normal control', [[[900, 1200, 'c0'], [900, 1700, 'c1']], []], [[900, 1200, 'c0'], [900, 1700, 'c1']]), ('normal control', [[[2500, 4500, 'c0'], [1600, 3600, 'c1']], [[0, 1500]]], [[1000, 3000, 'c0'], [100, 2100, 'c1']]), ('normal control', [[[900, 1200, 'c0'], [200, 1000, 'c1'], [1200, 2000, 'c2']], []], [[900, 1200, 'c0'], [200, 1000, 'c1'], [1200, 2000, 'c2']])]]\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-cut-list-conform-inside-cut-mapping","generated_at":"2026-09-29T14:49:34.040799+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":"Map times inside a cut to the cut point a-shift.","root_cause":"Times inside a cut are shifted only by earlier cuts.","sha256":"a3171d1839abd610af1eea6c366b6d6357cfc9a48f68303b90b3d980ad605c88","title":"Subtitle conform to an edit cut list: inside-cut mapping · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.451,"exit_code":1,"observations":[{"actual":[],"check":"regression: inside-cut mapping","expected":[[1000,1300,"a"]],"passed":false},{"actual":[[200,300,"c0"],[1600,4500,"c1"],[1200,1500,"c2"],[600,900,"c3"]],"check":"regression variant: inside-cut mapping","expected":[[200,300,"c0"],[1600,3000,"c1"],[1200,1500,"c2"],[600,900,"c3"]],"passed":false},{"actual":[[0,1500,"c0"],[0,1500,"c2"]],"check":"partial repair probe: inside-cut mapping","expected":[],"passed":false},{"actual":[[900,2500,"c2"]],"check":"partial repair variant: inside-cut mapping","expected":[[900,1000,"c2"]],"passed":false},{"actual":[[1500,2000,"a"]],"check":"boundary control","expected":[[1500,2000,"a"]],"passed":true},{"actual":[[1200,2200,"x"]],"check":"boundary control","expected":[[1200,2200,"x"]],"passed":true},{"actual":[[600,2500,"c0"],[2400,3200,"c1"],[0,1900,"c2"]],"check":"normal control","expected":[[600,2500,"c0"],[2400,3200,"c1"],[0,1900,"c2"]],"passed":true},{"actual":[[900,1200,"c0"]],"check":"normal control","expected":[[900,1200,"c0"]],"passed":true},{"actual":[[3000,5000,"c0"],[200,2100,"c1"],[200,500,"c2"],[1200,1300,"c3"]],"check":"normal control","expected":[[3000,5000,"c0"],[200,2100,"c1"],[200,500,"c2"],[1200,1300,"c3"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: inside-cut mapping\", \"actual\": [], \"expected\": [[1000, 1300, \"a\"]], \"passed\": false}, {\"check\": \"regression variant: inside-cut mapping\", \"actual\": [[200, 300, \"c0\"], [1600, 4500, \"c1\"], [1200, 1500, \"c2\"], [600, 900, \"c3\"]], \"expected\": [[200, 300, \"c0\"], [1600, 3000, \"c1\"], [1200, 1500, \"c2\"], [600, 900, \"c3\"]], \"passed\": false}, {\"check\": \"partial repair probe: inside-cut mapping\", \"actual\": [[0, 1500, \"c0\"], [0, 1500, \"c2\"]], \"expected\": [], \"passed\": false}, {\"check\": \"partial repair variant: inside-cut mapping\", \"actual\": [[900, 2500, \"c2\"]], \"expected\": [[900, 1000, \"c2\"]], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [[1500, 2000, \"a\"]], \"expected\": [[1500, 2000, \"a\"]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1200, 2200, \"x\"]], \"expected\": [[1200, 2200, \"x\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[600, 2500, \"c0\"], [2400, 3200, \"c1\"], [0, 1900, \"c2\"]], \"expected\": [[600, 2500, \"c0\"], [2400, 3200, \"c1\"], [0, 1900, \"c2\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[900, 1200, \"c0\"]], \"expected\": [[900, 1200, \"c0\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[3000, 5000, \"c0\"], [200, 2100, \"c1\"], [200, 500, \"c2\"], [1200, 1300, \"c3\"]], \"expected\": [[3000, 5000, \"c0\"], [200, 2100, \"c1\"], [200, 500, \"c2\"], [1200, 1300, \"c3\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.817,"exit_code":1,"observations":[{"actual":[[1200,1300,"a"]],"check":"regression: inside-cut mapping","expected":[[1000,1300,"a"]],"passed":false},{"actual":[[200,300,"c0"],[1600,3600,"c1"],[1200,1500,"c2"],[600,900,"c3"]],"check":"regression variant: inside-cut mapping","expected":[[200,300,"c0"],[1600,3000,"c1"],[1200,1500,"c2"],[600,900,"c3"]],"passed":false},{"actual":[[0,800,"c0"],[2500,2800,"c1"],[0,800,"c2"]],"check":"partial repair probe: inside-cut mapping","expected":[],"passed":false},{"actual":[[1600,1700,"c0"],[2500,2800,"c1"],[900,1700,"c2"],[1600,1900,"c3"]],"check":"partial repair variant: inside-cut mapping","expected":[[900,1000,"c2"]],"passed":false},{"actual":[[1500,2000,"a"]],"check":"boundary control","expected":[[1500,2000,"a"]],"passed":true},{"actual":[[1200,2200,"x"]],"check":"boundary control","expected":[[1200,2200,"x"]],"passed":true},{"actual":[[600,2500,"c0"],[2400,3200,"c1"],[0,1900,"c2"]],"check":"normal control","expected":[[600,2500,"c0"],[2400,3200,"c1"],[0,1900,"c2"]],"passed":true},{"actual":[[900,1200,"c0"]],"check":"normal control","expected":[[900,1200,"c0"]],"passed":true},{"actual":[[3000,5000,"c0"],[200,2100,"c1"],[200,500,"c2"],[1200,1300,"c3"]],"check":"normal control","expected":[[3000,5000,"c0"],[200,2100,"c1"],[200,500,"c2"],[1200,1300,"c3"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: inside-cut mapping\", \"actual\": [[1200, 1300, \"a\"]], \"expected\": [[1000, 1300, \"a\"]], \"passed\": false}, {\"check\": \"regression variant: inside-cut mapping\", \"actual\": [[200, 300, \"c0\"], [1600, 3600, \"c1\"], [1200, 1500, \"c2\"], [600, 900, \"c3\"]], \"expected\": [[200, 300, \"c0\"], [1600, 3000, \"c1\"], [1200, 1500, \"c2\"], [600, 900, \"c3\"]], \"passed\": false}, {\"check\": \"partial repair probe: inside-cut mapping\", \"actual\": [[0, 800, \"c0\"], [2500, 2800, \"c1\"], [0, 800, \"c2\"]], \"expected\": [], \"passed\": false}, {\"check\": \"partial repair variant: inside-cut mapping\", \"actual\": [[1600, 1700, \"c0\"], [2500, 2800, \"c1\"], [900, 1700, \"c2\"], [1600, 1900, \"c3\"]], \"expected\": [[900, 1000, \"c2\"]], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [[1500, 2000, \"a\"]], \"expected\": [[1500, 2000, \"a\"]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1200, 2200, \"x\"]], \"expected\": [[1200, 2200, \"x\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[600, 2500, \"c0\"], [2400, 3200, \"c1\"], [0, 1900, \"c2\"]], \"expected\": [[600, 2500, \"c0\"], [2400, 3200, \"c1\"], [0, 1900, \"c2\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[900, 1200, \"c0\"]], \"expected\": [[900, 1200, \"c0\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[3000, 5000, \"c0\"], [200, 2100, \"c1\"], [200, 500, \"c2\"], [1200, 1300, \"c3\"]], \"expected\": [[3000, 5000, \"c0\"], [200, 2100, \"c1\"], [200, 500, \"c2\"], [1200, 1300, \"c3\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.198,"exit_code":0,"observations":[{"actual":[[1000,1300,"a"]],"check":"regression: inside-cut mapping","expected":[[1000,1300,"a"]],"passed":true},{"actual":[[200,300,"c0"],[1600,3000,"c1"],[1200,1500,"c2"],[600,900,"c3"]],"check":"regression variant: inside-cut mapping","expected":[[200,300,"c0"],[1600,3000,"c1"],[1200,1500,"c2"],[600,900,"c3"]],"passed":true},{"actual":[],"check":"partial repair probe: inside-cut mapping","expected":[],"passed":true},{"actual":[[900,1000,"c2"]],"check":"partial repair variant: inside-cut mapping","expected":[[900,1000,"c2"]],"passed":true},{"actual":[[1500,2000,"a"]],"check":"boundary control","expected":[[1500,2000,"a"]],"passed":true},{"actual":[[1200,2200,"x"]],"check":"boundary control","expected":[[1200,2200,"x"]],"passed":true},{"actual":[[600,2500,"c0"],[2400,3200,"c1"],[0,1900,"c2"]],"check":"normal control","expected":[[600,2500,"c0"],[2400,3200,"c1"],[0,1900,"c2"]],"passed":true},{"actual":[[900,1200,"c0"]],"check":"normal control","expected":[[900,1200,"c0"]],"passed":true},{"actual":[[3000,5000,"c0"],[200,2100,"c1"],[200,500,"c2"],[1200,1300,"c3"]],"check":"normal control","expected":[[3000,5000,"c0"],[200,2100,"c1"],[200,500,"c2"],[1200,1300,"c3"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: inside-cut mapping\", \"actual\": [[1000, 1300, \"a\"]], \"expected\": [[1000, 1300, \"a\"]], \"passed\": true}, {\"check\": \"regression variant: inside-cut mapping\", \"actual\": [[200, 300, \"c0\"], [1600, 3000, \"c1\"], [1200, 1500, \"c2\"], [600, 900, \"c3\"]], \"expected\": [[200, 300, \"c0\"], [1600, 3000, \"c1\"], [1200, 1500, \"c2\"], [600, 900, \"c3\"]], \"passed\": true}, {\"check\": \"partial repair probe: inside-cut mapping\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"partial repair variant: inside-cut mapping\", \"actual\": [[900, 1000, \"c2\"]], \"expected\": [[900, 1000, \"c2\"]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1500, 2000, \"a\"]], \"expected\": [[1500, 2000, \"a\"]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[1200, 2200, \"x\"]], \"expected\": [[1200, 2200, \"x\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[600, 2500, \"c0\"], [2400, 3200, \"c1\"], [0, 1900, \"c2\"]], \"expected\": [[600, 2500, \"c0\"], [2400, 3200, \"c1\"], [0, 1900, \"c2\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[900, 1200, \"c0\"]], \"expected\": [[900, 1200, \"c0\"]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[3000, 5000, \"c0\"], [200, 2100, \"c1\"], [200, 500, \"c2\"], [1200, 1300, \"c3\"]], \"expected\": [[3000, 5000, \"c0\"], [200, 2100, \"c1\"], [200, 500, \"c2\"], [1200, 1300, \"c3\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}