{"abstract":"An origin adapter turns byte requests into bounded aligned storage reads: each slice stops at the current storage block boundary.","category":"HTTP ranges","checks":7,"contract":"x contains complete object length, positive storage block size, ordered [start,stop) requested spans already within object, and cached block numbers. Return [uncached-block-reads,request-to-block-slices]. Each storage read is [block,absolute-start,count], clipped at EOF. Request maps contain [block,offset,count] for every crossed block, including cached ones; empty spans map to an empty list. Storage reads are deduplicated and sorted by block.","evaluation_group":"s3-http_ranges-aligned-origin-read-plan","failed_approach":"The partial repair uses block=x['block']\nneeded=set()\nmaps=[]\nfor start,stop in x['requests']:\n    parts=[]\n    cursor=start\n    while cursor<stop:\n        page=cursor//block\n        local=cursor-page*block\n        count=min(stop-cursor,max(1,block-local-1))\n        parts.append([page,local,count])\n        needed.add(page)\n        cursor+=count\n    maps.append(parts)\nreads=[]\nfor page in sorted(needed):\n    if page in x['cached']: continue\n    absolute=page*block\n    count=min(block,x['length']-absolute)\n    reads.append([page,absolute,count])\nreturn [reads,maps], which still violates the stated contract.","family":"s3-http_ranges-aligned-origin-read-plan-page-tail","id":"FA-27251","implementations":{"attempt":{"sha256":"1efb91d11c8df59f12d58b1c65ef5d065a420818f99728e47b3c164a6da3884f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    block=x['block']\n    needed=set()\n    maps=[]\n    for start,stop in x['requests']:\n        parts=[]\n        cursor=start\n        while cursor<stop:\n            page=cursor//block\n            local=cursor-page*block\n            count=min(stop-cursor,max(1,block-local-1))\n            parts.append([page,local,count])\n            needed.add(page)\n            cursor+=count\n        maps.append(parts)\n    reads=[]\n    for page in sorted(needed):\n        if page in x['cached']: continue\n        absolute=page*block\n        count=min(block,x['length']-absolute)\n        reads.append([page,absolute,count])\n    return [reads,maps]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('page-tail fixture 0', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[3,9]],'cached':[]}))), json.loads(json.dumps([[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]])))\ncheck('page-tail fixture 1', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[8,10],[0,2],[1,3]],'cached':[0]}))), json.loads(json.dumps([[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]])))\ncheck('page-tail fixture 2', json.loads(json.dumps(solve({'length':8,'block':4,'requests':[[0,4],[4,8]],'cached':[]}))), json.loads(json.dumps([[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]])))\ncheck('page-tail fixture 3', json.loads(json.dumps(solve({'length':0,'block':4,'requests':[[0,0]],'cached':[]}))), json.loads(json.dumps([[],[[]]])))\ncheck('page-tail fixture 4', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[2,2]],'cached':[]}))), json.loads(json.dumps([[],[[]]])))\ncheck('page-tail fixture 5', json.loads(json.dumps(solve({'length':3*N,'block':N,'requests':[[0,N],[N,2*N]],'cached':[0]}))), json.loads(json.dumps([[[1,N,N]],[[[0,0,N]],[[1,0,N]]]])))\ncheck('page-tail fixture 6', json.loads(json.dumps(solve({'length':5,'block':4,'requests':[],'cached':[0]}))), json.loads(json.dumps([[],[]])))\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":"72d95aea12af56349a78d701e54d470442204f444ea170da8b021cf223781497","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    block=x['block']\n    needed=set()\n    maps=[]\n    for start,stop in x['requests']:\n        parts=[]\n        cursor=start\n        while cursor<stop:\n            page=cursor//block\n            local=cursor-page*block\n            count=min(stop-cursor,block)\n            parts.append([page,local,count])\n            needed.add(page)\n            cursor+=count\n        maps.append(parts)\n    reads=[]\n    for page in sorted(needed):\n        if page in x['cached']: continue\n        absolute=page*block\n        count=min(block,x['length']-absolute)\n        reads.append([page,absolute,count])\n    return [reads,maps]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('page-tail fixture 0', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[3,9]],'cached':[]}))), json.loads(json.dumps([[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]])))\ncheck('page-tail fixture 1', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[8,10],[0,2],[1,3]],'cached':[0]}))), json.loads(json.dumps([[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]])))\ncheck('page-tail fixture 2', json.loads(json.dumps(solve({'length':8,'block':4,'requests':[[0,4],[4,8]],'cached':[]}))), json.loads(json.dumps([[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]])))\ncheck('page-tail fixture 3', json.loads(json.dumps(solve({'length':0,'block':4,'requests':[[0,0]],'cached':[]}))), json.loads(json.dumps([[],[[]]])))\ncheck('page-tail fixture 4', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[2,2]],'cached':[]}))), json.loads(json.dumps([[],[[]]])))\ncheck('page-tail fixture 5', json.loads(json.dumps(solve({'length':3*N,'block':N,'requests':[[0,N],[N,2*N]],'cached':[0]}))), json.loads(json.dumps([[[1,N,N]],[[[0,0,N]],[[1,0,N]]]])))\ncheck('page-tail fixture 6', json.loads(json.dumps(solve({'length':5,'block':4,'requests':[],'cached':[0]}))), json.loads(json.dumps([[],[]])))\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"},"fixed":{"sha256":"7e028f54ca33d3fdc91d7488db958a24420155a3bfc3249cf0f659412964fa7a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    block=x['block']\n    needed=set()\n    maps=[]\n    for start,stop in x['requests']:\n        parts=[]\n        cursor=start\n        while cursor<stop:\n            page=cursor//block\n            local=cursor-page*block\n            count=min(stop-cursor,block-local)\n            parts.append([page,local,count])\n            needed.add(page)\n            cursor+=count\n        maps.append(parts)\n    reads=[]\n    for page in sorted(needed):\n        if page in x['cached']: continue\n        absolute=page*block\n        count=min(block,x['length']-absolute)\n        reads.append([page,absolute,count])\n    return [reads,maps]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('page-tail fixture 0', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[3,9]],'cached':[]}))), json.loads(json.dumps([[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]])))\ncheck('page-tail fixture 1', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[8,10],[0,2],[1,3]],'cached':[0]}))), json.loads(json.dumps([[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]])))\ncheck('page-tail fixture 2', json.loads(json.dumps(solve({'length':8,'block':4,'requests':[[0,4],[4,8]],'cached':[]}))), json.loads(json.dumps([[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]])))\ncheck('page-tail fixture 3', json.loads(json.dumps(solve({'length':0,'block':4,'requests':[[0,0]],'cached':[]}))), json.loads(json.dumps([[],[[]]])))\ncheck('page-tail fixture 4', json.loads(json.dumps(solve({'length':10,'block':4,'requests':[[2,2]],'cached':[]}))), json.loads(json.dumps([[],[[]]])))\ncheck('page-tail fixture 5', json.loads(json.dumps(solve({'length':3*N,'block':N,'requests':[[0,N],[N,2*N]],'cached':[0]}))), json.loads(json.dumps([[[1,N,N]],[[[0,0,N]],[[1,0,N]]]])))\ncheck('page-tail fixture 6', json.loads(json.dumps(solve({'length':5,'block':4,'requests':[],'cached':[0]}))), json.loads(json.dumps([[],[]])))\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-aligned-origin-read-plan-page-tail","generated_at":"2026-09-29T14:41:23.405255+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.","repair":"Apply the bounded decision exactly: block=x['block']\nneeded=set()\nmaps=[]\nfor start,stop in x['requests']:\n    parts=[]\n    cursor=start\n    while cursor<stop:\n        page=cursor//block\n        local=cursor-page*block\n        count=min(stop-cursor,block-local)\n        parts.append([page,local,count])\n        needed.add(page)\n        cursor+=count\n    maps.append(parts)\nreads=[]\nfor page in sorted(needed):\n    if page in x['cached']: continue\n    absolute=page*block\n    count=min(block,x['length']-absolute)\n    reads.append([page,absolute,count])\nreturn [reads,maps]","root_cause":"The aligned-origin-read-plan-page-tail decision uses block=x['block']\nneeded=set()\nmaps=[]\nfor start,stop in x['requests']:\n    parts=[]\n    cursor=start\n    while cursor<stop:\n        page=cursor//block\n        local=cursor-page*block\n        count=min(stop-cursor,block)\n        parts.append([page,local,count])\n        needed.add(page)\n        cursor+=count\n    maps.append(parts)\nreads=[]\nfor page in sorted(needed):\n    if page in x['cached']: continue\n    absolute=page*block\n    count=min(block,x['length']-absolute)\n    reads.append([page,absolute,count])\nreturn [reads,maps].","sha256":"ae5e0a54ffdc142c77839aa33bf520261567b64a51e4cc8f6605b7e3c315a8fd","title":"An origin adapter turns byte requests into bounded aligned storage reads: each slice stops at the current storage block boundary · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.528,"exit_code":1,"observations":[{"actual":[[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,3],[1,3,1],[2,0,1]]]],"check":"page-tail fixture 0","expected":[[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]],"passed":false},{"actual":[[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]],"check":"page-tail fixture 1","expected":[[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]],"passed":true},{"actual":[[[0,0,4],[1,4,4]],[[[0,0,3],[0,3,1]],[[1,0,3],[1,3,1]]]],"check":"page-tail fixture 2","expected":[[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]],"passed":false},{"actual":[[],[[]]],"check":"page-tail fixture 3","expected":[[],[[]]],"passed":true},{"actual":[[],[[]]],"check":"page-tail fixture 4","expected":[[],[[]]],"passed":true},{"actual":[[[1,1,1]],[[[0,0,1]],[[1,0,1]]]],"check":"page-tail fixture 5","expected":[[[1,1,1]],[[[0,0,1]],[[1,0,1]]]],"passed":true},{"actual":[[],[]],"check":"page-tail fixture 6","expected":[[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"page-tail fixture 0\", \"actual\": [[[0, 0, 4], [1, 4, 4], [2, 8, 2]], [[[0, 3, 1], [1, 0, 3], [1, 3, 1], [2, 0, 1]]]], \"expected\": [[[0, 0, 4], [1, 4, 4], [2, 8, 2]], [[[0, 3, 1], [1, 0, 4], [2, 0, 1]]]], \"passed\": false}, {\"check\": \"page-tail fixture 1\", \"actual\": [[[2, 8, 2]], [[[2, 0, 2]], [[0, 0, 2]], [[0, 1, 2]]]], \"expected\": [[[2, 8, 2]], [[[2, 0, 2]], [[0, 0, 2]], [[0, 1, 2]]]], \"passed\": true}, {\"check\": \"page-tail fixture 2\", \"actual\": [[[0, 0, 4], [1, 4, 4]], [[[0, 0, 3], [0, 3, 1]], [[1, 0, 3], [1, 3, 1]]]], \"expected\": [[[0, 0, 4], [1, 4, 4]], [[[0, 0, 4]], [[1, 0, 4]]]], \"passed\": false}, {\"check\": \"page-tail fixture 3\", \"actual\": [[], [[]]], \"expected\": [[], [[]]], \"passed\": true}, {\"check\": \"page-tail fixture 4\", \"actual\": [[], [[]]], \"expected\": [[], [[]]], \"passed\": true}, {\"check\": \"page-tail fixture 5\", \"actual\": [[[1, 1, 1]], [[[0, 0, 1]], [[1, 0, 1]]]], \"expected\": [[[1, 1, 1]], [[[0, 0, 1]], [[1, 0, 1]]]], \"passed\": true}, {\"check\": \"page-tail fixture 6\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.023,"exit_code":1,"observations":[{"actual":[[[0,0,4],[1,4,4]],[[[0,3,4],[1,3,2]]]],"check":"page-tail fixture 0","expected":[[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]],"passed":false},{"actual":[[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]],"check":"page-tail fixture 1","expected":[[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]],"passed":true},{"actual":[[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]],"check":"page-tail fixture 2","expected":[[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]],"passed":true},{"actual":[[],[[]]],"check":"page-tail fixture 3","expected":[[],[[]]],"passed":true},{"actual":[[],[[]]],"check":"page-tail fixture 4","expected":[[],[[]]],"passed":true},{"actual":[[[1,1,1]],[[[0,0,1]],[[1,0,1]]]],"check":"page-tail fixture 5","expected":[[[1,1,1]],[[[0,0,1]],[[1,0,1]]]],"passed":true},{"actual":[[],[]],"check":"page-tail fixture 6","expected":[[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"page-tail fixture 0\", \"actual\": [[[0, 0, 4], [1, 4, 4]], [[[0, 3, 4], [1, 3, 2]]]], \"expected\": [[[0, 0, 4], [1, 4, 4], [2, 8, 2]], [[[0, 3, 1], [1, 0, 4], [2, 0, 1]]]], \"passed\": false}, {\"check\": \"page-tail fixture 1\", \"actual\": [[[2, 8, 2]], [[[2, 0, 2]], [[0, 0, 2]], [[0, 1, 2]]]], \"expected\": [[[2, 8, 2]], [[[2, 0, 2]], [[0, 0, 2]], [[0, 1, 2]]]], \"passed\": true}, {\"check\": \"page-tail fixture 2\", \"actual\": [[[0, 0, 4], [1, 4, 4]], [[[0, 0, 4]], [[1, 0, 4]]]], \"expected\": [[[0, 0, 4], [1, 4, 4]], [[[0, 0, 4]], [[1, 0, 4]]]], \"passed\": true}, {\"check\": \"page-tail fixture 3\", \"actual\": [[], [[]]], \"expected\": [[], [[]]], \"passed\": true}, {\"check\": \"page-tail fixture 4\", \"actual\": [[], [[]]], \"expected\": [[], [[]]], \"passed\": true}, {\"check\": \"page-tail fixture 5\", \"actual\": [[[1, 1, 1]], [[[0, 0, 1]], [[1, 0, 1]]]], \"expected\": [[[1, 1, 1]], [[[0, 0, 1]], [[1, 0, 1]]]], \"passed\": true}, {\"check\": \"page-tail fixture 6\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.319,"exit_code":0,"observations":[{"actual":[[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]],"check":"page-tail fixture 0","expected":[[[0,0,4],[1,4,4],[2,8,2]],[[[0,3,1],[1,0,4],[2,0,1]]]],"passed":true},{"actual":[[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]],"check":"page-tail fixture 1","expected":[[[2,8,2]],[[[2,0,2]],[[0,0,2]],[[0,1,2]]]],"passed":true},{"actual":[[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]],"check":"page-tail fixture 2","expected":[[[0,0,4],[1,4,4]],[[[0,0,4]],[[1,0,4]]]],"passed":true},{"actual":[[],[[]]],"check":"page-tail fixture 3","expected":[[],[[]]],"passed":true},{"actual":[[],[[]]],"check":"page-tail fixture 4","expected":[[],[[]]],"passed":true},{"actual":[[[1,1,1]],[[[0,0,1]],[[1,0,1]]]],"check":"page-tail fixture 5","expected":[[[1,1,1]],[[[0,0,1]],[[1,0,1]]]],"passed":true},{"actual":[[],[]],"check":"page-tail fixture 6","expected":[[],[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"page-tail fixture 0\", \"actual\": [[[0, 0, 4], [1, 4, 4], [2, 8, 2]], [[[0, 3, 1], [1, 0, 4], [2, 0, 1]]]], \"expected\": [[[0, 0, 4], [1, 4, 4], [2, 8, 2]], [[[0, 3, 1], [1, 0, 4], [2, 0, 1]]]], \"passed\": true}, {\"check\": \"page-tail fixture 1\", \"actual\": [[[2, 8, 2]], [[[2, 0, 2]], [[0, 0, 2]], [[0, 1, 2]]]], \"expected\": [[[2, 8, 2]], [[[2, 0, 2]], [[0, 0, 2]], [[0, 1, 2]]]], \"passed\": true}, {\"check\": \"page-tail fixture 2\", \"actual\": [[[0, 0, 4], [1, 4, 4]], [[[0, 0, 4]], [[1, 0, 4]]]], \"expected\": [[[0, 0, 4], [1, 4, 4]], [[[0, 0, 4]], [[1, 0, 4]]]], \"passed\": true}, {\"check\": \"page-tail fixture 3\", \"actual\": [[], [[]]], \"expected\": [[], [[]]], \"passed\": true}, {\"check\": \"page-tail fixture 4\", \"actual\": [[], [[]]], \"expected\": [[], [[]]], \"passed\": true}, {\"check\": \"page-tail fixture 5\", \"actual\": [[[1, 1, 1]], [[[0, 0, 1]], [[1, 0, 1]]]], \"expected\": [[[1, 1, 1]], [[[0, 0, 1]], [[1, 0, 1]]]], \"passed\": true}, {\"check\": \"page-tail fixture 6\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}