{"abstract":"Odd clipping rejects triple coverage.","category":"Raster clipping","checks":12,"contract":"Sources contribute unique sample sets to an overlap-count clip. Replacing a source first removes its old contribution. Removing an unknown source is inert. Coverage may select union, exactly-one, at-least-two or odd count. Moving a source translates its retained original sample set before clipping to the target, allowing previously exterior samples to enter. Draw emits selected finite samples.","evaluation_group":"s3-raster-clipping-overlap-count-clip-regions","failed_approach":"Accepting all nonzero counts includes even overlap.","family":"s3-raster-clipping-overlap-count-clip-regions-parity-threshold","id":"FA-51276","implementations":{"attempt":{"sha256":"15c63e44babc14af2fcf575015500a22894f5fe250f7164874b934d7c4b4972a","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    sources={}\n    counts={x:0 for x in full}\n    mode='union'\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op in ('put','move','remove'):\n            key=cmd[1]\n            old=sources.get(key,set())\n            for x in old & full: counts[x]-=1\n            if op=='put': new=set(cmd[2])\n            elif op=='move': new={x+cmd[2] for x in old}\n            else: new=set()\n            if op=='remove': sources.pop(key,None)\n            else: sources[key]=new\n            for x in new & full: counts[x]+=1\n        elif op=='mode': mode=cmd[1]\n        elif op=='draw':\n            if mode=='union': selected=[x for x in full if counts[x]>0]\n            elif mode=='single': selected=[x for x in full if counts[x]==1]\n            elif mode=='overlap': selected=[x for x in full if counts[x]>=2]\n            else: selected=[x for x in full if counts[x]>0]\n            out.append(sorted(selected))\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([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 4), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 4), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 4), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 4), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 4), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 4), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 4), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 4), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 4), [[0, 1, 2, 3]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 4), [[0, 1]])\nif N == 2:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 5), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 5), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 5), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 5), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 5), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 5), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 5), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 5), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 5), [[0, 1, 2, 3, 4]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 5), [[0, 1]])\nif N == 3:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 6), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 6), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 6), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 6), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 6), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 6), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 6), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 6), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 6), [[0, 1, 2, 3, 4, 5]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 6), [[0, 1]])\nif N == 4:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 7), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 7), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 7), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 7), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 7), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 7), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 7), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 7), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 7), [[0, 1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 7), [[0, 1]])\nif N == 5:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 8), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 8), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 8), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 8), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 8), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 8), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 8), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 8), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 8), [[0, 1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 8), [[0, 1]])\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":"ca9f86cc8ab7d8737327ec50983f6919b0e9725988b0e05f5e1c901d14c516f2","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    sources={}\n    counts={x:0 for x in full}\n    mode='union'\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op in ('put','move','remove'):\n            key=cmd[1]\n            old=sources.get(key,set())\n            for x in old & full: counts[x]-=1\n            if op=='put': new=set(cmd[2])\n            elif op=='move': new={x+cmd[2] for x in old}\n            else: new=set()\n            if op=='remove': sources.pop(key,None)\n            else: sources[key]=new\n            for x in new & full: counts[x]+=1\n        elif op=='mode': mode=cmd[1]\n        elif op=='draw':\n            if mode=='union': selected=[x for x in full if counts[x]>0]\n            elif mode=='single': selected=[x for x in full if counts[x]==1]\n            elif mode=='overlap': selected=[x for x in full if counts[x]>=2]\n            else: selected=[x for x in full if counts[x]==1]\n            out.append(sorted(selected))\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([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 4), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 4), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 4), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 4), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 4), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 4), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 4), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 4), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 4), [[0, 1, 2, 3]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 4), [[0, 1]])\nif N == 2:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 5), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 5), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 5), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 5), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 5), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 5), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 5), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 5), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 5), [[0, 1, 2, 3, 4]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 5), [[0, 1]])\nif N == 3:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 6), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 6), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 6), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 6), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 6), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 6), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 6), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 6), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 6), [[0, 1, 2, 3, 4, 5]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 6), [[0, 1]])\nif N == 4:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 7), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 7), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 7), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 7), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 7), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 7), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 7), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 7), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 7), [[0, 1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 7), [[0, 1]])\nif N == 5:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 8), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 8), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 8), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 8), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 8), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 8), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 8), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 8), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 8), [[0, 1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 8), [[0, 1]])\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":"92cd39876125319016ab1054ea66cb3024b34a80a5a57b6bbfe89e20ddba9742","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    sources={}\n    counts={x:0 for x in full}\n    mode='union'\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op in ('put','move','remove'):\n            key=cmd[1]\n            old=sources.get(key,set())\n            for x in old & full: counts[x]-=1\n            if op=='put': new=set(cmd[2])\n            elif op=='move': new={x+cmd[2] for x in old}\n            else: new=set()\n            if op=='remove': sources.pop(key,None)\n            else: sources[key]=new\n            for x in new & full: counts[x]+=1\n        elif op=='mode': mode=cmd[1]\n        elif op=='draw':\n            if mode=='union': selected=[x for x in full if counts[x]>0]\n            elif mode=='single': selected=[x for x in full if counts[x]==1]\n            elif mode=='overlap': selected=[x for x in full if counts[x]>=2]\n            else: selected=[x for x in full if counts[x]%2==1]\n            out.append(sorted(selected))\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([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 4), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 4), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 4), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 4), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 4), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 4), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 4), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 4), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 4), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 4), [[0, 1, 2, 3]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 4), [[0, 1]])\nif N == 2:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 5), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 5), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 5), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 5), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 5), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 5), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 5), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 5), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 5), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 5), [[0, 1, 2, 3, 4]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 5), [[0, 1]])\nif N == 3:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 6), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 6), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 6), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 6), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 6), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 6), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 6), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 6), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 6), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 6), [[0, 1, 2, 3, 4, 5]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 6), [[0, 1]])\nif N == 4:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 7), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 7), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 7), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 7), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 7), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 7), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 7), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 7), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 7), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 7), [[0, 1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 7), [[0, 1]])\nif N == 5:\n    check('explicit sequence 0', solve([['put', 'a', [0, 1]], ['put', 'a', [2]], ['draw']], 8), [[2]])\n    check('explicit sequence 1', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 2', solve([['put', 'a', [-1]], ['move', 'a', 2], ['draw']], 8), [[1]])\n    check('explicit sequence 3', solve([['put', 'a', [2]], ['move', 'a', -1], ['draw']], 8), [[1]])\n    check('explicit sequence 4', solve([['put', 'a', [0]], ['put', 'b', [0]], ['remove', 'a'], ['remove', 'a'], ['draw']], 8), [[0]])\n    check('explicit sequence 5', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'overlap'], ['draw']], 8), [[0]])\n    check('explicit sequence 6', solve([['put', 'a', [0]], ['mode', 'single'], ['draw']], 8), [[0]])\n    check('explicit sequence 7', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'single'], ['draw']], 8), [[]])\n    check('explicit sequence 8', solve([['put', 'a', [0]], ['put', 'b', [0]], ['put', 'c', [0]], ['mode', 'overlap'], ['draw'], ['mode', 'odd'], ['draw']], 8), [[0], [0]])\n    check('explicit sequence 9', solve([['put', 'a', [0]], ['put', 'b', [0]], ['mode', 'odd'], ['draw']], 8), [[]])\n    check('explicit sequence 10', solve([['put', 'a', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['draw']], 8), [[0, 1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 11', solve([['put', 'a', [0, 1]], ['put', 'b', [1]], ['draw']], 8), [[0, 1]])\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-overlap-count-clip-regions-parity-threshold","generated_at":"2026-09-29T14:45:17.390306+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 parity threshold. Sources contribute unique sample sets to an overlap-count clip. Replacing a source first removes its old contribution. Removing an unknown source is inert. Coverage may select union, exactly-one, at-least-two or odd count. Moving a source translates its retained original sample set before clipping to the target, allowing previously exterior samples to enter. Draw emits selected finite samples.","root_cause":"Odd clipping rejects triple coverage.","sha256":"04a45d8cb32d0c58024424370d152acfb91600a3995779facb38c35f773f4d6a","title":"Overlap count clip regions: parity threshold · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.094,"exit_code":1,"observations":[{"actual":[[2]],"check":"explicit sequence 0","expected":[[2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 1","expected":[[0]],"passed":true},{"actual":[[1]],"check":"explicit sequence 2","expected":[[1]],"passed":true},{"actual":[[1]],"check":"explicit sequence 3","expected":[[1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 4","expected":[[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 5","expected":[[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 6","expected":[[0]],"passed":true},{"actual":[[]],"check":"explicit sequence 7","expected":[[]],"passed":true},{"actual":[[0],[0]],"check":"explicit sequence 8","expected":[[0],[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 9","expected":[[]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 10","expected":[[0,1,2,3]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 11","expected":[[0,1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[0], [0]], \"expected\": [[0], [0]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[0]], \"expected\": [[]], \"passed\": false}, {\"check\": \"explicit sequence 10\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.265,"exit_code":1,"observations":[{"actual":[[2]],"check":"explicit sequence 0","expected":[[2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 1","expected":[[0]],"passed":true},{"actual":[[1]],"check":"explicit sequence 2","expected":[[1]],"passed":true},{"actual":[[1]],"check":"explicit sequence 3","expected":[[1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 4","expected":[[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 5","expected":[[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 6","expected":[[0]],"passed":true},{"actual":[[]],"check":"explicit sequence 7","expected":[[]],"passed":true},{"actual":[[0],[]],"check":"explicit sequence 8","expected":[[0],[0]],"passed":false},{"actual":[[]],"check":"explicit sequence 9","expected":[[]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 10","expected":[[0,1,2,3]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 11","expected":[[0,1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[0], []], \"expected\": [[0], [0]], \"passed\": false}, {\"check\": \"explicit sequence 9\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.451,"exit_code":0,"observations":[{"actual":[[2]],"check":"explicit sequence 0","expected":[[2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 1","expected":[[0]],"passed":true},{"actual":[[1]],"check":"explicit sequence 2","expected":[[1]],"passed":true},{"actual":[[1]],"check":"explicit sequence 3","expected":[[1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 4","expected":[[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 5","expected":[[0]],"passed":true},{"actual":[[0]],"check":"explicit sequence 6","expected":[[0]],"passed":true},{"actual":[[]],"check":"explicit sequence 7","expected":[[]],"passed":true},{"actual":[[0],[0]],"check":"explicit sequence 8","expected":[[0],[0]],"passed":true},{"actual":[[]],"check":"explicit sequence 9","expected":[[]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 10","expected":[[0,1,2,3]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 11","expected":[[0,1]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[0], [0]], \"expected\": [[0], [0]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}