FA-26631 / HTTP ranges / Open access
Multipart source handles remain open until every part finishes · case 01
Multipart source handles remain open until every part finishes.
ROOT CAUSE
The stream-release-after-last-part decision uses return "release" if completed>0 or cancelled else "retain".
VERIFIED REPAIR
Apply the bounded decision exactly: return "release" if cancelled or completed==total else "retain"
Unsuccessful approach: The partial repair uses return "release" if completed==total else "retain", which still violates the stated contract.
Case contract
Return release on cancellation or when completed equals total; otherwise retain. Valid completed in[0,total].
Why this case matters
Range responses combine representation identity, conditional requests, framing, and partial-object state.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(completed, total, cancelled):
return "release" if completed>0 or cancelled else "retain"
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('stream-release-after-last-part fixture 0', solve(1,N+1,False), "retain")
check('stream-release-after-last-part fixture 1', solve(0,N,True), "release")
check('stream-release-after-last-part fixture 2', solve(N,N,False), "release")
check('stream-release-after-last-part fixture 3', solve(0,0,False), "release")
check('stream-release-after-last-part fixture 4', solve(0,N,False), "retain")
check('stream-release-after-last-part fixture 5', solve(N,N,True), "release")
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 |
|---|---|---|---|
| stream-release-after-last-part fixture 0 | release | retain | Failed |
| stream-release-after-last-part fixture 1 | release | release | Passed |
| stream-release-after-last-part fixture 2 | release | release | Passed |
| stream-release-after-last-part fixture 3 | retain | release | Failed |
| stream-release-after-last-part fixture 4 | retain | retain | Passed |
| stream-release-after-last-part fixture 5 | release | release | Passed |
SHA-256 / 749da6365c608f11b029e82c527d59b74aea9faac39342e17808b3a4bddda50f
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(completed, total, cancelled):
return "release" if completed==total else "retain"
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('stream-release-after-last-part fixture 0', solve(1,N+1,False), "retain")
check('stream-release-after-last-part fixture 1', solve(0,N,True), "release")
check('stream-release-after-last-part fixture 2', solve(N,N,False), "release")
check('stream-release-after-last-part fixture 3', solve(0,0,False), "release")
check('stream-release-after-last-part fixture 4', solve(0,N,False), "retain")
check('stream-release-after-last-part fixture 5', solve(N,N,True), "release")
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 |
|---|---|---|---|
| stream-release-after-last-part fixture 0 | retain | retain | Passed |
| stream-release-after-last-part fixture 1 | retain | release | Failed |
| stream-release-after-last-part fixture 2 | release | release | Passed |
| stream-release-after-last-part fixture 3 | release | release | Passed |
| stream-release-after-last-part fixture 4 | retain | retain | Passed |
| stream-release-after-last-part fixture 5 | release | release | Passed |
SHA-256 / 38e181a4668948a8b5e6af32b5a2f0de85fac5d24e56d07ca3c23d131fbc3cc1
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(completed, total, cancelled):
return "release" if cancelled or completed==total else "retain"
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('stream-release-after-last-part fixture 0', solve(1,N+1,False), "retain")
check('stream-release-after-last-part fixture 1', solve(0,N,True), "release")
check('stream-release-after-last-part fixture 2', solve(N,N,False), "release")
check('stream-release-after-last-part fixture 3', solve(0,0,False), "release")
check('stream-release-after-last-part fixture 4', solve(0,N,False), "retain")
check('stream-release-after-last-part fixture 5', solve(N,N,True), "release")
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 |
|---|---|---|---|
| stream-release-after-last-part fixture 0 | retain | retain | Passed |
| stream-release-after-last-part fixture 1 | release | release | Passed |
| stream-release-after-last-part fixture 2 | release | release | Passed |
| stream-release-after-last-part fixture 3 | release | release | Passed |
| stream-release-after-last-part fixture 4 | retain | retain | Passed |
| stream-release-after-last-part fixture 5 | release | release | Passed |
SHA-256 / f9863e5b848710818c207c8934571986e9e1c8d1d3fbb3b19c85d374746332ff
Verification & scope
Deterministic simplified range service, with stipulated local policies and already parsed trusted inputs; not a complete HTTP implementation. 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:41:17.711206+00:00.
Case digest / 3978cc54508c937316f5eb061607d176aa44e2c97d37961e24cbf21c74807a89