{"abstract":"A range-set guard limits amplification before serving resolved byte ranges: a contained range cannot shrink the coalesced end.","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].","contract_signature":"x","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][0],hi)\n    else:\n        merged.append([lo,hi])\nreturn ['ranges',merged], which still violates the stated contract.","family":"s3-http_ranges-range-abuse-guard-merge-contained-end","id":"FA-27566","implementations":{"attempt":{"sha256":"be419c612c7bcebffe2d1239a95b3800f77b3a67e41e5ddc232fcb9d8318b8d4","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][0],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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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":"329e8ffb9adcb44fb1af9f629bcf1fa6df36c049b5877e1bbd611c653a6d2d70","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]=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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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('merge-contained-end 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-merge-contained-end","generated_at":"2026-09-29T14:41:26.269427+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 range-abuse-guard-merge-contained-end 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: 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]=hi\n    else:\n        merged.append([lo,hi])\nreturn ['ranges',merged].","sha256":"243553e0f3867040fac32f83eb8653b573d2ae4bcb48b59c3a3b116a6ffb7951","title":"A range-set guard limits amplification before serving resolved byte ranges: a contained range cannot shrink the coalesced end · 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":42.724,"exit_code":1,"observations":[{"actual":["full",null],"check":"merge-contained-end fixture 0","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 1","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 2","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[20,29]]],"check":"merge-contained-end fixture 3","expected":["ranges",[[0,9],[20,29]]],"passed":true},{"actual":["ranges",[[50,59],[0,9]]],"check":"merge-contained-end fixture 4","expected":["ranges",[[50,59],[0,9]]],"passed":true},{"actual":["ranges",[[0,9],[20,29],[50,59]]],"check":"merge-contained-end fixture 5","expected":["ranges",[[0,9],[20,29],[50,59]]],"passed":true},{"actual":["ranges",[[10,39]]],"check":"merge-contained-end fixture 6","expected":["ranges",[[10,39]]],"passed":true},{"actual":["ranges",[[50,59],[20,29],[30,39]]],"check":"merge-contained-end fixture 7","expected":["ranges",[[50,59],[20,29],[30,39]]],"passed":true},{"actual":["ranges",[[0,14]]],"check":"merge-contained-end fixture 8","expected":["ranges",[[0,14]]],"passed":true},{"actual":["ranges",[[0,9]]],"check":"merge-contained-end fixture 9","expected":["ranges",[[0,20]]],"passed":false},{"actual":["full",null],"check":"merge-contained-end fixture 10","expected":["full",null],"passed":true},{"actual":["ranges",[[0,5],[20,35],[40,49]]],"check":"merge-contained-end fixture 11","expected":["ranges",[[0,5],[20,35],[40,49]]],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 12","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[10,19],[20,29]]],"check":"merge-contained-end fixture 13","expected":["ranges",[[0,9],[10,19],[20,29]]],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 14","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 15","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 16","expected":["full",null],"passed":true},{"actual":["ranges",[[0,0],[1,1]]],"check":"merge-contained-end fixture 17","expected":["ranges",[[0,0],[1,1]]],"passed":true},{"actual":["ranges",[[0,5]]],"check":"merge-contained-end fixture 18","expected":["ranges",[[0,5]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"merge-contained-end fixture 0\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 1\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 2\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 3\", \"actual\": [\"ranges\", [[0, 9], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [20, 29]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 4\", \"actual\": [\"ranges\", [[50, 59], [0, 9]]], \"expected\": [\"ranges\", [[50, 59], [0, 9]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 5\", \"actual\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"expected\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 6\", \"actual\": [\"ranges\", [[10, 39]]], \"expected\": [\"ranges\", [[10, 39]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 7\", \"actual\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"expected\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 8\", \"actual\": [\"ranges\", [[0, 14]]], \"expected\": [\"ranges\", [[0, 14]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 9\", \"actual\": [\"ranges\", [[0, 9]]], \"expected\": [\"ranges\", [[0, 20]]], \"passed\": false}, {\"check\": \"merge-contained-end fixture 10\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 11\", \"actual\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"expected\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 12\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 13\", \"actual\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 14\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 15\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 16\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 17\", \"actual\": [\"ranges\", [[0, 0], [1, 1]]], \"expected\": [\"ranges\", [[0, 0], [1, 1]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 18\", \"actual\": [\"ranges\", [[0, 5]]], \"expected\": [\"ranges\", [[0, 5]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.501,"exit_code":1,"observations":[{"actual":["full",null],"check":"merge-contained-end fixture 0","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 1","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 2","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[20,29]]],"check":"merge-contained-end fixture 3","expected":["ranges",[[0,9],[20,29]]],"passed":true},{"actual":["ranges",[[50,59],[0,9]]],"check":"merge-contained-end fixture 4","expected":["ranges",[[50,59],[0,9]]],"passed":true},{"actual":["ranges",[[0,9],[20,29],[50,59]]],"check":"merge-contained-end fixture 5","expected":["ranges",[[0,9],[20,29],[50,59]]],"passed":true},{"actual":["ranges",[[10,39]]],"check":"merge-contained-end fixture 6","expected":["ranges",[[10,39]]],"passed":true},{"actual":["ranges",[[50,59],[20,29],[30,39]]],"check":"merge-contained-end fixture 7","expected":["ranges",[[50,59],[20,29],[30,39]]],"passed":true},{"actual":["ranges",[[0,14]]],"check":"merge-contained-end fixture 8","expected":["ranges",[[0,14]]],"passed":true},{"actual":["ranges",[[0,9]]],"check":"merge-contained-end fixture 9","expected":["ranges",[[0,20]]],"passed":false},{"actual":["full",null],"check":"merge-contained-end fixture 10","expected":["full",null],"passed":true},{"actual":["ranges",[[0,5],[20,35],[40,49]]],"check":"merge-contained-end fixture 11","expected":["ranges",[[0,5],[20,35],[40,49]]],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 12","expected":["full",null],"passed":true},{"actual":["ranges",[[0,9],[10,19],[20,29]]],"check":"merge-contained-end fixture 13","expected":["ranges",[[0,9],[10,19],[20,29]]],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 14","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 15","expected":["full",null],"passed":true},{"actual":["full",null],"check":"merge-contained-end fixture 16","expected":["full",null],"passed":true},{"actual":["ranges",[[0,0],[1,1]]],"check":"merge-contained-end fixture 17","expected":["ranges",[[0,0],[1,1]]],"passed":true},{"actual":["ranges",[[0,5]]],"check":"merge-contained-end fixture 18","expected":["ranges",[[0,5]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"merge-contained-end fixture 0\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 1\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 2\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 3\", \"actual\": [\"ranges\", [[0, 9], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [20, 29]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 4\", \"actual\": [\"ranges\", [[50, 59], [0, 9]]], \"expected\": [\"ranges\", [[50, 59], [0, 9]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 5\", \"actual\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"expected\": [\"ranges\", [[0, 9], [20, 29], [50, 59]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 6\", \"actual\": [\"ranges\", [[10, 39]]], \"expected\": [\"ranges\", [[10, 39]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 7\", \"actual\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"expected\": [\"ranges\", [[50, 59], [20, 29], [30, 39]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 8\", \"actual\": [\"ranges\", [[0, 14]]], \"expected\": [\"ranges\", [[0, 14]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 9\", \"actual\": [\"ranges\", [[0, 9]]], \"expected\": [\"ranges\", [[0, 20]]], \"passed\": false}, {\"check\": \"merge-contained-end fixture 10\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 11\", \"actual\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"expected\": [\"ranges\", [[0, 5], [20, 35], [40, 49]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 12\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 13\", \"actual\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"expected\": [\"ranges\", [[0, 9], [10, 19], [20, 29]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 14\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 15\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 16\", \"actual\": [\"full\", null], \"expected\": [\"full\", null], \"passed\": true}, {\"check\": \"merge-contained-end fixture 17\", \"actual\": [\"ranges\", [[0, 0], [1, 1]]], \"expected\": [\"ranges\", [[0, 0], [1, 1]]], \"passed\": true}, {\"check\": \"merge-contained-end fixture 18\", \"actual\": [\"ranges\", [[0, 5]]], \"expected\": [\"ranges\", [[0, 5]]], \"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."}}