FAILURE MAP
← Case archive

FA-11246 / Media timeline seeking / Open access

Edit list empty span advances movie · case 01

Empty edit-list spans do not advance the movie clock and shift later media earlier.

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

ROOT CAUSE

Empty edit-list spans do not advance the movie clock and shift later media earlier.

VERIFIED REPAIR

Preserve the media contract: Edits are [nonnegative movie duration,media start or None for an empty edit]. Annotate each edit with cumulative movie start; empty edits still occupy movie time.

Unsuccessful approach: Placing every edit at movie zero overlaps sequential edits.

Case contract

Edits are [nonnegative movie duration,media start or None for an empty edit]. Annotate each edit with cumulative movie start; empty edits still occupy movie time.

Why this case matters

A deterministic local media controller stage; metadata and downloaded data are supplied explicitly. No external player, service or codec is required.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(edits):
    return [[sum(e[0] for e in edits[:i] if e[1] is not None),duration,media] for i,(duration,media) in enumerate(edits)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([[2, None], [3, 10]],)),[[0, 2, None], [2, 3, 10]])
check('fixture 2',solve(*([[1, 0], [2, 5]],)),[[0, 1, 0], [1, 2, 5]])
check('fixture 3',solve(*([],)),[])
check('fixture 4',solve(*([[0, None], [1, 0]],)),[[0, 0, None], [0, 1, 0]])
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
fixture 1[[0, 2, None], [0, 3, 10]][[0, 2, None], [2, 3, 10]]Failed
fixture 2[[0, 1, 0], [1, 2, 5]][[0, 1, 0], [1, 2, 5]]Passed
fixture 3[][]Passed
fixture 4[[0, 0, None], [0, 1, 0]][[0, 0, None], [0, 1, 0]]Passed

SHA-256 / 723d5867ddb29f9619ded9683c08cfed44d4c0ae5fb001863de8b4db97f32696

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(edits):
    return [[0,duration,media] for duration,media in edits]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([[2, None], [3, 10]],)),[[0, 2, None], [2, 3, 10]])
check('fixture 2',solve(*([[1, 0], [2, 5]],)),[[0, 1, 0], [1, 2, 5]])
check('fixture 3',solve(*([],)),[])
check('fixture 4',solve(*([[0, None], [1, 0]],)),[[0, 0, None], [0, 1, 0]])
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
fixture 1[[0, 2, None], [0, 3, 10]][[0, 2, None], [2, 3, 10]]Failed
fixture 2[[0, 1, 0], [0, 2, 5]][[0, 1, 0], [1, 2, 5]]Failed
fixture 3[][]Passed
fixture 4[[0, 0, None], [0, 1, 0]][[0, 0, None], [0, 1, 0]]Passed

SHA-256 / ca57e88df427d2305d53478eae8a9dc81dd3b5e0e6dbf34f038a4c94adbcff61

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(edits):
    return [[sum(e[0] for e in edits[:i]),duration,media] for i,(duration,media) in enumerate(edits)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([[2, None], [3, 10]],)),[[0, 2, None], [2, 3, 10]])
check('fixture 2',solve(*([[1, 0], [2, 5]],)),[[0, 1, 0], [1, 2, 5]])
check('fixture 3',solve(*([],)),[])
check('fixture 4',solve(*([[0, None], [1, 0]],)),[[0, 0, None], [0, 1, 0]])
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
fixture 1[[0, 2, None], [2, 3, 10]][[0, 2, None], [2, 3, 10]]Passed
fixture 2[[0, 1, 0], [1, 2, 5]][[0, 1, 0], [1, 2, 5]]Passed
fixture 3[][]Passed
fixture 4[[0, 0, None], [0, 1, 0]][[0, 0, None], [0, 1, 0]]Passed

SHA-256 / 8527e77ad098368df9bbee77af648cd18e409d2f47113df74076da35edf23ae6

Verification & scope

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:38:46.216126+00:00.

Case digest / b0e14ca6d5ccea69573bb220e10cb6868638b6fedc1370ea6d41c529900a4e56