{"abstract":"Clearing the coverage accumulator unexpectedly rewinds the stream cursor.","category":"Raster clipping","checks":13,"contract":"A scanline clip stream carries signed cursor moves, covered and uncovered runs, an explicit covered/uncovered mode and row reset. Only covered samples in the finite target are emitted. Repeat reruns the previous run with its original mode. Draw observes unique sorted coverage; clear removes coverage without resetting cursor or mode.","evaluation_group":"s3-raster-clipping-run-length-clip-stream","failed_approach":"Keeping a one-sample cursor sentinel still moves subsequent runs after a clear.","family":"s3-raster-clipping-run-length-clip-stream-clear-rewinds","id":"FA-50821","implementations":{"attempt":{"sha256":"8808a7c7b1b23b9b78692a24b8cfa975b7682a694cb0ea44ccca23409c939096","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    covered=set()\n    cursor=0\n    mode=True\n    previous=None\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='seek': cursor=cmd[1]\n        elif op=='move': cursor+=cmd[1]\n        elif op=='mode': mode=cmd[1]\n        elif op=='row': cursor=0; previous=None\n        elif op=='clear': covered.clear(); cursor=min(cursor,1)\n        elif op=='run':\n            length=max(0,cmd[1])\n            if mode: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)\n            cursor+=length\n            previous=(length,mode)\n        elif op=='repeat' and previous is not None:\n            length,saved=previous\n            for _ in range(max(0,cmd[1])):\n                if saved: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)\n                cursor+=length\n        elif op=='draw': out.append(sorted(covered))\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([['run', 2], ['seek', 1], ['run', 1], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 4), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 4), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 4), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 4), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 4), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 4), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 4), [[2, 3]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 4), [[0, 1, 2, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 5), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 5), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 5), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 5), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 5), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 5), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 5), [[2, 3, 4]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 5), [[0, 1, 2, 3]])\nif N == 3:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 6), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 6), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 6), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 6), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 6), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 6), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 6), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 6), [[0, 1, 2, 3]])\nif N == 4:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 7), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 7), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 7), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 7), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 7), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 7), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 7), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 7), [[0, 1, 2, 3]])\nif N == 5:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 8), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 8), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 8), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 8), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 8), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 8), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 8), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 8), [[0, 1, 2, 3]])\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":"7e4b8677a47032f9d9981a4022653f6727085cf58f4e0217970a4185734917fc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    covered=set()\n    cursor=0\n    mode=True\n    previous=None\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='seek': cursor=cmd[1]\n        elif op=='move': cursor+=cmd[1]\n        elif op=='mode': mode=cmd[1]\n        elif op=='row': cursor=0; previous=None\n        elif op=='clear': covered.clear(); cursor=0\n        elif op=='run':\n            length=max(0,cmd[1])\n            if mode: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)\n            cursor+=length\n            previous=(length,mode)\n        elif op=='repeat' and previous is not None:\n            length,saved=previous\n            for _ in range(max(0,cmd[1])):\n                if saved: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)\n                cursor+=length\n        elif op=='draw': out.append(sorted(covered))\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([['run', 2], ['seek', 1], ['run', 1], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 4), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 4), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 4), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 4), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 4), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 4), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 4), [[2, 3]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 4), [[0, 1, 2, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 5), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 5), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 5), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 5), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 5), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 5), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 5), [[2, 3, 4]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 5), [[0, 1, 2, 3]])\nif N == 3:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 6), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 6), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 6), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 6), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 6), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 6), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 6), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 6), [[0, 1, 2, 3]])\nif N == 4:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 7), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 7), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 7), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 7), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 7), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 7), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 7), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 7), [[0, 1, 2, 3]])\nif N == 5:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 8), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 8), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 8), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 8), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 8), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 8), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 8), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 8), [[0, 1, 2, 3]])\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":"2e463a7e089f99c4cca34ae0d047807b497086b5fbd7639396af6877d6ca8c2b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    covered=set()\n    cursor=0\n    mode=True\n    previous=None\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='seek': cursor=cmd[1]\n        elif op=='move': cursor+=cmd[1]\n        elif op=='mode': mode=cmd[1]\n        elif op=='row': cursor=0; previous=None\n        elif op=='clear': covered.clear()\n        elif op=='run':\n            length=max(0,cmd[1])\n            if mode: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)\n            cursor+=length\n            previous=(length,mode)\n        elif op=='repeat' and previous is not None:\n            length,saved=previous\n            for _ in range(max(0,cmd[1])):\n                if saved: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)\n                cursor+=length\n        elif op=='draw': out.append(sorted(covered))\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([['run', 2], ['seek', 1], ['run', 1], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 4), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 4), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 4), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 4), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 4), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 4), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 4), [[2, 3]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 4), [[0, 1, 2, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 5), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 5), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 5), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 5), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 5), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 5), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 5), [[2, 3, 4]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 5), [[0, 1, 2, 3]])\nif N == 3:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 6), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 6), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 6), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 6), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 6), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 6), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 6), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 6), [[0, 1, 2, 3]])\nif N == 4:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 7), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 7), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 7), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 7), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 7), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 7), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 7), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 7), [[0, 1, 2, 3]])\nif N == 5:\n    check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 8), [[0]])\n    check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 8), [[2]])\n    check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 8), [[]])\n    check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 8), [[2]])\n    check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 8), [[]])\n    check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 8), [[0]])\n    check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 8), [[2, 3, 4, 5]])\n    check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 8), [[0, 1, 2, 3]])\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-run-length-clip-stream-clear-rewinds","generated_at":"2026-09-29T14:45:12.856129+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 clear rewinds. A scanline clip stream carries signed cursor moves, covered and uncovered runs, an explicit covered/uncovered mode and row reset. Only covered samples in the finite target are emitted. Repeat reruns the previous run with its original mode. Draw observes unique sorted coverage; clear removes coverage without resetting cursor or mode.","root_cause":"Clearing the coverage accumulator unexpectedly rewinds the stream cursor.","sha256":"a1c9405e7c6ff464bb8a71f16afcd5fef321f4fa34b1a04a3c3e11c886529d9f","title":"Run length clip stream: clear rewinds · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.177,"exit_code":1,"observations":[{"actual":[[0,1]],"check":"explicit sequence 0","expected":[[0,1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 1","expected":[[0]],"passed":true},{"actual":[[2]],"check":"explicit sequence 2","expected":[[2]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 3","expected":[[0,1,2]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 4","expected":[[0,1,2]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 5","expected":[[0,1]],"passed":true},{"actual":[[]],"check":"explicit sequence 6","expected":[[]],"passed":true},{"actual":[[1]],"check":"explicit sequence 7","expected":[[2]],"passed":false},{"actual":[[]],"check":"explicit sequence 8","expected":[[]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 9","expected":[[0,1,2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 10","expected":[[0]],"passed":true},{"actual":[[1,2,3]],"check":"explicit sequence 11","expected":[[2,3]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 12","expected":[[0,1,2,3]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[1]], \"expected\": [[2]], \"passed\": false}, {\"check\": \"explicit sequence 8\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[1, 2, 3]], \"expected\": [[2, 3]], \"passed\": false}, {\"check\": \"explicit sequence 12\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.424,"exit_code":1,"observations":[{"actual":[[0,1]],"check":"explicit sequence 0","expected":[[0,1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 1","expected":[[0]],"passed":true},{"actual":[[2]],"check":"explicit sequence 2","expected":[[2]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 3","expected":[[0,1,2]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 4","expected":[[0,1,2]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 5","expected":[[0,1]],"passed":true},{"actual":[[]],"check":"explicit sequence 6","expected":[[]],"passed":true},{"actual":[[0]],"check":"explicit sequence 7","expected":[[2]],"passed":false},{"actual":[[]],"check":"explicit sequence 8","expected":[[]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 9","expected":[[0,1,2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 10","expected":[[0]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 11","expected":[[2,3]],"passed":false},{"actual":[[0,1,2,3]],"check":"explicit sequence 12","expected":[[0,1,2,3]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[0]], \"expected\": [[2]], \"passed\": false}, {\"check\": \"explicit sequence 8\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[2, 3]], \"passed\": false}, {\"check\": \"explicit sequence 12\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.885,"exit_code":0,"observations":[{"actual":[[0,1]],"check":"explicit sequence 0","expected":[[0,1]],"passed":true},{"actual":[[0]],"check":"explicit sequence 1","expected":[[0]],"passed":true},{"actual":[[2]],"check":"explicit sequence 2","expected":[[2]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 3","expected":[[0,1,2]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 4","expected":[[0,1,2]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 5","expected":[[0,1]],"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,1,2]],"check":"explicit sequence 9","expected":[[0,1,2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 10","expected":[[0]],"passed":true},{"actual":[[2,3]],"check":"explicit sequence 11","expected":[[2,3]],"passed":true},{"actual":[[0,1,2,3]],"check":"explicit sequence 12","expected":[[0,1,2,3]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"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, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 11\", \"actual\": [[2, 3]], \"expected\": [[2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 12\", \"actual\": [[0, 1, 2, 3]], \"expected\": [[0, 1, 2, 3]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}