FAILURE MAP
← Case archive

FA-27431 / HTTP ranges / Open access

An upload status endpoint reports committed byte coverage: the resumable prefix stops at the first byte hole · case 01

An upload status endpoint reports committed byte coverage: the resumable prefix stops at the first byte hole.

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

ROOT CAUSE

The upload-coverage-probe-prefix-holes decision uses positions=sorted(set(x['committed'])) if any(p<0 or p>=x['total'] for p in positions): return None runs=[] for p in positions: if runs and p==runs[-1][1]+1: runs[-1][1]=p else: runs.append([p,p]) field='bytes='+','.join(str(a)+'-'+str(b) for a,b in runs) if runs else None prefix=0 for p in positions: if p!=prefix: prefix=p prefix+=1 state='complete' if len(positions)==x['total'] else 'partial' return [state,field,prefix].

VERIFIED REPAIR

Apply the bounded decision exactly: positions=sorted(set(x['committed'])) if any(p<0 or p>=x['total'] for p in positions): return None runs=[] for p in positions: if runs and p==runs[-1][1]+1: runs[-1][1]=p else: runs.append([p,p]) field='bytes='+','.join(str(a)+'-'+str(b) for a,b in runs) if runs else None prefix=0 for p in positions: if p!=prefix: break prefix+=1 state='complete' if len(positions)==x['total'] else 'partial' return [state,field,prefix]

Unsuccessful approach: The partial repair uses positions=sorted(set(x['committed'])) if any(p<0 or p>=x['total'] for p in positions): return None runs=[] for p in positions: if runs and p==runs[-1][1]+1: runs[-1][1]=p else: runs.append([p,p]) field='bytes='+','.join(str(a)+'-'+str(b) for a,b in runs) if runs else None prefix=0 for p in positions: if p>prefix+1: break prefix+=1 state='complete' if len(positions)==x['total'] else 'partial' return [state,field,prefix], which still violates the stated contract.

Case contract

x has a nonnegative complete length and committed byte offsets, which may repeat or arrive unordered. Reject offsets outside the representation. Return [complete|partial,acknowledged-range-field-or-null,next-missing-prefix-offset]. The local acknowledged field uses bytes= followed by comma-separated inclusive runs. Empty coverage has null header; an empty representation is complete. next-missing is the end of the committed contiguous prefix, not the highest written offset.

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(x):
    positions=sorted(set(x['committed']))
    if any(p<0 or p>=x['total'] for p in positions): return None
    runs=[]
    for p in positions:
        if runs and p==runs[-1][1]+1:
            runs[-1][1]=p
        else:
            runs.append([p,p])
    field='bytes='+','.join(str(a)+'-'+str(b) for a,b in runs) if runs else None
    prefix=0
    for p in positions:
        if p!=prefix: prefix=p
        prefix+=1
    state='complete' if len(positions)==x['total'] else 'partial'
    return [state,field,prefix]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('prefix-holes fixture 0', json.loads(json.dumps(solve({'total':7,'committed':[4,0,1,5,1]}))), json.loads(json.dumps(['partial','bytes=0-1,4-5',2])))
check('prefix-holes fixture 1', json.loads(json.dumps(solve({'total':3,'committed':[2,0,1]}))), json.loads(json.dumps(['complete','bytes=0-2',3])))
check('prefix-holes fixture 2', json.loads(json.dumps(solve({'total':0,'committed':[]}))), json.loads(json.dumps(['complete',None,0])))
check('prefix-holes fixture 3', json.loads(json.dumps(solve({'total':4,'committed':[2,3]}))), json.loads(json.dumps(['partial','bytes=2-3',0])))
check('prefix-holes fixture 4', json.loads(json.dumps(solve({'total':4,'committed':[0,2]}))), json.loads(json.dumps(['partial','bytes=0-0,2-2',1])))
check('prefix-holes fixture 5', json.loads(json.dumps(solve({'total':N+1,'committed':list(range(N))}))), json.loads(json.dumps(['partial',"bytes=0-"+str(N-1),N])))
check('prefix-holes fixture 6', json.loads(json.dumps(solve({'total':3,'committed':[3]}))), json.loads(json.dumps(None)))
check('prefix-holes fixture 7', json.loads(json.dumps(solve({'total':3,'committed':[-1]}))), json.loads(json.dumps(None)))
check('prefix-holes fixture 8', json.loads(json.dumps(solve({'total':3,'committed':[]}))), json.loads(json.dumps(['partial',None,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
prefix-holes fixture 0['partial', 'bytes=0-1,4-5', 6]['partial', 'bytes=0-1,4-5', 2]Failed
prefix-holes fixture 1['complete', 'bytes=0-2', 3]['complete', 'bytes=0-2', 3]Passed
prefix-holes fixture 2['complete', None, 0]['complete', None, 0]Passed
prefix-holes fixture 3['partial', 'bytes=2-3', 4]['partial', 'bytes=2-3', 0]Failed
prefix-holes fixture 4['partial', 'bytes=0-0,2-2', 3]['partial', 'bytes=0-0,2-2', 1]Failed
prefix-holes fixture 5['partial', 'bytes=0-0', 1]['partial', 'bytes=0-0', 1]Passed
prefix-holes fixture 6NoneNonePassed
prefix-holes fixture 7NoneNonePassed
prefix-holes fixture 8['partial', None, 0]['partial', None, 0]Passed

SHA-256 / 01b9a10eafb33068303fe32ff0b2d292aee55335058131e6fede10dee3f4656a

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    positions=sorted(set(x['committed']))
    if any(p<0 or p>=x['total'] for p in positions): return None
    runs=[]
    for p in positions:
        if runs and p==runs[-1][1]+1:
            runs[-1][1]=p
        else:
            runs.append([p,p])
    field='bytes='+','.join(str(a)+'-'+str(b) for a,b in runs) if runs else None
    prefix=0
    for p in positions:
        if p>prefix+1: break
        prefix+=1
    state='complete' if len(positions)==x['total'] else 'partial'
    return [state,field,prefix]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('prefix-holes fixture 0', json.loads(json.dumps(solve({'total':7,'committed':[4,0,1,5,1]}))), json.loads(json.dumps(['partial','bytes=0-1,4-5',2])))
check('prefix-holes fixture 1', json.loads(json.dumps(solve({'total':3,'committed':[2,0,1]}))), json.loads(json.dumps(['complete','bytes=0-2',3])))
check('prefix-holes fixture 2', json.loads(json.dumps(solve({'total':0,'committed':[]}))), json.loads(json.dumps(['complete',None,0])))
check('prefix-holes fixture 3', json.loads(json.dumps(solve({'total':4,'committed':[2,3]}))), json.loads(json.dumps(['partial','bytes=2-3',0])))
check('prefix-holes fixture 4', json.loads(json.dumps(solve({'total':4,'committed':[0,2]}))), json.loads(json.dumps(['partial','bytes=0-0,2-2',1])))
check('prefix-holes fixture 5', json.loads(json.dumps(solve({'total':N+1,'committed':list(range(N))}))), json.loads(json.dumps(['partial',"bytes=0-"+str(N-1),N])))
check('prefix-holes fixture 6', json.loads(json.dumps(solve({'total':3,'committed':[3]}))), json.loads(json.dumps(None)))
check('prefix-holes fixture 7', json.loads(json.dumps(solve({'total':3,'committed':[-1]}))), json.loads(json.dumps(None)))
check('prefix-holes fixture 8', json.loads(json.dumps(solve({'total':3,'committed':[]}))), json.loads(json.dumps(['partial',None,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
prefix-holes fixture 0['partial', 'bytes=0-1,4-5', 2]['partial', 'bytes=0-1,4-5', 2]Passed
prefix-holes fixture 1['complete', 'bytes=0-2', 3]['complete', 'bytes=0-2', 3]Passed
prefix-holes fixture 2['complete', None, 0]['complete', None, 0]Passed
prefix-holes fixture 3['partial', 'bytes=2-3', 0]['partial', 'bytes=2-3', 0]Passed
prefix-holes fixture 4['partial', 'bytes=0-0,2-2', 2]['partial', 'bytes=0-0,2-2', 1]Failed
prefix-holes fixture 5['partial', 'bytes=0-0', 1]['partial', 'bytes=0-0', 1]Passed
prefix-holes fixture 6NoneNonePassed
prefix-holes fixture 7NoneNonePassed
prefix-holes fixture 8['partial', None, 0]['partial', None, 0]Passed

SHA-256 / 54209d00e3bea9b5e520bc2faf76fca2241a2578a95d37f5f3a16ebcd2c5cd59

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    positions=sorted(set(x['committed']))
    if any(p<0 or p>=x['total'] for p in positions): return None
    runs=[]
    for p in positions:
        if runs and p==runs[-1][1]+1:
            runs[-1][1]=p
        else:
            runs.append([p,p])
    field='bytes='+','.join(str(a)+'-'+str(b) for a,b in runs) if runs else None
    prefix=0
    for p in positions:
        if p!=prefix: break
        prefix+=1
    state='complete' if len(positions)==x['total'] else 'partial'
    return [state,field,prefix]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('prefix-holes fixture 0', json.loads(json.dumps(solve({'total':7,'committed':[4,0,1,5,1]}))), json.loads(json.dumps(['partial','bytes=0-1,4-5',2])))
check('prefix-holes fixture 1', json.loads(json.dumps(solve({'total':3,'committed':[2,0,1]}))), json.loads(json.dumps(['complete','bytes=0-2',3])))
check('prefix-holes fixture 2', json.loads(json.dumps(solve({'total':0,'committed':[]}))), json.loads(json.dumps(['complete',None,0])))
check('prefix-holes fixture 3', json.loads(json.dumps(solve({'total':4,'committed':[2,3]}))), json.loads(json.dumps(['partial','bytes=2-3',0])))
check('prefix-holes fixture 4', json.loads(json.dumps(solve({'total':4,'committed':[0,2]}))), json.loads(json.dumps(['partial','bytes=0-0,2-2',1])))
check('prefix-holes fixture 5', json.loads(json.dumps(solve({'total':N+1,'committed':list(range(N))}))), json.loads(json.dumps(['partial',"bytes=0-"+str(N-1),N])))
check('prefix-holes fixture 6', json.loads(json.dumps(solve({'total':3,'committed':[3]}))), json.loads(json.dumps(None)))
check('prefix-holes fixture 7', json.loads(json.dumps(solve({'total':3,'committed':[-1]}))), json.loads(json.dumps(None)))
check('prefix-holes fixture 8', json.loads(json.dumps(solve({'total':3,'committed':[]}))), json.loads(json.dumps(['partial',None,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
prefix-holes fixture 0['partial', 'bytes=0-1,4-5', 2]['partial', 'bytes=0-1,4-5', 2]Passed
prefix-holes fixture 1['complete', 'bytes=0-2', 3]['complete', 'bytes=0-2', 3]Passed
prefix-holes fixture 2['complete', None, 0]['complete', None, 0]Passed
prefix-holes fixture 3['partial', 'bytes=2-3', 0]['partial', 'bytes=2-3', 0]Passed
prefix-holes fixture 4['partial', 'bytes=0-0,2-2', 1]['partial', 'bytes=0-0,2-2', 1]Passed
prefix-holes fixture 5['partial', 'bytes=0-0', 1]['partial', 'bytes=0-0', 1]Passed
prefix-holes fixture 6NoneNonePassed
prefix-holes fixture 7NoneNonePassed
prefix-holes fixture 8['partial', None, 0]['partial', None, 0]Passed

SHA-256 / 41d2c4b4f6bc1abbdcf4f76c37b875e81cf4ad559edd4a094a26d8b35b6f44a4

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

Case digest / a673e0cb70709c8bb83112590d64cbcf08c4fc2950250af6c20ffaf7068ff985