FA-45066 / Data systems / Open access
Constant vector materialization ignores row validity · case 01
Constant vector materialization ignores row validity.
ROOT CAUSE
constant-vector-materialize: Constant vector materialization ignores row validity.
THE FAILURE
constant-vector-materialize: Constant vector materialization ignores row validity.
Unsuccessful approach: Whole-vector validity hides valid rows because another row is null.
Case contract
Materialize a constant vector over a requested logical length, combining scalar validity with row validity. A selection chooses logical rows and may repeat them. Return [row-index,value-or-null] for every selected row; scalar zero is a valid value.
Why this case matters
A bounded deterministic data engine model makes representation and changelog faults reproducible.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
try:
value,scalar_valid,row_valid,selection=d
out=[]
for row in selection:
known=scalar_valid
out.append([row,value if known else None])
return out
except (IndexError, KeyError, ValueError, StopIteration) as exc:
return {"representation_error": type(exc).__name__}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('selected validity', solve([1, True, [True, False, True], [2, 1, 0]]), [[2, 1], [1, None], [0, 1]])
check('scalar null', solve([1, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([1, True, [False, True], [1, 0]]), [[1, 1], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([1, True, [True, True], [1, 1]]), [[1, 1], [1, 1]])
check('empty selection', solve([1, True, [True], []]), [])
check('single row control', solve([1, True, [True], [0]]), [[0, 1]])
elif N == 2:
check('selected validity', solve([2, True, [True, False, True], [2, 1, 0]]), [[2, 2], [1, None], [0, 2]])
check('scalar null', solve([2, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([2, True, [False, True], [1, 0]]), [[1, 2], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([2, True, [True, True], [1, 1]]), [[1, 2], [1, 2]])
check('empty selection', solve([2, True, [True], []]), [])
check('single row control', solve([2, True, [True], [0]]), [[0, 2]])
elif N == 3:
check('selected validity', solve([3, True, [True, False, True], [2, 1, 0]]), [[2, 3], [1, None], [0, 3]])
check('scalar null', solve([3, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([3, True, [False, True], [1, 0]]), [[1, 3], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([3, True, [True, True], [1, 1]]), [[1, 3], [1, 3]])
check('empty selection', solve([3, True, [True], []]), [])
check('single row control', solve([3, True, [True], [0]]), [[0, 3]])
elif N == 4:
check('selected validity', solve([4, True, [True, False, True], [2, 1, 0]]), [[2, 4], [1, None], [0, 4]])
check('scalar null', solve([4, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([4, True, [False, True], [1, 0]]), [[1, 4], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([4, True, [True, True], [1, 1]]), [[1, 4], [1, 4]])
check('empty selection', solve([4, True, [True], []]), [])
check('single row control', solve([4, True, [True], [0]]), [[0, 4]])
elif N == 5:
check('selected validity', solve([5, True, [True, False, True], [2, 1, 0]]), [[2, 5], [1, None], [0, 5]])
check('scalar null', solve([5, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([5, True, [False, True], [1, 0]]), [[1, 5], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([5, True, [True, True], [1, 1]]), [[1, 5], [1, 5]])
check('empty selection', solve([5, True, [True], []]), [])
check('single row control', solve([5, True, [True], [0]]), [[0, 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| selected validity | [[2, 1], [1, 1], [0, 1]] | [[2, 1], [1, None], [0, 1]] | Failed |
| scalar null | [[0, None], [1, None]] | [[0, None], [1, None]] | Passed |
| mixed row null | [[1, 1], [0, 1]] | [[1, 1], [0, None]] | Failed |
| zero constant | [[0, 0]] | [[0, 0]] | Passed |
| repeat row | [[1, 1], [1, 1]] | [[1, 1], [1, 1]] | Passed |
| empty selection | [] | [] | Passed |
| single row control | [[0, 1]] | [[0, 1]] | Passed |
SHA-256 / d6ccf286fb9bf0d29805c72b835112cc50a14111ed6ac1e53374576042f6fdb0
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
try:
value,scalar_valid,row_valid,selection=d
out=[]
for row in selection:
known=scalar_valid and all(row_valid)
out.append([row,value if known else None])
return out
except (IndexError, KeyError, ValueError, StopIteration) as exc:
return {"representation_error": type(exc).__name__}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('selected validity', solve([1, True, [True, False, True], [2, 1, 0]]), [[2, 1], [1, None], [0, 1]])
check('scalar null', solve([1, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([1, True, [False, True], [1, 0]]), [[1, 1], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([1, True, [True, True], [1, 1]]), [[1, 1], [1, 1]])
check('empty selection', solve([1, True, [True], []]), [])
check('single row control', solve([1, True, [True], [0]]), [[0, 1]])
elif N == 2:
check('selected validity', solve([2, True, [True, False, True], [2, 1, 0]]), [[2, 2], [1, None], [0, 2]])
check('scalar null', solve([2, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([2, True, [False, True], [1, 0]]), [[1, 2], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([2, True, [True, True], [1, 1]]), [[1, 2], [1, 2]])
check('empty selection', solve([2, True, [True], []]), [])
check('single row control', solve([2, True, [True], [0]]), [[0, 2]])
elif N == 3:
check('selected validity', solve([3, True, [True, False, True], [2, 1, 0]]), [[2, 3], [1, None], [0, 3]])
check('scalar null', solve([3, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([3, True, [False, True], [1, 0]]), [[1, 3], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([3, True, [True, True], [1, 1]]), [[1, 3], [1, 3]])
check('empty selection', solve([3, True, [True], []]), [])
check('single row control', solve([3, True, [True], [0]]), [[0, 3]])
elif N == 4:
check('selected validity', solve([4, True, [True, False, True], [2, 1, 0]]), [[2, 4], [1, None], [0, 4]])
check('scalar null', solve([4, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([4, True, [False, True], [1, 0]]), [[1, 4], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([4, True, [True, True], [1, 1]]), [[1, 4], [1, 4]])
check('empty selection', solve([4, True, [True], []]), [])
check('single row control', solve([4, True, [True], [0]]), [[0, 4]])
elif N == 5:
check('selected validity', solve([5, True, [True, False, True], [2, 1, 0]]), [[2, 5], [1, None], [0, 5]])
check('scalar null', solve([5, False, [True, True], [0, 1]]), [[0, None], [1, None]])
check('mixed row null', solve([5, True, [False, True], [1, 0]]), [[1, 5], [0, None]])
check('zero constant', solve([0, True, [True], [0]]), [[0, 0]])
check('repeat row', solve([5, True, [True, True], [1, 1]]), [[1, 5], [1, 5]])
check('empty selection', solve([5, True, [True], []]), [])
check('single row control', solve([5, True, [True], [0]]), [[0, 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| selected validity | [[2, None], [1, None], [0, None]] | [[2, 1], [1, None], [0, 1]] | Failed |
| scalar null | [[0, None], [1, None]] | [[0, None], [1, None]] | Passed |
| mixed row null | [[1, None], [0, None]] | [[1, 1], [0, None]] | Failed |
| zero constant | [[0, 0]] | [[0, 0]] | Passed |
| repeat row | [[1, 1], [1, 1]] | [[1, 1], [1, 1]] | Passed |
| empty selection | [] | [] | Passed |
| single row control | [[0, 1]] | [[0, 1]] | Passed |
SHA-256 / 56f54d9cb1c0c294acae009be0e957acdef897889f4856a8d28be9800aef3631
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 7 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
Offline stipulated semantics over valid small inputs; no performance, concurrency, or production-engine conformance claim. 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:44:18.642829+00:00.
Case digest / d5ba123acba09aea9725032ffa83b6c3e4845419073dd36476c04c0295b924be