FAILURE MAP
← Case archive

FA-26681 / HTTP ranges / Open access

A malformed member invalidates the whole stipulated strict range list · case 01

A malformed member invalidates the whole stipulated strict range list.

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

ROOT CAUSE

The range-list-invalid-member-policy decision uses return [p for p in parsed if p is not None].

VERIFIED REPAIR

Apply the bounded decision exactly: return parsed if parsed and all(p is not None for p in parsed) else None

Unsuccessful approach: The partial repair uses return parsed if parsed else None, which still violates the stated contract.

Case contract

Parsed entries are valid [start,end] pairs or None. Return list intact when nonempty and all valid; otherwise None, never silently filter malformed members.

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(parsed):
    return [p for p in parsed if p is not None]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('range-list-invalid-member-policy fixture 0', solve([[0,N],None]), None)
check('range-list-invalid-member-policy fixture 1', solve([None]), None)
check('range-list-invalid-member-policy fixture 2', solve([]), None)
check('range-list-invalid-member-policy fixture 3', solve([[0,N]]), [[0,N]])
check('range-list-invalid-member-policy fixture 4', solve([[0,0],[2,3]]), [[0,0],[2,3]])
check('range-list-invalid-member-policy fixture 5', solve([[N,N],[0,1]]), [[N,N],[0,1]])
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
range-list-invalid-member-policy fixture 0[[0, 1]]NoneFailed
range-list-invalid-member-policy fixture 1[]NoneFailed
range-list-invalid-member-policy fixture 2[]NoneFailed
range-list-invalid-member-policy fixture 3[[0, 1]][[0, 1]]Passed
range-list-invalid-member-policy fixture 4[[0, 0], [2, 3]][[0, 0], [2, 3]]Passed
range-list-invalid-member-policy fixture 5[[1, 1], [0, 1]][[1, 1], [0, 1]]Passed

SHA-256 / 8fe18553f4200a04f6abb2ff9c9d59039d3d85da38c9e913ea7d7c13769ce863

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(parsed):
    return parsed if parsed else None
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('range-list-invalid-member-policy fixture 0', solve([[0,N],None]), None)
check('range-list-invalid-member-policy fixture 1', solve([None]), None)
check('range-list-invalid-member-policy fixture 2', solve([]), None)
check('range-list-invalid-member-policy fixture 3', solve([[0,N]]), [[0,N]])
check('range-list-invalid-member-policy fixture 4', solve([[0,0],[2,3]]), [[0,0],[2,3]])
check('range-list-invalid-member-policy fixture 5', solve([[N,N],[0,1]]), [[N,N],[0,1]])
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
range-list-invalid-member-policy fixture 0[[0, 1], None]NoneFailed
range-list-invalid-member-policy fixture 1[None]NoneFailed
range-list-invalid-member-policy fixture 2NoneNonePassed
range-list-invalid-member-policy fixture 3[[0, 1]][[0, 1]]Passed
range-list-invalid-member-policy fixture 4[[0, 0], [2, 3]][[0, 0], [2, 3]]Passed
range-list-invalid-member-policy fixture 5[[1, 1], [0, 1]][[1, 1], [0, 1]]Passed

SHA-256 / 50766f1bce80cdfb536090a54f83cc1ed321f540e4f3ebd2fe10cc6da29ac2a9

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(parsed):
    return parsed if parsed and all(p is not None for p in parsed) else None
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('range-list-invalid-member-policy fixture 0', solve([[0,N],None]), None)
check('range-list-invalid-member-policy fixture 1', solve([None]), None)
check('range-list-invalid-member-policy fixture 2', solve([]), None)
check('range-list-invalid-member-policy fixture 3', solve([[0,N]]), [[0,N]])
check('range-list-invalid-member-policy fixture 4', solve([[0,0],[2,3]]), [[0,0],[2,3]])
check('range-list-invalid-member-policy fixture 5', solve([[N,N],[0,1]]), [[N,N],[0,1]])
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
range-list-invalid-member-policy fixture 0NoneNonePassed
range-list-invalid-member-policy fixture 1NoneNonePassed
range-list-invalid-member-policy fixture 2NoneNonePassed
range-list-invalid-member-policy fixture 3[[0, 1]][[0, 1]]Passed
range-list-invalid-member-policy fixture 4[[0, 0], [2, 3]][[0, 0], [2, 3]]Passed
range-list-invalid-member-policy fixture 5[[1, 1], [0, 1]][[1, 1], [0, 1]]Passed

SHA-256 / 39efc3f6ddd2812c2c4e623c3ad62a0f1eb6dd4133fe719011f96cbcf9a69d0d

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

Case digest / c541b4e6d9ad8b7a60e845a0971cf1450df503f210de4c84602b980ba08db64a