FAILURE MAP
← Case archive

FA-50816 / Raster clipping / Open access

Run length clip stream: row repeat leak · case 01

A repeat at the start of a row replays a run belonging to the previous row.

Verified by executionVariant 1 · 13 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

A repeat at the start of a row replays a run belonging to the previous row.

VERIFIED REPAIR

Apply the documented state transition at row repeat leak. 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: Normalizing the repeated mode still replays a previous-row run.

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
        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 fixtureActualExpectedOutcome
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[[0]][[]]Failed
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 / 3a3cd60298522147dcd3540fe34b2d68a184a994f1c277dd20c6564f7d2ed697

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=(previous[0],True) if previous else 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 fixtureActualExpectedOutcome
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[[0]][[]]Failed
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 / 397e8533b579c7095e24e4642c09e014213a31e78ff44a73fc46ae968c937c3d

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 fixtureActualExpectedOutcome
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.744676+00:00.

Case digest / bf7342512fcad09e5f21da7ef142e238f1bd7e7493a87858838ffdfa758604d7