FA-50806 / Raster clipping / Open access
Run length clip stream: repeat one less · case 01
Repeat count includes the original run despite the additional-run contract.
ROOT CAUSE
Repeat count includes the original run despite the additional-run contract.
VERIFIED REPAIR
Apply the documented state transition at repeat one less. 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.
Unsuccessful approach: Ensuring one repetition accidentally replays a run when zero additional runs were requested.
Case 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.
Why this case matters
Raster clip state can leak coverage across draws even when every individual region is valid.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(commands, size):
covered=set()
cursor=0
mode=True
previous=None
out=[]
for cmd in commands:
op=cmd[0]
if op=='seek': cursor=cmd[1]
elif op=='move': cursor+=cmd[1]
elif op=='mode': mode=cmd[1]
elif op=='row': cursor=0; previous=None
elif op=='clear': covered.clear()
elif op=='run':
length=max(0,cmd[1])
if mode: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)
cursor+=length
previous=(length,mode)
elif op=='repeat' and previous is not None:
length,saved=previous
for _ in range(max(0,cmd[1]-1)):
if saved: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)
cursor+=length
elif op=='draw': out.append(sorted(covered))
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 4), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 4), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 4), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 4), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 4), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 4), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 4), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 4), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 4), [[2, 3]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 4), [[0, 1, 2, 3]])
if N == 2:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 5), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 5), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 5), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 5), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 5), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 5), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 5), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 5), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 5), [[2, 3, 4]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 5), [[0, 1, 2, 3]])
if N == 3:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 6), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 6), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 6), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 6), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 6), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 6), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 6), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 6), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 6), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 6), [[0, 1, 2, 3]])
if N == 4:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 7), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 7), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 7), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 7), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 7), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 7), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 7), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 7), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 7), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 7), [[0, 1, 2, 3]])
if N == 5:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 8), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 8), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 8), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 8), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 8), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 8), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 8), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 8), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 8), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 8), [[0, 1, 2, 3]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit sequence 0 | [[0, 1]] | [[0, 1]] | Passed |
| explicit sequence 1 | [[0]] | [[0]] | Passed |
| explicit sequence 2 | [[2]] | [[2]] | Passed |
| explicit sequence 3 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 4 | [[0, 1]] | [[0, 1, 2]] | Failed |
| explicit sequence 5 | [[0, 1]] | [[0, 1]] | Passed |
| explicit sequence 6 | [[]] | [[]] | Passed |
| explicit sequence 7 | [[2]] | [[2]] | Passed |
| explicit sequence 8 | [[]] | [[]] | Passed |
| explicit sequence 9 | [[0, 1]] | [[0, 1, 2]] | Failed |
| explicit sequence 10 | [[0]] | [[0]] | Passed |
| explicit sequence 11 | [[2, 3]] | [[2, 3]] | Passed |
| explicit sequence 12 | [[0, 1]] | [[0, 1, 2, 3]] | Failed |
SHA-256 / fc67f28c3db37c54c825d1bb1181388adb6295192d311b0b1c7c2ef155d5ebf5
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(commands, size):
covered=set()
cursor=0
mode=True
previous=None
out=[]
for cmd in commands:
op=cmd[0]
if op=='seek': cursor=cmd[1]
elif op=='move': cursor+=cmd[1]
elif op=='mode': mode=cmd[1]
elif op=='row': cursor=0; previous=None
elif op=='clear': covered.clear()
elif op=='run':
length=max(0,cmd[1])
if mode: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)
cursor+=length
previous=(length,mode)
elif op=='repeat' and previous is not None:
length,saved=previous
for _ in range(max(1,cmd[1])):
if saved: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)
cursor+=length
elif op=='draw': out.append(sorted(covered))
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 4), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 4), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 4), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 4), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 4), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 4), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 4), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 4), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 4), [[2, 3]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 4), [[0, 1, 2, 3]])
if N == 2:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 5), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 5), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 5), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 5), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 5), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 5), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 5), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 5), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 5), [[2, 3, 4]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 5), [[0, 1, 2, 3]])
if N == 3:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 6), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 6), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 6), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 6), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 6), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 6), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 6), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 6), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 6), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 6), [[0, 1, 2, 3]])
if N == 4:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 7), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 7), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 7), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 7), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 7), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 7), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 7), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 7), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 7), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 7), [[0, 1, 2, 3]])
if N == 5:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 8), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 8), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 8), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 8), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 8), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 8), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 8), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 8), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 8), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 8), [[0, 1, 2, 3]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit sequence 0 | [[0, 1]] | [[0, 1]] | Passed |
| explicit sequence 1 | [[0]] | [[0]] | Passed |
| explicit sequence 2 | [[2]] | [[2]] | Passed |
| explicit sequence 3 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 4 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 5 | [[0, 1]] | [[0, 1]] | Passed |
| explicit sequence 6 | [[]] | [[]] | Passed |
| explicit sequence 7 | [[2]] | [[2]] | Passed |
| explicit sequence 8 | [[]] | [[]] | Passed |
| explicit sequence 9 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 10 | [[0, 1]] | [[0]] | Failed |
| explicit sequence 11 | [[2, 3]] | [[2, 3]] | Passed |
| explicit sequence 12 | [[0, 1, 2, 3]] | [[0, 1, 2, 3]] | Passed |
SHA-256 / 5f614cebeb9cd5c126a966ff413e80561a702dc82fe1a20746e2960716beb9c2
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(commands, size):
covered=set()
cursor=0
mode=True
previous=None
out=[]
for cmd in commands:
op=cmd[0]
if op=='seek': cursor=cmd[1]
elif op=='move': cursor+=cmd[1]
elif op=='mode': mode=cmd[1]
elif op=='row': cursor=0; previous=None
elif op=='clear': covered.clear()
elif op=='run':
length=max(0,cmd[1])
if mode: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)
cursor+=length
previous=(length,mode)
elif op=='repeat' and previous is not None:
length,saved=previous
for _ in range(max(0,cmd[1])):
if saved: covered.update(i for i in range(cursor,cursor+length) if 0<=i<size)
cursor+=length
elif op=='draw': out.append(sorted(covered))
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 4), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 4), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 4), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 4), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 4), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 4), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 4), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 4), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 4), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 4), [[2, 3]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 4), [[0, 1, 2, 3]])
if N == 2:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 5), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 5), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 5), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 5), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 5), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 5), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 5), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 5), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 5), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 5), [[2, 3, 4]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 5), [[0, 1, 2, 3]])
if N == 3:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 6), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 6), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 6), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 6), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 6), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 6), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 6), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 6), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 6), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 6), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 6), [[0, 1, 2, 3]])
if N == 4:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 7), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 7), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 7), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 7), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 7), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 7), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 7), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 7), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 7), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 7), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 7), [[0, 1, 2, 3]])
if N == 5:
check('explicit sequence 0', solve([['run', 2], ['seek', 1], ['run', 1], ['draw']], 8), [[0, 1]])
check('explicit sequence 1', solve([['move', -2], ['run', 3], ['draw']], 8), [[0]])
check('explicit sequence 2', solve([['mode', False], ['run', 2], ['mode', True], ['run', 1], ['draw']], 8), [[2]])
check('explicit sequence 3', solve([['run', 2], ['run', -1], ['run', 1], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 4', solve([['run', 1], ['mode', False], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 5', solve([['run', 2], ['row'], ['run', 1], ['draw']], 8), [[0, 1]])
check('explicit sequence 6', solve([['run', 1], ['clear'], ['row'], ['repeat', 1], ['draw']], 8), [[]])
check('explicit sequence 7', solve([['run', 2], ['clear'], ['run', 1], ['draw']], 8), [[2]])
check('explicit sequence 8', solve([['seek', 99], ['run', 2], ['draw']], 8), [[]])
check('explicit sequence 9', solve([['run', 1], ['repeat', 2], ['draw']], 8), [[0, 1, 2]])
check('explicit sequence 10', solve([['run', 1], ['repeat', 0], ['draw']], 8), [[0]])
check('explicit sequence 11', solve([['run', 2], ['clear'], ['repeat', 2], ['draw']], 8), [[2, 3, 4, 5]])
check('explicit sequence 12', solve([['run', 2], ['clear'], ['seek', 0], ['repeat', 2], ['draw']], 8), [[0, 1, 2, 3]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit sequence 0 | [[0, 1]] | [[0, 1]] | Passed |
| explicit sequence 1 | [[0]] | [[0]] | Passed |
| explicit sequence 2 | [[2]] | [[2]] | Passed |
| explicit sequence 3 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 4 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 5 | [[0, 1]] | [[0, 1]] | Passed |
| explicit sequence 6 | [[]] | [[]] | Passed |
| explicit sequence 7 | [[2]] | [[2]] | Passed |
| explicit sequence 8 | [[]] | [[]] | Passed |
| explicit sequence 9 | [[0, 1, 2]] | [[0, 1, 2]] | Passed |
| explicit sequence 10 | [[0]] | [[0]] | Passed |
| explicit sequence 11 | [[2, 3]] | [[2, 3]] | Passed |
| explicit sequence 12 | [[0, 1, 2, 3]] | [[0, 1, 2, 3]] | Passed |
SHA-256 / 2e463a7e089f99c4cca34ae0d047807b497086b5fbd7639396af6877d6ca8c2b
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:45:12.656208+00:00.
Case digest / 9ec202d290c3802171ee5a106c53966e70f406e208f9ef3fcc2bea44afc1a42a