FAILURE MAP
← Case archive

FA-11196 / Streaming segment lifecycle / Open access

Manifest refresh retains terminal flag · case 01

A failed refresh resets terminal state from incomplete metadata.

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

ROOT CAUSE

A failed refresh resets terminal state from incomplete metadata.

VERIFIED REPAIR

Preserve the media contract: For a local replaceable-manifest cache, a complete response replaces terminal state; a partial/failed response leaves prior terminal state unchanged. Streams may be explicitly restarted.

Unsuccessful approach: Making terminal state permanently sticky prevents a complete restarted manifest from reopening the stream.

Case contract

For a local replaceable-manifest cache, a complete response replaces terminal state; a partial/failed response leaves prior terminal state unchanged. Streams may be explicitly restarted.

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(previous_ended, response_ended, response_complete):
    return response_ended
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*(True, False, False)),True)
check('fixture 2',solve(*(False, True, True)),True)
check('fixture 3',solve(*(True, False, True)),False)
check('fixture 4',solve(*(False, False, False)),False)
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 1FalseTrueFailed
fixture 2TrueTruePassed
fixture 3FalseFalsePassed
fixture 4FalseFalsePassed

SHA-256 / 975b3e0156fd4a4b5483743113f8db0064e1566cf577361ecd0cc29b9239e107

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(previous_ended, response_ended, response_complete):
    return previous_ended or response_ended
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*(True, False, False)),True)
check('fixture 2',solve(*(False, True, True)),True)
check('fixture 3',solve(*(True, False, True)),False)
check('fixture 4',solve(*(False, False, False)),False)
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 1TrueTruePassed
fixture 2TrueTruePassed
fixture 3TrueFalseFailed
fixture 4FalseFalsePassed

SHA-256 / 87687faa6fbd5889f08714c66f22b69a7022339e5917ae0422f2a50b1cf81436

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(previous_ended, response_ended, response_complete):
    return response_ended if response_complete else previous_ended
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*(True, False, False)),True)
check('fixture 2',solve(*(False, True, True)),True)
check('fixture 3',solve(*(True, False, True)),False)
check('fixture 4',solve(*(False, False, False)),False)
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 1TrueTruePassed
fixture 2TrueTruePassed
fixture 3FalseFalsePassed
fixture 4FalseFalsePassed

SHA-256 / 23bada23e3083cd3ec2919b591ff2c02ffaca7c60238cd211ec7e975b8bc6ef0

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

Case digest / 158dad1316206ee08aecb1c07043d8df96f5814c58cabefa58d07b63d5657853