FAILURE MAP
← Case archive

FA-50601 / Raster clipping / Open access

Stencil clip pass: less operands · case 01

The less comparison reverses reference and stored stencil operands.

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

ROOT CAUSE

The less comparison reverses reference and stored stencil operands.

VERIFIED REPAIR

Apply the documented state transition at less operands. Finite integer stencil values use three low bits. A clip pass compares masked stored values to masked reference, then applies distinct pass/fail operations only inside the incoming coverage set. Write masking preserves unrelated bits. Supported operations keep, zero, replace, saturating increment/decrement and invert.

Unsuccessful approach: Correcting operand order but using a non-strict comparison accepts equality.

Case contract

Finite integer stencil values use three low bits. A clip pass compares masked stored values to masked reference, then applies distinct pass/fail operations only inside the incoming coverage set. Write masking preserves unrelated bits. Supported operations keep, zero, replace, saturating increment/decrement and invert.

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):
    values=[0]*size
    out=[]
    for cmd in commands:
        if cmd[0]=='seed': values=[cmd[1][i%len(cmd[1])] & 7 for i in range(size)]; continue
        mask,reference,readmask,writemask,comparison,onpass,onfail=cmd
        for i in range(size):
            if i not in mask: continue
            old=values[i]
            left=old & readmask
            right=reference & readmask
            passed=(left==right if comparison=='equal' else right<left if comparison=='less' else left!=right)
            op=onpass if passed else onfail
            if op=='keep': new=old
            elif op=='zero': new=0
            elif op=='replace': new=reference
            elif op=='inc': new=min(7,old+1)
            elif op=='dec': new=max(0,old-1)
            else: new=old^7
            values[i]=((old & (~writemask & 7)) | (new & writemask)) & 7
        out.append(list(values))
    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([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 4), [[1, 2, 7, 0]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 4), [[0, 0, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 4), [[2, 2, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 4), [[4, 4, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 4), [[7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 4), [[0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 4), [[4, 4, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 4), [[7, 7, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 4), [[0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 4), [[2, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 4), [[0, 1, 0, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 4), [[2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 4), [[5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 4), [[6, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 4), [[4, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 4), [[2, 5, 5, 5]])
if N == 2:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 5), [[1, 2, 7, 0, 1]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 5), [[0, 0, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 5), [[2, 2, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 5), [[4, 4, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 5), [[7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 5), [[0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 5), [[4, 4, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 5), [[7, 7, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 5), [[0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 5), [[2, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 5), [[0, 1, 0, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 5), [[2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 5), [[5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 5), [[6, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 5), [[4, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 5), [[2, 5, 5, 5, 5]])
if N == 3:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 6), [[1, 2, 7, 0, 1, 2]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 6), [[0, 0, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 6), [[2, 2, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 6), [[4, 4, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 6), [[7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 6), [[0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 6), [[4, 4, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 6), [[7, 7, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 6), [[0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 6), [[2, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 6), [[0, 1, 0, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 6), [[2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 6), [[5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 6), [[6, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 6), [[4, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 6), [[2, 5, 5, 5, 5, 5]])
if N == 4:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 7), [[1, 2, 7, 0, 1, 2, 7]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 7), [[0, 0, 5, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 7), [[2, 2, 1, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 7), [[4, 4, 0, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 7), [[7, 7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 7), [[0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 7), [[4, 4, 3, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 7), [[7, 7, 6, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 7), [[0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 7), [[2, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 7), [[0, 1, 0, 1, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 7), [[2, 2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 7), [[5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 7), [[6, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 7), [[4, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 7), [[2, 5, 5, 5, 5, 5, 5]])
if N == 5:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 8), [[1, 2, 7, 0, 1, 2, 7, 0]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 8), [[0, 0, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 8), [[2, 2, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 8), [[4, 4, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 8), [[7, 7, 7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 8), [[0, 0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 8), [[4, 4, 3, 3, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 8), [[7, 7, 6, 6, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 8), [[0, 0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 8), [[2, 1, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 8), [[0, 1, 0, 1, 1, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 8), [[2, 2, 2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 8), [[5, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 8), [[6, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 8), [[4, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 8), [[2, 5, 5, 5, 5, 5, 5, 5]])
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[[1, 2, 7, 0]][[1, 2, 7, 0]]Passed
explicit sequence 1[[0, 0, 5, 5]][[0, 0, 5, 5]]Passed
explicit sequence 2[[0, 0, 1, 1]][[2, 2, 1, 1]]Failed
explicit sequence 3[[4, 4, 0, 0]][[4, 4, 0, 0]]Passed
explicit sequence 4[[7, 7, 7, 7]][[7, 7, 7, 7]]Passed
explicit sequence 5[[0, 0, 0, 0]][[0, 0, 0, 0]]Passed
explicit sequence 6[[4, 4, 3, 3]][[4, 4, 3, 3]]Passed
explicit sequence 7[[7, 7, 6, 6]][[7, 7, 6, 6]]Passed
explicit sequence 8[[0, 0, 0, 0]][[0, 0, 0, 0]]Passed
explicit sequence 9[[2, 1, 1, 1]][[2, 1, 1, 1]]Passed
explicit sequence 10[[0, 1, 0, 1]][[0, 1, 0, 1]]Passed
explicit sequence 11[[2, 2, 2, 2]][[2, 2, 2, 2]]Passed
explicit sequence 12[[5, 5, 5, 5]][[5, 5, 5, 5]]Passed
explicit sequence 13[[6, 5, 5, 5]][[6, 5, 5, 5]]Passed
explicit sequence 14[[4, 5, 5, 5]][[4, 5, 5, 5]]Passed
explicit sequence 15[[2, 5, 5, 5]][[2, 5, 5, 5]]Passed

SHA-256 / 434eaf0923307624fc0c0a49657d9b1005f1aea6e230385dd081f5e54db8f909

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(commands, size):
    values=[0]*size
    out=[]
    for cmd in commands:
        if cmd[0]=='seed': values=[cmd[1][i%len(cmd[1])] & 7 for i in range(size)]; continue
        mask,reference,readmask,writemask,comparison,onpass,onfail=cmd
        for i in range(size):
            if i not in mask: continue
            old=values[i]
            left=old & readmask
            right=reference & readmask
            passed=(left==right if comparison=='equal' else left<=right if comparison=='less' else left!=right)
            op=onpass if passed else onfail
            if op=='keep': new=old
            elif op=='zero': new=0
            elif op=='replace': new=reference
            elif op=='inc': new=min(7,old+1)
            elif op=='dec': new=max(0,old-1)
            else: new=old^7
            values[i]=((old & (~writemask & 7)) | (new & writemask)) & 7
        out.append(list(values))
    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([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 4), [[1, 2, 7, 0]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 4), [[0, 0, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 4), [[2, 2, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 4), [[4, 4, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 4), [[7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 4), [[0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 4), [[4, 4, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 4), [[7, 7, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 4), [[0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 4), [[2, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 4), [[0, 1, 0, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 4), [[2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 4), [[5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 4), [[6, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 4), [[4, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 4), [[2, 5, 5, 5]])
if N == 2:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 5), [[1, 2, 7, 0, 1]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 5), [[0, 0, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 5), [[2, 2, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 5), [[4, 4, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 5), [[7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 5), [[0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 5), [[4, 4, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 5), [[7, 7, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 5), [[0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 5), [[2, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 5), [[0, 1, 0, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 5), [[2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 5), [[5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 5), [[6, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 5), [[4, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 5), [[2, 5, 5, 5, 5]])
if N == 3:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 6), [[1, 2, 7, 0, 1, 2]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 6), [[0, 0, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 6), [[2, 2, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 6), [[4, 4, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 6), [[7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 6), [[0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 6), [[4, 4, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 6), [[7, 7, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 6), [[0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 6), [[2, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 6), [[0, 1, 0, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 6), [[2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 6), [[5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 6), [[6, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 6), [[4, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 6), [[2, 5, 5, 5, 5, 5]])
if N == 4:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 7), [[1, 2, 7, 0, 1, 2, 7]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 7), [[0, 0, 5, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 7), [[2, 2, 1, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 7), [[4, 4, 0, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 7), [[7, 7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 7), [[0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 7), [[4, 4, 3, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 7), [[7, 7, 6, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 7), [[0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 7), [[2, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 7), [[0, 1, 0, 1, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 7), [[2, 2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 7), [[5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 7), [[6, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 7), [[4, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 7), [[2, 5, 5, 5, 5, 5, 5]])
if N == 5:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 8), [[1, 2, 7, 0, 1, 2, 7, 0]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 8), [[0, 0, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 8), [[2, 2, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 8), [[4, 4, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 8), [[7, 7, 7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 8), [[0, 0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 8), [[4, 4, 3, 3, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 8), [[7, 7, 6, 6, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 8), [[0, 0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 8), [[2, 1, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 8), [[0, 1, 0, 1, 1, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 8), [[2, 2, 2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 8), [[5, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 8), [[6, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 8), [[4, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 8), [[2, 5, 5, 5, 5, 5, 5, 5]])
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[[1, 2, 7, 0]][[1, 2, 7, 0]]Passed
explicit sequence 1[[0, 0, 5, 5]][[0, 0, 5, 5]]Passed
explicit sequence 2[[2, 2, 1, 1]][[2, 2, 1, 1]]Passed
explicit sequence 3[[4, 4, 0, 0]][[4, 4, 0, 0]]Passed
explicit sequence 4[[7, 7, 7, 7]][[7, 7, 7, 7]]Passed
explicit sequence 5[[0, 0, 0, 0]][[0, 0, 0, 0]]Passed
explicit sequence 6[[4, 4, 3, 3]][[4, 4, 3, 3]]Passed
explicit sequence 7[[7, 7, 6, 6]][[7, 7, 6, 6]]Passed
explicit sequence 8[[0, 0, 0, 0]][[0, 0, 0, 0]]Passed
explicit sequence 9[[2, 1, 1, 1]][[2, 1, 1, 1]]Passed
explicit sequence 10[[0, 1, 0, 1]][[0, 1, 0, 1]]Passed
explicit sequence 11[[0, 2, 2, 2]][[2, 2, 2, 2]]Failed
explicit sequence 12[[5, 5, 5, 5]][[5, 5, 5, 5]]Passed
explicit sequence 13[[6, 5, 5, 5]][[6, 5, 5, 5]]Passed
explicit sequence 14[[4, 5, 5, 5]][[4, 5, 5, 5]]Passed
explicit sequence 15[[2, 5, 5, 5]][[2, 5, 5, 5]]Passed

SHA-256 / b1baa1a56ce98459a81cc874046e98fb6d561a81024aaea3459a889f6f041bc8

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(commands, size):
    values=[0]*size
    out=[]
    for cmd in commands:
        if cmd[0]=='seed': values=[cmd[1][i%len(cmd[1])] & 7 for i in range(size)]; continue
        mask,reference,readmask,writemask,comparison,onpass,onfail=cmd
        for i in range(size):
            if i not in mask: continue
            old=values[i]
            left=old & readmask
            right=reference & readmask
            passed=(left==right if comparison=='equal' else left<right if comparison=='less' else left!=right)
            op=onpass if passed else onfail
            if op=='keep': new=old
            elif op=='zero': new=0
            elif op=='replace': new=reference
            elif op=='inc': new=min(7,old+1)
            elif op=='dec': new=max(0,old-1)
            else: new=old^7
            values[i]=((old & (~writemask & 7)) | (new & writemask)) & 7
        out.append(list(values))
    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([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 4), [[1, 2, 7, 0]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 4), [[0, 0, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 4), [[2, 2, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 4), [[4, 4, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 4), [[7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 4), [[0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 4), [[4, 4, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 4), [[7, 7, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 4), [[0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 4), [[2, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 4), [[0, 1, 0, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 4), [[2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 4), [[5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 4), [[6, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 4), [[4, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 4), [[2, 5, 5, 5]])
if N == 2:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 5), [[1, 2, 7, 0, 1]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 5), [[0, 0, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 5), [[2, 2, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 5), [[4, 4, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 5), [[7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 5), [[0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 5), [[4, 4, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 5), [[7, 7, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 5), [[0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 5), [[2, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 5), [[0, 1, 0, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 5), [[2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 5), [[5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 5), [[6, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 5), [[4, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 5), [[2, 5, 5, 5, 5]])
if N == 3:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 6), [[1, 2, 7, 0, 1, 2]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 6), [[0, 0, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 6), [[2, 2, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 6), [[4, 4, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 6), [[7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 6), [[0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 6), [[4, 4, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 6), [[7, 7, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 6), [[0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 6), [[2, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 6), [[0, 1, 0, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 6), [[2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 6), [[5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 6), [[6, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 6), [[4, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 6), [[2, 5, 5, 5, 5, 5]])
if N == 4:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 7), [[1, 2, 7, 0, 1, 2, 7]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 7), [[0, 0, 5, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 7), [[2, 2, 1, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 7), [[4, 4, 0, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 7), [[7, 7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 7), [[0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 7), [[4, 4, 3, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 7), [[7, 7, 6, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 7), [[0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 7), [[2, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 7), [[0, 1, 0, 1, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 7), [[2, 2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 7), [[5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 7), [[6, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 7), [[4, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 7), [[2, 5, 5, 5, 5, 5, 5]])
if N == 5:
    check('explicit sequence 0', solve([['seed', [1, 2, 7, 0]], [[0], 1, 7, 7, 'equal', 'keep', 'zero']], 8), [[1, 2, 7, 0, 1, 2, 7, 0]])
    check('explicit sequence 1', solve([['seed', [5]], [[0, 1], 1, 3, 7, 'equal', 'zero', 'keep']], 8), [[0, 0, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 2', solve([['seed', [1]], [[0, 1], 2, 7, 7, 'less', 'replace', 'zero']], 8), [[2, 2, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 3', solve([['seed', [0]], [[0, 1], 4, 0, 7, 'equal', 'replace', 'keep']], 8), [[4, 4, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 4', solve([['seed', [7]], [[0, 1], 0, 7, 7, 'equal', 'keep', 'inc']], 8), [[7, 7, 7, 7, 7, 7, 7, 7]])
    check('explicit sequence 5', solve([['seed', [0]], [[0, 1], 0, 7, 7, 'equal', 'dec', 'keep']], 8), [[0, 0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 6', solve([['seed', [3]], [[0, 1], 3, 7, 7, 'equal', 'invert', 'keep']], 8), [[4, 4, 3, 3, 3, 3, 3, 3]])
    check('explicit sequence 7', solve([['seed', [6]], [[0, 1], 1, 7, 1, 'not', 'replace', 'zero']], 8), [[7, 7, 6, 6, 6, 6, 6, 6]])
    check('explicit sequence 8', solve([['seed', [0]], [[], 0, 7, 7, 'equal', 'inc', 'keep']], 8), [[0, 0, 0, 0, 0, 0, 0, 0]])
    check('explicit sequence 9', solve([['seed', [1]], [[0], 2, 7, 7, 'equal', 'zero', 'replace']], 8), [[2, 1, 1, 1, 1, 1, 1, 1]])
    check('explicit sequence 10', solve([['seed', [1]], [[0, 2], 1, 7, 7, 'equal', 'zero', 'keep']], 8), [[0, 1, 0, 1, 1, 1, 1, 1]])
    check('explicit sequence 11', solve([['seed', [2]], [[0], 2, 7, 7, 'less', 'zero', 'keep']], 8), [[2, 2, 2, 2, 2, 2, 2, 2]])
    check('explicit sequence 12', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'keep', 'zero']], 8), [[5, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 13', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'inc', 'zero']], 8), [[6, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 14', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'dec', 'zero']], 8), [[4, 5, 5, 5, 5, 5, 5, 5]])
    check('explicit sequence 15', solve([['seed', [5]], [[0], 1, 3, 7, 'equal', 'invert', 'zero']], 8), [[2, 5, 5, 5, 5, 5, 5, 5]])
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[[1, 2, 7, 0]][[1, 2, 7, 0]]Passed
explicit sequence 1[[0, 0, 5, 5]][[0, 0, 5, 5]]Passed
explicit sequence 2[[2, 2, 1, 1]][[2, 2, 1, 1]]Passed
explicit sequence 3[[4, 4, 0, 0]][[4, 4, 0, 0]]Passed
explicit sequence 4[[7, 7, 7, 7]][[7, 7, 7, 7]]Passed
explicit sequence 5[[0, 0, 0, 0]][[0, 0, 0, 0]]Passed
explicit sequence 6[[4, 4, 3, 3]][[4, 4, 3, 3]]Passed
explicit sequence 7[[7, 7, 6, 6]][[7, 7, 6, 6]]Passed
explicit sequence 8[[0, 0, 0, 0]][[0, 0, 0, 0]]Passed
explicit sequence 9[[2, 1, 1, 1]][[2, 1, 1, 1]]Passed
explicit sequence 10[[0, 1, 0, 1]][[0, 1, 0, 1]]Passed
explicit sequence 11[[2, 2, 2, 2]][[2, 2, 2, 2]]Passed
explicit sequence 12[[5, 5, 5, 5]][[5, 5, 5, 5]]Passed
explicit sequence 13[[6, 5, 5, 5]][[6, 5, 5, 5]]Passed
explicit sequence 14[[4, 5, 5, 5]][[4, 5, 5, 5]]Passed
explicit sequence 15[[2, 5, 5, 5]][[2, 5, 5, 5]]Passed

SHA-256 / ade565d7d5442fb9c14e776f2729d6b3eab08199870554a910e4c6958b1e9cfc

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

Case digest / d24d182c031e689e1c09bf16ba6ddeec50599f8a12f7aaee4b612941fd14e522