{"abstract":"A delta downloader reuses matching local blocks and fetches the rest with batched ranges: a short local tail block is not a reusable full block.","category":"HTTP ranges","checks":13,"contract":"x has remote total length, block size, one remote digest per block (the last block may be short), local digests per local block with the local file length, and a per-request range limit R>=1. Reject nonpositive block size, negative total, or a manifest whose count is not ceil(total/block). Only complete local blocks may be copied; a full remote block whose digest occurs at any local position is copied from the first such complete local block as [dest-offset,source-offset,length]. The short final remote block is always fetched. Missing bytes form maximal adjacent inclusive runs, sent in consecutive batches of at most R ranges. Return [copies,Range values].","contract_signature":"x","evaluation_group":"s3-http_ranges-delta-block-fetch","failed_approach":"The partial repair uses T=x['total']\nB=x['block']\nremote=x['remote']\nif B<=0 or T<0 or len(remote)!=-(-T//B): return None\nwhere={}\nfor j,d in enumerate(x['local']):\n    if (j+1)*B<x['local_total']: where.setdefault(d,j)\ncopies=[]\nruns=[]\nfor i,d in enumerate(remote):\n    n=min(B,T-i*B)\n    if d in where and n==B:\n        copies.append([i*B,where[d]*B,n])\n        continue\n    if runs and runs[-1][1]==i*B-1: runs[-1][1]=i*B+n-1\n    else: runs.append([i*B,i*B+n-1])\nR=x['max_ranges']\nheaders=[]\nfor k in range(0,len(runs),R):\n    headers.append('bytes='+','.join('%d-%d'%(a,b) for a,b in runs[k:k+R]))\nreturn [copies,headers], which still violates the stated contract.","family":"s3-http_ranges-delta-block-fetch-local-short-block","id":"FA-27761","implementations":{"attempt":{"sha256":"d3f0b4de6f60b37cbdef009c51bcb2671cf5f3e5515a1211206a0b1bc98e4b78","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    T=x['total']\n    B=x['block']\n    remote=x['remote']\n    if B<=0 or T<0 or len(remote)!=-(-T//B): return None\n    where={}\n    for j,d in enumerate(x['local']):\n        if (j+1)*B<x['local_total']: where.setdefault(d,j)\n    copies=[]\n    runs=[]\n    for i,d in enumerate(remote):\n        n=min(B,T-i*B)\n        if d in where and n==B:\n            copies.append([i*B,where[d]*B,n])\n            continue\n        if runs and runs[-1][1]==i*B-1: runs[-1][1]=i*B+n-1\n        else: runs.append([i*B,i*B+n-1])\n    R=x['max_ranges']\n    headers=[]\n    for k in range(0,len(runs),R):\n        headers.append('bytes='+','.join('%d-%d'%(a,b) for a,b in runs[k:k+R]))\n    return [copies,headers]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('local-short-block fixture 0', json.loads(json.dumps(solve({'block':4,'local':['b','x'],'local_total':8,'max_ranges':2,'remote':['a','b','c'],'total':10}))), json.loads(json.dumps([[[4,0,4]],['bytes=0-3,8-9']])))\ncheck('local-short-block fixture 1', json.loads(json.dumps(solve({'block':4,'local':['z','z','a'],'local_total':12,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps([[[0,8,4]],['bytes=4-7']])))\ncheck('local-short-block fixture 2', json.loads(json.dumps(solve({'block':4,'local':['t','a','b'],'local_total':12,'max_ranges':2,'remote':['a','b','t'],'total':10}))), json.loads(json.dumps([[[0,4,4],[4,8,4]],['bytes=8-9']])))\ncheck('local-short-block fixture 3', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps([[],['bytes=0-7']])))\ncheck('local-short-block fixture 4', json.loads(json.dumps(solve({'block':4,'local':['k'],'local_total':4,'max_ranges':2,'remote':['a','k','b','k','c','k'],'total':24}))), json.loads(json.dumps([[[4,0,4],[12,0,4],[20,0,4]],['bytes=0-3,8-11','bytes=16-19']])))\ncheck('local-short-block fixture 5', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b'],'total':10}))), json.loads(json.dumps(None)))\ncheck('local-short-block fixture 6', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b','c'],'total':8}))), json.loads(json.dumps(None)))\ncheck('local-short-block fixture 7', json.loads(json.dumps(solve({'block':4,'local':['s'],'local_total':2,'max_ranges':2,'remote':['a','s'],'total':8}))), json.loads(json.dumps([[],['bytes=0-7']])))\ncheck('local-short-block fixture 8', json.loads(json.dumps(solve({'block':4,'local':['a'],'local_total':4,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps([[[0,0,4]],['bytes=4-7']])))\ncheck('local-short-block fixture 9', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':[],'total':0}))), json.loads(json.dumps([[],[]])))\ncheck('local-short-block fixture 10', json.loads(json.dumps(solve({'block':0,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps(None)))\ncheck('local-short-block fixture 11', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':1,'remote':['a','b','c'],'total':12}))), json.loads(json.dumps([[],['bytes=0-11']])))\ncheck('local-short-block fixture 12', json.loads(json.dumps(solve({'block':4,'local':['h'],'local_total':4,'max_ranges':2,'remote':[\"h\"]*N,'total':4*N}))), json.loads(json.dumps([[[4*i,0,4] for i in range(N)],[]])))\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"faecaf9f920923f0fa98a627ff74e76249e775bf2c4b3ebd9663a4491b9f07b2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    T=x['total']\n    B=x['block']\n    remote=x['remote']\n    if B<=0 or T<0 or len(remote)!=-(-T//B): return None\n    where={}\n    for j,d in enumerate(x['local']):\n        where.setdefault(d,j)\n    copies=[]\n    runs=[]\n    for i,d in enumerate(remote):\n        n=min(B,T-i*B)\n        if d in where and n==B:\n            copies.append([i*B,where[d]*B,n])\n            continue\n        if runs and runs[-1][1]==i*B-1: runs[-1][1]=i*B+n-1\n        else: runs.append([i*B,i*B+n-1])\n    R=x['max_ranges']\n    headers=[]\n    for k in range(0,len(runs),R):\n        headers.append('bytes='+','.join('%d-%d'%(a,b) for a,b in runs[k:k+R]))\n    return [copies,headers]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('local-short-block fixture 0', json.loads(json.dumps(solve({'block':4,'local':['b','x'],'local_total':8,'max_ranges':2,'remote':['a','b','c'],'total':10}))), json.loads(json.dumps([[[4,0,4]],['bytes=0-3,8-9']])))\ncheck('local-short-block fixture 1', json.loads(json.dumps(solve({'block':4,'local':['z','z','a'],'local_total':12,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps([[[0,8,4]],['bytes=4-7']])))\ncheck('local-short-block fixture 2', json.loads(json.dumps(solve({'block':4,'local':['t','a','b'],'local_total':12,'max_ranges':2,'remote':['a','b','t'],'total':10}))), json.loads(json.dumps([[[0,4,4],[4,8,4]],['bytes=8-9']])))\ncheck('local-short-block fixture 3', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps([[],['bytes=0-7']])))\ncheck('local-short-block fixture 4', json.loads(json.dumps(solve({'block':4,'local':['k'],'local_total':4,'max_ranges':2,'remote':['a','k','b','k','c','k'],'total':24}))), json.loads(json.dumps([[[4,0,4],[12,0,4],[20,0,4]],['bytes=0-3,8-11','bytes=16-19']])))\ncheck('local-short-block fixture 5', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b'],'total':10}))), json.loads(json.dumps(None)))\ncheck('local-short-block fixture 6', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b','c'],'total':8}))), json.loads(json.dumps(None)))\ncheck('local-short-block fixture 7', json.loads(json.dumps(solve({'block':4,'local':['s'],'local_total':2,'max_ranges':2,'remote':['a','s'],'total':8}))), json.loads(json.dumps([[],['bytes=0-7']])))\ncheck('local-short-block fixture 8', json.loads(json.dumps(solve({'block':4,'local':['a'],'local_total':4,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps([[[0,0,4]],['bytes=4-7']])))\ncheck('local-short-block fixture 9', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':[],'total':0}))), json.loads(json.dumps([[],[]])))\ncheck('local-short-block fixture 10', json.loads(json.dumps(solve({'block':0,'local':[],'local_total':0,'max_ranges':2,'remote':['a','b'],'total':8}))), json.loads(json.dumps(None)))\ncheck('local-short-block fixture 11', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':1,'remote':['a','b','c'],'total':12}))), json.loads(json.dumps([[],['bytes=0-11']])))\ncheck('local-short-block fixture 12', json.loads(json.dumps(solve({'block':4,'local':['h'],'local_total':4,'max_ranges':2,'remote':[\"h\"]*N,'total':4*N}))), json.loads(json.dumps([[[4*i,0,4] for i in range(N)],[]])))\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-http_ranges-delta-block-fetch-local-short-block","generated_at":"2026-09-29T14:41:27.969820+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Range responses combine representation identity, conditional requests, framing, and partial-object state.","root_cause":"The delta-block-fetch-local-short-block decision uses T=x['total']\nB=x['block']\nremote=x['remote']\nif B<=0 or T<0 or len(remote)!=-(-T//B): return None\nwhere={}\nfor j,d in enumerate(x['local']):\n    where.setdefault(d,j)\ncopies=[]\nruns=[]\nfor i,d in enumerate(remote):\n    n=min(B,T-i*B)\n    if d in where and n==B:\n        copies.append([i*B,where[d]*B,n])\n        continue\n    if runs and runs[-1][1]==i*B-1: runs[-1][1]=i*B+n-1\n    else: runs.append([i*B,i*B+n-1])\nR=x['max_ranges']\nheaders=[]\nfor k in range(0,len(runs),R):\n    headers.append('bytes='+','.join('%d-%d'%(a,b) for a,b in runs[k:k+R]))\nreturn [copies,headers].","sha256":"4a1b72cd6d453feaf733a53a6643b9171d27e59d45ff5517e111af5c3925d5c8","title":"A delta downloader reuses matching local blocks and fetches the rest with batched ranges: a short local tail block is not a reusable full block · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.957,"exit_code":1,"observations":[{"actual":[[[4,0,4]],["bytes=0-3,8-9"]],"check":"local-short-block fixture 0","expected":[[[4,0,4]],["bytes=0-3,8-9"]],"passed":true},{"actual":[[],["bytes=0-7"]],"check":"local-short-block fixture 1","expected":[[[0,8,4]],["bytes=4-7"]],"passed":false},{"actual":[[[0,4,4]],["bytes=4-9"]],"check":"local-short-block fixture 2","expected":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"passed":false},{"actual":[[],["bytes=0-7"]],"check":"local-short-block fixture 3","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[],["bytes=0-23"]],"check":"local-short-block fixture 4","expected":[[[4,0,4],[12,0,4],[20,0,4]],["bytes=0-3,8-11","bytes=16-19"]],"passed":false},{"actual":null,"check":"local-short-block fixture 5","expected":null,"passed":true},{"actual":null,"check":"local-short-block fixture 6","expected":null,"passed":true},{"actual":[[],["bytes=0-7"]],"check":"local-short-block fixture 7","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[],["bytes=0-7"]],"check":"local-short-block fixture 8","expected":[[[0,0,4]],["bytes=4-7"]],"passed":false},{"actual":[[],[]],"check":"local-short-block fixture 9","expected":[[],[]],"passed":true},{"actual":null,"check":"local-short-block fixture 10","expected":null,"passed":true},{"actual":[[],["bytes=0-11"]],"check":"local-short-block fixture 11","expected":[[],["bytes=0-11"]],"passed":true},{"actual":[[],["bytes=0-3"]],"check":"local-short-block fixture 12","expected":[[[0,0,4]],[]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"local-short-block fixture 0\", \"actual\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"expected\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 1\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"passed\": false}, {\"check\": \"local-short-block fixture 2\", \"actual\": [[[0, 4, 4]], [\"bytes=4-9\"]], \"expected\": [[[0, 4, 4], [4, 8, 4]], [\"bytes=8-9\"]], \"passed\": false}, {\"check\": \"local-short-block fixture 3\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 4\", \"actual\": [[], [\"bytes=0-23\"]], \"expected\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3,8-11\", \"bytes=16-19\"]], \"passed\": false}, {\"check\": \"local-short-block fixture 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"local-short-block fixture 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"local-short-block fixture 7\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 8\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"passed\": false}, {\"check\": \"local-short-block fixture 9\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"local-short-block fixture 10\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"local-short-block fixture 11\", \"actual\": [[], [\"bytes=0-11\"]], \"expected\": [[], [\"bytes=0-11\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 12\", \"actual\": [[], [\"bytes=0-3\"]], \"expected\": [[[0, 0, 4]], []], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.099,"exit_code":1,"observations":[{"actual":[[[4,0,4]],["bytes=0-3,8-9"]],"check":"local-short-block fixture 0","expected":[[[4,0,4]],["bytes=0-3,8-9"]],"passed":true},{"actual":[[[0,8,4]],["bytes=4-7"]],"check":"local-short-block fixture 1","expected":[[[0,8,4]],["bytes=4-7"]],"passed":true},{"actual":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"check":"local-short-block fixture 2","expected":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"passed":true},{"actual":[[],["bytes=0-7"]],"check":"local-short-block fixture 3","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[[4,0,4],[12,0,4],[20,0,4]],["bytes=0-3,8-11","bytes=16-19"]],"check":"local-short-block fixture 4","expected":[[[4,0,4],[12,0,4],[20,0,4]],["bytes=0-3,8-11","bytes=16-19"]],"passed":true},{"actual":null,"check":"local-short-block fixture 5","expected":null,"passed":true},{"actual":null,"check":"local-short-block fixture 6","expected":null,"passed":true},{"actual":[[[4,0,4]],["bytes=0-3"]],"check":"local-short-block fixture 7","expected":[[],["bytes=0-7"]],"passed":false},{"actual":[[[0,0,4]],["bytes=4-7"]],"check":"local-short-block fixture 8","expected":[[[0,0,4]],["bytes=4-7"]],"passed":true},{"actual":[[],[]],"check":"local-short-block fixture 9","expected":[[],[]],"passed":true},{"actual":null,"check":"local-short-block fixture 10","expected":null,"passed":true},{"actual":[[],["bytes=0-11"]],"check":"local-short-block fixture 11","expected":[[],["bytes=0-11"]],"passed":true},{"actual":[[[0,0,4]],[]],"check":"local-short-block fixture 12","expected":[[[0,0,4]],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"local-short-block fixture 0\", \"actual\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"expected\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 1\", \"actual\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 2\", \"actual\": [[[0, 4, 4], [4, 8, 4]], [\"bytes=8-9\"]], \"expected\": [[[0, 4, 4], [4, 8, 4]], [\"bytes=8-9\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 3\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 4\", \"actual\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3,8-11\", \"bytes=16-19\"]], \"expected\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3,8-11\", \"bytes=16-19\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"local-short-block fixture 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"local-short-block fixture 7\", \"actual\": [[[4, 0, 4]], [\"bytes=0-3\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": false}, {\"check\": \"local-short-block fixture 8\", \"actual\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 9\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"local-short-block fixture 10\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"local-short-block fixture 11\", \"actual\": [[], [\"bytes=0-11\"]], \"expected\": [[], [\"bytes=0-11\"]], \"passed\": true}, {\"check\": \"local-short-block fixture 12\", \"actual\": [[[0, 0, 4]], []], \"expected\": [[[0, 0, 4]], []], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}