{"abstract":"Binding an undefined mask exposes the full surface instead of empty coverage.","category":"Raster clipping","checks":12,"contract":"Named clip masks are immutable snapshots clipped to target extent. Bind selects a name, edits replace the named mask, deletion of the active mask makes drawing empty. Renaming preserves active binding; clone is independent; reset clears registry and active binding.","evaluation_group":"s3-raster-clipping-named-mask-registry","failed_approach":"Distinguishing no binding from an undefined name still exposes full coverage for undefined names.","family":"s3-raster-clipping-named-mask-registry-missing-full","id":"FA-50481","implementations":{"attempt":{"sha256":"8fa4083ed641a5b8851ed701af9cd438de3b82d1eff465abb3361a27a1614a1f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    masks={}\n    active=None\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='define': masks[cmd[1]]=set(cmd[2]) & full\n        elif op=='bind': active=cmd[1]\n        elif op=='delete': masks.pop(cmd[1],None)\n        elif op=='clone': masks[cmd[2]]=set(masks.get(cmd[1],set()))\n        elif op=='subtract' and cmd[1] in masks: masks[cmd[1]]-=set(cmd[2])\n        elif op=='rename' and cmd[1] in masks:\n            masks[cmd[2]]=masks.pop(cmd[1])\n            if active==cmd[1]: active=cmd[2]\n        elif op=='reset': masks={}; active=None\n        elif op=='draw': out.append(sorted(masks.get(active,full if active is not None else set())))\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 sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 4), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 4), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 4), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 4), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 4), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 4), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 4), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 4), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 4), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 4), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 4), [[0, 1, 2, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 5), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 5), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 5), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 5), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 5), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 5), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 5), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 5), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 5), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 5), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 5), [[0, 1, 2, 3, 4]])\nif N == 3:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 6), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 6), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 6), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 6), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 6), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 6), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 6), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 6), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 6), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 6), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 6), [[0, 1, 2, 3, 4, 5]])\nif N == 4:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 7), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 7), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 7), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 7), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 7), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 7), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 7), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 7), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 7), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 7), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 7), [[0, 1, 2, 3, 4, 5, 6]])\nif N == 5:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 8), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 8), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 8), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 8), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 8), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 8), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 8), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 8), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 8), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 8), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 8), [[0, 1, 2, 3, 4, 5, 6, 7]])\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":"16174437c717e9bf1a71ef0fb729941b2e7180652ddb9be5f6e03c963faf5e7a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    masks={}\n    active=None\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='define': masks[cmd[1]]=set(cmd[2]) & full\n        elif op=='bind': active=cmd[1]\n        elif op=='delete': masks.pop(cmd[1],None)\n        elif op=='clone': masks[cmd[2]]=set(masks.get(cmd[1],set()))\n        elif op=='subtract' and cmd[1] in masks: masks[cmd[1]]-=set(cmd[2])\n        elif op=='rename' and cmd[1] in masks:\n            masks[cmd[2]]=masks.pop(cmd[1])\n            if active==cmd[1]: active=cmd[2]\n        elif op=='reset': masks={}; active=None\n        elif op=='draw': out.append(sorted(masks.get(active,full)))\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 sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 4), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 4), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 4), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 4), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 4), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 4), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 4), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 4), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 4), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 4), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 4), [[0, 1, 2, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 5), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 5), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 5), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 5), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 5), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 5), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 5), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 5), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 5), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 5), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 5), [[0, 1, 2, 3, 4]])\nif N == 3:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 6), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 6), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 6), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 6), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 6), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 6), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 6), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 6), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 6), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 6), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 6), [[0, 1, 2, 3, 4, 5]])\nif N == 4:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 7), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 7), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 7), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 7), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 7), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 7), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 7), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 7), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 7), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 7), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 7), [[0, 1, 2, 3, 4, 5, 6]])\nif N == 5:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 8), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 8), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 8), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 8), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 8), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 8), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 8), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 8), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 8), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 8), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 8), [[0, 1, 2, 3, 4, 5, 6, 7]])\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":"9b0336e6b8175ebd6cdd184386f0a8bf1ef983668a3150bb89fed084db31ab67","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    masks={}\n    active=None\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='define': masks[cmd[1]]=set(cmd[2]) & full\n        elif op=='bind': active=cmd[1]\n        elif op=='delete': masks.pop(cmd[1],None)\n        elif op=='clone': masks[cmd[2]]=set(masks.get(cmd[1],set()))\n        elif op=='subtract' and cmd[1] in masks: masks[cmd[1]]-=set(cmd[2])\n        elif op=='rename' and cmd[1] in masks:\n            masks[cmd[2]]=masks.pop(cmd[1])\n            if active==cmd[1]: active=cmd[2]\n        elif op=='reset': masks={}; active=None\n        elif op=='draw': out.append(sorted(masks.get(active,set())))\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 sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 4), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 4), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 4), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 4), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 4), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 4), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 4), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 4), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 4), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 4), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 4), [[0, 1, 2, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 5), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 5), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 5), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 5), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 5), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 5), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 5), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 5), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 5), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 5), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 5), [[0, 1, 2, 3, 4]])\nif N == 3:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 6), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 6), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 6), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 6), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 6), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 6), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 6), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 6), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 6), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 6), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 6), [[0, 1, 2, 3, 4, 5]])\nif N == 4:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 7), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 7), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 7), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 7), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 7), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 7), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 7), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 7), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 7), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 7), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 7), [[0, 1, 2, 3, 4, 5, 6]])\nif N == 5:\n    check('explicit sequence 0', solve([['define', 'a', [0, 99, -1]], ['bind', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 1', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['draw'], ['bind', 'b'], ['draw']], 8), [[0], [1]])\n    check('explicit sequence 2', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['delete', 'b'], ['draw']], 8), [[0]])\n    check('explicit sequence 3', solve([['define', 'a', [0, 1]], ['clone', 'a', 'b'], ['subtract', 'a', [0]], ['bind', 'b'], ['draw'], ['bind', 'a'], ['draw']], 8), [[0, 1], [1]])\n    check('explicit sequence 4', solve([['define', 'a', [0]], ['bind', 'a'], ['rename', 'a', 'b'], ['draw'], ['bind', 'a'], ['draw']], 8), [[0], []])\n    check('explicit sequence 5', solve([['define', 'a', [0]], ['reset'], ['bind', 'a'], ['draw']], 8), [[]])\n    check('explicit sequence 6', solve([['bind', 'missing'], ['draw']], 8), [[]])\n    check('explicit sequence 7', solve([['define', 'a', [0]], ['define', 'a', [2]], ['bind', 'a'], ['draw']], 8), [[2]])\n    check('explicit sequence 8', solve([['define', 'e', []], ['bind', 'e'], ['draw']], 8), [[]])\n    check('explicit sequence 9', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['rename', 'b', 'c'], ['draw']], 8), [[0]])\n    check('explicit sequence 10', solve([['define', 'a', [0]], ['define', 'b', [1]], ['bind', 'a'], ['reset'], ['bind', 'b'], ['draw']], 8), [[]])\n    check('explicit sequence 11', solve([['define', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['bind', 'a'], ['draw']], 8), [[0, 1, 2, 3, 4, 5, 6, 7]])\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":"Finite one-dimensional integer sample sets model coverage state only; no geometric intersection, memory layout, GPU or graphics-standard 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-named-mask-registry-missing-full","generated_at":"2026-09-29T14:45:09.488513+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Raster clip state can leak coverage across draws even when every individual region is valid.","repair":"Apply the documented state transition at missing full. Named clip masks are immutable snapshots clipped to target extent. Bind selects a name, edits replace the named mask, deletion of the active mask makes drawing empty. Renaming preserves active binding; clone is independent; reset clears registry and active binding.","root_cause":"Binding an undefined mask exposes the full surface instead of empty coverage.","sha256":"f14f7561cf323342e46e6d26991f084f9ecc4c327725b5413c49d19420d94284","title":"Named mask registry: missing full · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.9,"exit_code":1,"observations":[{"actual":[[0]],"check":"explicit sequence 0","expected":[[0]],"passed":true},{"actual":[[0],[1]],"check":"explicit sequence 1","expected":[[0],[1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 2","expected":[[0]],"passed":true},{"actual":[[0,1],[1]],"check":"explicit sequence 3","expected":[[0,1],[1]],"passed":true},{"actual":[[0],[0,1,2,3]],"check":"explicit sequence 4","expected":[[0],[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 5","expected":[[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 6","expected":[[]],"passed":false},{"actual":[[2]],"check":"explicit sequence 7","expected":[[2]],"passed":true},{"actual":[[]],"check":"explicit sequence 8","expected":[[]],"passed":true},{"actual":[[0]],"check":"explicit sequence 9","expected":[[0]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 10","expected":[[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 11","expected":[[0,1,2,3]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0], [1]], \"expected\": [[0], [1]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[0, 1], [1]], \"expected\": [[0, 1], [1]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0], [0, 1, 2, 3]], \"expected\": [[0], []], \"passed\": false}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 6\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 7\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.168,"exit_code":1,"observations":[{"actual":[[0]],"check":"explicit sequence 0","expected":[[0]],"passed":true},{"actual":[[0],[1]],"check":"explicit sequence 1","expected":[[0],[1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 2","expected":[[0]],"passed":true},{"actual":[[0,1],[1]],"check":"explicit sequence 3","expected":[[0,1],[1]],"passed":true},{"actual":[[0],[0,1,2,3]],"check":"explicit sequence 4","expected":[[0],[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 5","expected":[[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 6","expected":[[]],"passed":false},{"actual":[[2]],"check":"explicit sequence 7","expected":[[2]],"passed":true},{"actual":[[]],"check":"explicit sequence 8","expected":[[]],"passed":true},{"actual":[[0]],"check":"explicit sequence 9","expected":[[0]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 10","expected":[[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 11","expected":[[0,1,2,3]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0], [1]], \"expected\": [[0], [1]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[0, 1], [1]], \"expected\": [[0, 1], [1]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0], [0, 1, 2, 3]], \"expected\": [[0], []], \"passed\": false}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 6\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 7\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.995,"exit_code":0,"observations":[{"actual":[[0]],"check":"explicit sequence 0","expected":[[0]],"passed":true},{"actual":[[0],[1]],"check":"explicit sequence 1","expected":[[0],[1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 2","expected":[[0]],"passed":true},{"actual":[[0,1],[1]],"check":"explicit sequence 3","expected":[[0,1],[1]],"passed":true},{"actual":[[0],[]],"check":"explicit sequence 4","expected":[[0],[]],"passed":true},{"actual":[[]],"check":"explicit sequence 5","expected":[[]],"passed":true},{"actual":[[]],"check":"explicit sequence 6","expected":[[]],"passed":true},{"actual":[[2]],"check":"explicit sequence 7","expected":[[2]],"passed":true},{"actual":[[]],"check":"explicit sequence 8","expected":[[]],"passed":true},{"actual":[[0]],"check":"explicit sequence 9","expected":[[0]],"passed":true},{"actual":[[]],"check":"explicit sequence 10","expected":[[]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 11","expected":[[0,1,2,3]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0], [1]], \"expected\": [[0], [1]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[0, 1], [1]], \"expected\": [[0, 1], [1]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0], []], \"expected\": [[0], []], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}