{"abstract":"A range-set guard limits amplification before serving resolved byte ranges: touching ranges are not counted as overlapping while a shared byte is.","category":"HTTP ranges","checks":19,"contract":"x holds a representation length, already resolved satisfiable inclusive ranges in request order, and local policy limits. Serve [\"full\",null] for an empty list, more than max_ranges members, requested byte sum above twice the length (duplicates count every time), more than max_tiny members shorter than min_span, or more than max_overlaps overlaps. Overlaps are counted by a sweep over start-sorted ranges against the running maximum end; adjacent ranges do not overlap. Inversions count request neighbors whose start decreases. Without overlaps and with inversions within max_disorder, return [\"ranges\",request-order ranges]; otherwise return [\"ranges\",start-sorted ranges with overlapping or adjacent members coalesced].","evaluation_group":"s3-http_ranges-range-abuse-guard","failed_approach":"The partial repair uses L=x['length']\nrs=x['ranges']\nif not rs: return ['full',None]\nif len(rs)>x['max_ranges']: return ['full',None]\ntotal=0\nfor a,b in rs:\n    total+=b-a+1\nif total>2*L: return ['full',None]\nif sum(1 for a,b in rs if b-a+1<x['min_span'])>x['max_tiny']: return ['full',None]\norder=sorted(rs)\noverlaps=0\nend=-1\nfor a,b in order:\n    if a<end: overlaps+=1\n    end=max(end,b)\nif overlaps>x['max_overlaps']: return ['full',None]\ndisorder=0\nfor i in range(1,len(rs)):\n    if rs[i][0]<rs[i-1][0]: disorder+=1\nif overlaps==0 and disorder<=x['max_disorder']: return ['ranges',[list(r) for r in rs]]\nmerged=[]\nfor lo,hi in order:\n    if merged and lo<=merged[-1][1]+1:\n        merged[-1][1]=max(merged[-1][1],hi)\n    else:\n        merged.append([lo,hi])\nreturn ['ranges',merged], which still violates the stated contract.","family":"s3-http_ranges-range-abuse-guard-adjacency-not-overlap","id":"FA-27556","implementations":{"attempt":{"sha256":"fd5a597d97113448da0b046815097e0078a49a7b4f351a211c90338c40a541b3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    L=x['length']\n    rs=x['ranges']\n    if not rs: return ['full',None]\n    if len(rs)>x['max_ranges']: return ['full',None]\n    total=0\n    for a,b in rs:\n        total+=b-a+1\n    if total>2*L: return ['full',None]\n    if sum(1 for a,b in rs if b-a+1<x['min_span'])>x['max_tiny']: return ['full',None]\n    order=sorted(rs)\n    overlaps=0\n    end=-1\n    for a,b in order:\n        if a<end: overlaps+=1\n        end=max(end,b)\n    if overlaps>x['max_overlaps']: return ['full',None]\n    disorder=0\n    for i in range(1,len(rs)):\n        if rs[i][0]<rs[i-1][0]: disorder+=1\n    if overlaps==0 and disorder<=x['max_disorder']: return ['ranges',[list(r) for r in rs]]\n    merged=[]\n    for lo,hi in order:\n        if merged and lo<=merged[-1][1]+1:\n            merged[-1][1]=max(merged[-1][1],hi)\n        else:\n            merged.append([lo,hi])\n    return ['ranges',merged]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('adjacency-not-overlap fixture 0', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 1', json.loads(json.dumps(solve({'length':0,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 2', json.loads(json.dumps(solve({'length':10,'max_disorder':1,'max_overlaps':5,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[0,9],[0,9]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 3', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[20,29]]}))), json.loads(json.dumps(['ranges',[[0,9],[20,29]]])))\ncheck('adjacency-not-overlap fixture 4', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[0,9]]}))), json.loads(json.dumps(['ranges',[[50,59],[0,9]]])))\ncheck('adjacency-not-overlap fixture 5', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[20,29],[0,9]]}))), json.loads(json.dumps(['ranges',[[0,9],[20,29],[50,59]]])))\ncheck('adjacency-not-overlap fixture 6', json.loads(json.dumps(solve({'length':100,'max_disorder':0,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[10,19],[30,39],[20,29]]}))), json.loads(json.dumps(['ranges',[[10,39]]])))\ncheck('adjacency-not-overlap fixture 7', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[20,29],[30,39]]}))), json.loads(json.dumps(['ranges',[[50,59],[20,29],[30,39]]])))\ncheck('adjacency-not-overlap fixture 8', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[5,14]]}))), json.loads(json.dumps(['ranges',[[0,14]]])))\ncheck('adjacency-not-overlap fixture 9', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,20],[5,9]]}))), json.loads(json.dumps(['ranges',[[0,20]]])))\ncheck('adjacency-not-overlap fixture 10', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[1,9],[2,9],[3,9]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 11', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[20,29],[0,5],[40,49],[30,35]]}))), json.loads(json.dumps(['ranges',[[0,5],[20,35],[40,49]]])))\ncheck('adjacency-not-overlap fixture 12', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,50],[10,20],[30,40]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 13', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[10,19],[20,29]]}))), json.loads(json.dumps(['ranges',[[0,9],[10,19],[20,29]]])))\ncheck('adjacency-not-overlap fixture 14', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':0,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[9,19]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 15', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':1,'min_span':4,'ranges':[[0,0],[10,10],[20,29]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 16', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,1],[10,11],[20,21],[30,31],[40,41],[50,51],[60,61],[70,71],[80,81]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 17', json.loads(json.dumps(solve({'length':10*N,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,N-1],[N,2*N-1]]}))), json.loads(json.dumps(['ranges',[[0,N-1],[N,2*N-1]]])))\ncheck('adjacency-not-overlap fixture 18', json.loads(json.dumps(solve({'length':5*N+1,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,5*N],[0,5*N]]}))), json.loads(json.dumps(['ranges',[[0,5*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":"0975777abd2ea7cc7ba0ef1369f346cacd73946ed2221694d791920a5ea01363","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    L=x['length']\n    rs=x['ranges']\n    if not rs: return ['full',None]\n    if len(rs)>x['max_ranges']: return ['full',None]\n    total=0\n    for a,b in rs:\n        total+=b-a+1\n    if total>2*L: return ['full',None]\n    if sum(1 for a,b in rs if b-a+1<x['min_span'])>x['max_tiny']: return ['full',None]\n    order=sorted(rs)\n    overlaps=0\n    end=-1\n    for a,b in order:\n        if a<=end+1: overlaps+=1\n        end=max(end,b)\n    if overlaps>x['max_overlaps']: return ['full',None]\n    disorder=0\n    for i in range(1,len(rs)):\n        if rs[i][0]<rs[i-1][0]: disorder+=1\n    if overlaps==0 and disorder<=x['max_disorder']: return ['ranges',[list(r) for r in rs]]\n    merged=[]\n    for lo,hi in order:\n        if merged and lo<=merged[-1][1]+1:\n            merged[-1][1]=max(merged[-1][1],hi)\n        else:\n            merged.append([lo,hi])\n    return ['ranges',merged]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('adjacency-not-overlap fixture 0', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 1', json.loads(json.dumps(solve({'length':0,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 2', json.loads(json.dumps(solve({'length':10,'max_disorder':1,'max_overlaps':5,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[0,9],[0,9]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 3', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[20,29]]}))), json.loads(json.dumps(['ranges',[[0,9],[20,29]]])))\ncheck('adjacency-not-overlap fixture 4', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[0,9]]}))), json.loads(json.dumps(['ranges',[[50,59],[0,9]]])))\ncheck('adjacency-not-overlap fixture 5', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[20,29],[0,9]]}))), json.loads(json.dumps(['ranges',[[0,9],[20,29],[50,59]]])))\ncheck('adjacency-not-overlap fixture 6', json.loads(json.dumps(solve({'length':100,'max_disorder':0,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[10,19],[30,39],[20,29]]}))), json.loads(json.dumps(['ranges',[[10,39]]])))\ncheck('adjacency-not-overlap fixture 7', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[20,29],[30,39]]}))), json.loads(json.dumps(['ranges',[[50,59],[20,29],[30,39]]])))\ncheck('adjacency-not-overlap fixture 8', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[5,14]]}))), json.loads(json.dumps(['ranges',[[0,14]]])))\ncheck('adjacency-not-overlap fixture 9', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,20],[5,9]]}))), json.loads(json.dumps(['ranges',[[0,20]]])))\ncheck('adjacency-not-overlap fixture 10', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[1,9],[2,9],[3,9]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 11', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[20,29],[0,5],[40,49],[30,35]]}))), json.loads(json.dumps(['ranges',[[0,5],[20,35],[40,49]]])))\ncheck('adjacency-not-overlap fixture 12', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,50],[10,20],[30,40]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 13', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[10,19],[20,29]]}))), json.loads(json.dumps(['ranges',[[0,9],[10,19],[20,29]]])))\ncheck('adjacency-not-overlap fixture 14', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':0,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[9,19]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 15', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':1,'min_span':4,'ranges':[[0,0],[10,10],[20,29]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 16', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,1],[10,11],[20,21],[30,31],[40,41],[50,51],[60,61],[70,71],[80,81]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 17', json.loads(json.dumps(solve({'length':10*N,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,N-1],[N,2*N-1]]}))), json.loads(json.dumps(['ranges',[[0,N-1],[N,2*N-1]]])))\ncheck('adjacency-not-overlap fixture 18', json.loads(json.dumps(solve({'length':5*N+1,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,5*N],[0,5*N]]}))), json.loads(json.dumps(['ranges',[[0,5*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"},"fixed":{"sha256":"7216222d1bdb71a311e7805e3e502ba33ed631a6374c4149b7d7d0dd84b2e00f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    L=x['length']\n    rs=x['ranges']\n    if not rs: return ['full',None]\n    if len(rs)>x['max_ranges']: return ['full',None]\n    total=0\n    for a,b in rs:\n        total+=b-a+1\n    if total>2*L: return ['full',None]\n    if sum(1 for a,b in rs if b-a+1<x['min_span'])>x['max_tiny']: return ['full',None]\n    order=sorted(rs)\n    overlaps=0\n    end=-1\n    for a,b in order:\n        if a<=end: overlaps+=1\n        end=max(end,b)\n    if overlaps>x['max_overlaps']: return ['full',None]\n    disorder=0\n    for i in range(1,len(rs)):\n        if rs[i][0]<rs[i-1][0]: disorder+=1\n    if overlaps==0 and disorder<=x['max_disorder']: return ['ranges',[list(r) for r in rs]]\n    merged=[]\n    for lo,hi in order:\n        if merged and lo<=merged[-1][1]+1:\n            merged[-1][1]=max(merged[-1][1],hi)\n        else:\n            merged.append([lo,hi])\n    return ['ranges',merged]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('adjacency-not-overlap fixture 0', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 1', json.loads(json.dumps(solve({'length':0,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 2', json.loads(json.dumps(solve({'length':10,'max_disorder':1,'max_overlaps':5,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[0,9],[0,9]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 3', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[20,29]]}))), json.loads(json.dumps(['ranges',[[0,9],[20,29]]])))\ncheck('adjacency-not-overlap fixture 4', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[0,9]]}))), json.loads(json.dumps(['ranges',[[50,59],[0,9]]])))\ncheck('adjacency-not-overlap fixture 5', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[20,29],[0,9]]}))), json.loads(json.dumps(['ranges',[[0,9],[20,29],[50,59]]])))\ncheck('adjacency-not-overlap fixture 6', json.loads(json.dumps(solve({'length':100,'max_disorder':0,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[10,19],[30,39],[20,29]]}))), json.loads(json.dumps(['ranges',[[10,39]]])))\ncheck('adjacency-not-overlap fixture 7', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[50,59],[20,29],[30,39]]}))), json.loads(json.dumps(['ranges',[[50,59],[20,29],[30,39]]])))\ncheck('adjacency-not-overlap fixture 8', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[5,14]]}))), json.loads(json.dumps(['ranges',[[0,14]]])))\ncheck('adjacency-not-overlap fixture 9', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,20],[5,9]]}))), json.loads(json.dumps(['ranges',[[0,20]]])))\ncheck('adjacency-not-overlap fixture 10', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[1,9],[2,9],[3,9]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 11', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[20,29],[0,5],[40,49],[30,35]]}))), json.loads(json.dumps(['ranges',[[0,5],[20,35],[40,49]]])))\ncheck('adjacency-not-overlap fixture 12', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,50],[10,20],[30,40]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 13', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':1,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[10,19],[20,29]]}))), json.loads(json.dumps(['ranges',[[0,9],[10,19],[20,29]]])))\ncheck('adjacency-not-overlap fixture 14', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':0,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,9],[9,19]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 15', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':1,'min_span':4,'ranges':[[0,0],[10,10],[20,29]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 16', json.loads(json.dumps(solve({'length':100,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,1],[10,11],[20,21],[30,31],[40,41],[50,51],[60,61],[70,71],[80,81]]}))), json.loads(json.dumps(['full',None])))\ncheck('adjacency-not-overlap fixture 17', json.loads(json.dumps(solve({'length':10*N,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,N-1],[N,2*N-1]]}))), json.loads(json.dumps(['ranges',[[0,N-1],[N,2*N-1]]])))\ncheck('adjacency-not-overlap fixture 18', json.loads(json.dumps(solve({'length':5*N+1,'max_disorder':1,'max_overlaps':2,'max_ranges':8,'max_tiny':8,'min_span':1,'ranges':[[0,5*N],[0,5*N]]}))), json.loads(json.dumps(['ranges',[[0,5*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-range-abuse-guard-adjacency-not-overlap","generated_at":"2026-09-29T14:41:26.124323+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: L=x['length']\nrs=x['ranges']\nif not rs: return ['full',None]\nif len(rs)>x['max_ranges']: return ['full',None]\ntotal=0\nfor a,b in rs:\n    total+=b-a+1\nif total>2*L: return ['full',None]\nif sum(1 for a,b in rs if b-a+1<x['min_span'])>x['max_tiny']: return ['full',None]\norder=sorted(rs)\noverlaps=0\nend=-1\nfor a,b in order:\n    if a<=end: overlaps+=1\n    end=max(end,b)\nif overlaps>x['max_overlaps']: return ['full',None]\ndisorder=0\nfor i in range(1,len(rs)):\n    if rs[i][0]<rs[i-1][0]: disorder+=1\nif overlaps==0 and disorder<=x['max_disorder']: return ['ranges',[list(r) for r in rs]]\nmerged=[]\nfor lo,hi in order:\n    if merged and lo<=merged[-1][1]+1:\n        merged[-1][1]=max(merged[-1][1],hi)\n    else:\n        merged.append([lo,hi])\nreturn ['ranges',merged]","root_cause":"The range-abuse-guard-adjacency-not-overlap decision uses L=x['length']\nrs=x['ranges']\nif not rs: return ['full',None]\nif len(rs)>x['max_ranges']: return ['full',None]\ntotal=0\nfor a,b in rs:\n    total+=b-a+1\nif total>2*L: return ['full',None]\nif sum(1 for a,b in rs if b-a+1<x['min_span'])>x['max_tiny']: return ['full',None]\norder=sorted(rs)\noverlaps=0\nend=-1\nfor a,b in order:\n    if a<=end+1: overlaps+=1\n    end=max(end,b)\nif overlaps>x['max_overlaps']: return ['full',None]\ndisorder=0\nfor i in range(1,len(rs)):\n    if rs[i][0]<rs[i-1][0]: disorder+=1\nif overlaps==0 and disorder<=x['max_disorder']: return ['ranges',[list(r) for r in rs]]\nmerged=[]\nfor lo,hi in order:\n    if merged and lo<=merged[-1][1]+1:\n        merged[-1][1]=max(merged[-1][1],hi)\n    else:\n        merged.append([lo,hi])\nreturn ['ranges',merged].","sha256":"cc8eb32873804697b128dcec2425e2916e388658a8ba4195be6aa240090a64c8","title":"A range-set guard limits amplification before serving resolved byte ranges: touching ranges are not counted as overlapping while a shared byte is · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.566,"exit_code":1,"observations":[{"actual":["full",null],"check":"adjacency-not-overlap fixture 0","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 1","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 2","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[20,29]]],"check":"adjacency-not-overlap fixture 3","expected":["ranges",[[0,9],[20,29]]],"passed":true},{"actual":["ranges",[[50,59],[0,9]]],"check":"adjacency-not-overlap fixture 4","expected":["ranges",[[50,59],[0,9]]],"passed":true},{"actual":["ranges",[[0,9],[20,29],[50,59]]],"check":"adjacency-not-overlap fixture 5","expected":["ranges",[[0,9],[20,29],[50,59]]],"passed":true},{"actual":["ranges",[[10,39]]],"check":"adjacency-not-overlap fixture 6","expected":["ranges",[[10,39]]],"passed":true},{"actual":["ranges",[[50,59],[20,29],[30,39]]],"check":"adjacency-not-overlap fixture 7","expected":["ranges",[[50,59],[20,29],[30,39]]],"passed":true},{"actual":["ranges",[[0,14]]],"check":"adjacency-not-overlap fixture 8","expected":["ranges",[[0,14]]],"passed":true},{"actual":["ranges",[[0,20]]],"check":"adjacency-not-overlap fixture 9","expected":["ranges",[[0,20]]],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 10","expected":["full",null],"passed":true},{"actual":["ranges",[[0,5],[20,35],[40,49]]],"check":"adjacency-not-overlap fixture 11","expected":["ranges",[[0,5],[20,35],[40,49]]],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 12","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[10,19],[20,29]]],"check":"adjacency-not-overlap fixture 13","expected":["ranges",[[0,9],[10,19],[20,29]]],"passed":true},{"actual":["ranges",[[0,9],[9,19]]],"check":"adjacency-not-overlap fixture 14","expected":["full",null],"passed":false},{"actual":["full",null],"check":"adjacency-not-overlap fixture 15","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 16","expected":["full",null],"passed":true},{"actual":["ranges",[[0,0],[1,1]]],"check":"adjacency-not-overlap fixture 17","expected":["ranges",[[0,0],[1,1]]],"passed":true},{"actual":["ranges",[[0,5]]],"check":"adjacency-not-overlap fixture 18","expected":["ranges",[[0,5]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"adjacency-not-overlap fixture 0\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 1\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 2\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 3\", \"actual\": [\"ranges\", [[0, 9], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [20, 29]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 4\", \"actual\": [\"ranges\", [[50, 59], [0, 9]]], \"expected\": [\"ranges\", [[50, 59], [0, 9]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 5\", \"actual\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"expected\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 6\", \"actual\": [\"ranges\", [[10, 39]]], \"expected\": [\"ranges\", [[10, 39]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 7\", \"actual\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"expected\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 8\", \"actual\": [\"ranges\", [[0, 14]]], \"expected\": [\"ranges\", [[0, 14]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 9\", \"actual\": [\"ranges\", [[0, 20]]], \"expected\": [\"ranges\", [[0, 20]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 10\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 11\", \"actual\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"expected\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 12\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 13\", \"actual\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 14\", \"actual\": [\"ranges\", [[0, 9], [9, 19]]], \"expected\": [\"full\", null], \"passed\": false}, {\"check\": \"adjacency-not-overlap fixture 15\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 16\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 17\", \"actual\": [\"ranges\", [[0, 0], [1, 1]]], \"expected\": [\"ranges\", [[0, 0], [1, 1]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 18\", \"actual\": [\"ranges\", [[0, 5]]], \"expected\": [\"ranges\", [[0, 5]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.348,"exit_code":1,"observations":[{"actual":["full",null],"check":"adjacency-not-overlap fixture 0","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 1","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 2","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[20,29]]],"check":"adjacency-not-overlap fixture 3","expected":["ranges",[[0,9],[20,29]]],"passed":true},{"actual":["ranges",[[0,9],[50,59]]],"check":"adjacency-not-overlap fixture 4","expected":["ranges",[[50,59],[0,9]]],"passed":false},{"actual":["ranges",[[0,9],[20,29],[50,59]]],"check":"adjacency-not-overlap fixture 5","expected":["ranges",[[0,9],[20,29],[50,59]]],"passed":true},{"actual":["ranges",[[10,39]]],"check":"adjacency-not-overlap fixture 6","expected":["ranges",[[10,39]]],"passed":true},{"actual":["ranges",[[20,39],[50,59]]],"check":"adjacency-not-overlap fixture 7","expected":["ranges",[[50,59],[20,29],[30,39]]],"passed":false},{"actual":["ranges",[[0,14]]],"check":"adjacency-not-overlap fixture 8","expected":["ranges",[[0,14]]],"passed":true},{"actual":["ranges",[[0,20]]],"check":"adjacency-not-overlap fixture 9","expected":["ranges",[[0,20]]],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 10","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 11","expected":["ranges",[[0,5],[20,35],[40,49]]],"passed":false},{"actual":["full",null],"check":"adjacency-not-overlap fixture 12","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 13","expected":["ranges",[[0,9],[10,19],[20,29]]],"passed":false},{"actual":["full",null],"check":"adjacency-not-overlap fixture 14","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 15","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 16","expected":["full",null],"passed":true},{"actual":["ranges",[[0,1]]],"check":"adjacency-not-overlap fixture 17","expected":["ranges",[[0,0],[1,1]]],"passed":false},{"actual":["ranges",[[0,5]]],"check":"adjacency-not-overlap fixture 18","expected":["ranges",[[0,5]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"adjacency-not-overlap fixture 0\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 1\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 2\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 3\", \"actual\": [\"ranges\", [[0, 9], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [20, 29]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 4\", \"actual\": [\"ranges\", [[0, 9], [50, 59]]], \"expected\": [\"ranges\", [[50, 59], [0, 9]]], \"passed\": false}, {\"check\": \"adjacency-not-overlap fixture 5\", \"actual\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"expected\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 6\", \"actual\": [\"ranges\", [[10, 39]]], \"expected\": [\"ranges\", [[10, 39]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 7\", \"actual\": [\"ranges\", [[20, 39], [50, 59]]], \"expected\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"passed\": false}, {\"check\": \"adjacency-not-overlap fixture 8\", \"actual\": [\"ranges\", [[0, 14]]], \"expected\": [\"ranges\", [[0, 14]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 9\", \"actual\": [\"ranges\", [[0, 20]]], \"expected\": [\"ranges\", [[0, 20]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 10\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 11\", \"actual\": [\"full\", null], \"expected\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"passed\": false}, {\"check\": \"adjacency-not-overlap fixture 12\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 13\", \"actual\": [\"full\", null], \"expected\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"passed\": false}, {\"check\": \"adjacency-not-overlap fixture 14\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 15\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 16\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 17\", \"actual\": [\"ranges\", [[0, 1]]], \"expected\": [\"ranges\", [[0, 0], [1, 1]]], \"passed\": false}, {\"check\": \"adjacency-not-overlap fixture 18\", \"actual\": [\"ranges\", [[0, 5]]], \"expected\": [\"ranges\", [[0, 5]]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.681,"exit_code":0,"observations":[{"actual":["full",null],"check":"adjacency-not-overlap fixture 0","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 1","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 2","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[20,29]]],"check":"adjacency-not-overlap fixture 3","expected":["ranges",[[0,9],[20,29]]],"passed":true},{"actual":["ranges",[[50,59],[0,9]]],"check":"adjacency-not-overlap fixture 4","expected":["ranges",[[50,59],[0,9]]],"passed":true},{"actual":["ranges",[[0,9],[20,29],[50,59]]],"check":"adjacency-not-overlap fixture 5","expected":["ranges",[[0,9],[20,29],[50,59]]],"passed":true},{"actual":["ranges",[[10,39]]],"check":"adjacency-not-overlap fixture 6","expected":["ranges",[[10,39]]],"passed":true},{"actual":["ranges",[[50,59],[20,29],[30,39]]],"check":"adjacency-not-overlap fixture 7","expected":["ranges",[[50,59],[20,29],[30,39]]],"passed":true},{"actual":["ranges",[[0,14]]],"check":"adjacency-not-overlap fixture 8","expected":["ranges",[[0,14]]],"passed":true},{"actual":["ranges",[[0,20]]],"check":"adjacency-not-overlap fixture 9","expected":["ranges",[[0,20]]],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 10","expected":["full",null],"passed":true},{"actual":["ranges",[[0,5],[20,35],[40,49]]],"check":"adjacency-not-overlap fixture 11","expected":["ranges",[[0,5],[20,35],[40,49]]],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 12","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[10,19],[20,29]]],"check":"adjacency-not-overlap fixture 13","expected":["ranges",[[0,9],[10,19],[20,29]]],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 14","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 15","expected":["full",null],"passed":true},{"actual":["full",null],"check":"adjacency-not-overlap fixture 16","expected":["full",null],"passed":true},{"actual":["ranges",[[0,0],[1,1]]],"check":"adjacency-not-overlap fixture 17","expected":["ranges",[[0,0],[1,1]]],"passed":true},{"actual":["ranges",[[0,5]]],"check":"adjacency-not-overlap fixture 18","expected":["ranges",[[0,5]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"adjacency-not-overlap fixture 0\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 1\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 2\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 3\", \"actual\": [\"ranges\", [[0, 9], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [20, 29]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 4\", \"actual\": [\"ranges\", [[50, 59], [0, 9]]], \"expected\": [\"ranges\", [[50, 59], [0, 9]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 5\", \"actual\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"expected\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 6\", \"actual\": [\"ranges\", [[10, 39]]], \"expected\": [\"ranges\", [[10, 39]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 7\", \"actual\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"expected\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 8\", \"actual\": [\"ranges\", [[0, 14]]], \"expected\": [\"ranges\", [[0, 14]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 9\", \"actual\": [\"ranges\", [[0, 20]]], \"expected\": [\"ranges\", [[0, 20]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 10\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 11\", \"actual\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"expected\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 12\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 13\", \"actual\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 14\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 15\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 16\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 17\", \"actual\": [\"ranges\", [[0, 0], [1, 1]]], \"expected\": [\"ranges\", [[0, 0], [1, 1]]], \"passed\": true}, {\"check\": \"adjacency-not-overlap fixture 18\", \"actual\": [\"ranges\", [[0, 5]]], \"expected\": [\"ranges\", [[0, 5]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}