{"abstract":"A delta downloader reuses matching local blocks and fetches the rest with batched ranges: each request batch takes the next R runs from its own start.","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].","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-1]))\nreturn [copies,headers], which still violates the stated contract.","family":"s3-http_ranges-delta-block-fetch-batch-slice","id":"FA-27746","implementations":{"attempt":{"sha256":"855be7191e98fc51e4c303cb3c42e52b28f6dfe9f58b7a8f70d26f38b5217ab9","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-1]))\n    return [copies,headers]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice fixture 9', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':[],'total':0}))), json.loads(json.dumps([[],[]])))\ncheck('batch-slice 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('batch-slice 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('batch-slice 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":"69f0320289745cf42572e74b531a873f832af99c8dbc1e02f3ff8736eaa277d9","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:R]))\n    return [copies,headers]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice fixture 9', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':[],'total':0}))), json.loads(json.dumps([[],[]])))\ncheck('batch-slice 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('batch-slice 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('batch-slice 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"},"fixed":{"sha256":"9fc8c43146c68f5d77f682922ba5c1b0efe64360f41d6ad7385e9d444dc81421","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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice 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('batch-slice fixture 9', json.loads(json.dumps(solve({'block':4,'local':[],'local_total':0,'max_ranges':2,'remote':[],'total':0}))), json.loads(json.dumps([[],[]])))\ncheck('batch-slice 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('batch-slice 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('batch-slice 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-batch-slice","generated_at":"2026-09-29T14:41:27.764440+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: 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]","root_cause":"The delta-block-fetch-batch-slice 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    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:R]))\nreturn [copies,headers].","sha256":"44c6f1ef150ff0ef13ea7ce0d335024530e2393fa2a08bd81109b1caffdac9fa","title":"A delta downloader reuses matching local blocks and fetches the rest with batched ranges: each request batch takes the next R runs from its own start · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.611,"exit_code":1,"observations":[{"actual":[[[4,0,4]],["bytes=0-3"]],"check":"batch-slice fixture 0","expected":[[[4,0,4]],["bytes=0-3,8-9"]],"passed":false},{"actual":[[[0,8,4]],["bytes=4-7"]],"check":"batch-slice fixture 1","expected":[[[0,8,4]],["bytes=4-7"]],"passed":true},{"actual":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"check":"batch-slice fixture 2","expected":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"passed":true},{"actual":[[],["bytes=0-7"]],"check":"batch-slice fixture 3","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[[4,0,4],[12,0,4],[20,0,4]],["bytes=0-3","bytes=16-19"]],"check":"batch-slice 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":"batch-slice fixture 5","expected":null,"passed":true},{"actual":null,"check":"batch-slice fixture 6","expected":null,"passed":true},{"actual":[[],["bytes=0-7"]],"check":"batch-slice fixture 7","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[[0,0,4]],["bytes=4-7"]],"check":"batch-slice fixture 8","expected":[[[0,0,4]],["bytes=4-7"]],"passed":true},{"actual":[[],[]],"check":"batch-slice fixture 9","expected":[[],[]],"passed":true},{"actual":null,"check":"batch-slice fixture 10","expected":null,"passed":true},{"actual":[[],["bytes="]],"check":"batch-slice fixture 11","expected":[[],["bytes=0-11"]],"passed":false},{"actual":[[[0,0,4]],[]],"check":"batch-slice fixture 12","expected":[[[0,0,4]],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"batch-slice fixture 0\", \"actual\": [[[4, 0, 4]], [\"bytes=0-3\"]], \"expected\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"passed\": false}, {\"check\": \"batch-slice fixture 1\", \"actual\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"batch-slice 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\": \"batch-slice fixture 3\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 4\", \"actual\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3\", \"bytes=16-19\"]], \"expected\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3,8-11\", \"bytes=16-19\"]], \"passed\": false}, {\"check\": \"batch-slice fixture 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 7\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 8\", \"actual\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 9\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"batch-slice fixture 10\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 11\", \"actual\": [[], [\"bytes=\"]], \"expected\": [[], [\"bytes=0-11\"]], \"passed\": false}, {\"check\": \"batch-slice fixture 12\", \"actual\": [[[0, 0, 4]], []], \"expected\": [[[0, 0, 4]], []], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.184,"exit_code":1,"observations":[{"actual":[[[4,0,4]],["bytes=0-3,8-9"]],"check":"batch-slice fixture 0","expected":[[[4,0,4]],["bytes=0-3,8-9"]],"passed":true},{"actual":[[[0,8,4]],["bytes=4-7"]],"check":"batch-slice fixture 1","expected":[[[0,8,4]],["bytes=4-7"]],"passed":true},{"actual":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"check":"batch-slice fixture 2","expected":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"passed":true},{"actual":[[],["bytes=0-7"]],"check":"batch-slice fixture 3","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[[4,0,4],[12,0,4],[20,0,4]],["bytes=0-3,8-11","bytes="]],"check":"batch-slice 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":"batch-slice fixture 5","expected":null,"passed":true},{"actual":null,"check":"batch-slice fixture 6","expected":null,"passed":true},{"actual":[[],["bytes=0-7"]],"check":"batch-slice fixture 7","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[[0,0,4]],["bytes=4-7"]],"check":"batch-slice fixture 8","expected":[[[0,0,4]],["bytes=4-7"]],"passed":true},{"actual":[[],[]],"check":"batch-slice fixture 9","expected":[[],[]],"passed":true},{"actual":null,"check":"batch-slice fixture 10","expected":null,"passed":true},{"actual":[[],["bytes=0-11"]],"check":"batch-slice fixture 11","expected":[[],["bytes=0-11"]],"passed":true},{"actual":[[[0,0,4]],[]],"check":"batch-slice fixture 12","expected":[[[0,0,4]],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"batch-slice fixture 0\", \"actual\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"expected\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 1\", \"actual\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"batch-slice 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\": \"batch-slice fixture 3\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 4\", \"actual\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3,8-11\", \"bytes=\"]], \"expected\": [[[4, 0, 4], [12, 0, 4], [20, 0, 4]], [\"bytes=0-3,8-11\", \"bytes=16-19\"]], \"passed\": false}, {\"check\": \"batch-slice fixture 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 7\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 8\", \"actual\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 9\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"batch-slice fixture 10\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 11\", \"actual\": [[], [\"bytes=0-11\"]], \"expected\": [[], [\"bytes=0-11\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 12\", \"actual\": [[[0, 0, 4]], []], \"expected\": [[[0, 0, 4]], []], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.18,"exit_code":0,"observations":[{"actual":[[[4,0,4]],["bytes=0-3,8-9"]],"check":"batch-slice fixture 0","expected":[[[4,0,4]],["bytes=0-3,8-9"]],"passed":true},{"actual":[[[0,8,4]],["bytes=4-7"]],"check":"batch-slice fixture 1","expected":[[[0,8,4]],["bytes=4-7"]],"passed":true},{"actual":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"check":"batch-slice fixture 2","expected":[[[0,4,4],[4,8,4]],["bytes=8-9"]],"passed":true},{"actual":[[],["bytes=0-7"]],"check":"batch-slice 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":"batch-slice 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":"batch-slice fixture 5","expected":null,"passed":true},{"actual":null,"check":"batch-slice fixture 6","expected":null,"passed":true},{"actual":[[],["bytes=0-7"]],"check":"batch-slice fixture 7","expected":[[],["bytes=0-7"]],"passed":true},{"actual":[[[0,0,4]],["bytes=4-7"]],"check":"batch-slice fixture 8","expected":[[[0,0,4]],["bytes=4-7"]],"passed":true},{"actual":[[],[]],"check":"batch-slice fixture 9","expected":[[],[]],"passed":true},{"actual":null,"check":"batch-slice fixture 10","expected":null,"passed":true},{"actual":[[],["bytes=0-11"]],"check":"batch-slice fixture 11","expected":[[],["bytes=0-11"]],"passed":true},{"actual":[[[0,0,4]],[]],"check":"batch-slice fixture 12","expected":[[[0,0,4]],[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"batch-slice fixture 0\", \"actual\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"expected\": [[[4, 0, 4]], [\"bytes=0-3,8-9\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 1\", \"actual\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 8, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"batch-slice 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\": \"batch-slice fixture 3\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"batch-slice 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\": \"batch-slice fixture 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 7\", \"actual\": [[], [\"bytes=0-7\"]], \"expected\": [[], [\"bytes=0-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 8\", \"actual\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"expected\": [[[0, 0, 4]], [\"bytes=4-7\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 9\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"batch-slice fixture 10\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"batch-slice fixture 11\", \"actual\": [[], [\"bytes=0-11\"]], \"expected\": [[], [\"bytes=0-11\"]], \"passed\": true}, {\"check\": \"batch-slice fixture 12\", \"actual\": [[[0, 0, 4]], []], \"expected\": [[[0, 0, 4]], []], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}