{"abstract":"A zero-length syllable appears exactly at the cue end.","category":"Subtitle cue timing","checks":9,"contract":"Karaoke text is a sequence of {\\k|\\K|\\kf|\\ko<cs>}syllable with durations in centiseconds. Syllable i starts at cue start plus the sum of all previous durations (empty syllables still consume time). Syllables starting at or after the cue end are dropped; others are clipped to the cue end. Output [syllable,start_ms,end_ms].","evaluation_group":"w2-subtitle-cue-timing-karaoke-syllables","failed_approach":"Requiring the whole syllable to fit drops partially overflowing syllables instead of clipping them.","family":"w2-subtitle-cue-timing-karaoke-syllables-late-syllable-test","id":"FA-78236","implementations":{"attempt":{"sha256":"3a75d2d3a3add1e788f0b854ee33a82dcaf17a06df23bbf5fd9f8e8f5e2c41be","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport re\nN = 1\nobservations = []\ndef solve(cue, text):\n    cs,ce=cue\n    out=[]\n    t=cs\n    for m in re.finditer(r'\\{\\\\(kf|ko|k|K)(\\d+)\\}([^{]*)',text):\n        d=int(m.group(2))*10\n        syl=m.group(3)\n        if syl and t+d<=ce:\n            out.append([syl,t,min(t+d,ce)])\n        t+=d\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: late syllable test', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('regression variant: late syllable test', [[0, 100], '{\\\\kf10}lo{\\\\k25}Hel{\\\\k25}o '], [['lo', 0, 100]]), ('partial repair probe: late syllable test', [[0, 300], '{\\\\k10}la{\\\\k5}la{\\\\k50}lo{\\\\ko25}lo'], [['la', 0, 100], ['la', 100, 150], ['lo', 150, 300]]), ('partial repair variant: late syllable test', [[1000, 1300], '{\\\\K50}la{\\\\ko30}Hel{\\\\k50}Hel{\\\\K25} '], [['la', 1000, 1300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1500], '{\\\\kf10} {\\\\k10}la'], [[' ', 1000, 1100], ['la', 1100, 1200]]), ('normal control', [[0, 2000], '{\\\\K25}la{\\\\ko25}Hel{\\\\K0}Hel{\\\\ko25}'], [['la', 0, 250], ['Hel', 250, 500], ['Hel', 500, 500]]), ('normal control', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]])], [('regression: late syllable test', [[1000, 1500], '{\\\\K50}o {\\\\kf50} '], [['o ', 1000, 1500]]), ('regression variant: late syllable test', [[1000, 1500], '{\\\\ko50}Hel{\\\\k5}o '], [['Hel', 1000, 1500]]), ('partial repair probe: late syllable test', [[0, 300], '{\\\\ko25}la{\\\\k25}o {\\\\kf5}la'], [['la', 0, 250], ['o ', 250, 300]]), ('partial repair variant: late syllable test', [[1000, 1100], '{\\\\K50}la'], [['la', 1000, 1100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[1000, 1100], '{\\\\k5}Hel{\\\\k5}la'], [['Hel', 1000, 1050], ['la', 1050, 1100]]), ('normal control', [[0, 500], '{\\\\k30}o '], [['o ', 0, 300]]), ('normal control', [[0, 300], '{\\\\k10}'], [])], [('regression: late syllable test', [[1000, 1100], '{\\\\k0}Hel{\\\\K10} {\\\\k5}o {\\\\k5} {\\\\k10}'], [['Hel', 1000, 1000], [' ', 1000, 1100]]), ('regression variant: late syllable test', [[1000, 1300], '{\\\\k30}Hel{\\\\kf30}la{\\\\k5} {\\\\K5}lo'], [['Hel', 1000, 1300]]), ('partial repair probe: late syllable test', [[0, 500], '{\\\\ko30}Hel{\\\\K5}Hel{\\\\k50}lo{\\\\K30}{\\\\k30}lo'], [['Hel', 0, 300], ['Hel', 300, 350], ['lo', 350, 500]]), ('partial repair variant: late syllable test', [[0, 500], '{\\\\ko10}la{\\\\K50} {\\\\kf25}lo{\\\\k25}o '], [['la', 0, 100], [' ', 100, 500]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('normal control', [[0, 2000], '{\\\\ko50}{\\\\k50}la'], [['la', 500, 1000]]), ('normal control', [[1000, 1800], '{\\\\k0}Hel{\\\\ko0}Hel{\\\\K25}o '], [['Hel', 1000, 1000], ['Hel', 1000, 1000], ['o ', 1000, 1250]])], [('regression: late syllable test', [[1000, 1800], '{\\\\K25}lo{\\\\K30}o {\\\\ko25}lo{\\\\ko10}la'], [['lo', 1000, 1250], ['o ', 1250, 1550], ['lo', 1550, 1800]]), ('regression variant: late syllable test', [[1000, 1500], '{\\\\k50} {\\\\K10} {\\\\k50}lo'], [[' ', 1000, 1500]]), ('partial repair probe: late syllable test', [[0, 500], '{\\\\kf30}Hel{\\\\k50} {\\\\k0}lo'], [['Hel', 0, 300], [' ', 300, 500]]), ('partial repair variant: late syllable test', [[1000, 1500], '{\\\\ko25}{\\\\k10}{\\\\K50}la{\\\\ko30}{\\\\ko50}o '], [['la', 1350, 1500]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[0, 500], '{\\\\ko5}la'], [['la', 0, 50]]), ('normal control', [[1000, 1300], '{\\\\ko50}{\\\\K50}la{\\\\ko5}lo{\\\\k25}o '], []), ('normal control', [[1000, 1500], '{\\\\k5}lo{\\\\K30}o '], [['lo', 1000, 1050], ['o ', 1050, 1350]])], [('regression: late syllable test', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('regression variant: late syllable test', [[0, 100], '{\\\\K10}la{\\\\K0}{\\\\kf10}lo'], [['la', 0, 100]]), ('partial repair probe: late syllable test', [[0, 100], '{\\\\kf0}{\\\\k30} {\\\\k0}o {\\\\ko5}Hel{\\\\k10} '], [[' ', 0, 100]]), ('partial repair variant: late syllable test', [[1000, 1300], '{\\\\kf5} {\\\\k30}o {\\\\k10}la'], [[' ', 1000, 1050], ['o ', 1050, 1300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1500], '{\\\\k0}{\\\\kf5}lo{\\\\K25} '], [['lo', 1000, 1050], [' ', 1050, 1300]]), ('normal control', [[0, 300], '{\\\\k5} '], [[' ', 0, 50]]), ('normal control', [[1000, 3000], '{\\\\ko5}Hel{\\\\K50}la{\\\\k0} {\\\\kf5}lo'], [['Hel', 1000, 1050], ['la', 1050, 1550], [' ', 1550, 1550], ['lo', 1550, 1600]])]]\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":"8196122da11e5e4ff89299f101a6e94824e6c8da42dbe907249665ecaca4f74e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport re\nN = 1\nobservations = []\ndef solve(cue, text):\n    cs,ce=cue\n    out=[]\n    t=cs\n    for m in re.finditer(r'\\{\\\\(kf|ko|k|K)(\\d+)\\}([^{]*)',text):\n        d=int(m.group(2))*10\n        syl=m.group(3)\n        if syl and t<=ce:\n            out.append([syl,t,min(t+d,ce)])\n        t+=d\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: late syllable test', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('regression variant: late syllable test', [[0, 100], '{\\\\kf10}lo{\\\\k25}Hel{\\\\k25}o '], [['lo', 0, 100]]), ('partial repair probe: late syllable test', [[0, 300], '{\\\\k10}la{\\\\k5}la{\\\\k50}lo{\\\\ko25}lo'], [['la', 0, 100], ['la', 100, 150], ['lo', 150, 300]]), ('partial repair variant: late syllable test', [[1000, 1300], '{\\\\K50}la{\\\\ko30}Hel{\\\\k50}Hel{\\\\K25} '], [['la', 1000, 1300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1500], '{\\\\kf10} {\\\\k10}la'], [[' ', 1000, 1100], ['la', 1100, 1200]]), ('normal control', [[0, 2000], '{\\\\K25}la{\\\\ko25}Hel{\\\\K0}Hel{\\\\ko25}'], [['la', 0, 250], ['Hel', 250, 500], ['Hel', 500, 500]]), ('normal control', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]])], [('regression: late syllable test', [[1000, 1500], '{\\\\K50}o {\\\\kf50} '], [['o ', 1000, 1500]]), ('regression variant: late syllable test', [[1000, 1500], '{\\\\ko50}Hel{\\\\k5}o '], [['Hel', 1000, 1500]]), ('partial repair probe: late syllable test', [[0, 300], '{\\\\ko25}la{\\\\k25}o {\\\\kf5}la'], [['la', 0, 250], ['o ', 250, 300]]), ('partial repair variant: late syllable test', [[1000, 1100], '{\\\\K50}la'], [['la', 1000, 1100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[1000, 1100], '{\\\\k5}Hel{\\\\k5}la'], [['Hel', 1000, 1050], ['la', 1050, 1100]]), ('normal control', [[0, 500], '{\\\\k30}o '], [['o ', 0, 300]]), ('normal control', [[0, 300], '{\\\\k10}'], [])], [('regression: late syllable test', [[1000, 1100], '{\\\\k0}Hel{\\\\K10} {\\\\k5}o {\\\\k5} {\\\\k10}'], [['Hel', 1000, 1000], [' ', 1000, 1100]]), ('regression variant: late syllable test', [[1000, 1300], '{\\\\k30}Hel{\\\\kf30}la{\\\\k5} {\\\\K5}lo'], [['Hel', 1000, 1300]]), ('partial repair probe: late syllable test', [[0, 500], '{\\\\ko30}Hel{\\\\K5}Hel{\\\\k50}lo{\\\\K30}{\\\\k30}lo'], [['Hel', 0, 300], ['Hel', 300, 350], ['lo', 350, 500]]), ('partial repair variant: late syllable test', [[0, 500], '{\\\\ko10}la{\\\\K50} {\\\\kf25}lo{\\\\k25}o '], [['la', 0, 100], [' ', 100, 500]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('normal control', [[0, 2000], '{\\\\ko50}{\\\\k50}la'], [['la', 500, 1000]]), ('normal control', [[1000, 1800], '{\\\\k0}Hel{\\\\ko0}Hel{\\\\K25}o '], [['Hel', 1000, 1000], ['Hel', 1000, 1000], ['o ', 1000, 1250]])], [('regression: late syllable test', [[1000, 1800], '{\\\\K25}lo{\\\\K30}o {\\\\ko25}lo{\\\\ko10}la'], [['lo', 1000, 1250], ['o ', 1250, 1550], ['lo', 1550, 1800]]), ('regression variant: late syllable test', [[1000, 1500], '{\\\\k50} {\\\\K10} {\\\\k50}lo'], [[' ', 1000, 1500]]), ('partial repair probe: late syllable test', [[0, 500], '{\\\\kf30}Hel{\\\\k50} {\\\\k0}lo'], [['Hel', 0, 300], [' ', 300, 500]]), ('partial repair variant: late syllable test', [[1000, 1500], '{\\\\ko25}{\\\\k10}{\\\\K50}la{\\\\ko30}{\\\\ko50}o '], [['la', 1350, 1500]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[0, 500], '{\\\\ko5}la'], [['la', 0, 50]]), ('normal control', [[1000, 1300], '{\\\\ko50}{\\\\K50}la{\\\\ko5}lo{\\\\k25}o '], []), ('normal control', [[1000, 1500], '{\\\\k5}lo{\\\\K30}o '], [['lo', 1000, 1050], ['o ', 1050, 1350]])], [('regression: late syllable test', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('regression variant: late syllable test', [[0, 100], '{\\\\K10}la{\\\\K0}{\\\\kf10}lo'], [['la', 0, 100]]), ('partial repair probe: late syllable test', [[0, 100], '{\\\\kf0}{\\\\k30} {\\\\k0}o {\\\\ko5}Hel{\\\\k10} '], [[' ', 0, 100]]), ('partial repair variant: late syllable test', [[1000, 1300], '{\\\\kf5} {\\\\k30}o {\\\\k10}la'], [[' ', 1000, 1050], ['o ', 1050, 1300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1500], '{\\\\k0}{\\\\kf5}lo{\\\\K25} '], [['lo', 1000, 1050], [' ', 1050, 1300]]), ('normal control', [[0, 300], '{\\\\k5} '], [[' ', 0, 50]]), ('normal control', [[1000, 3000], '{\\\\ko5}Hel{\\\\K50}la{\\\\k0} {\\\\kf5}lo'], [['Hel', 1000, 1050], ['la', 1050, 1550], [' ', 1550, 1550], ['lo', 1550, 1600]])]]\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":"0023f108b87ce72a031b84921e5500ccd40e5b8f9e12900665bca86242b123e6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport re\nN = 1\nobservations = []\ndef solve(cue, text):\n    cs,ce=cue\n    out=[]\n    t=cs\n    for m in re.finditer(r'\\{\\\\(kf|ko|k|K)(\\d+)\\}([^{]*)',text):\n        d=int(m.group(2))*10\n        syl=m.group(3)\n        if syl and t<ce:\n            out.append([syl,t,min(t+d,ce)])\n        t+=d\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: late syllable test', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('regression variant: late syllable test', [[0, 100], '{\\\\kf10}lo{\\\\k25}Hel{\\\\k25}o '], [['lo', 0, 100]]), ('partial repair probe: late syllable test', [[0, 300], '{\\\\k10}la{\\\\k5}la{\\\\k50}lo{\\\\ko25}lo'], [['la', 0, 100], ['la', 100, 150], ['lo', 150, 300]]), ('partial repair variant: late syllable test', [[1000, 1300], '{\\\\K50}la{\\\\ko30}Hel{\\\\k50}Hel{\\\\K25} '], [['la', 1000, 1300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1500], '{\\\\kf10} {\\\\k10}la'], [[' ', 1000, 1100], ['la', 1100, 1200]]), ('normal control', [[0, 2000], '{\\\\K25}la{\\\\ko25}Hel{\\\\K0}Hel{\\\\ko25}'], [['la', 0, 250], ['Hel', 250, 500], ['Hel', 500, 500]]), ('normal control', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]])], [('regression: late syllable test', [[1000, 1500], '{\\\\K50}o {\\\\kf50} '], [['o ', 1000, 1500]]), ('regression variant: late syllable test', [[1000, 1500], '{\\\\ko50}Hel{\\\\k5}o '], [['Hel', 1000, 1500]]), ('partial repair probe: late syllable test', [[0, 300], '{\\\\ko25}la{\\\\k25}o {\\\\kf5}la'], [['la', 0, 250], ['o ', 250, 300]]), ('partial repair variant: late syllable test', [[1000, 1100], '{\\\\K50}la'], [['la', 1000, 1100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[1000, 1100], '{\\\\k5}Hel{\\\\k5}la'], [['Hel', 1000, 1050], ['la', 1050, 1100]]), ('normal control', [[0, 500], '{\\\\k30}o '], [['o ', 0, 300]]), ('normal control', [[0, 300], '{\\\\k10}'], [])], [('regression: late syllable test', [[1000, 1100], '{\\\\k0}Hel{\\\\K10} {\\\\k5}o {\\\\k5} {\\\\k10}'], [['Hel', 1000, 1000], [' ', 1000, 1100]]), ('regression variant: late syllable test', [[1000, 1300], '{\\\\k30}Hel{\\\\kf30}la{\\\\k5} {\\\\K5}lo'], [['Hel', 1000, 1300]]), ('partial repair probe: late syllable test', [[0, 500], '{\\\\ko30}Hel{\\\\K5}Hel{\\\\k50}lo{\\\\K30}{\\\\k30}lo'], [['Hel', 0, 300], ['Hel', 300, 350], ['lo', 350, 500]]), ('partial repair variant: late syllable test', [[0, 500], '{\\\\ko10}la{\\\\K50} {\\\\kf25}lo{\\\\k25}o '], [['la', 0, 100], [' ', 100, 500]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('normal control', [[0, 2000], '{\\\\ko50}{\\\\k50}la'], [['la', 500, 1000]]), ('normal control', [[1000, 1800], '{\\\\k0}Hel{\\\\ko0}Hel{\\\\K25}o '], [['Hel', 1000, 1000], ['Hel', 1000, 1000], ['o ', 1000, 1250]])], [('regression: late syllable test', [[1000, 1800], '{\\\\K25}lo{\\\\K30}o {\\\\ko25}lo{\\\\ko10}la'], [['lo', 1000, 1250], ['o ', 1250, 1550], ['lo', 1550, 1800]]), ('regression variant: late syllable test', [[1000, 1500], '{\\\\k50} {\\\\K10} {\\\\k50}lo'], [[' ', 1000, 1500]]), ('partial repair probe: late syllable test', [[0, 500], '{\\\\kf30}Hel{\\\\k50} {\\\\k0}lo'], [['Hel', 0, 300], [' ', 300, 500]]), ('partial repair variant: late syllable test', [[1000, 1500], '{\\\\ko25}{\\\\k10}{\\\\K50}la{\\\\ko30}{\\\\ko50}o '], [['la', 1350, 1500]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[0, 500], '{\\\\ko5}la'], [['la', 0, 50]]), ('normal control', [[1000, 1300], '{\\\\ko50}{\\\\K50}la{\\\\ko5}lo{\\\\k25}o '], []), ('normal control', [[1000, 1500], '{\\\\k5}lo{\\\\K30}o '], [['lo', 1000, 1050], ['o ', 1050, 1350]])], [('regression: late syllable test', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('regression variant: late syllable test', [[0, 100], '{\\\\K10}la{\\\\K0}{\\\\kf10}lo'], [['la', 0, 100]]), ('partial repair probe: late syllable test', [[0, 100], '{\\\\kf0}{\\\\k30} {\\\\k0}o {\\\\ko5}Hel{\\\\k10} '], [[' ', 0, 100]]), ('partial repair variant: late syllable test', [[1000, 1300], '{\\\\kf5} {\\\\k30}o {\\\\k10}la'], [[' ', 1000, 1050], ['o ', 1050, 1300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1500], '{\\\\k0}{\\\\kf5}lo{\\\\K25} '], [['lo', 1000, 1050], [' ', 1050, 1300]]), ('normal control', [[0, 300], '{\\\\k5} '], [[' ', 0, 50]]), ('normal control', [[1000, 3000], '{\\\\ko5}Hel{\\\\K50}la{\\\\k0} {\\\\kf5}lo'], [['Hel', 1000, 1050], ['la', 1050, 1550], [' ', 1550, 1550], ['lo', 1550, 1600]])]]\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-karaoke-syllables-late-syllable-test","generated_at":"2026-09-29T14:49:33.381755+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 syllables only when they start before the cue end.","root_cause":"Syllables starting exactly at the cue end are kept.","sha256":"474d2f6b6dd79c9168b616b47514c3fdd7f42e5898bf50434dd2fa67eb99cc3d","title":"Karaoke syllable timing: late syllable test · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.706,"exit_code":1,"observations":[{"actual":[["x",0,100]],"check":"regression: late syllable test","expected":[["x",0,100]],"passed":true},{"actual":[["lo",0,100]],"check":"regression variant: late syllable test","expected":[["lo",0,100]],"passed":true},{"actual":[["la",0,100],["la",100,150]],"check":"partial repair probe: late syllable test","expected":[["la",0,100],["la",100,150],["lo",150,300]],"passed":false},{"actual":[],"check":"partial repair variant: late syllable test","expected":[["la",1000,1300]],"passed":false},{"actual":[["Hel",0,500],["lo",500,1000]],"check":"boundary control","expected":[["Hel",0,500],["lo",500,1000]],"passed":true},{"actual":[["a",0,200]],"check":"boundary control","expected":[["a",0,200]],"passed":true},{"actual":[[" ",1000,1100],["la",1100,1200]],"check":"normal control","expected":[[" ",1000,1100],["la",1100,1200]],"passed":true},{"actual":[["la",0,250],["Hel",250,500],["Hel",500,500]],"check":"normal control","expected":[["la",0,250],["Hel",250,500],["Hel",500,500]],"passed":true},{"actual":[[" ",1000,1050],["o ",1300,1350],[" ",1350,1350]],"check":"normal control","expected":[[" ",1000,1050],["o ",1300,1350],[" ",1350,1350]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: late syllable test\", \"actual\": [[\"x\", 0, 100]], \"expected\": [[\"x\", 0, 100]], \"passed\": true}, {\"check\": \"regression variant: late syllable test\", \"actual\": [[\"lo\", 0, 100]], \"expected\": [[\"lo\", 0, 100]], \"passed\": true}, {\"check\": \"partial repair probe: late syllable test\", \"actual\": [[\"la\", 0, 100], [\"la\", 100, 150]], \"expected\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"passed\": false}, {\"check\": \"partial repair variant: late syllable test\", \"actual\": [], \"expected\": [[\"la\", 1000, 1300]], \"passed\": false}, {\"check\": \"boundary control\", \"actual\": [[\"Hel\", 0, 500], [\"lo\", 500, 1000]], \"expected\": [[\"Hel\", 0, 500], [\"lo\", 500, 1000]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[\"a\", 0, 200]], \"expected\": [[\"a\", 0, 200]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\" \", 1000, 1100], [\"la\", 1100, 1200]], \"expected\": [[\" \", 1000, 1100], [\"la\", 1100, 1200]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\"la\", 0, 250], [\"Hel\", 250, 500], [\"Hel\", 500, 500]], \"expected\": [[\"la\", 0, 250], [\"Hel\", 250, 500], [\"Hel\", 500, 500]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\" \", 1000, 1050], [\"o \", 1300, 1350], [\" \", 1350, 1350]], \"expected\": [[\" \", 1000, 1050], [\"o \", 1300, 1350], [\" \", 1350, 1350]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.152,"exit_code":1,"observations":[{"actual":[["x",0,100],["y",100,100]],"check":"regression: late syllable test","expected":[["x",0,100]],"passed":false},{"actual":[["lo",0,100],["Hel",100,100]],"check":"regression variant: late syllable test","expected":[["lo",0,100]],"passed":false},{"actual":[["la",0,100],["la",100,150],["lo",150,300]],"check":"partial repair probe: late syllable test","expected":[["la",0,100],["la",100,150],["lo",150,300]],"passed":true},{"actual":[["la",1000,1300]],"check":"partial repair variant: late syllable test","expected":[["la",1000,1300]],"passed":true},{"actual":[["Hel",0,500],["lo",500,1000]],"check":"boundary control","expected":[["Hel",0,500],["lo",500,1000]],"passed":true},{"actual":[["a",0,200]],"check":"boundary control","expected":[["a",0,200]],"passed":true},{"actual":[[" ",1000,1100],["la",1100,1200]],"check":"normal control","expected":[[" ",1000,1100],["la",1100,1200]],"passed":true},{"actual":[["la",0,250],["Hel",250,500],["Hel",500,500]],"check":"normal control","expected":[["la",0,250],["Hel",250,500],["Hel",500,500]],"passed":true},{"actual":[[" ",1000,1050],["o ",1300,1350],[" ",1350,1350]],"check":"normal control","expected":[[" ",1000,1050],["o ",1300,1350],[" ",1350,1350]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: late syllable test\", \"actual\": [[\"x\", 0, 100], [\"y\", 100, 100]], \"expected\": [[\"x\", 0, 100]], \"passed\": false}, {\"check\": \"regression variant: late syllable test\", \"actual\": [[\"lo\", 0, 100], [\"Hel\", 100, 100]], \"expected\": [[\"lo\", 0, 100]], \"passed\": false}, {\"check\": \"partial repair probe: late syllable test\", \"actual\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"expected\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"passed\": true}, {\"check\": \"partial repair variant: late syllable test\", \"actual\": [[\"la\", 1000, 1300]], \"expected\": [[\"la\", 1000, 1300]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[\"Hel\", 0, 500], [\"lo\", 500, 1000]], \"expected\": [[\"Hel\", 0, 500], [\"lo\", 500, 1000]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[\"a\", 0, 200]], \"expected\": [[\"a\", 0, 200]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\" \", 1000, 1100], [\"la\", 1100, 1200]], \"expected\": [[\" \", 1000, 1100], [\"la\", 1100, 1200]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\"la\", 0, 250], [\"Hel\", 250, 500], [\"Hel\", 500, 500]], \"expected\": [[\"la\", 0, 250], [\"Hel\", 250, 500], [\"Hel\", 500, 500]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\" \", 1000, 1050], [\"o \", 1300, 1350], [\" \", 1350, 1350]], \"expected\": [[\" \", 1000, 1050], [\"o \", 1300, 1350], [\" \", 1350, 1350]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.282,"exit_code":0,"observations":[{"actual":[["x",0,100]],"check":"regression: late syllable test","expected":[["x",0,100]],"passed":true},{"actual":[["lo",0,100]],"check":"regression variant: late syllable test","expected":[["lo",0,100]],"passed":true},{"actual":[["la",0,100],["la",100,150],["lo",150,300]],"check":"partial repair probe: late syllable test","expected":[["la",0,100],["la",100,150],["lo",150,300]],"passed":true},{"actual":[["la",1000,1300]],"check":"partial repair variant: late syllable test","expected":[["la",1000,1300]],"passed":true},{"actual":[["Hel",0,500],["lo",500,1000]],"check":"boundary control","expected":[["Hel",0,500],["lo",500,1000]],"passed":true},{"actual":[["a",0,200]],"check":"boundary control","expected":[["a",0,200]],"passed":true},{"actual":[[" ",1000,1100],["la",1100,1200]],"check":"normal control","expected":[[" ",1000,1100],["la",1100,1200]],"passed":true},{"actual":[["la",0,250],["Hel",250,500],["Hel",500,500]],"check":"normal control","expected":[["la",0,250],["Hel",250,500],["Hel",500,500]],"passed":true},{"actual":[[" ",1000,1050],["o ",1300,1350],[" ",1350,1350]],"check":"normal control","expected":[[" ",1000,1050],["o ",1300,1350],[" ",1350,1350]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: late syllable test\", \"actual\": [[\"x\", 0, 100]], \"expected\": [[\"x\", 0, 100]], \"passed\": true}, {\"check\": \"regression variant: late syllable test\", \"actual\": [[\"lo\", 0, 100]], \"expected\": [[\"lo\", 0, 100]], \"passed\": true}, {\"check\": \"partial repair probe: late syllable test\", \"actual\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"expected\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"passed\": true}, {\"check\": \"partial repair variant: late syllable test\", \"actual\": [[\"la\", 1000, 1300]], \"expected\": [[\"la\", 1000, 1300]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[\"Hel\", 0, 500], [\"lo\", 500, 1000]], \"expected\": [[\"Hel\", 0, 500], [\"lo\", 500, 1000]], \"passed\": true}, {\"check\": \"boundary control\", \"actual\": [[\"a\", 0, 200]], \"expected\": [[\"a\", 0, 200]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\" \", 1000, 1100], [\"la\", 1100, 1200]], \"expected\": [[\" \", 1000, 1100], [\"la\", 1100, 1200]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\"la\", 0, 250], [\"Hel\", 250, 500], [\"Hel\", 500, 500]], \"expected\": [[\"la\", 0, 250], [\"Hel\", 250, 500], [\"Hel\", 500, 500]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\" \", 1000, 1050], [\"o \", 1300, 1350], [\" \", 1350, 1350]], \"expected\": [[\" \", 1000, 1050], [\"o \", 1300, 1350], [\" \", 1350, 1350]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}