FA-27416 / HTTP ranges / Open access
An upload status endpoint reports committed byte coverage: extending a run changes its end while retaining its initial byte · case 01
An upload status endpoint reports committed byte coverage: extending a run changes its end while retaining its initial byte.
ROOT CAUSE
The upload-coverage-probe-run-tail-update 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]=[p,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].
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][0]=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], 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]=[p,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('run-tail-update 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('run-tail-update fixture 1', json.loads(json.dumps(solve({'total':3,'committed':[2,0,1]}))), json.loads(json.dumps(['complete','bytes=0-2',3])))
check('run-tail-update fixture 2', json.loads(json.dumps(solve({'total':0,'committed':[]}))), json.loads(json.dumps(['complete',None,0])))
check('run-tail-update fixture 3', json.loads(json.dumps(solve({'total':4,'committed':[2,3]}))), json.loads(json.dumps(['partial','bytes=2-3',0])))
check('run-tail-update fixture 4', json.loads(json.dumps(solve({'total':4,'committed':[0,2]}))), json.loads(json.dumps(['partial','bytes=0-0,2-2',1])))
check('run-tail-update 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('run-tail-update fixture 6', json.loads(json.dumps(solve({'total':3,'committed':[3]}))), json.loads(json.dumps(None)))
check('run-tail-update fixture 7', json.loads(json.dumps(solve({'total':3,'committed':[-1]}))), json.loads(json.dumps(None)))
check('run-tail-update 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| run-tail-update fixture 0 | ['partial', 'bytes=1-1,5-5', 2] | ['partial', 'bytes=0-1,4-5', 2] | Failed |
| run-tail-update fixture 1 | ['complete', 'bytes=2-2', 3] | ['complete', 'bytes=0-2', 3] | Failed |
| run-tail-update fixture 2 | ['complete', None, 0] | ['complete', None, 0] | Passed |
| run-tail-update fixture 3 | ['partial', 'bytes=3-3', 0] | ['partial', 'bytes=2-3', 0] | Failed |
| run-tail-update fixture 4 | ['partial', 'bytes=0-0,2-2', 1] | ['partial', 'bytes=0-0,2-2', 1] | Passed |
| run-tail-update fixture 5 | ['partial', 'bytes=0-0', 1] | ['partial', 'bytes=0-0', 1] | Passed |
| run-tail-update fixture 6 | None | None | Passed |
| run-tail-update fixture 7 | None | None | Passed |
| run-tail-update fixture 8 | ['partial', None, 0] | ['partial', None, 0] | Passed |
SHA-256 / 664520e19f13691df5829dc97d04a22136779bb73e8bda863abfc78e65cf90ee
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][0]=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('run-tail-update 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('run-tail-update fixture 1', json.loads(json.dumps(solve({'total':3,'committed':[2,0,1]}))), json.loads(json.dumps(['complete','bytes=0-2',3])))
check('run-tail-update fixture 2', json.loads(json.dumps(solve({'total':0,'committed':[]}))), json.loads(json.dumps(['complete',None,0])))
check('run-tail-update fixture 3', json.loads(json.dumps(solve({'total':4,'committed':[2,3]}))), json.loads(json.dumps(['partial','bytes=2-3',0])))
check('run-tail-update fixture 4', json.loads(json.dumps(solve({'total':4,'committed':[0,2]}))), json.loads(json.dumps(['partial','bytes=0-0,2-2',1])))
check('run-tail-update 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('run-tail-update fixture 6', json.loads(json.dumps(solve({'total':3,'committed':[3]}))), json.loads(json.dumps(None)))
check('run-tail-update fixture 7', json.loads(json.dumps(solve({'total':3,'committed':[-1]}))), json.loads(json.dumps(None)))
check('run-tail-update 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| run-tail-update fixture 0 | ['partial', 'bytes=1-0,5-4', 2] | ['partial', 'bytes=0-1,4-5', 2] | Failed |
| run-tail-update fixture 1 | ['complete', 'bytes=1-0,2-2', 3] | ['complete', 'bytes=0-2', 3] | Failed |
| run-tail-update fixture 2 | ['complete', None, 0] | ['complete', None, 0] | Passed |
| run-tail-update fixture 3 | ['partial', 'bytes=3-2', 0] | ['partial', 'bytes=2-3', 0] | Failed |
| run-tail-update fixture 4 | ['partial', 'bytes=0-0,2-2', 1] | ['partial', 'bytes=0-0,2-2', 1] | Passed |
| run-tail-update fixture 5 | ['partial', 'bytes=0-0', 1] | ['partial', 'bytes=0-0', 1] | Passed |
| run-tail-update fixture 6 | None | None | Passed |
| run-tail-update fixture 7 | None | None | Passed |
| run-tail-update fixture 8 | ['partial', None, 0] | ['partial', None, 0] | Passed |
SHA-256 / 9b7802259b2b45288f01b97b7faf2be44c745e63e4d0303893b1a423ce86acc1
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('run-tail-update 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('run-tail-update fixture 1', json.loads(json.dumps(solve({'total':3,'committed':[2,0,1]}))), json.loads(json.dumps(['complete','bytes=0-2',3])))
check('run-tail-update fixture 2', json.loads(json.dumps(solve({'total':0,'committed':[]}))), json.loads(json.dumps(['complete',None,0])))
check('run-tail-update fixture 3', json.loads(json.dumps(solve({'total':4,'committed':[2,3]}))), json.loads(json.dumps(['partial','bytes=2-3',0])))
check('run-tail-update fixture 4', json.loads(json.dumps(solve({'total':4,'committed':[0,2]}))), json.loads(json.dumps(['partial','bytes=0-0,2-2',1])))
check('run-tail-update 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('run-tail-update fixture 6', json.loads(json.dumps(solve({'total':3,'committed':[3]}))), json.loads(json.dumps(None)))
check('run-tail-update fixture 7', json.loads(json.dumps(solve({'total':3,'committed':[-1]}))), json.loads(json.dumps(None)))
check('run-tail-update 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| run-tail-update fixture 0 | ['partial', 'bytes=0-1,4-5', 2] | ['partial', 'bytes=0-1,4-5', 2] | Passed |
| run-tail-update fixture 1 | ['complete', 'bytes=0-2', 3] | ['complete', 'bytes=0-2', 3] | Passed |
| run-tail-update fixture 2 | ['complete', None, 0] | ['complete', None, 0] | Passed |
| run-tail-update fixture 3 | ['partial', 'bytes=2-3', 0] | ['partial', 'bytes=2-3', 0] | Passed |
| run-tail-update fixture 4 | ['partial', 'bytes=0-0,2-2', 1] | ['partial', 'bytes=0-0,2-2', 1] | Passed |
| run-tail-update fixture 5 | ['partial', 'bytes=0-0', 1] | ['partial', 'bytes=0-0', 1] | Passed |
| run-tail-update fixture 6 | None | None | Passed |
| run-tail-update fixture 7 | None | None | Passed |
| run-tail-update fixture 8 | ['partial', None, 0] | ['partial', None, 0] | Passed |
SHA-256 / 80d9b80e0289cd9f425e452ea0b9059466aeb7afb93ccc53a1422da54768b07c
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:24.883768+00:00.
Case digest / c1d4a3b8f27a7668cf22698180f5e60103b8cbd6f3d2ae7846134d1ea54f2e37