FA-77971 / Subtitle cue timing / Open access
Minimum gap and chaining between cues: trim floor · case 01
A short cue followed immediately by another ends before it starts.
ROOT CAUSE
The trimmed end is not bounded below by the cue start.
VERIFIED REPAIR
Keep the trimmed end at least one millisecond after the start.
Unsuccessful approach: Bounding the end by the start itself still produces zero-length cues.
Case contract
For sorted cues [start,end], compare each cue with the next start. If gap = next_start - end is below min_gap, the end is trimmed to next_start - min_gap but never below start+1. If min_gap <= gap < chain, the end is extended to next_start - min_gap. Larger gaps are untouched.
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(cues, min_gap, chain):
out=[list(c) for c in cues]
for i in range(len(out)-1):
cur=out[i]
nxt_start=out[i+1][0]
gap=nxt_start-cur[1]
if gap<min_gap:
cur[1]=nxt_start-min_gap
elif gap<chain:
cur[1]=nxt_start-min_gap
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: trim floor', [[[1000, 1400], [1499, 1899], [2398, 2498], [2399, 2799], [2900, 3900]], 100, 500], [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]]), ('regression variant: trim floor', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair probe: trim floor', [[[0, 400], [983, 1083], [1165, 1265], [1166, 2166], [2250, 2350]], 83, 500], [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]]), ('partial repair variant: trim floor', [[[0, 100], [100, 500], [799, 1199]], 120, 300], [[0, 1], [100, 679], [799, 1199]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('normal control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('normal control', [[[0, 400], [1400, 2400]], 80, 750], [[0, 400], [1400, 2400]]), ('normal control', [[[0, 100], [183, 2183], [3183, 3283], [3784, 5784]], 83, 500], [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]])], [('regression: trim floor', [[[1000, 2000], [2501, 2901], [3901, 4001], [3902, 5902], [6902, 7002]], 83, 500], [[1000, 2000], [2501, 2901], [3901, 3902], [3902, 5902], [6902, 7002]]), ('regression variant: trim floor', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair probe: trim floor', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('partial repair variant: trim floor', [[[1000, 1100], [1001, 2001]], 80, 750], [[1000, 1001], [1001, 2001]]), ('boundary control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('normal control', [[[0, 1000], [1005, 1105]], 100, 750], [[0, 905], [1005, 1105]]), ('normal control', [[[1000, 1400], [2151, 4151]], 80, 750], [[1000, 1400], [2151, 4151]]), ('normal control', [[[0, 400], [479, 879]], 80, 750], [[0, 399], [479, 879]])], [('regression: trim floor', [[[0, 400], [983, 1083], [1165, 1265], [1166, 2166], [2250, 2350]], 83, 500], [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]]), ('regression variant: trim floor', [[[0, 2000], [2000, 2100], [2130, 2530], [2560, 2660], [2610, 3010]], 120, 750], [[0, 1880], [2000, 2010], [2130, 2440], [2560, 2561], [2610, 3010]]), ('partial repair probe: trim floor', [[[0, 100], [1100, 1500], [2080, 3080], [3579, 3679], [3629, 5629]], 80, 500], [[0, 100], [1100, 1500], [2080, 3499], [3579, 3580], [3629, 5629]]), ('partial repair variant: trim floor', [[[1000, 1100], [1219, 1319], [1269, 1369]], 120, 750], [[1000, 1099], [1219, 1220], [1269, 1369]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('boundary control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('normal control', [[[1000, 3000], [3030, 5030], [5113, 6113], [6864, 6964], [6964, 8964]], 83, 750], [[1000, 2947], [3030, 5030], [5113, 6113], [6864, 6881], [6964, 8964]]), ('normal control', [[[1000, 3000], [4000, 6000], [6030, 6430], [6230, 8230], [8030, 10030]], 80, 750], [[1000, 3000], [4000, 5950], [6030, 6150], [6230, 7950], [8030, 10030]]), ('normal control', [[[0, 2000], [1800, 2200]], 100, 300], [[0, 1700], [1800, 2200]])], [('regression: trim floor', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('regression variant: trim floor', [[[1000, 1100], [1105, 3105], [3204, 3304], [3254, 4254], [5005, 5105]], 100, 750], [[1000, 1005], [1105, 3104], [3204, 3205], [3254, 4254], [5005, 5105]]), ('partial repair probe: trim floor', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair variant: trim floor', [[[1000, 3000], [3080, 5080], [5580, 7580], [7380, 7480], [7430, 8430]], 80, 500], [[1000, 3000], [3080, 5080], [5580, 7300], [7380, 7381], [7430, 8430]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 2000], [2830, 3830], [3911, 4911], [5741, 6141], [6891, 8891]], 80, 750], [[0, 2000], [2830, 3831], [3911, 4911], [5741, 6141], [6891, 8891]]), ('normal control', [[[0, 1000], [800, 1800], [2800, 3800]], 83, 750], [[0, 717], [800, 1800], [2800, 3800]]), ('normal control', [[[1000, 1400], [1899, 2299], [2099, 2499]], 80, 500], [[1000, 1819], [1899, 2019], [2099, 2499]])], [('regression: trim floor', [[[0, 100], [1100, 1500], [2080, 3080], [3579, 3679], [3629, 5629]], 80, 500], [[0, 100], [1100, 1500], [2080, 3499], [3579, 3580], [3629, 5629]]), ('regression variant: trim floor', [[[0, 100], [100, 500], [799, 1199]], 120, 300], [[0, 1], [100, 679], [799, 1199]]), ('partial repair probe: trim floor', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair variant: trim floor', [[[0, 1000], [1300, 1700], [1700, 2100], [2221, 2321], [2321, 2421]], 120, 300], [[0, 1000], [1300, 1580], [1700, 2101], [2221, 2222], [2321, 2421]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('normal control', [[[1000, 1400], [2151, 4151], [3951, 5951], [5751, 6751], [6870, 6970]], 120, 750], [[1000, 1400], [2151, 3831], [3951, 5631], [5751, 6750], [6870, 6970]]), ('normal control', [[[1000, 1100], [1180, 2180]], 80, 500], [[1000, 1100], [1180, 2180]]), ('normal control', [[[0, 1000], [1833, 2833]], 83, 750], [[0, 1000], [1833, 2833]])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: trim floor | [[1000, 1399], [1499, 2298], [2398, 2299], [2399, 2800], [2900, 3900]] | [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]] | Failed |
| regression variant: trim floor | [[1000, 921], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]] | [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]] | Failed |
| partial repair probe: trim floor | [[0, 400], [983, 1082], [1165, 1083], [1166, 2167], [2250, 2350]] | [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]] | Failed |
| partial repair variant: trim floor | [[0, -20], [100, 679], [799, 1199]] | [[0, 1], [100, 679], [799, 1199]] | Failed |
| boundary control | [[0, 950], [1050, 2000]] | [[0, 950], [1050, 2000]] | Passed |
| boundary control | [[0, 800], [900, 2000]] | [[0, 800], [900, 2000]] | Passed |
| normal control | [[0, 1300], [1400, 2000]] | [[0, 1300], [1400, 2000]] | Passed |
| normal control | [[0, 400], [1400, 2400]] | [[0, 400], [1400, 2400]] | Passed |
| normal control | [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]] | [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]] | Passed |
SHA-256 / 94472d7e52a218b11ab6d4e99b4dd73f5ec800e7d6ec668e7f4963e1204b1e3b
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(cues, min_gap, chain):
out=[list(c) for c in cues]
for i in range(len(out)-1):
cur=out[i]
nxt_start=out[i+1][0]
gap=nxt_start-cur[1]
if gap<min_gap:
cur[1]=max(cur[0],nxt_start-min_gap)
elif gap<chain:
cur[1]=nxt_start-min_gap
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: trim floor', [[[1000, 1400], [1499, 1899], [2398, 2498], [2399, 2799], [2900, 3900]], 100, 500], [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]]), ('regression variant: trim floor', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair probe: trim floor', [[[0, 400], [983, 1083], [1165, 1265], [1166, 2166], [2250, 2350]], 83, 500], [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]]), ('partial repair variant: trim floor', [[[0, 100], [100, 500], [799, 1199]], 120, 300], [[0, 1], [100, 679], [799, 1199]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('normal control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('normal control', [[[0, 400], [1400, 2400]], 80, 750], [[0, 400], [1400, 2400]]), ('normal control', [[[0, 100], [183, 2183], [3183, 3283], [3784, 5784]], 83, 500], [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]])], [('regression: trim floor', [[[1000, 2000], [2501, 2901], [3901, 4001], [3902, 5902], [6902, 7002]], 83, 500], [[1000, 2000], [2501, 2901], [3901, 3902], [3902, 5902], [6902, 7002]]), ('regression variant: trim floor', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair probe: trim floor', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('partial repair variant: trim floor', [[[1000, 1100], [1001, 2001]], 80, 750], [[1000, 1001], [1001, 2001]]), ('boundary control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('normal control', [[[0, 1000], [1005, 1105]], 100, 750], [[0, 905], [1005, 1105]]), ('normal control', [[[1000, 1400], [2151, 4151]], 80, 750], [[1000, 1400], [2151, 4151]]), ('normal control', [[[0, 400], [479, 879]], 80, 750], [[0, 399], [479, 879]])], [('regression: trim floor', [[[0, 400], [983, 1083], [1165, 1265], [1166, 2166], [2250, 2350]], 83, 500], [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]]), ('regression variant: trim floor', [[[0, 2000], [2000, 2100], [2130, 2530], [2560, 2660], [2610, 3010]], 120, 750], [[0, 1880], [2000, 2010], [2130, 2440], [2560, 2561], [2610, 3010]]), ('partial repair probe: trim floor', [[[0, 100], [1100, 1500], [2080, 3080], [3579, 3679], [3629, 5629]], 80, 500], [[0, 100], [1100, 1500], [2080, 3499], [3579, 3580], [3629, 5629]]), ('partial repair variant: trim floor', [[[1000, 1100], [1219, 1319], [1269, 1369]], 120, 750], [[1000, 1099], [1219, 1220], [1269, 1369]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('boundary control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('normal control', [[[1000, 3000], [3030, 5030], [5113, 6113], [6864, 6964], [6964, 8964]], 83, 750], [[1000, 2947], [3030, 5030], [5113, 6113], [6864, 6881], [6964, 8964]]), ('normal control', [[[1000, 3000], [4000, 6000], [6030, 6430], [6230, 8230], [8030, 10030]], 80, 750], [[1000, 3000], [4000, 5950], [6030, 6150], [6230, 7950], [8030, 10030]]), ('normal control', [[[0, 2000], [1800, 2200]], 100, 300], [[0, 1700], [1800, 2200]])], [('regression: trim floor', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('regression variant: trim floor', [[[1000, 1100], [1105, 3105], [3204, 3304], [3254, 4254], [5005, 5105]], 100, 750], [[1000, 1005], [1105, 3104], [3204, 3205], [3254, 4254], [5005, 5105]]), ('partial repair probe: trim floor', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair variant: trim floor', [[[1000, 3000], [3080, 5080], [5580, 7580], [7380, 7480], [7430, 8430]], 80, 500], [[1000, 3000], [3080, 5080], [5580, 7300], [7380, 7381], [7430, 8430]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 2000], [2830, 3830], [3911, 4911], [5741, 6141], [6891, 8891]], 80, 750], [[0, 2000], [2830, 3831], [3911, 4911], [5741, 6141], [6891, 8891]]), ('normal control', [[[0, 1000], [800, 1800], [2800, 3800]], 83, 750], [[0, 717], [800, 1800], [2800, 3800]]), ('normal control', [[[1000, 1400], [1899, 2299], [2099, 2499]], 80, 500], [[1000, 1819], [1899, 2019], [2099, 2499]])], [('regression: trim floor', [[[0, 100], [1100, 1500], [2080, 3080], [3579, 3679], [3629, 5629]], 80, 500], [[0, 100], [1100, 1500], [2080, 3499], [3579, 3580], [3629, 5629]]), ('regression variant: trim floor', [[[0, 100], [100, 500], [799, 1199]], 120, 300], [[0, 1], [100, 679], [799, 1199]]), ('partial repair probe: trim floor', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair variant: trim floor', [[[0, 1000], [1300, 1700], [1700, 2100], [2221, 2321], [2321, 2421]], 120, 300], [[0, 1000], [1300, 1580], [1700, 2101], [2221, 2222], [2321, 2421]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('normal control', [[[1000, 1400], [2151, 4151], [3951, 5951], [5751, 6751], [6870, 6970]], 120, 750], [[1000, 1400], [2151, 3831], [3951, 5631], [5751, 6750], [6870, 6970]]), ('normal control', [[[1000, 1100], [1180, 2180]], 80, 500], [[1000, 1100], [1180, 2180]]), ('normal control', [[[0, 1000], [1833, 2833]], 83, 750], [[0, 1000], [1833, 2833]])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: trim floor | [[1000, 1399], [1499, 2298], [2398, 2398], [2399, 2800], [2900, 3900]] | [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]] | Failed |
| regression variant: trim floor | [[1000, 1000], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]] | [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]] | Failed |
| partial repair probe: trim floor | [[0, 400], [983, 1082], [1165, 1165], [1166, 2167], [2250, 2350]] | [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]] | Failed |
| partial repair variant: trim floor | [[0, 0], [100, 679], [799, 1199]] | [[0, 1], [100, 679], [799, 1199]] | Failed |
| boundary control | [[0, 950], [1050, 2000]] | [[0, 950], [1050, 2000]] | Passed |
| boundary control | [[0, 800], [900, 2000]] | [[0, 800], [900, 2000]] | Passed |
| normal control | [[0, 1300], [1400, 2000]] | [[0, 1300], [1400, 2000]] | Passed |
| normal control | [[0, 400], [1400, 2400]] | [[0, 400], [1400, 2400]] | Passed |
| normal control | [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]] | [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]] | Passed |
SHA-256 / 1d40347eef7f48bf5c79c45a3920015412a555e8807bf695c651dbd882db6de4
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(cues, min_gap, chain):
out=[list(c) for c in cues]
for i in range(len(out)-1):
cur=out[i]
nxt_start=out[i+1][0]
gap=nxt_start-cur[1]
if gap<min_gap:
cur[1]=max(cur[0]+1,nxt_start-min_gap)
elif gap<chain:
cur[1]=nxt_start-min_gap
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: trim floor', [[[1000, 1400], [1499, 1899], [2398, 2498], [2399, 2799], [2900, 3900]], 100, 500], [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]]), ('regression variant: trim floor', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair probe: trim floor', [[[0, 400], [983, 1083], [1165, 1265], [1166, 2166], [2250, 2350]], 83, 500], [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]]), ('partial repair variant: trim floor', [[[0, 100], [100, 500], [799, 1199]], 120, 300], [[0, 1], [100, 679], [799, 1199]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('normal control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('normal control', [[[0, 400], [1400, 2400]], 80, 750], [[0, 400], [1400, 2400]]), ('normal control', [[[0, 100], [183, 2183], [3183, 3283], [3784, 5784]], 83, 500], [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]])], [('regression: trim floor', [[[1000, 2000], [2501, 2901], [3901, 4001], [3902, 5902], [6902, 7002]], 83, 500], [[1000, 2000], [2501, 2901], [3901, 3902], [3902, 5902], [6902, 7002]]), ('regression variant: trim floor', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair probe: trim floor', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('partial repair variant: trim floor', [[[1000, 1100], [1001, 2001]], 80, 750], [[1000, 1001], [1001, 2001]]), ('boundary control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('normal control', [[[0, 1000], [1005, 1105]], 100, 750], [[0, 905], [1005, 1105]]), ('normal control', [[[1000, 1400], [2151, 4151]], 80, 750], [[1000, 1400], [2151, 4151]]), ('normal control', [[[0, 400], [479, 879]], 80, 750], [[0, 399], [479, 879]])], [('regression: trim floor', [[[0, 400], [983, 1083], [1165, 1265], [1166, 2166], [2250, 2350]], 83, 500], [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]]), ('regression variant: trim floor', [[[0, 2000], [2000, 2100], [2130, 2530], [2560, 2660], [2610, 3010]], 120, 750], [[0, 1880], [2000, 2010], [2130, 2440], [2560, 2561], [2610, 3010]]), ('partial repair probe: trim floor', [[[0, 100], [1100, 1500], [2080, 3080], [3579, 3679], [3629, 5629]], 80, 500], [[0, 100], [1100, 1500], [2080, 3499], [3579, 3580], [3629, 5629]]), ('partial repair variant: trim floor', [[[1000, 1100], [1219, 1319], [1269, 1369]], 120, 750], [[1000, 1099], [1219, 1220], [1269, 1369]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('boundary control', [[[0, 1000], [1400, 2000]], 100, 500], [[0, 1300], [1400, 2000]]), ('normal control', [[[1000, 3000], [3030, 5030], [5113, 6113], [6864, 6964], [6964, 8964]], 83, 750], [[1000, 2947], [3030, 5030], [5113, 6113], [6864, 6881], [6964, 8964]]), ('normal control', [[[1000, 3000], [4000, 6000], [6030, 6430], [6230, 8230], [8030, 10030]], 80, 750], [[1000, 3000], [4000, 5950], [6030, 6150], [6230, 7950], [8030, 10030]]), ('normal control', [[[0, 2000], [1800, 2200]], 100, 300], [[0, 1700], [1800, 2200]])], [('regression: trim floor', [[[1000, 1100], [1001, 1101], [1402, 3402], [3484, 3584], [3589, 5589]], 83, 300], [[1000, 1001], [1001, 1101], [1402, 3401], [3484, 3506], [3589, 5589]]), ('regression variant: trim floor', [[[1000, 1100], [1105, 3105], [3204, 3304], [3254, 4254], [5005, 5105]], 100, 750], [[1000, 1005], [1105, 3104], [3204, 3205], [3254, 4254], [5005, 5105]]), ('partial repair probe: trim floor', [[[1000, 1100], [1001, 1401], [1351, 1451], [1456, 3456], [4456, 5456]], 80, 300], [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]]), ('partial repair variant: trim floor', [[[1000, 3000], [3080, 5080], [5580, 7580], [7380, 7480], [7430, 8430]], 80, 500], [[1000, 3000], [3080, 5080], [5580, 7300], [7380, 7381], [7430, 8430]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('boundary control', [[[0, 1000], [1500, 2000]], 100, 500], [[0, 1000], [1500, 2000]]), ('normal control', [[[0, 2000], [2830, 3830], [3911, 4911], [5741, 6141], [6891, 8891]], 80, 750], [[0, 2000], [2830, 3831], [3911, 4911], [5741, 6141], [6891, 8891]]), ('normal control', [[[0, 1000], [800, 1800], [2800, 3800]], 83, 750], [[0, 717], [800, 1800], [2800, 3800]]), ('normal control', [[[1000, 1400], [1899, 2299], [2099, 2499]], 80, 500], [[1000, 1819], [1899, 2019], [2099, 2499]])], [('regression: trim floor', [[[0, 100], [1100, 1500], [2080, 3080], [3579, 3679], [3629, 5629]], 80, 500], [[0, 100], [1100, 1500], [2080, 3499], [3579, 3580], [3629, 5629]]), ('regression variant: trim floor', [[[0, 100], [100, 500], [799, 1199]], 120, 300], [[0, 1], [100, 679], [799, 1199]]), ('partial repair probe: trim floor', [[[1000, 1400], [1480, 1580], [1481, 1881]], 80, 500], [[1000, 1400], [1480, 1481], [1481, 1881]]), ('partial repair variant: trim floor', [[[0, 1000], [1300, 1700], [1700, 2100], [2221, 2321], [2321, 2421]], 120, 300], [[0, 1000], [1300, 1580], [1700, 2101], [2221, 2222], [2321, 2421]]), ('boundary control', [[[0, 1000], [1050, 2000]], 100, 500], [[0, 950], [1050, 2000]]), ('boundary control', [[[0, 1000], [900, 2000]], 100, 500], [[0, 800], [900, 2000]]), ('normal control', [[[1000, 1400], [2151, 4151], [3951, 5951], [5751, 6751], [6870, 6970]], 120, 750], [[1000, 1400], [2151, 3831], [3951, 5631], [5751, 6750], [6870, 6970]]), ('normal control', [[[1000, 1100], [1180, 2180]], 80, 500], [[1000, 1100], [1180, 2180]]), ('normal control', [[[0, 1000], [1833, 2833]], 83, 750], [[0, 1000], [1833, 2833]])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: trim floor | [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]] | [[1000, 1399], [1499, 2298], [2398, 2399], [2399, 2800], [2900, 3900]] | Passed |
| regression variant: trim floor | [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]] | [[1000, 1001], [1001, 1271], [1351, 1376], [1456, 3456], [4456, 5456]] | Passed |
| partial repair probe: trim floor | [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]] | [[0, 400], [983, 1082], [1165, 1166], [1166, 2167], [2250, 2350]] | Passed |
| partial repair variant: trim floor | [[0, 1], [100, 679], [799, 1199]] | [[0, 1], [100, 679], [799, 1199]] | Passed |
| boundary control | [[0, 950], [1050, 2000]] | [[0, 950], [1050, 2000]] | Passed |
| boundary control | [[0, 800], [900, 2000]] | [[0, 800], [900, 2000]] | Passed |
| normal control | [[0, 1300], [1400, 2000]] | [[0, 1300], [1400, 2000]] | Passed |
| normal control | [[0, 400], [1400, 2400]] | [[0, 400], [1400, 2400]] | Passed |
| normal control | [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]] | [[0, 100], [183, 2183], [3183, 3283], [3784, 5784]] | Passed |
SHA-256 / bdf8ab534fa68f62462b08bc53f02bb710fe9f5fb2ed9495dac581a44e85c860
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:30.759737+00:00.
Case digest / ffddac3cdbd116b2369797b07773733c9576618f7300d916a00a05728f82e21b