FAILURE MAP
← Case archive

FA-78256 / Subtitle cue timing / Open access

Pop-on caption buffer timing: flip emission guard · case 01

Empty captions with unknown start time are emitted when the first caption flips on.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

EOC emits the displayed memory even when it is empty.

VERIFIED REPAIR

Emit on EOC only when the displayed memory is non-empty.

Unsuccessful approach: Guarding on a known start still emits empty captions after a displayed erase.

Case contract

Commands [frame,cmd] at integer fps (time = frame*1000//fps). TEXT:x appends x to the non-displayed memory; ENM erases non-displayed memory; EOC swaps displayed and non-displayed memories; EDM erases displayed memory. Whenever non-empty displayed text is replaced (EOC) or erased (EDM), emit [shown_since_ms, now_ms, text].

Why this case matters

Subtitle timing defects shift, hide or overlap captions that viewers depend on for comprehension and accessibility.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(events, fps):
    shown=''
    hidden=''
    since=None
    out=[]
    for frame,cmd in events:
        t=frame*1000//fps
        if cmd.startswith('TEXT:'):
            hidden+=cmd[5:]
        elif cmd=='ENM':
            hidden=''
        elif cmd=='EOC':
            if True:
                out.append([since,t,shown])
            shown,hidden=hidden,shown
            since=t
        elif cmd=='EDM':
            if shown: out.append([since,t,shown])
            shown=''
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: flip emission guard', [[[0, 'TEXT:Hi'], [30, 'EOC'], [60, 'EDM']], 30], [[1000, 2000, 'Hi']]), ('regression variant: flip emission guard', [[[30, 'TEXT:Bye'], [37, 'EOC'], [52, 'EDM'], [52, 'ENM'], [67, 'EDM']], 30], [[1233, 1733, 'Bye']]), ('partial repair probe: flip emission guard', [[[3, 'EOC'], [32, 'EOC'], [77, 'TEXT:Bye']], 25], []), ('partial repair variant: flip emission guard', [[[3, 'TEXT:Hi'], [48, 'EOC'], [49, 'EOC'], [49, 'TEXT:Hi'], [94, 'TEXT:Bye'], [123, 'EOC'], [130, 'EDM']], 25], [[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']]), ('normal control', [[[0, 'EDM'], [7, 'TEXT: there'], [37, 'TEXT: there']], 29], []), ('normal control', [[[30, 'EDM'], [60, 'TEXT: there'], [90, 'TEXT:Bye']], 24], []), ('normal control', [[[3, 'EDM'], [32, 'TEXT:Bye'], [77, 'TEXT:Bye'], [106, 'TEXT:Hi'], [151, 'TEXT:Hi']], 29], [])], [('regression: flip emission guard', [[[0, 'TEXT:A'], [10, 'EOC'], [20, 'TEXT:B'], [40, 'EOC'], [50, 'EOC']], 25], [[400, 1600, 'A'], [1600, 2000, 'B']]), ('regression variant: flip emission guard', [[[0, 'EOC'], [30, 'TEXT:Bye'], [31, 'EOC'], [46, 'EOC'], [91, 'TEXT:Hi'], [92, 'TEXT: there'], [99, 'EDM'], [129, 'ENM']], 30], [[1033, 1533, 'Bye']]), ('partial repair probe: flip emission guard', [[[0, 'TEXT:Bye'], [1, 'EDM'], [31, 'TEXT: there'], [61, 'ENM'], [68, 'EOC'], [98, 'EOC'], [113, 'TEXT:Bye']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'EOC'], [7, 'ENM'], [52, 'EOC'], [81, 'TEXT:Hi']], 30], []), ('normal control', [[[0, 'EDM'], [15, 'TEXT:Bye']], 29], []), ('normal control', [[[3, 'TEXT: there'], [32, 'EDM'], [32, 'TEXT: there']], 25], []), ('normal control', [[[0, 'EDM'], [29, 'TEXT: there'], [44, 'TEXT: there'], [89, 'TEXT:Bye'], [134, 'TEXT: there']], 30], [])], [('regression: flip emission guard', [[[0, 'EOC'], [5, 'EDM']], 30], []), ('regression variant: flip emission guard', [[[30, 'TEXT:Hi'], [31, 'TEXT: there'], [61, 'EDM'], [106, 'TEXT: there'], [121, 'ENM'], [136, 'TEXT:Hi'], [166, 'EOC']], 24], []), ('partial repair probe: flip emission guard', [[[0, 'EOC'], [7, 'EDM'], [14, 'EOC'], [59, 'EOC'], [104, 'EOC'], [133, 'EOC'], [162, 'EOC'], [207, 'EOC']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'EOC'], [1, 'EOC'], [30, 'ENM'], [37, 'TEXT:Bye']], 30], []), ('normal control', [[[0, 'ENM'], [29, 'TEXT:Bye'], [59, 'TEXT: there']], 25], []), ('normal control', [[[3, 'TEXT: there'], [48, 'TEXT:Hi'], [49, 'TEXT:Bye'], [78, 'TEXT:Hi']], 29], []), ('normal control', [[[3, 'TEXT:Bye'], [18, 'TEXT:Bye'], [25, 'TEXT:Bye'], [40, 'TEXT: there']], 30], [])], [('regression: flip emission guard', [[[30, 'EOC'], [30, 'TEXT:Hi'], [37, 'ENM']], 24], []), ('regression variant: flip emission guard', [[[30, 'TEXT: there'], [30, 'EOC'], [59, 'ENM']], 30], []), ('partial repair probe: flip emission guard', [[[30, 'EOC'], [59, 'EOC'], [60, 'TEXT: there'], [89, 'TEXT: there'], [96, 'ENM'], [96, 'TEXT:Bye'], [96, 'TEXT:Bye'], [96, 'TEXT: there']], 30], []), ('partial repair variant: flip emission guard', [[[30, 'EOC'], [31, 'ENM'], [32, 'EOC']], 29], []), ('normal control', [[[0, 'ENM'], [7, 'TEXT: there'], [37, 'EDM']], 25], []), ('normal control', [[[3, 'ENM'], [10, 'TEXT:Bye']], 25], []), ('normal control', [[[0, 'TEXT: there'], [7, 'TEXT:Hi'], [22, 'TEXT:Bye']], 29], [])], [('regression: flip emission guard', [[[0, 'EOC'], [7, 'TEXT:Bye'], [52, 'EDM'], [59, 'TEXT:Bye'], [74, 'EOC']], 24], []), ('regression variant: flip emission guard', [[[30, 'EDM'], [30, 'EOC'], [60, 'ENM'], [89, 'ENM']], 25], []), ('partial repair probe: flip emission guard', [[[0, 'EOC'], [29, 'EOC'], [29, 'ENM'], [36, 'TEXT: there'], [37, 'TEXT: there'], [38, 'EOC']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'TEXT:Bye'], [7, 'EOC'], [14, 'EDM'], [43, 'ENM'], [88, 'EDM'], [95, 'EOC'], [95, 'EOC'], [125, 'TEXT:Bye']], 24], [[291, 583, 'Bye']]), ('normal control', [[[0, 'TEXT:Bye'], [30, 'TEXT: there'], [37, 'ENM'], [82, 'EDM'], [127, 'TEXT:Hi'], [128, 'TEXT: there'], [158, 'TEXT:Hi'], [187, 'TEXT: there']], 29], []), ('normal control', [[[3, 'TEXT:Bye'], [18, 'ENM']], 24], []), ('normal control', [[[3, 'TEXT: there'], [33, 'TEXT:Bye'], [62, 'EDM']], 29], [])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: flip emission guard[[None, 1000, ''], [1000, 2000, 'Hi']][[1000, 2000, 'Hi']]Failed
regression variant: flip emission guard[[None, 1233, ''], [1233, 1733, 'Bye']][[1233, 1733, 'Bye']]Failed
partial repair probe: flip emission guard[[None, 120, ''], [120, 1280, '']][]Failed
partial repair variant: flip emission guard[[None, 1920, ''], [1920, 1960, 'Hi'], [1960, 4920, ''], [4920, 5200, 'HiHiBye']][[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']]Failed
normal control[][]Passed
normal control[][]Passed
normal control[][]Passed

SHA-256 / e78391188676180414c77d9bea2742912f2c709237d648aeb6049dd6bd06ac71

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(events, fps):
    shown=''
    hidden=''
    since=None
    out=[]
    for frame,cmd in events:
        t=frame*1000//fps
        if cmd.startswith('TEXT:'):
            hidden+=cmd[5:]
        elif cmd=='ENM':
            hidden=''
        elif cmd=='EOC':
            if since is not None:
                out.append([since,t,shown])
            shown,hidden=hidden,shown
            since=t
        elif cmd=='EDM':
            if shown: out.append([since,t,shown])
            shown=''
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: flip emission guard', [[[0, 'TEXT:Hi'], [30, 'EOC'], [60, 'EDM']], 30], [[1000, 2000, 'Hi']]), ('regression variant: flip emission guard', [[[30, 'TEXT:Bye'], [37, 'EOC'], [52, 'EDM'], [52, 'ENM'], [67, 'EDM']], 30], [[1233, 1733, 'Bye']]), ('partial repair probe: flip emission guard', [[[3, 'EOC'], [32, 'EOC'], [77, 'TEXT:Bye']], 25], []), ('partial repair variant: flip emission guard', [[[3, 'TEXT:Hi'], [48, 'EOC'], [49, 'EOC'], [49, 'TEXT:Hi'], [94, 'TEXT:Bye'], [123, 'EOC'], [130, 'EDM']], 25], [[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']]), ('normal control', [[[0, 'EDM'], [7, 'TEXT: there'], [37, 'TEXT: there']], 29], []), ('normal control', [[[30, 'EDM'], [60, 'TEXT: there'], [90, 'TEXT:Bye']], 24], []), ('normal control', [[[3, 'EDM'], [32, 'TEXT:Bye'], [77, 'TEXT:Bye'], [106, 'TEXT:Hi'], [151, 'TEXT:Hi']], 29], [])], [('regression: flip emission guard', [[[0, 'TEXT:A'], [10, 'EOC'], [20, 'TEXT:B'], [40, 'EOC'], [50, 'EOC']], 25], [[400, 1600, 'A'], [1600, 2000, 'B']]), ('regression variant: flip emission guard', [[[0, 'EOC'], [30, 'TEXT:Bye'], [31, 'EOC'], [46, 'EOC'], [91, 'TEXT:Hi'], [92, 'TEXT: there'], [99, 'EDM'], [129, 'ENM']], 30], [[1033, 1533, 'Bye']]), ('partial repair probe: flip emission guard', [[[0, 'TEXT:Bye'], [1, 'EDM'], [31, 'TEXT: there'], [61, 'ENM'], [68, 'EOC'], [98, 'EOC'], [113, 'TEXT:Bye']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'EOC'], [7, 'ENM'], [52, 'EOC'], [81, 'TEXT:Hi']], 30], []), ('normal control', [[[0, 'EDM'], [15, 'TEXT:Bye']], 29], []), ('normal control', [[[3, 'TEXT: there'], [32, 'EDM'], [32, 'TEXT: there']], 25], []), ('normal control', [[[0, 'EDM'], [29, 'TEXT: there'], [44, 'TEXT: there'], [89, 'TEXT:Bye'], [134, 'TEXT: there']], 30], [])], [('regression: flip emission guard', [[[0, 'EOC'], [5, 'EDM']], 30], []), ('regression variant: flip emission guard', [[[30, 'TEXT:Hi'], [31, 'TEXT: there'], [61, 'EDM'], [106, 'TEXT: there'], [121, 'ENM'], [136, 'TEXT:Hi'], [166, 'EOC']], 24], []), ('partial repair probe: flip emission guard', [[[0, 'EOC'], [7, 'EDM'], [14, 'EOC'], [59, 'EOC'], [104, 'EOC'], [133, 'EOC'], [162, 'EOC'], [207, 'EOC']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'EOC'], [1, 'EOC'], [30, 'ENM'], [37, 'TEXT:Bye']], 30], []), ('normal control', [[[0, 'ENM'], [29, 'TEXT:Bye'], [59, 'TEXT: there']], 25], []), ('normal control', [[[3, 'TEXT: there'], [48, 'TEXT:Hi'], [49, 'TEXT:Bye'], [78, 'TEXT:Hi']], 29], []), ('normal control', [[[3, 'TEXT:Bye'], [18, 'TEXT:Bye'], [25, 'TEXT:Bye'], [40, 'TEXT: there']], 30], [])], [('regression: flip emission guard', [[[30, 'EOC'], [30, 'TEXT:Hi'], [37, 'ENM']], 24], []), ('regression variant: flip emission guard', [[[30, 'TEXT: there'], [30, 'EOC'], [59, 'ENM']], 30], []), ('partial repair probe: flip emission guard', [[[30, 'EOC'], [59, 'EOC'], [60, 'TEXT: there'], [89, 'TEXT: there'], [96, 'ENM'], [96, 'TEXT:Bye'], [96, 'TEXT:Bye'], [96, 'TEXT: there']], 30], []), ('partial repair variant: flip emission guard', [[[30, 'EOC'], [31, 'ENM'], [32, 'EOC']], 29], []), ('normal control', [[[0, 'ENM'], [7, 'TEXT: there'], [37, 'EDM']], 25], []), ('normal control', [[[3, 'ENM'], [10, 'TEXT:Bye']], 25], []), ('normal control', [[[0, 'TEXT: there'], [7, 'TEXT:Hi'], [22, 'TEXT:Bye']], 29], [])], [('regression: flip emission guard', [[[0, 'EOC'], [7, 'TEXT:Bye'], [52, 'EDM'], [59, 'TEXT:Bye'], [74, 'EOC']], 24], []), ('regression variant: flip emission guard', [[[30, 'EDM'], [30, 'EOC'], [60, 'ENM'], [89, 'ENM']], 25], []), ('partial repair probe: flip emission guard', [[[0, 'EOC'], [29, 'EOC'], [29, 'ENM'], [36, 'TEXT: there'], [37, 'TEXT: there'], [38, 'EOC']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'TEXT:Bye'], [7, 'EOC'], [14, 'EDM'], [43, 'ENM'], [88, 'EDM'], [95, 'EOC'], [95, 'EOC'], [125, 'TEXT:Bye']], 24], [[291, 583, 'Bye']]), ('normal control', [[[0, 'TEXT:Bye'], [30, 'TEXT: there'], [37, 'ENM'], [82, 'EDM'], [127, 'TEXT:Hi'], [128, 'TEXT: there'], [158, 'TEXT:Hi'], [187, 'TEXT: there']], 29], []), ('normal control', [[[3, 'TEXT:Bye'], [18, 'ENM']], 24], []), ('normal control', [[[3, 'TEXT: there'], [33, 'TEXT:Bye'], [62, 'EDM']], 29], [])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: flip emission guard[[1000, 2000, 'Hi']][[1000, 2000, 'Hi']]Passed
regression variant: flip emission guard[[1233, 1733, 'Bye']][[1233, 1733, 'Bye']]Passed
partial repair probe: flip emission guard[[120, 1280, '']][]Failed
partial repair variant: flip emission guard[[1920, 1960, 'Hi'], [1960, 4920, ''], [4920, 5200, 'HiHiBye']][[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']]Failed
normal control[][]Passed
normal control[][]Passed
normal control[][]Passed

SHA-256 / d460956c3a90cea64429fb7f22040a3f7cd1d0fa2eade56d090bdf45a7d8483f

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(events, fps):
    shown=''
    hidden=''
    since=None
    out=[]
    for frame,cmd in events:
        t=frame*1000//fps
        if cmd.startswith('TEXT:'):
            hidden+=cmd[5:]
        elif cmd=='ENM':
            hidden=''
        elif cmd=='EOC':
            if shown:
                out.append([since,t,shown])
            shown,hidden=hidden,shown
            since=t
        elif cmd=='EDM':
            if shown: out.append([since,t,shown])
            shown=''
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: flip emission guard', [[[0, 'TEXT:Hi'], [30, 'EOC'], [60, 'EDM']], 30], [[1000, 2000, 'Hi']]), ('regression variant: flip emission guard', [[[30, 'TEXT:Bye'], [37, 'EOC'], [52, 'EDM'], [52, 'ENM'], [67, 'EDM']], 30], [[1233, 1733, 'Bye']]), ('partial repair probe: flip emission guard', [[[3, 'EOC'], [32, 'EOC'], [77, 'TEXT:Bye']], 25], []), ('partial repair variant: flip emission guard', [[[3, 'TEXT:Hi'], [48, 'EOC'], [49, 'EOC'], [49, 'TEXT:Hi'], [94, 'TEXT:Bye'], [123, 'EOC'], [130, 'EDM']], 25], [[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']]), ('normal control', [[[0, 'EDM'], [7, 'TEXT: there'], [37, 'TEXT: there']], 29], []), ('normal control', [[[30, 'EDM'], [60, 'TEXT: there'], [90, 'TEXT:Bye']], 24], []), ('normal control', [[[3, 'EDM'], [32, 'TEXT:Bye'], [77, 'TEXT:Bye'], [106, 'TEXT:Hi'], [151, 'TEXT:Hi']], 29], [])], [('regression: flip emission guard', [[[0, 'TEXT:A'], [10, 'EOC'], [20, 'TEXT:B'], [40, 'EOC'], [50, 'EOC']], 25], [[400, 1600, 'A'], [1600, 2000, 'B']]), ('regression variant: flip emission guard', [[[0, 'EOC'], [30, 'TEXT:Bye'], [31, 'EOC'], [46, 'EOC'], [91, 'TEXT:Hi'], [92, 'TEXT: there'], [99, 'EDM'], [129, 'ENM']], 30], [[1033, 1533, 'Bye']]), ('partial repair probe: flip emission guard', [[[0, 'TEXT:Bye'], [1, 'EDM'], [31, 'TEXT: there'], [61, 'ENM'], [68, 'EOC'], [98, 'EOC'], [113, 'TEXT:Bye']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'EOC'], [7, 'ENM'], [52, 'EOC'], [81, 'TEXT:Hi']], 30], []), ('normal control', [[[0, 'EDM'], [15, 'TEXT:Bye']], 29], []), ('normal control', [[[3, 'TEXT: there'], [32, 'EDM'], [32, 'TEXT: there']], 25], []), ('normal control', [[[0, 'EDM'], [29, 'TEXT: there'], [44, 'TEXT: there'], [89, 'TEXT:Bye'], [134, 'TEXT: there']], 30], [])], [('regression: flip emission guard', [[[0, 'EOC'], [5, 'EDM']], 30], []), ('regression variant: flip emission guard', [[[30, 'TEXT:Hi'], [31, 'TEXT: there'], [61, 'EDM'], [106, 'TEXT: there'], [121, 'ENM'], [136, 'TEXT:Hi'], [166, 'EOC']], 24], []), ('partial repair probe: flip emission guard', [[[0, 'EOC'], [7, 'EDM'], [14, 'EOC'], [59, 'EOC'], [104, 'EOC'], [133, 'EOC'], [162, 'EOC'], [207, 'EOC']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'EOC'], [1, 'EOC'], [30, 'ENM'], [37, 'TEXT:Bye']], 30], []), ('normal control', [[[0, 'ENM'], [29, 'TEXT:Bye'], [59, 'TEXT: there']], 25], []), ('normal control', [[[3, 'TEXT: there'], [48, 'TEXT:Hi'], [49, 'TEXT:Bye'], [78, 'TEXT:Hi']], 29], []), ('normal control', [[[3, 'TEXT:Bye'], [18, 'TEXT:Bye'], [25, 'TEXT:Bye'], [40, 'TEXT: there']], 30], [])], [('regression: flip emission guard', [[[30, 'EOC'], [30, 'TEXT:Hi'], [37, 'ENM']], 24], []), ('regression variant: flip emission guard', [[[30, 'TEXT: there'], [30, 'EOC'], [59, 'ENM']], 30], []), ('partial repair probe: flip emission guard', [[[30, 'EOC'], [59, 'EOC'], [60, 'TEXT: there'], [89, 'TEXT: there'], [96, 'ENM'], [96, 'TEXT:Bye'], [96, 'TEXT:Bye'], [96, 'TEXT: there']], 30], []), ('partial repair variant: flip emission guard', [[[30, 'EOC'], [31, 'ENM'], [32, 'EOC']], 29], []), ('normal control', [[[0, 'ENM'], [7, 'TEXT: there'], [37, 'EDM']], 25], []), ('normal control', [[[3, 'ENM'], [10, 'TEXT:Bye']], 25], []), ('normal control', [[[0, 'TEXT: there'], [7, 'TEXT:Hi'], [22, 'TEXT:Bye']], 29], [])], [('regression: flip emission guard', [[[0, 'EOC'], [7, 'TEXT:Bye'], [52, 'EDM'], [59, 'TEXT:Bye'], [74, 'EOC']], 24], []), ('regression variant: flip emission guard', [[[30, 'EDM'], [30, 'EOC'], [60, 'ENM'], [89, 'ENM']], 25], []), ('partial repair probe: flip emission guard', [[[0, 'EOC'], [29, 'EOC'], [29, 'ENM'], [36, 'TEXT: there'], [37, 'TEXT: there'], [38, 'EOC']], 25], []), ('partial repair variant: flip emission guard', [[[0, 'TEXT:Bye'], [7, 'EOC'], [14, 'EDM'], [43, 'ENM'], [88, 'EDM'], [95, 'EOC'], [95, 'EOC'], [125, 'TEXT:Bye']], 24], [[291, 583, 'Bye']]), ('normal control', [[[0, 'TEXT:Bye'], [30, 'TEXT: there'], [37, 'ENM'], [82, 'EDM'], [127, 'TEXT:Hi'], [128, 'TEXT: there'], [158, 'TEXT:Hi'], [187, 'TEXT: there']], 29], []), ('normal control', [[[3, 'TEXT:Bye'], [18, 'ENM']], 24], []), ('normal control', [[[3, 'TEXT: there'], [33, 'TEXT:Bye'], [62, 'EDM']], 29], [])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: flip emission guard[[1000, 2000, 'Hi']][[1000, 2000, 'Hi']]Passed
regression variant: flip emission guard[[1233, 1733, 'Bye']][[1233, 1733, 'Bye']]Passed
partial repair probe: flip emission guard[][]Passed
partial repair variant: flip emission guard[[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']][[1920, 1960, 'Hi'], [4920, 5200, 'HiHiBye']]Passed
normal control[][]Passed
normal control[][]Passed
normal control[][]Passed

SHA-256 / d67579f0116770fc8b4f988c55a4f06e76c600eaef13c7aaf2c2707646d81adf

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:49:33.410639+00:00.

Case digest / ac2de4bbee8c8b6eb4beebbf3f281417db3577965d6823505f842decbde53225