{"abstract":"Reusing a query name retains its previous completed result.","category":"Raster clipping","checks":12,"contract":"Queries count distinct covered sample IDs per draw after path clipping and sample enable masking. Multiple draws accumulate independently, while duplicate sample IDs within one draw count once. Begin resets a named result and activates it; end makes it readable. Result reads while active return null. Conditional draws consult only completed query counts. Disabling queries pauses accumulation without disabling clipping.","evaluation_group":"s3-raster-clipping-clip-occlusion-query","failed_approach":"Initializing only unseen names still accumulates across separate query lifetimes.","family":"s3-raster-clipping-clip-occlusion-query-begin-retains","id":"FA-51096","implementations":{"attempt":{"sha256":"7b3a16bcfc4b59c3dcc007479cced5945bd6150688292e98c52a8a112b5009aa","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    clip=set(full)\n    lanes=set(full)\n    results={}\n    active=None\n    query_enabled=True\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='clip': clip=set(cmd[1])&full\n        elif op=='lanes': lanes=set(cmd[1])&full\n        elif op=='begin': active=cmd[1]; results[active]=results.get(active,0) if active in results else 0\n        elif op=='end': active=None\n        elif op=='enable-query': query_enabled=cmd[1]\n        elif op in ('draw','conditional'):\n            samples=cmd[1]\n            if op=='conditional' and (cmd[2]==active or results.get(cmd[2],0)==0): continue\n            visible=set(samples)&clip&lanes\n            if active is not None and query_enabled: results[active]+=len(visible)\n        elif op=='read': out.append(None if cmd[1]==active else results.get(cmd[1],0))\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([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 4), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 4), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 4), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 4), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 4), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 4), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 4), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 4), [4])\nif N == 2:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 5), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 5), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 5), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 5), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 5), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 5), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 5), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 5), [5])\nif N == 3:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 6), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 6), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 6), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 6), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 6), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 6), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 6), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 6), [6])\nif N == 4:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 7), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 7), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 7), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 7), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 7), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 7), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 7), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 7), [7])\nif N == 5:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 8), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 8), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 8), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 8), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 8), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 8), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 8), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 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":"bfc5e0a4a740c2ad46824ebe98ce49841fb3cb8ce4efff911f93932ba89eb616","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    clip=set(full)\n    lanes=set(full)\n    results={}\n    active=None\n    query_enabled=True\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='clip': clip=set(cmd[1])&full\n        elif op=='lanes': lanes=set(cmd[1])&full\n        elif op=='begin': active=cmd[1]; results.setdefault(active,0)\n        elif op=='end': active=None\n        elif op=='enable-query': query_enabled=cmd[1]\n        elif op in ('draw','conditional'):\n            samples=cmd[1]\n            if op=='conditional' and (cmd[2]==active or results.get(cmd[2],0)==0): continue\n            visible=set(samples)&clip&lanes\n            if active is not None and query_enabled: results[active]+=len(visible)\n        elif op=='read': out.append(None if cmd[1]==active else results.get(cmd[1],0))\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([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 4), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 4), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 4), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 4), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 4), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 4), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 4), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 4), [4])\nif N == 2:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 5), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 5), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 5), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 5), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 5), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 5), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 5), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 5), [5])\nif N == 3:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 6), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 6), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 6), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 6), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 6), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 6), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 6), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 6), [6])\nif N == 4:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 7), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 7), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 7), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 7), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 7), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 7), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 7), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 7), [7])\nif N == 5:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 8), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 8), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 8), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 8), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 8), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 8), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 8), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 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"},"fixed":{"sha256":"7f04546e92e8cdc78f83a58258cc0623d15461b1c2f96c362adda021f7d70132","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    clip=set(full)\n    lanes=set(full)\n    results={}\n    active=None\n    query_enabled=True\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='clip': clip=set(cmd[1])&full\n        elif op=='lanes': lanes=set(cmd[1])&full\n        elif op=='begin': active=cmd[1]; results[active]=0\n        elif op=='end': active=None\n        elif op=='enable-query': query_enabled=cmd[1]\n        elif op in ('draw','conditional'):\n            samples=cmd[1]\n            if op=='conditional' and (cmd[2]==active or results.get(cmd[2],0)==0): continue\n            visible=set(samples)&clip&lanes\n            if active is not None and query_enabled: results[active]+=len(visible)\n        elif op=='read': out.append(None if cmd[1]==active else results.get(cmd[1],0))\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([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 4), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 4), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 4), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 4), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 4), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 4), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 4), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 4), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 4), [4])\nif N == 2:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 5), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 5), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 5), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 5), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 5), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 5), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 5), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 5), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 5), [5])\nif N == 3:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 6), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 6), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 6), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 6), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 6), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 6), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 6), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 6), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 6), [6])\nif N == 4:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 7), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 7), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 7), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 7), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 7), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 7), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 7), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 7), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 7), [7])\nif N == 5:\n    check('explicit sequence 0', solve([['clip', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 8), [1])\n    check('explicit sequence 1', solve([['lanes', [0]], ['begin', 'q'], ['draw', [0, 1]], ['end'], ['read', 'q']], 8), [1])\n    check('explicit sequence 2', solve([['begin', 'q'], ['draw', [0, 0, 1]], ['end'], ['read', 'q']], 8), [2])\n    check('explicit sequence 3', solve([['begin', 'q'], ['draw', [0]], ['draw', [1]], ['end'], ['read', 'q']], 8), [2])\n    check('explicit sequence 4', solve([['begin', 'q'], ['draw', [0]], ['end'], ['begin', 'q'], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 5', solve([['begin', 'q'], ['draw', [0]], ['end'], ['draw', [1]], ['read', 'q']], 8), [1])\n    check('explicit sequence 6', solve([['begin', 'q'], ['enable-query', False], ['draw', [0]], ['enable-query', True], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 7', solve([['begin', 'q'], ['draw', [0]], ['read', 'q'], ['conditional', [1], 'q'], ['end'], ['read', 'q']], 8), [None, 1])\n    check('explicit sequence 8', solve([['begin', 'q'], ['conditional', [0], 'missing'], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 9', solve([['begin', 'a'], ['draw', [0]], ['end'], ['begin', 'b'], ['end'], ['read', 'b']], 8), [0])\n    check('explicit sequence 10', solve([['clip', []], ['begin', 'q'], ['draw', [0]], ['end'], ['read', 'q']], 8), [0])\n    check('explicit sequence 11', solve([['begin', 'q'], ['draw', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], ['end'], ['read', 'q']], 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":"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-clip-occlusion-query-begin-retains","generated_at":"2026-09-29T14:45:15.518763+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 begin retains. Queries count distinct covered sample IDs per draw after path clipping and sample enable masking. Multiple draws accumulate independently, while duplicate sample IDs within one draw count once. Begin resets a named result and activates it; end makes it readable. Result reads while active return null. Conditional draws consult only completed query counts. Disabling queries pauses accumulation without disabling clipping.","root_cause":"Reusing a query name retains its previous completed result.","sha256":"0fd5ce93ea29f2898e2c62f2c05f74bbd578976a7fc972764f2c3db9c718a3f1","title":"Clip occlusion query: begin retains · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.675,"exit_code":1,"observations":[{"actual":[1],"check":"explicit sequence 0","expected":[1],"passed":true},{"actual":[1],"check":"explicit sequence 1","expected":[1],"passed":true},{"actual":[2],"check":"explicit sequence 2","expected":[2],"passed":true},{"actual":[2],"check":"explicit sequence 3","expected":[2],"passed":true},{"actual":[1],"check":"explicit sequence 4","expected":[0],"passed":false},{"actual":[1],"check":"explicit sequence 5","expected":[1],"passed":true},{"actual":[0],"check":"explicit sequence 6","expected":[0],"passed":true},{"actual":[null,1],"check":"explicit sequence 7","expected":[null,1],"passed":true},{"actual":[0],"check":"explicit sequence 8","expected":[0],"passed":true},{"actual":[0],"check":"explicit sequence 9","expected":[0],"passed":true},{"actual":[0],"check":"explicit sequence 10","expected":[0],"passed":true},{"actual":[4],"check":"explicit sequence 11","expected":[4],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [1], \"expected\": [0], \"passed\": false}, {\"check\": \"explicit sequence 5\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [null, 1], \"expected\": [null, 1], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [4], \"expected\": [4], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.389,"exit_code":1,"observations":[{"actual":[1],"check":"explicit sequence 0","expected":[1],"passed":true},{"actual":[1],"check":"explicit sequence 1","expected":[1],"passed":true},{"actual":[2],"check":"explicit sequence 2","expected":[2],"passed":true},{"actual":[2],"check":"explicit sequence 3","expected":[2],"passed":true},{"actual":[1],"check":"explicit sequence 4","expected":[0],"passed":false},{"actual":[1],"check":"explicit sequence 5","expected":[1],"passed":true},{"actual":[0],"check":"explicit sequence 6","expected":[0],"passed":true},{"actual":[null,1],"check":"explicit sequence 7","expected":[null,1],"passed":true},{"actual":[0],"check":"explicit sequence 8","expected":[0],"passed":true},{"actual":[0],"check":"explicit sequence 9","expected":[0],"passed":true},{"actual":[0],"check":"explicit sequence 10","expected":[0],"passed":true},{"actual":[4],"check":"explicit sequence 11","expected":[4],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [1], \"expected\": [0], \"passed\": false}, {\"check\": \"explicit sequence 5\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [null, 1], \"expected\": [null, 1], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [4], \"expected\": [4], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.214,"exit_code":0,"observations":[{"actual":[1],"check":"explicit sequence 0","expected":[1],"passed":true},{"actual":[1],"check":"explicit sequence 1","expected":[1],"passed":true},{"actual":[2],"check":"explicit sequence 2","expected":[2],"passed":true},{"actual":[2],"check":"explicit sequence 3","expected":[2],"passed":true},{"actual":[0],"check":"explicit sequence 4","expected":[0],"passed":true},{"actual":[1],"check":"explicit sequence 5","expected":[1],"passed":true},{"actual":[0],"check":"explicit sequence 6","expected":[0],"passed":true},{"actual":[null,1],"check":"explicit sequence 7","expected":[null,1],"passed":true},{"actual":[0],"check":"explicit sequence 8","expected":[0],"passed":true},{"actual":[0],"check":"explicit sequence 9","expected":[0],"passed":true},{"actual":[0],"check":"explicit sequence 10","expected":[0],"passed":true},{"actual":[4],"check":"explicit sequence 11","expected":[4],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [null, 1], \"expected\": [null, 1], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [4], \"expected\": [4], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}