{"abstract":"Syllables after a pause marker highlight too early.","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":"Skipping whitespace-only syllables still loses their pause duration.","family":"w2-subtitle-cue-timing-karaoke-syllables-empty-syllable-time","id":"FA-78226","implementations":{"attempt":{"sha256":"00697def6b565c0e63db78d2a0ee5db51dd69e4d8adc41d83445e145e106aeaa","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 if syl.strip() else 0\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: empty syllable time', [[1000, 1800], '{\\\\ko50}{\\\\kf25}{\\\\k50} '], [[' ', 1750, 1800]]), ('regression variant: empty syllable time', [[0, 2000], '{\\\\ko50}{\\\\k50}la'], [['la', 500, 1000]]), ('partial repair probe: empty syllable time', [[1000, 3000], '{\\\\kf50}{\\\\k25}Hel'], [['Hel', 1500, 1750]]), ('partial repair variant: empty syllable time', [[0, 500], '{\\\\kf10}{\\\\ko25} {\\\\k10}o '], [[' ', 100, 350], ['o ', 350, 450]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('normal control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('normal control', [[0, 2000], '{\\\\K25}la{\\\\ko25}Hel{\\\\K0}Hel{\\\\ko25}'], [['la', 0, 250], ['Hel', 250, 500], ['Hel', 500, 500]]), ('normal control', [[0, 300], '{\\\\k10}la{\\\\k5}la{\\\\k50}lo{\\\\ko25}lo'], [['la', 0, 100], ['la', 100, 150], ['lo', 150, 300]])], [('regression: empty syllable time', [[1000, 3000], '{\\\\kf50}{\\\\k25}Hel'], [['Hel', 1500, 1750]]), ('regression variant: empty syllable time', [[0, 500], '{\\\\kf10}{\\\\ko25} {\\\\k10}o '], [[' ', 100, 350], ['o ', 350, 450]]), ('partial repair probe: empty syllable time', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]]), ('partial repair variant: empty syllable time', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('boundary control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[0, 300], '{\\\\ko25}la{\\\\k25}o {\\\\kf5}la'], [['la', 0, 250], ['o ', 250, 300]]), ('normal control', [[0, 800], '{\\\\kf25}o '], [['o ', 0, 250]]), ('normal control', [[0, 500], '{\\\\ko30}Hel{\\\\K5}Hel{\\\\k50}lo{\\\\K30}{\\\\k30}lo'], [['Hel', 0, 300], ['Hel', 300, 350], ['lo', 350, 500]])], [('regression: empty syllable time', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]]), ('regression variant: empty syllable time', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('partial repair probe: empty syllable time', [[1000, 1100], '{\\\\k0}Hel{\\\\K10} {\\\\k5}o {\\\\k5} {\\\\k10}'], [['Hel', 1000, 1000], [' ', 1000, 1100]]), ('partial repair variant: empty syllable time', [[0, 100], '{\\\\kf0}{\\\\k30} {\\\\k0}o {\\\\ko5}Hel{\\\\k10} '], [[' ', 0, 100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('normal control', [[0, 300], '{\\\\kf5}lo{\\\\k5} '], [['lo', 0, 50], [' ', 50, 100]]), ('normal control', [[1000, 1800], '{\\\\k25}la{\\\\ko5}la{\\\\K5} '], [['la', 1000, 1250], ['la', 1250, 1300], [' ', 1300, 1350]]), ('normal control', [[1000, 1800], '{\\\\k0}Hel{\\\\ko0}Hel{\\\\K25}o '], [['Hel', 1000, 1000], ['Hel', 1000, 1000], ['o ', 1000, 1250]])], [('regression: empty syllable time', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('regression variant: empty syllable time', [[1000, 1800], '{\\\\k0}la{\\\\k30}{\\\\k0}lo{\\\\ko30}lo'], [['la', 1000, 1000], ['lo', 1300, 1300], ['lo', 1300, 1600]]), ('partial repair probe: empty syllable time', [[0, 500], '{\\\\kf30}Hel{\\\\k50} {\\\\k0}lo'], [['Hel', 0, 300], [' ', 300, 500]]), ('partial repair variant: empty syllable time', [[0, 300], '{\\\\kf10}{\\\\kf25}la{\\\\K10}{\\\\ko10}o {\\\\K0}o '], [['la', 100, 300]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1300], '{\\\\K50}la{\\\\ko30}Hel{\\\\k50}Hel{\\\\K25} '], [['la', 1000, 1300]]), ('normal control', [[1000, 1500], '{\\\\k5}lo{\\\\K30}o '], [['lo', 1000, 1050], ['o ', 1050, 1350]]), ('normal control', [[1000, 1500], '{\\\\k0}{\\\\kf5}lo{\\\\K25} '], [['lo', 1000, 1050], [' ', 1050, 1300]])], [('regression: empty syllable time', [[0, 800], '{\\\\k5}{\\\\k0} {\\\\k10}o {\\\\kf30}Hel{\\\\kf30}Hel'], [[' ', 50, 50], ['o ', 50, 150], ['Hel', 150, 450], ['Hel', 450, 750]]), ('regression variant: empty syllable time', [[0, 300], '{\\\\kf10}{\\\\kf25}la{\\\\K10}{\\\\ko10}o {\\\\K0}o '], [['la', 100, 300]]), ('partial repair probe: empty syllable time', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('partial repair variant: empty syllable time', [[1000, 1100], '{\\\\k50}{\\\\kf50}Hel{\\\\kf50}lo{\\\\k30}la{\\\\K50}Hel'], []), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('normal control', [[1000, 1800], '{\\\\K25}'], []), ('normal control', [[1000, 3000], '{\\\\ko5}Hel{\\\\K50}la{\\\\k0} {\\\\kf5}lo'], [['Hel', 1000, 1050], ['la', 1050, 1550], [' ', 1550, 1550], ['lo', 1550, 1600]]), ('normal control', [[0, 500], '{\\\\k0}o '], [['o ', 0, 0]])]]\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":"a11c4c568b21ba4dbaa7d0e81523fd09b6a533eef8fbfa3ec9087dbd4b3fab9f","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 if syl else 0\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: empty syllable time', [[1000, 1800], '{\\\\ko50}{\\\\kf25}{\\\\k50} '], [[' ', 1750, 1800]]), ('regression variant: empty syllable time', [[0, 2000], '{\\\\ko50}{\\\\k50}la'], [['la', 500, 1000]]), ('partial repair probe: empty syllable time', [[1000, 3000], '{\\\\kf50}{\\\\k25}Hel'], [['Hel', 1500, 1750]]), ('partial repair variant: empty syllable time', [[0, 500], '{\\\\kf10}{\\\\ko25} {\\\\k10}o '], [[' ', 100, 350], ['o ', 350, 450]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('normal control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('normal control', [[0, 2000], '{\\\\K25}la{\\\\ko25}Hel{\\\\K0}Hel{\\\\ko25}'], [['la', 0, 250], ['Hel', 250, 500], ['Hel', 500, 500]]), ('normal control', [[0, 300], '{\\\\k10}la{\\\\k5}la{\\\\k50}lo{\\\\ko25}lo'], [['la', 0, 100], ['la', 100, 150], ['lo', 150, 300]])], [('regression: empty syllable time', [[1000, 3000], '{\\\\kf50}{\\\\k25}Hel'], [['Hel', 1500, 1750]]), ('regression variant: empty syllable time', [[0, 500], '{\\\\kf10}{\\\\ko25} {\\\\k10}o '], [[' ', 100, 350], ['o ', 350, 450]]), ('partial repair probe: empty syllable time', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]]), ('partial repair variant: empty syllable time', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('boundary control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[0, 300], '{\\\\ko25}la{\\\\k25}o {\\\\kf5}la'], [['la', 0, 250], ['o ', 250, 300]]), ('normal control', [[0, 800], '{\\\\kf25}o '], [['o ', 0, 250]]), ('normal control', [[0, 500], '{\\\\ko30}Hel{\\\\K5}Hel{\\\\k50}lo{\\\\K30}{\\\\k30}lo'], [['Hel', 0, 300], ['Hel', 300, 350], ['lo', 350, 500]])], [('regression: empty syllable time', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]]), ('regression variant: empty syllable time', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('partial repair probe: empty syllable time', [[1000, 1100], '{\\\\k0}Hel{\\\\K10} {\\\\k5}o {\\\\k5} {\\\\k10}'], [['Hel', 1000, 1000], [' ', 1000, 1100]]), ('partial repair variant: empty syllable time', [[0, 100], '{\\\\kf0}{\\\\k30} {\\\\k0}o {\\\\ko5}Hel{\\\\k10} '], [[' ', 0, 100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('normal control', [[0, 300], '{\\\\kf5}lo{\\\\k5} '], [['lo', 0, 50], [' ', 50, 100]]), ('normal control', [[1000, 1800], '{\\\\k25}la{\\\\ko5}la{\\\\K5} '], [['la', 1000, 1250], ['la', 1250, 1300], [' ', 1300, 1350]]), ('normal control', [[1000, 1800], '{\\\\k0}Hel{\\\\ko0}Hel{\\\\K25}o '], [['Hel', 1000, 1000], ['Hel', 1000, 1000], ['o ', 1000, 1250]])], [('regression: empty syllable time', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('regression variant: empty syllable time', [[1000, 1800], '{\\\\k0}la{\\\\k30}{\\\\k0}lo{\\\\ko30}lo'], [['la', 1000, 1000], ['lo', 1300, 1300], ['lo', 1300, 1600]]), ('partial repair probe: empty syllable time', [[0, 500], '{\\\\kf30}Hel{\\\\k50} {\\\\k0}lo'], [['Hel', 0, 300], [' ', 300, 500]]), ('partial repair variant: empty syllable time', [[0, 300], '{\\\\kf10}{\\\\kf25}la{\\\\K10}{\\\\ko10}o {\\\\K0}o '], [['la', 100, 300]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1300], '{\\\\K50}la{\\\\ko30}Hel{\\\\k50}Hel{\\\\K25} '], [['la', 1000, 1300]]), ('normal control', [[1000, 1500], '{\\\\k5}lo{\\\\K30}o '], [['lo', 1000, 1050], ['o ', 1050, 1350]]), ('normal control', [[1000, 1500], '{\\\\k0}{\\\\kf5}lo{\\\\K25} '], [['lo', 1000, 1050], [' ', 1050, 1300]])], [('regression: empty syllable time', [[0, 800], '{\\\\k5}{\\\\k0} {\\\\k10}o {\\\\kf30}Hel{\\\\kf30}Hel'], [[' ', 50, 50], ['o ', 50, 150], ['Hel', 150, 450], ['Hel', 450, 750]]), ('regression variant: empty syllable time', [[0, 300], '{\\\\kf10}{\\\\kf25}la{\\\\K10}{\\\\ko10}o {\\\\K0}o '], [['la', 100, 300]]), ('partial repair probe: empty syllable time', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('partial repair variant: empty syllable time', [[1000, 1100], '{\\\\k50}{\\\\kf50}Hel{\\\\kf50}lo{\\\\k30}la{\\\\K50}Hel'], []), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('normal control', [[1000, 1800], '{\\\\K25}'], []), ('normal control', [[1000, 3000], '{\\\\ko5}Hel{\\\\K50}la{\\\\k0} {\\\\kf5}lo'], [['Hel', 1000, 1050], ['la', 1050, 1550], [' ', 1550, 1550], ['lo', 1550, 1600]]), ('normal control', [[0, 500], '{\\\\k0}o '], [['o ', 0, 0]])]]\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":"58859661022f36aac358dbc1dc0fbf098bc40da4aebe21214f35414bc156906c","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: empty syllable time', [[1000, 1800], '{\\\\ko50}{\\\\kf25}{\\\\k50} '], [[' ', 1750, 1800]]), ('regression variant: empty syllable time', [[0, 2000], '{\\\\ko50}{\\\\k50}la'], [['la', 500, 1000]]), ('partial repair probe: empty syllable time', [[1000, 3000], '{\\\\kf50}{\\\\k25}Hel'], [['Hel', 1500, 1750]]), ('partial repair variant: empty syllable time', [[0, 500], '{\\\\kf10}{\\\\ko25} {\\\\k10}o '], [[' ', 100, 350], ['o ', 350, 450]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('normal control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('normal control', [[0, 2000], '{\\\\K25}la{\\\\ko25}Hel{\\\\K0}Hel{\\\\ko25}'], [['la', 0, 250], ['Hel', 250, 500], ['Hel', 500, 500]]), ('normal control', [[0, 300], '{\\\\k10}la{\\\\k5}la{\\\\k50}lo{\\\\ko25}lo'], [['la', 0, 100], ['la', 100, 150], ['lo', 150, 300]])], [('regression: empty syllable time', [[1000, 3000], '{\\\\kf50}{\\\\k25}Hel'], [['Hel', 1500, 1750]]), ('regression variant: empty syllable time', [[0, 500], '{\\\\kf10}{\\\\ko25} {\\\\k10}o '], [[' ', 100, 350], ['o ', 350, 450]]), ('partial repair probe: empty syllable time', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]]), ('partial repair variant: empty syllable time', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('boundary control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('normal control', [[0, 300], '{\\\\ko25}la{\\\\k25}o {\\\\kf5}la'], [['la', 0, 250], ['o ', 250, 300]]), ('normal control', [[0, 800], '{\\\\kf25}o '], [['o ', 0, 250]]), ('normal control', [[0, 500], '{\\\\ko30}Hel{\\\\K5}Hel{\\\\k50}lo{\\\\K30}{\\\\k30}lo'], [['Hel', 0, 300], ['Hel', 300, 350], ['lo', 350, 500]])], [('regression: empty syllable time', [[1000, 1500], '{\\\\ko5} {\\\\ko25}{\\\\k5}o {\\\\k0} '], [[' ', 1000, 1050], ['o ', 1300, 1350], [' ', 1350, 1350]]), ('regression variant: empty syllable time', [[0, 100], '{\\\\ko10}{\\\\kf0}o {\\\\kf0} {\\\\kf30}lo'], []), ('partial repair probe: empty syllable time', [[1000, 1100], '{\\\\k0}Hel{\\\\K10} {\\\\k5}o {\\\\k5} {\\\\k10}'], [['Hel', 1000, 1000], [' ', 1000, 1100]]), ('partial repair variant: empty syllable time', [[0, 100], '{\\\\kf0}{\\\\k30} {\\\\k0}o {\\\\ko5}Hel{\\\\k10} '], [[' ', 0, 100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('boundary control', [[0, 300], '{\\\\k20}a{\\\\kf20}b'], [['a', 0, 200], ['b', 200, 300]]), ('normal control', [[0, 300], '{\\\\kf5}lo{\\\\k5} '], [['lo', 0, 50], [' ', 50, 100]]), ('normal control', [[1000, 1800], '{\\\\k25}la{\\\\ko5}la{\\\\K5} '], [['la', 1000, 1250], ['la', 1250, 1300], [' ', 1300, 1350]]), ('normal control', [[1000, 1800], '{\\\\k0}Hel{\\\\ko0}Hel{\\\\K25}o '], [['Hel', 1000, 1000], ['Hel', 1000, 1000], ['o ', 1000, 1250]])], [('regression: empty syllable time', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('regression variant: empty syllable time', [[1000, 1800], '{\\\\k0}la{\\\\k30}{\\\\k0}lo{\\\\ko30}lo'], [['la', 1000, 1000], ['lo', 1300, 1300], ['lo', 1300, 1600]]), ('partial repair probe: empty syllable time', [[0, 500], '{\\\\kf30}Hel{\\\\k50} {\\\\k0}lo'], [['Hel', 0, 300], [' ', 300, 500]]), ('partial repair variant: empty syllable time', [[0, 300], '{\\\\kf10}{\\\\kf25}la{\\\\K10}{\\\\ko10}o {\\\\K0}o '], [['la', 100, 300]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('boundary control', [[0, 200], '{\\\\k20}a{\\\\k10}{\\\\k5}b'], [['a', 0, 200]]), ('normal control', [[1000, 1300], '{\\\\K50}la{\\\\ko30}Hel{\\\\k50}Hel{\\\\K25} '], [['la', 1000, 1300]]), ('normal control', [[1000, 1500], '{\\\\k5}lo{\\\\K30}o '], [['lo', 1000, 1050], ['o ', 1050, 1350]]), ('normal control', [[1000, 1500], '{\\\\k0}{\\\\kf5}lo{\\\\K25} '], [['lo', 1000, 1050], [' ', 1050, 1300]])], [('regression: empty syllable time', [[0, 800], '{\\\\k5}{\\\\k0} {\\\\k10}o {\\\\kf30}Hel{\\\\kf30}Hel'], [[' ', 50, 50], ['o ', 50, 150], ['Hel', 150, 450], ['Hel', 450, 750]]), ('regression variant: empty syllable time', [[0, 300], '{\\\\kf10}{\\\\kf25}la{\\\\K10}{\\\\ko10}o {\\\\K0}o '], [['la', 100, 300]]), ('partial repair probe: empty syllable time', [[1000, 3000], '{\\\\k30}{\\\\ko0}Hel{\\\\kf50}la'], [['Hel', 1300, 1300], ['la', 1300, 1800]]), ('partial repair variant: empty syllable time', [[1000, 1100], '{\\\\k50}{\\\\kf50}Hel{\\\\kf50}lo{\\\\k30}la{\\\\K50}Hel'], []), ('boundary control', [[0, 1000], '{\\\\k50}Hel{\\\\k50}lo'], [['Hel', 0, 500], ['lo', 500, 1000]]), ('boundary control', [[0, 100], '{\\\\ko10}x{\\\\k1}y'], [['x', 0, 100]]), ('normal control', [[1000, 1800], '{\\\\K25}'], []), ('normal control', [[1000, 3000], '{\\\\ko5}Hel{\\\\K50}la{\\\\k0} {\\\\kf5}lo'], [['Hel', 1000, 1050], ['la', 1050, 1550], [' ', 1550, 1550], ['lo', 1550, 1600]]), ('normal control', [[0, 500], '{\\\\k0}o '], [['o ', 0, 0]])]]\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-empty-syllable-time","generated_at":"2026-09-29T14:49:33.364761+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":"Advance time for every tag, including empty syllables.","root_cause":"Empty syllables do not advance the running time.","sha256":"1af4129681438a853529483550178cd00b6824b6d902f30e0414db53d121abba","title":"Karaoke syllable timing: empty syllable time · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.617,"exit_code":1,"observations":[{"actual":[[" ",1000,1500]],"check":"regression: empty syllable time","expected":[[" ",1750,1800]],"passed":false},{"actual":[["la",0,500]],"check":"regression variant: empty syllable time","expected":[["la",500,1000]],"passed":false},{"actual":[["Hel",1000,1250]],"check":"partial repair probe: empty syllable time","expected":[["Hel",1500,1750]],"passed":false},{"actual":[[" ",0,250],["o ",0,100]],"check":"partial repair variant: empty syllable time","expected":[[" ",100,350],["o ",350,450]],"passed":false},{"actual":[["Hel",0,500],["lo",500,1000]],"check":"boundary control","expected":[["Hel",0,500],["lo",500,1000]],"passed":true},{"actual":[["x",0,100]],"check":"boundary control","expected":[["x",0,100]],"passed":true},{"actual":[["a",0,200],["b",200,300]],"check":"normal control","expected":[["a",0,200],["b",200,300]],"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":[["la",0,100],["la",100,150],["lo",150,300]],"check":"normal control","expected":[["la",0,100],["la",100,150],["lo",150,300]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: empty syllable time\", \"actual\": [[\" \", 1000, 1500]], \"expected\": [[\" \", 1750, 1800]], \"passed\": false}, {\"check\": \"regression variant: empty syllable time\", \"actual\": [[\"la\", 0, 500]], \"expected\": [[\"la\", 500, 1000]], \"passed\": false}, {\"check\": \"partial repair probe: empty syllable time\", \"actual\": [[\"Hel\", 1000, 1250]], \"expected\": [[\"Hel\", 1500, 1750]], \"passed\": false}, {\"check\": \"partial repair variant: empty syllable time\", \"actual\": [[\" \", 0, 250], [\"o \", 0, 100]], \"expected\": [[\" \", 100, 350], [\"o \", 350, 450]], \"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\": [[\"x\", 0, 100]], \"expected\": [[\"x\", 0, 100]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\"a\", 0, 200], [\"b\", 200, 300]], \"expected\": [[\"a\", 0, 200], [\"b\", 200, 300]], \"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\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"expected\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.845,"exit_code":1,"observations":[{"actual":[[" ",1000,1500]],"check":"regression: empty syllable time","expected":[[" ",1750,1800]],"passed":false},{"actual":[["la",0,500]],"check":"regression variant: empty syllable time","expected":[["la",500,1000]],"passed":false},{"actual":[["Hel",1000,1250]],"check":"partial repair probe: empty syllable time","expected":[["Hel",1500,1750]],"passed":false},{"actual":[[" ",0,250],["o ",250,350]],"check":"partial repair variant: empty syllable time","expected":[[" ",100,350],["o ",350,450]],"passed":false},{"actual":[["Hel",0,500],["lo",500,1000]],"check":"boundary control","expected":[["Hel",0,500],["lo",500,1000]],"passed":true},{"actual":[["x",0,100]],"check":"boundary control","expected":[["x",0,100]],"passed":true},{"actual":[["a",0,200],["b",200,300]],"check":"normal control","expected":[["a",0,200],["b",200,300]],"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":[["la",0,100],["la",100,150],["lo",150,300]],"check":"normal control","expected":[["la",0,100],["la",100,150],["lo",150,300]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: empty syllable time\", \"actual\": [[\" \", 1000, 1500]], \"expected\": [[\" \", 1750, 1800]], \"passed\": false}, {\"check\": \"regression variant: empty syllable time\", \"actual\": [[\"la\", 0, 500]], \"expected\": [[\"la\", 500, 1000]], \"passed\": false}, {\"check\": \"partial repair probe: empty syllable time\", \"actual\": [[\"Hel\", 1000, 1250]], \"expected\": [[\"Hel\", 1500, 1750]], \"passed\": false}, {\"check\": \"partial repair variant: empty syllable time\", \"actual\": [[\" \", 0, 250], [\"o \", 250, 350]], \"expected\": [[\" \", 100, 350], [\"o \", 350, 450]], \"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\": [[\"x\", 0, 100]], \"expected\": [[\"x\", 0, 100]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\"a\", 0, 200], [\"b\", 200, 300]], \"expected\": [[\"a\", 0, 200], [\"b\", 200, 300]], \"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\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"expected\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.163,"exit_code":0,"observations":[{"actual":[[" ",1750,1800]],"check":"regression: empty syllable time","expected":[[" ",1750,1800]],"passed":true},{"actual":[["la",500,1000]],"check":"regression variant: empty syllable time","expected":[["la",500,1000]],"passed":true},{"actual":[["Hel",1500,1750]],"check":"partial repair probe: empty syllable time","expected":[["Hel",1500,1750]],"passed":true},{"actual":[[" ",100,350],["o ",350,450]],"check":"partial repair variant: empty syllable time","expected":[[" ",100,350],["o ",350,450]],"passed":true},{"actual":[["Hel",0,500],["lo",500,1000]],"check":"boundary control","expected":[["Hel",0,500],["lo",500,1000]],"passed":true},{"actual":[["x",0,100]],"check":"boundary control","expected":[["x",0,100]],"passed":true},{"actual":[["a",0,200],["b",200,300]],"check":"normal control","expected":[["a",0,200],["b",200,300]],"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":[["la",0,100],["la",100,150],["lo",150,300]],"check":"normal control","expected":[["la",0,100],["la",100,150],["lo",150,300]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: empty syllable time\", \"actual\": [[\" \", 1750, 1800]], \"expected\": [[\" \", 1750, 1800]], \"passed\": true}, {\"check\": \"regression variant: empty syllable time\", \"actual\": [[\"la\", 500, 1000]], \"expected\": [[\"la\", 500, 1000]], \"passed\": true}, {\"check\": \"partial repair probe: empty syllable time\", \"actual\": [[\"Hel\", 1500, 1750]], \"expected\": [[\"Hel\", 1500, 1750]], \"passed\": true}, {\"check\": \"partial repair variant: empty syllable time\", \"actual\": [[\" \", 100, 350], [\"o \", 350, 450]], \"expected\": [[\" \", 100, 350], [\"o \", 350, 450]], \"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\": [[\"x\", 0, 100]], \"expected\": [[\"x\", 0, 100]], \"passed\": true}, {\"check\": \"normal control\", \"actual\": [[\"a\", 0, 200], [\"b\", 200, 300]], \"expected\": [[\"a\", 0, 200], [\"b\", 200, 300]], \"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\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"expected\": [[\"la\", 0, 100], [\"la\", 100, 150], [\"lo\", 150, 300]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}