FAILURE MAP
← Case archive

FA-11061 / Media playlist state / Open access

Clear upcoming keeps history · case 01

An exclusive slice ending at current also removes the playing entry.

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

ROOT CAUSE

An exclusive slice ending at current also removes the playing entry.

VERIFIED REPAIR

Preserve the media contract: Clear only entries after a valid current index; retain playback history and the current entry.

Unsuccessful approach: Retaining only current destroys already-played history.

Case contract

Clear only entries after a valid current index; retain playback history and the current entry.

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(entries, current):
    return entries[:current]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*(['a', 'b', 'c'], 1)),['a', 'b'])
check('fixture 2',solve(*(['a', 'b'], 0)),['a'])
check('fixture 3',solve(*(['a'], 0)),['a'])
check('fixture 4',solve(*(['a', 'b'], 1)),['a', 'b'])
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['a']['a', 'b']Failed
fixture 2[]['a']Failed
fixture 3[]['a']Failed
fixture 4['a']['a', 'b']Failed

SHA-256 / 2f9007a7ff45fcd0e64ea5245dc984ddad5ef2e8428b1d18e0289d8087e16f3a

2 / The unsuccessful fix

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

SHA-256 / c68c4bc2629205da64ec65a4919523df0ab64f677523915eaba17d37aaf6e57f

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(entries, current):
    return entries[:current+1]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*(['a', 'b', 'c'], 1)),['a', 'b'])
check('fixture 2',solve(*(['a', 'b'], 0)),['a'])
check('fixture 3',solve(*(['a'], 0)),['a'])
check('fixture 4',solve(*(['a', 'b'], 1)),['a', 'b'])
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['a', 'b']['a', 'b']Passed
fixture 2['a']['a']Passed
fixture 3['a']['a']Passed
fixture 4['a', 'b']['a', 'b']Passed

SHA-256 / caf2832abd57912891494dcf4f6f8b5f7528723ed00fdf0fe78802c97d848733

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

Case digest / fc27ac5d6e850ac9e2e529f610c9083fd4365852bd187e5f2eb5c6d25d70117d