{"abstract":"The half-open scissor right edge is treated as inclusive, writing one extra destination column.","category":"Raster clipping","checks":12,"contract":"Each command is [sw,sh,sx,sy,w,h,dx,dy,clip]: a source image sw by sh, a requested source rectangle origin and size, a destination origin, and a half-open destination scissor [left,top,right,bottom) first intersected with the size by size target. Negative source origins trim width/height and shift the destination by the same amount; the source rectangle is limited to the image; destination pixels left/top of the scissor trim size and advance the source origin; right/bottom trims use half-open bounds. The result is [sx,sy,dx,dy,w,h] or None when either dimension is empty.","contract_signature":"commands, size","evaluation_group":"s3-raster-clipping-blit-source-destination-clip","failed_approach":"Removing the extra column only at the target edge still overwrites one column past an interior scissor.","family":"s3-raster-clipping-blit-source-destination-clip-right-trim-inclusive","id":"FA-51661","implementations":{"attempt":{"sha256":"145afbda161fd9481fe5acf1d1fa94cfa9f84aef648c911c0029baa62d2db447","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    out=[]\n    for sw,sh,sx,sy,w,h,dx,dy,clip in commands:\n        cl,ct,cr,cb=max(clip[0],0),max(clip[1],0),min(clip[2],size),min(clip[3],size)\n        if sx<0:\n            w+=sx; dx-=sx; sx=0\n        if sy<0:\n            h+=sy; dy-=sy; sy=0\n        w=min(w,sw-sx)\n        h=min(h,sh-sy)\n        if dx<cl:\n            w-=cl-dx; sx+=cl-dx; dx=cl\n        if dy<ct:\n            h-=ct-dy; sy+=ct-dy; dy=ct\n        w=min(w,cr-dx+(cr<size))\n        h=min(h,cb-dy)\n        out.append([sx,sy,dx,dy,w,h] if w>0 and h>0 else None)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 6, 6]]], 6), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 6, 6]]], 6), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 6, 6]]], 6), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[9, 2, 0, 0, 9, 2, 0, 0, [0, 0, 10, 6]]], 6), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 4', solve([[6, 2, 0, 0, 6, 2, 0, 0, [0, 0, 3, 6]]], 6), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 4, 0, [0, 0, 6, 6]]], 6), [[0, 0, 4, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 6]]], 6), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 6, 6]]], 6), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 6, 6]]], 6), [[2, 0, 3, 0, 3, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 6, 6]]], 6), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 6, 6]]], 6), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[6, 6, 1, 1, 6, 6, -1, -1, [0, 0, 6, 6]]], 6), [[2, 2, 0, 0, 4, 4]])\nif N == 2:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 7, 7]]], 7), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 7, 7]]], 7), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 7, 7]]], 7), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[10, 2, 0, 0, 10, 2, 0, 0, [0, 0, 11, 7]]], 7), [[0, 0, 0, 0, 7, 2]])\n    check('explicit case 4', solve([[7, 2, 0, 0, 7, 2, 0, 0, [0, 0, 3, 7]]], 7), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 5, 0, [0, 0, 7, 7]]], 7), [[0, 0, 5, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 7]]], 7), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 7, 7]]], 7), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 7, 7]]], 7), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 7, 7]]], 7), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 7, 7]]], 7), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[7, 7, 1, 1, 7, 7, -1, -1, [0, 0, 7, 7]]], 7), [[2, 2, 0, 0, 5, 5]])\nif N == 3:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 8, 8]]], 8), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 8, 8]]], 8), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 8, 8]]], 8), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[11, 2, 0, 0, 11, 2, 0, 0, [0, 0, 12, 8]]], 8), [[0, 0, 0, 0, 8, 2]])\n    check('explicit case 4', solve([[8, 2, 0, 0, 8, 2, 0, 0, [0, 0, 3, 8]]], 8), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 6, 0, [0, 0, 8, 8]]], 8), [[0, 0, 6, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 8]]], 8), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 8, 8]]], 8), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 8, 8]]], 8), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 8, 8]]], 8), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 8, 8]]], 8), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[8, 8, 1, 1, 8, 8, -1, -1, [0, 0, 8, 8]]], 8), [[2, 2, 0, 0, 6, 6]])\nif N == 4:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 9, 9]]], 9), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 9, 9]]], 9), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 9, 9]]], 9), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[12, 2, 0, 0, 12, 2, 0, 0, [0, 0, 13, 9]]], 9), [[0, 0, 0, 0, 9, 2]])\n    check('explicit case 4', solve([[9, 2, 0, 0, 9, 2, 0, 0, [0, 0, 3, 9]]], 9), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 7, 0, [0, 0, 9, 9]]], 9), [[0, 0, 7, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 9]]], 9), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 9, 9]]], 9), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 9, 9]]], 9), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 9, 9]]], 9), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 9, 9]]], 9), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[9, 9, 1, 1, 9, 9, -1, -1, [0, 0, 9, 9]]], 9), [[2, 2, 0, 0, 7, 7]])\nif N == 5:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 10, 10]]], 10), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 10, 10]]], 10), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 10, 10]]], 10), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[13, 2, 0, 0, 13, 2, 0, 0, [0, 0, 14, 10]]], 10), [[0, 0, 0, 0, 10, 2]])\n    check('explicit case 4', solve([[10, 2, 0, 0, 10, 2, 0, 0, [0, 0, 3, 10]]], 10), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 8, 0, [0, 0, 10, 10]]], 10), [[0, 0, 8, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 10]]], 10), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 10, 10]]], 10), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 10, 10]]], 10), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 10, 10]]], 10), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 10, 10]]], 10), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[10, 10, 1, 1, 10, 10, -1, -1, [0, 0, 10, 10]]], 10), [[2, 2, 0, 0, 8, 8]])\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":"7f1e216d927ea4b4d5a2fcb5998cfe2cadc1ddbdf127686ce99500d7634eb9e7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    out=[]\n    for sw,sh,sx,sy,w,h,dx,dy,clip in commands:\n        cl,ct,cr,cb=max(clip[0],0),max(clip[1],0),min(clip[2],size),min(clip[3],size)\n        if sx<0:\n            w+=sx; dx-=sx; sx=0\n        if sy<0:\n            h+=sy; dy-=sy; sy=0\n        w=min(w,sw-sx)\n        h=min(h,sh-sy)\n        if dx<cl:\n            w-=cl-dx; sx+=cl-dx; dx=cl\n        if dy<ct:\n            h-=ct-dy; sy+=ct-dy; dy=ct\n        w=min(w,cr-dx+1)\n        h=min(h,cb-dy)\n        out.append([sx,sy,dx,dy,w,h] if w>0 and h>0 else None)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 6, 6]]], 6), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 6, 6]]], 6), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 6, 6]]], 6), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[9, 2, 0, 0, 9, 2, 0, 0, [0, 0, 10, 6]]], 6), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 4', solve([[6, 2, 0, 0, 6, 2, 0, 0, [0, 0, 3, 6]]], 6), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 4, 0, [0, 0, 6, 6]]], 6), [[0, 0, 4, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 6]]], 6), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 6, 6]]], 6), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 6, 6]]], 6), [[2, 0, 3, 0, 3, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 6, 6]]], 6), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 6, 6]]], 6), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[6, 6, 1, 1, 6, 6, -1, -1, [0, 0, 6, 6]]], 6), [[2, 2, 0, 0, 4, 4]])\nif N == 2:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 7, 7]]], 7), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 7, 7]]], 7), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 7, 7]]], 7), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[10, 2, 0, 0, 10, 2, 0, 0, [0, 0, 11, 7]]], 7), [[0, 0, 0, 0, 7, 2]])\n    check('explicit case 4', solve([[7, 2, 0, 0, 7, 2, 0, 0, [0, 0, 3, 7]]], 7), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 5, 0, [0, 0, 7, 7]]], 7), [[0, 0, 5, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 7]]], 7), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 7, 7]]], 7), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 7, 7]]], 7), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 7, 7]]], 7), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 7, 7]]], 7), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[7, 7, 1, 1, 7, 7, -1, -1, [0, 0, 7, 7]]], 7), [[2, 2, 0, 0, 5, 5]])\nif N == 3:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 8, 8]]], 8), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 8, 8]]], 8), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 8, 8]]], 8), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[11, 2, 0, 0, 11, 2, 0, 0, [0, 0, 12, 8]]], 8), [[0, 0, 0, 0, 8, 2]])\n    check('explicit case 4', solve([[8, 2, 0, 0, 8, 2, 0, 0, [0, 0, 3, 8]]], 8), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 6, 0, [0, 0, 8, 8]]], 8), [[0, 0, 6, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 8]]], 8), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 8, 8]]], 8), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 8, 8]]], 8), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 8, 8]]], 8), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 8, 8]]], 8), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[8, 8, 1, 1, 8, 8, -1, -1, [0, 0, 8, 8]]], 8), [[2, 2, 0, 0, 6, 6]])\nif N == 4:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 9, 9]]], 9), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 9, 9]]], 9), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 9, 9]]], 9), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[12, 2, 0, 0, 12, 2, 0, 0, [0, 0, 13, 9]]], 9), [[0, 0, 0, 0, 9, 2]])\n    check('explicit case 4', solve([[9, 2, 0, 0, 9, 2, 0, 0, [0, 0, 3, 9]]], 9), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 7, 0, [0, 0, 9, 9]]], 9), [[0, 0, 7, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 9]]], 9), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 9, 9]]], 9), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 9, 9]]], 9), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 9, 9]]], 9), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 9, 9]]], 9), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[9, 9, 1, 1, 9, 9, -1, -1, [0, 0, 9, 9]]], 9), [[2, 2, 0, 0, 7, 7]])\nif N == 5:\n    check('explicit case 0', solve([[4, 4, 0, 0, 4, 4, 1, 1, [0, 0, 10, 10]]], 10), [[0, 0, 1, 1, 4, 4]])\n    check('explicit case 1', solve([[4, 4, -2, 0, 4, 2, 0, 0, [0, 0, 10, 10]]], 10), [[0, 0, 2, 0, 2, 2]])\n    check('explicit case 2', solve([[5, 3, 2, 0, 5, 3, 0, 0, [0, 0, 10, 10]]], 10), [[2, 0, 0, 0, 3, 3]])\n    check('explicit case 3', solve([[13, 2, 0, 0, 13, 2, 0, 0, [0, 0, 14, 10]]], 10), [[0, 0, 0, 0, 10, 2]])\n    check('explicit case 4', solve([[10, 2, 0, 0, 10, 2, 0, 0, [0, 0, 3, 10]]], 10), [[0, 0, 0, 0, 3, 2]])\n    check('explicit case 5', solve([[4, 4, 0, 0, 4, 4, 8, 0, [0, 0, 10, 10]]], 10), [[0, 0, 8, 0, 2, 4]])\n    check('explicit case 6', solve([[4, 4, 0, 0, 4, 4, 0, 0, [0, 0, 0, 10]]], 10), [None])\n    check('explicit case 7', solve([[4, 4, 0, 0, 4, 0, 0, 0, [0, 0, 10, 10]]], 10), [None])\n    check('explicit case 8', solve([[6, 6, 0, 0, 6, 6, 1, 0, [3, 0, 10, 10]]], 10), [[2, 0, 3, 0, 4, 6]])\n    check('explicit case 9', solve([[6, 2, 0, 0, 6, 6, 0, 0, [0, 0, 10, 10]]], 10), [[0, 0, 0, 0, 6, 2]])\n    check('explicit case 10', solve([[2, 6, 0, 0, 6, 6, 0, 0, [0, 0, 10, 10]]], 10), [[0, 0, 0, 0, 2, 6]])\n    check('explicit case 11', solve([[10, 10, 1, 1, 10, 10, -1, -1, [0, 0, 10, 10]]], 10), [[2, 2, 0, 0, 8, 8]])\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":"Exact integer/rational arithmetic on small stipulated fixtures models the clipping decision only; no memory layout, GPU pipeline, graphics API or standards conformance is claimed. 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-raster-clipping-blit-source-destination-clip-right-trim-inclusive","generated_at":"2026-09-29T14:45:21.200903+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Raster clipping decides which pixels a primitive may touch; a single wrong clip decision writes outside the target or scissor, or silently drops visible coverage.","root_cause":"The half-open scissor right edge is treated as inclusive, writing one extra destination column.","sha256":"776ab91ed78d1cfbaad11dbe4bb9fa446e10831e90f15fe7d35f86bc78213d01","title":"Blit source destination clip: right trim inclusive · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.923,"exit_code":1,"observations":[{"actual":[[0,0,1,1,4,4]],"check":"explicit case 0","expected":[[0,0,1,1,4,4]],"passed":true},{"actual":[[0,0,2,0,2,2]],"check":"explicit case 1","expected":[[0,0,2,0,2,2]],"passed":true},{"actual":[[2,0,0,0,3,3]],"check":"explicit case 2","expected":[[2,0,0,0,3,3]],"passed":true},{"actual":[[0,0,0,0,6,2]],"check":"explicit case 3","expected":[[0,0,0,0,6,2]],"passed":true},{"actual":[[0,0,0,0,4,2]],"check":"explicit case 4","expected":[[0,0,0,0,3,2]],"passed":false},{"actual":[[0,0,4,0,2,4]],"check":"explicit case 5","expected":[[0,0,4,0,2,4]],"passed":true},{"actual":[[0,0,0,0,1,4]],"check":"explicit case 6","expected":[null],"passed":false},{"actual":[null],"check":"explicit case 7","expected":[null],"passed":true},{"actual":[[2,0,3,0,3,6]],"check":"explicit case 8","expected":[[2,0,3,0,3,6]],"passed":true},{"actual":[[0,0,0,0,6,2]],"check":"explicit case 9","expected":[[0,0,0,0,6,2]],"passed":true},{"actual":[[0,0,0,0,2,6]],"check":"explicit case 10","expected":[[0,0,0,0,2,6]],"passed":true},{"actual":[[2,2,0,0,4,4]],"check":"explicit case 11","expected":[[2,2,0,0,4,4]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit case 0\", \"actual\": [[0, 0, 1, 1, 4, 4]], \"expected\": [[0, 0, 1, 1, 4, 4]], \"passed\": true}, {\"check\": \"explicit case 1\", \"actual\": [[0, 0, 2, 0, 2, 2]], \"expected\": [[0, 0, 2, 0, 2, 2]], \"passed\": true}, {\"check\": \"explicit case 2\", \"actual\": [[2, 0, 0, 0, 3, 3]], \"expected\": [[2, 0, 0, 0, 3, 3]], \"passed\": true}, {\"check\": \"explicit case 3\", \"actual\": [[0, 0, 0, 0, 6, 2]], \"expected\": [[0, 0, 0, 0, 6, 2]], \"passed\": true}, {\"check\": \"explicit case 4\", \"actual\": [[0, 0, 0, 0, 4, 2]], \"expected\": [[0, 0, 0, 0, 3, 2]], \"passed\": false}, {\"check\": \"explicit case 5\", \"actual\": [[0, 0, 4, 0, 2, 4]], \"expected\": [[0, 0, 4, 0, 2, 4]], \"passed\": true}, {\"check\": \"explicit case 6\", \"actual\": [[0, 0, 0, 0, 1, 4]], \"expected\": [null], \"passed\": false}, {\"check\": \"explicit case 7\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"explicit case 8\", \"actual\": [[2, 0, 3, 0, 3, 6]], \"expected\": [[2, 0, 3, 0, 3, 6]], \"passed\": true}, {\"check\": \"explicit case 9\", \"actual\": [[0, 0, 0, 0, 6, 2]], \"expected\": [[0, 0, 0, 0, 6, 2]], \"passed\": true}, {\"check\": \"explicit case 10\", \"actual\": [[0, 0, 0, 0, 2, 6]], \"expected\": [[0, 0, 0, 0, 2, 6]], \"passed\": true}, {\"check\": \"explicit case 11\", \"actual\": [[2, 2, 0, 0, 4, 4]], \"expected\": [[2, 2, 0, 0, 4, 4]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.612,"exit_code":1,"observations":[{"actual":[[0,0,1,1,4,4]],"check":"explicit case 0","expected":[[0,0,1,1,4,4]],"passed":true},{"actual":[[0,0,2,0,2,2]],"check":"explicit case 1","expected":[[0,0,2,0,2,2]],"passed":true},{"actual":[[2,0,0,0,3,3]],"check":"explicit case 2","expected":[[2,0,0,0,3,3]],"passed":true},{"actual":[[0,0,0,0,7,2]],"check":"explicit case 3","expected":[[0,0,0,0,6,2]],"passed":false},{"actual":[[0,0,0,0,4,2]],"check":"explicit case 4","expected":[[0,0,0,0,3,2]],"passed":false},{"actual":[[0,0,4,0,3,4]],"check":"explicit case 5","expected":[[0,0,4,0,2,4]],"passed":false},{"actual":[[0,0,0,0,1,4]],"check":"explicit case 6","expected":[null],"passed":false},{"actual":[null],"check":"explicit case 7","expected":[null],"passed":true},{"actual":[[2,0,3,0,4,6]],"check":"explicit case 8","expected":[[2,0,3,0,3,6]],"passed":false},{"actual":[[0,0,0,0,6,2]],"check":"explicit case 9","expected":[[0,0,0,0,6,2]],"passed":true},{"actual":[[0,0,0,0,2,6]],"check":"explicit case 10","expected":[[0,0,0,0,2,6]],"passed":true},{"actual":[[2,2,0,0,4,4]],"check":"explicit case 11","expected":[[2,2,0,0,4,4]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit case 0\", \"actual\": [[0, 0, 1, 1, 4, 4]], \"expected\": [[0, 0, 1, 1, 4, 4]], \"passed\": true}, {\"check\": \"explicit case 1\", \"actual\": [[0, 0, 2, 0, 2, 2]], \"expected\": [[0, 0, 2, 0, 2, 2]], \"passed\": true}, {\"check\": \"explicit case 2\", \"actual\": [[2, 0, 0, 0, 3, 3]], \"expected\": [[2, 0, 0, 0, 3, 3]], \"passed\": true}, {\"check\": \"explicit case 3\", \"actual\": [[0, 0, 0, 0, 7, 2]], \"expected\": [[0, 0, 0, 0, 6, 2]], \"passed\": false}, {\"check\": \"explicit case 4\", \"actual\": [[0, 0, 0, 0, 4, 2]], \"expected\": [[0, 0, 0, 0, 3, 2]], \"passed\": false}, {\"check\": \"explicit case 5\", \"actual\": [[0, 0, 4, 0, 3, 4]], \"expected\": [[0, 0, 4, 0, 2, 4]], \"passed\": false}, {\"check\": \"explicit case 6\", \"actual\": [[0, 0, 0, 0, 1, 4]], \"expected\": [null], \"passed\": false}, {\"check\": \"explicit case 7\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"explicit case 8\", \"actual\": [[2, 0, 3, 0, 4, 6]], \"expected\": [[2, 0, 3, 0, 3, 6]], \"passed\": false}, {\"check\": \"explicit case 9\", \"actual\": [[0, 0, 0, 0, 6, 2]], \"expected\": [[0, 0, 0, 0, 6, 2]], \"passed\": true}, {\"check\": \"explicit case 10\", \"actual\": [[0, 0, 0, 0, 2, 6]], \"expected\": [[0, 0, 0, 0, 2, 6]], \"passed\": true}, {\"check\": \"explicit case 11\", \"actual\": [[2, 2, 0, 0, 4, 4]], \"expected\": [[2, 2, 0, 0, 4, 4]], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}