FAILURE MAP
← Case archive

FA-37346 / Table interactions / Open access

Table fill handle repetition: inclusive fill column · case 01

The table inclusive fill column result violates the stipulated table fill handle repetition contract.

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

ROOT CAUSE

The inclusive fill column decision uses 'range(tc0,tc1)' instead of 'range(tc0,tc1+1)'.

THE FAILURE

The inclusive fill column decision uses 'range(tc0,tc1)' instead of 'range(tc0,tc1+1)'.

Unsuccessful approach: The attempted repair 'range(tc0+1,tc1+1)' still loses a required part of the table contract.

Case contract

Fill repeats the source rectangle modulo its original row/column origin, excludes the source itself, respects axis constraints and individual readonly cells, clips targets to table bounds, and emits patches in row-major order.

Why this case matters

An offline table UI model isolates table fill handle repetition, including adversarial row/column relationships.

1 / The failure

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

N = 1
observations = []
def solve(rows, cols, source, target, grid, locked, axis):
    sr0,sr1,sc0,sc1=source
    tr0,tr1,tc0,tc1=target
    patches=[]
    for r in range(tr0,tr1+1):
        for c in range(tc0,tc1):
            if sr0<=r<=sr1 and sc0<=c<=sc1: continue
            if not (0<=r<len(rows) and 0<=c<len(cols)): continue
            if (rows[r],cols[c]) in locked: continue
            rr=sr0+(r-sr0)%(sr1-sr0+1)
            cc=sc0+(c-sc0)%(sc1-sc0+1)
            if axis=='vertical' and not sc0<=c<=sc1: continue
            if axis=='horizontal' and not sr0<=r<=sr1: continue
            patches.append((rows[r],cols[c],grid[rr][cc]))
    return patches
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,1+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 7), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 2:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,2+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 8), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 3:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,3+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 9), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 4:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,4+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 10), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 5:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,5+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 11), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

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
vertical pattern[['r0', 'b', 10], ['r0', 'c', 11], ['r3', 'b', 7], ['r3', 'c', 7], ['r4', 'b', 10], ['r4', 'c', 11]][['r0', 'b', 10], ['r0', 'c', 11], ['r3', 'b', 7], ['r3', 'c', 7], ['r4', 'b', 10], ['r4', 'c', 11]]Passed
horizontal pattern[['r1', 'a', 8], ['r1', 'd', 7], ['r2', 'a', 13], ['r2', 'd', 12]][['r1', 'a', 8], ['r1', 'd', 7], ['r1', 'e', 8], ['r2', 'a', 13], ['r2', 'd', 12], ['r2', 'e', 13]]Failed
locked cell[['r2', 'a', 1]][['r1', 'b', 2], ['r2', 'a', 1], ['r2', 'b', 2]]Failed
source only[][]Passed
negative viewport[['r1', 'a', 1]][['r0', 'b', 1], ['r1', 'a', 1], ['r1', 'b', 1]]Failed
single seed[['r1', 'a', 7]][['r0', 'b', 7], ['r1', 'a', 7], ['r1', 'b', 7]]Failed

SHA-256 / 3a0252d3896bdeae66f633f306a0cd9957e606a9b1619f5950663698977ac0a4

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(rows, cols, source, target, grid, locked, axis):
    sr0,sr1,sc0,sc1=source
    tr0,tr1,tc0,tc1=target
    patches=[]
    for r in range(tr0,tr1+1):
        for c in range(tc0+1,tc1+1):
            if sr0<=r<=sr1 and sc0<=c<=sc1: continue
            if not (0<=r<len(rows) and 0<=c<len(cols)): continue
            if (rows[r],cols[c]) in locked: continue
            rr=sr0+(r-sr0)%(sr1-sr0+1)
            cc=sc0+(c-sc0)%(sc1-sc0+1)
            if axis=='vertical' and not sc0<=c<=sc1: continue
            if axis=='horizontal' and not sr0<=r<=sr1: continue
            patches.append((rows[r],cols[c],grid[rr][cc]))
    return patches
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,1+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 7), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 2:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,2+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 8), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 3:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,3+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 9), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 4:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,4+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 10), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

if N == 5:
    check('vertical pattern', solve(['r0','r1','r2','r3','r4'], ['a','b','c','d'], (1,2,1,2), (0,4,0,3), [[1,2,3,4],[5,5+6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]], [], 'vertical'), [('r0', 'b', 10), ('r0', 'c', 11), ('r3', 'b', 11), ('r3', 'c', 7), ('r4', 'b', 10), ('r4', 'c', 11)])
    check('horizontal pattern', solve(['r0','r1','r2','r3'], ['a','b','c','d','e'], (1,2,1,2), (0,3,0,4), [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]], [], 'horizontal'), [('r1', 'a', 8), ('r1', 'd', 7), ('r1', 'e', 8), ('r2', 'a', 13), ('r2', 'd', 12), ('r2', 'e', 13)])
    check('locked cell', solve(['r0','r1','r2'], ['a','b'], (0,0,0,1), (0,2,0,1), [[1,2],[3,4],[5,6]], [('r1','a')], 'vertical'), [('r1', 'b', 2), ('r2', 'a', 1), ('r2', 'b', 2)])
    check('source only', solve(['r0'], ['a'], (0,0,0,0), (0,0,0,0), [[1]], [], 'both'), [])
    check('negative viewport', solve(['r0','r1'], ['a','b'], (0,0,0,0), (-1,1,-1,1), [[1,2],[3,4]], [], 'both'), [('r0', 'b', 1), ('r1', 'a', 1), ('r1', 'b', 1)])
    check('single seed', solve(['r0','r1'], ['a','b'], (0,0,0,0), (0,1,0,1), [[7,2],[3,4]], [], 'both'), [('r0', 'b', 7), ('r1', 'a', 7), ('r1', 'b', 7)])

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
vertical pattern[['r0', 'b', 10], ['r0', 'c', 11], ['r3', 'b', 7], ['r3', 'c', 7], ['r4', 'b', 10], ['r4', 'c', 11]][['r0', 'b', 10], ['r0', 'c', 11], ['r3', 'b', 7], ['r3', 'c', 7], ['r4', 'b', 10], ['r4', 'c', 11]]Passed
horizontal pattern[['r1', 'd', 7], ['r1', 'e', 8], ['r2', 'd', 12], ['r2', 'e', 13]][['r1', 'a', 8], ['r1', 'd', 7], ['r1', 'e', 8], ['r2', 'a', 13], ['r2', 'd', 12], ['r2', 'e', 13]]Failed
locked cell[['r1', 'b', 2], ['r2', 'b', 2]][['r1', 'b', 2], ['r2', 'a', 1], ['r2', 'b', 2]]Failed
source only[][]Passed
negative viewport[['r0', 'b', 1], ['r1', 'a', 1], ['r1', 'b', 1]][['r0', 'b', 1], ['r1', 'a', 1], ['r1', 'b', 1]]Passed
single seed[['r0', 'b', 7], ['r1', 'b', 7]][['r0', 'b', 7], ['r1', 'a', 7], ['r1', 'b', 7]]Failed

SHA-256 / bcdda6736e94e61274600909b50e96b542cac49b68354268aff49861c80025a2

HELD IN THE MEMBER ARCHIVE

The verified repair and its recorded checks are member-only.

This mechanism has 6 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.

Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.

Member access is invitation-based. Sign in with your invited account to inspect the repair.

Sign in to the archive ↗

Verification & scope

The source rectangle is nonempty and within the rectangular grid; target coordinates and lock pairs are integral/stable. Deterministic offline table UI model; no browser, DOM, framework, or standards 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:43:00.633903+00:00.

Case digest / cfb6d0fc215f4951ef8c4a7932989291c4ce684c79375c0a89a5d623adad3ccb