FA-27711 / HTTP ranges / Open access
A remote archive reader locates the central directory from a suffix range response: local directory slices use the recorded offset rather than end-record adjacency · case 01
A remote archive reader locates the central directory from a suffix range response: local directory slices use the recorded offset rather than end-record adjacency.
ROOT CAUSE
The remote-zip-directory-local-directory-index decision uses import struct T=x['total'] want=min(T,x['suffix']) head='bytes=-%d'%want if want>0 else None data=bytes.fromhex(x['tail']) base=T-len(data) p=len(data)-22 while p>=0: if data[p:p+4]==b'PK\x05\x06' and p+22+int.from_bytes(data[p+20:p+22],'little')==len(data): break p-=1 if p<0: return [head,None] disk,cddisk,n1,n2,size,off=struct.unpack_from('<HHHHII',data,p+4) if disk!=0 or cddisk!=0 or n1!=n2: return [head,None] eocd=base+p if off+size>eocd: return [head,None] if off>=base: return [head,['local',off,size]] return [head,['fetch','bytes=%d-%d'%(off,min(base,off+size)-1)]].
VERIFIED REPAIR
Apply the bounded decision exactly: import struct T=x['total'] want=min(T,x['suffix']) head='bytes=-%d'%want if want>0 else None data=bytes.fromhex(x['tail']) base=T-len(data) p=len(data)-22 while p>=0: if data[p:p+4]==b'PK\x05\x06' and p+22+int.from_bytes(data[p+20:p+22],'little')==len(data): break p-=1 if p<0: return [head,None] disk,cddisk,n1,n2,size,off=struct.unpack_from('<HHHHII',data,p+4) if disk!=0 or cddisk!=0 or n1!=n2: return [head,None] eocd=base+p if off+size>eocd: return [head,None] if off>=base: return [head,['local',off-base,size]] return [head,['fetch','bytes=%d-%d'%(off,min(base,off+size)-1)]]
Unsuccessful approach: The partial repair uses import struct T=x['total'] want=min(T,x['suffix']) head='bytes=-%d'%want if want>0 else None data=bytes.fromhex(x['tail']) base=T-len(data) p=len(data)-22 while p>=0: if data[p:p+4]==b'PK\x05\x06' and p+22+int.from_bytes(data[p+20:p+22],'little')==len(data): break p-=1 if p<0: return [head,None] disk,cddisk,n1,n2,size,off=struct.unpack_from('<HHHHII',data,p+4) if disk!=0 or cddisk!=0 or n1!=n2: return [head,None] eocd=base+p if off+size>eocd: return [head,None] if off>=base: return [head,['local',p-size,size]] return [head,['fetch','bytes=%d-%d'%(off,min(base,off+size)-1)]], which still violates the stated contract.
Case contract
x has total representation length, requested suffix length and the hex bytes of the suffix response (the last min(total,suffix) bytes). Emit the suffix Range value (null when it would be zero bytes). Scan backward for the end record signature PK\x05\x06 whose little-endian comment length makes the 22-byte record plus comment end exactly at the tail end. Reject multi-disk archives (disk or directory disk nonzero, or differing entry counts) and a directory that extends past the end record. A directory starting inside the tail is ["local",tail-index,size]; otherwise request only the missing prefix before the tail as ["fetch",inclusive range]. Output [suffix-range,plan-or-null].
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):
import struct
T=x['total']
want=min(T,x['suffix'])
head='bytes=-%d'%want if want>0 else None
data=bytes.fromhex(x['tail'])
base=T-len(data)
p=len(data)-22
while p>=0:
if data[p:p+4]==b'PK\x05\x06' and p+22+int.from_bytes(data[p+20:p+22],'little')==len(data): break
p-=1
if p<0: return [head,None]
disk,cddisk,n1,n2,size,off=struct.unpack_from('<HHHHII',data,p+4)
if disk!=0 or cddisk!=0 or n1!=n2: return [head,None]
eocd=base+p
if off+size>eocd: return [head,None]
if off>=base: return [head,['local',off,size]]
return [head,['fetch','bytes=%d-%d'%(off,min(base,off+size)-1)]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('local-directory-index fixture 0', json.loads(json.dumps(solve({'suffix':64,'tail':'0101010101010101010101010101010101010101434343434343434343434343434343434343504b0506000000000100010012000000140000000000','total':60}))), json.loads(json.dumps(['bytes=-60',['local',20,18]])))
check('local-directory-index fixture 1', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000000000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',['local',0,18]])))
check('local-directory-index fixture 2', json.loads(json.dumps(solve({'suffix':50,'tail':'43434343434343434343434343434343434300000000000000000000504b0506000000000100010012000000b60300000000','total':1000}))), json.loads(json.dumps(['bytes=-50',['local',0,18]])))
check('local-directory-index fixture 3', json.loads(json.dumps(solve({'suffix':30,'tail':'4343434343434343504b0506000000000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-30',['fetch','bytes=960-969']])))
check('local-directory-index fixture 4', json.loads(json.dumps(solve({'suffix':22,'tail':'504b050600000000010001004e000000840300000000','total':1000}))), json.loads(json.dumps(['bytes=-22',['fetch','bytes=900-977']])))
check('local-directory-index fixture 5', json.loads(json.dumps(solve({'suffix':25,'tail':'504b050600000000010001004b000000840300000300616263','total':1000}))), json.loads(json.dumps(['bytes=-25',['fetch','bytes=900-974']])))
check('local-directory-index fixture 6', json.loads(json.dumps(solve({'suffix':80,'tail':'434343434343434343434343434343434343504b0506000000000100010012000000880000001800504b05060000000001000100000000000000000000007a7a','total':200}))), json.loads(json.dumps(['bytes=-80',['local',0,18]])))
check('local-directory-index fixture 7', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000001000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 8', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506010001000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 9', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000000000100020012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 10', json.loads(json.dumps(solve({'suffix':100,'tail':'02020202020202020202020202020202020202020202020202020202020202020202020202020202504b05060000000001000100140000001e0000000000','total':62}))), json.loads(json.dumps(['bytes=-62',None])))
check('local-directory-index fixture 11', json.loads(json.dumps(solve({'suffix':30,'tail':'030303030303030303030303030303030303030303030303030303030303','total':30}))), json.loads(json.dumps(['bytes=-30',None])))
check('local-directory-index fixture 12', json.loads(json.dumps(solve({'suffix':30,'tail':'000000000000000000000000000000000000000000000000000000000000','total':30}))), json.loads(json.dumps(['bytes=-30',None])))
check('local-directory-index fixture 13', json.loads(json.dumps(solve({'suffix':64,'tail':'','total':0}))), json.loads(json.dumps([None,None])))
check('local-directory-index fixture 14', json.loads(json.dumps(solve({'suffix':64,'tail':'504b0506000000000000000000000000000000000000','total':22}))), json.loads(json.dumps(['bytes=-22',['local',0,0]])))
check('local-directory-index fixture 15', json.loads(json.dumps(solve({'suffix':32+N,'tail':"11"*10+"504b0506"+"00000000"+"01000100"+"0a000000"+(468-N).to_bytes(4,"little").hex()+(N).to_bytes(2,"little").hex()+"63"*N,'total':500}))), json.loads(json.dumps(["bytes=-%d"%(32+N),['local',0,10]])))
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 |
|---|---|---|---|
| local-directory-index fixture 0 | ['bytes=-60', ['local', 20, 18]] | ['bytes=-60', ['local', 20, 18]] | Passed |
| local-directory-index fixture 1 | ['bytes=-40', ['local', 960, 18]] | ['bytes=-40', ['local', 0, 18]] | Failed |
| local-directory-index fixture 2 | ['bytes=-50', ['local', 950, 18]] | ['bytes=-50', ['local', 0, 18]] | Failed |
| local-directory-index fixture 3 | ['bytes=-30', ['fetch', 'bytes=960-969']] | ['bytes=-30', ['fetch', 'bytes=960-969']] | Passed |
| local-directory-index fixture 4 | ['bytes=-22', ['fetch', 'bytes=900-977']] | ['bytes=-22', ['fetch', 'bytes=900-977']] | Passed |
| local-directory-index fixture 5 | ['bytes=-25', ['fetch', 'bytes=900-974']] | ['bytes=-25', ['fetch', 'bytes=900-974']] | Passed |
| local-directory-index fixture 6 | ['bytes=-80', ['local', 136, 18]] | ['bytes=-80', ['local', 0, 18]] | Failed |
| local-directory-index fixture 7 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 8 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 9 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 10 | ['bytes=-62', None] | ['bytes=-62', None] | Passed |
| local-directory-index fixture 11 | ['bytes=-30', None] | ['bytes=-30', None] | Passed |
| local-directory-index fixture 12 | ['bytes=-30', None] | ['bytes=-30', None] | Passed |
| local-directory-index fixture 13 | [None, None] | [None, None] | Passed |
| local-directory-index fixture 14 | ['bytes=-22', ['local', 0, 0]] | ['bytes=-22', ['local', 0, 0]] | Passed |
| local-directory-index fixture 15 | ['bytes=-33', ['local', 467, 10]] | ['bytes=-33', ['local', 0, 10]] | Failed |
SHA-256 / 9a90b4d8980b5039d3b4f1413f99f94e6497c5d29a8faf87f4ff6b93c0025bf5
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
import struct
T=x['total']
want=min(T,x['suffix'])
head='bytes=-%d'%want if want>0 else None
data=bytes.fromhex(x['tail'])
base=T-len(data)
p=len(data)-22
while p>=0:
if data[p:p+4]==b'PK\x05\x06' and p+22+int.from_bytes(data[p+20:p+22],'little')==len(data): break
p-=1
if p<0: return [head,None]
disk,cddisk,n1,n2,size,off=struct.unpack_from('<HHHHII',data,p+4)
if disk!=0 or cddisk!=0 or n1!=n2: return [head,None]
eocd=base+p
if off+size>eocd: return [head,None]
if off>=base: return [head,['local',p-size,size]]
return [head,['fetch','bytes=%d-%d'%(off,min(base,off+size)-1)]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('local-directory-index fixture 0', json.loads(json.dumps(solve({'suffix':64,'tail':'0101010101010101010101010101010101010101434343434343434343434343434343434343504b0506000000000100010012000000140000000000','total':60}))), json.loads(json.dumps(['bytes=-60',['local',20,18]])))
check('local-directory-index fixture 1', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000000000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',['local',0,18]])))
check('local-directory-index fixture 2', json.loads(json.dumps(solve({'suffix':50,'tail':'43434343434343434343434343434343434300000000000000000000504b0506000000000100010012000000b60300000000','total':1000}))), json.loads(json.dumps(['bytes=-50',['local',0,18]])))
check('local-directory-index fixture 3', json.loads(json.dumps(solve({'suffix':30,'tail':'4343434343434343504b0506000000000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-30',['fetch','bytes=960-969']])))
check('local-directory-index fixture 4', json.loads(json.dumps(solve({'suffix':22,'tail':'504b050600000000010001004e000000840300000000','total':1000}))), json.loads(json.dumps(['bytes=-22',['fetch','bytes=900-977']])))
check('local-directory-index fixture 5', json.loads(json.dumps(solve({'suffix':25,'tail':'504b050600000000010001004b000000840300000300616263','total':1000}))), json.loads(json.dumps(['bytes=-25',['fetch','bytes=900-974']])))
check('local-directory-index fixture 6', json.loads(json.dumps(solve({'suffix':80,'tail':'434343434343434343434343434343434343504b0506000000000100010012000000880000001800504b05060000000001000100000000000000000000007a7a','total':200}))), json.loads(json.dumps(['bytes=-80',['local',0,18]])))
check('local-directory-index fixture 7', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000001000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 8', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506010001000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 9', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000000000100020012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 10', json.loads(json.dumps(solve({'suffix':100,'tail':'02020202020202020202020202020202020202020202020202020202020202020202020202020202504b05060000000001000100140000001e0000000000','total':62}))), json.loads(json.dumps(['bytes=-62',None])))
check('local-directory-index fixture 11', json.loads(json.dumps(solve({'suffix':30,'tail':'030303030303030303030303030303030303030303030303030303030303','total':30}))), json.loads(json.dumps(['bytes=-30',None])))
check('local-directory-index fixture 12', json.loads(json.dumps(solve({'suffix':30,'tail':'000000000000000000000000000000000000000000000000000000000000','total':30}))), json.loads(json.dumps(['bytes=-30',None])))
check('local-directory-index fixture 13', json.loads(json.dumps(solve({'suffix':64,'tail':'','total':0}))), json.loads(json.dumps([None,None])))
check('local-directory-index fixture 14', json.loads(json.dumps(solve({'suffix':64,'tail':'504b0506000000000000000000000000000000000000','total':22}))), json.loads(json.dumps(['bytes=-22',['local',0,0]])))
check('local-directory-index fixture 15', json.loads(json.dumps(solve({'suffix':32+N,'tail':"11"*10+"504b0506"+"00000000"+"01000100"+"0a000000"+(468-N).to_bytes(4,"little").hex()+(N).to_bytes(2,"little").hex()+"63"*N,'total':500}))), json.loads(json.dumps(["bytes=-%d"%(32+N),['local',0,10]])))
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 |
|---|---|---|---|
| local-directory-index fixture 0 | ['bytes=-60', ['local', 20, 18]] | ['bytes=-60', ['local', 20, 18]] | Passed |
| local-directory-index fixture 1 | ['bytes=-40', ['local', 0, 18]] | ['bytes=-40', ['local', 0, 18]] | Passed |
| local-directory-index fixture 2 | ['bytes=-50', ['local', 10, 18]] | ['bytes=-50', ['local', 0, 18]] | Failed |
| local-directory-index fixture 3 | ['bytes=-30', ['fetch', 'bytes=960-969']] | ['bytes=-30', ['fetch', 'bytes=960-969']] | Passed |
| local-directory-index fixture 4 | ['bytes=-22', ['fetch', 'bytes=900-977']] | ['bytes=-22', ['fetch', 'bytes=900-977']] | Passed |
| local-directory-index fixture 5 | ['bytes=-25', ['fetch', 'bytes=900-974']] | ['bytes=-25', ['fetch', 'bytes=900-974']] | Passed |
| local-directory-index fixture 6 | ['bytes=-80', ['local', 0, 18]] | ['bytes=-80', ['local', 0, 18]] | Passed |
| local-directory-index fixture 7 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 8 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 9 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 10 | ['bytes=-62', None] | ['bytes=-62', None] | Passed |
| local-directory-index fixture 11 | ['bytes=-30', None] | ['bytes=-30', None] | Passed |
| local-directory-index fixture 12 | ['bytes=-30', None] | ['bytes=-30', None] | Passed |
| local-directory-index fixture 13 | [None, None] | [None, None] | Passed |
| local-directory-index fixture 14 | ['bytes=-22', ['local', 0, 0]] | ['bytes=-22', ['local', 0, 0]] | Passed |
| local-directory-index fixture 15 | ['bytes=-33', ['local', 0, 10]] | ['bytes=-33', ['local', 0, 10]] | Passed |
SHA-256 / b6d89d9fcc339af2a23d14106c17134d0805bf3537610201f70e7f23b8a872c9
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
import struct
T=x['total']
want=min(T,x['suffix'])
head='bytes=-%d'%want if want>0 else None
data=bytes.fromhex(x['tail'])
base=T-len(data)
p=len(data)-22
while p>=0:
if data[p:p+4]==b'PK\x05\x06' and p+22+int.from_bytes(data[p+20:p+22],'little')==len(data): break
p-=1
if p<0: return [head,None]
disk,cddisk,n1,n2,size,off=struct.unpack_from('<HHHHII',data,p+4)
if disk!=0 or cddisk!=0 or n1!=n2: return [head,None]
eocd=base+p
if off+size>eocd: return [head,None]
if off>=base: return [head,['local',off-base,size]]
return [head,['fetch','bytes=%d-%d'%(off,min(base,off+size)-1)]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('local-directory-index fixture 0', json.loads(json.dumps(solve({'suffix':64,'tail':'0101010101010101010101010101010101010101434343434343434343434343434343434343504b0506000000000100010012000000140000000000','total':60}))), json.loads(json.dumps(['bytes=-60',['local',20,18]])))
check('local-directory-index fixture 1', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000000000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',['local',0,18]])))
check('local-directory-index fixture 2', json.loads(json.dumps(solve({'suffix':50,'tail':'43434343434343434343434343434343434300000000000000000000504b0506000000000100010012000000b60300000000','total':1000}))), json.loads(json.dumps(['bytes=-50',['local',0,18]])))
check('local-directory-index fixture 3', json.loads(json.dumps(solve({'suffix':30,'tail':'4343434343434343504b0506000000000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-30',['fetch','bytes=960-969']])))
check('local-directory-index fixture 4', json.loads(json.dumps(solve({'suffix':22,'tail':'504b050600000000010001004e000000840300000000','total':1000}))), json.loads(json.dumps(['bytes=-22',['fetch','bytes=900-977']])))
check('local-directory-index fixture 5', json.loads(json.dumps(solve({'suffix':25,'tail':'504b050600000000010001004b000000840300000300616263','total':1000}))), json.loads(json.dumps(['bytes=-25',['fetch','bytes=900-974']])))
check('local-directory-index fixture 6', json.loads(json.dumps(solve({'suffix':80,'tail':'434343434343434343434343434343434343504b0506000000000100010012000000880000001800504b05060000000001000100000000000000000000007a7a','total':200}))), json.loads(json.dumps(['bytes=-80',['local',0,18]])))
check('local-directory-index fixture 7', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000001000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 8', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506010001000100010012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 9', json.loads(json.dumps(solve({'suffix':40,'tail':'434343434343434343434343434343434343504b0506000000000100020012000000c00300000000','total':1000}))), json.loads(json.dumps(['bytes=-40',None])))
check('local-directory-index fixture 10', json.loads(json.dumps(solve({'suffix':100,'tail':'02020202020202020202020202020202020202020202020202020202020202020202020202020202504b05060000000001000100140000001e0000000000','total':62}))), json.loads(json.dumps(['bytes=-62',None])))
check('local-directory-index fixture 11', json.loads(json.dumps(solve({'suffix':30,'tail':'030303030303030303030303030303030303030303030303030303030303','total':30}))), json.loads(json.dumps(['bytes=-30',None])))
check('local-directory-index fixture 12', json.loads(json.dumps(solve({'suffix':30,'tail':'000000000000000000000000000000000000000000000000000000000000','total':30}))), json.loads(json.dumps(['bytes=-30',None])))
check('local-directory-index fixture 13', json.loads(json.dumps(solve({'suffix':64,'tail':'','total':0}))), json.loads(json.dumps([None,None])))
check('local-directory-index fixture 14', json.loads(json.dumps(solve({'suffix':64,'tail':'504b0506000000000000000000000000000000000000','total':22}))), json.loads(json.dumps(['bytes=-22',['local',0,0]])))
check('local-directory-index fixture 15', json.loads(json.dumps(solve({'suffix':32+N,'tail':"11"*10+"504b0506"+"00000000"+"01000100"+"0a000000"+(468-N).to_bytes(4,"little").hex()+(N).to_bytes(2,"little").hex()+"63"*N,'total':500}))), json.loads(json.dumps(["bytes=-%d"%(32+N),['local',0,10]])))
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 |
|---|---|---|---|
| local-directory-index fixture 0 | ['bytes=-60', ['local', 20, 18]] | ['bytes=-60', ['local', 20, 18]] | Passed |
| local-directory-index fixture 1 | ['bytes=-40', ['local', 0, 18]] | ['bytes=-40', ['local', 0, 18]] | Passed |
| local-directory-index fixture 2 | ['bytes=-50', ['local', 0, 18]] | ['bytes=-50', ['local', 0, 18]] | Passed |
| local-directory-index fixture 3 | ['bytes=-30', ['fetch', 'bytes=960-969']] | ['bytes=-30', ['fetch', 'bytes=960-969']] | Passed |
| local-directory-index fixture 4 | ['bytes=-22', ['fetch', 'bytes=900-977']] | ['bytes=-22', ['fetch', 'bytes=900-977']] | Passed |
| local-directory-index fixture 5 | ['bytes=-25', ['fetch', 'bytes=900-974']] | ['bytes=-25', ['fetch', 'bytes=900-974']] | Passed |
| local-directory-index fixture 6 | ['bytes=-80', ['local', 0, 18]] | ['bytes=-80', ['local', 0, 18]] | Passed |
| local-directory-index fixture 7 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 8 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 9 | ['bytes=-40', None] | ['bytes=-40', None] | Passed |
| local-directory-index fixture 10 | ['bytes=-62', None] | ['bytes=-62', None] | Passed |
| local-directory-index fixture 11 | ['bytes=-30', None] | ['bytes=-30', None] | Passed |
| local-directory-index fixture 12 | ['bytes=-30', None] | ['bytes=-30', None] | Passed |
| local-directory-index fixture 13 | [None, None] | [None, None] | Passed |
| local-directory-index fixture 14 | ['bytes=-22', ['local', 0, 0]] | ['bytes=-22', ['local', 0, 0]] | Passed |
| local-directory-index fixture 15 | ['bytes=-33', ['local', 0, 10]] | ['bytes=-33', ['local', 0, 10]] | Passed |
SHA-256 / 3c13c62f97d042cc25edab319cedd4ea45637af00c63f9cbe87e85992dae9a8d
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:27.593382+00:00.
Case digest / 87d3aad9df74989644d693d0095a02297ad01e8b5d6459bacac56bfc6cd03fd7