FAILURE MAP
← Case archive

FA-45356 / Data systems / Open access

Vector CASE converts selected errors into successful null values · case 01

Vector CASE converts selected errors into successful null values.

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

ROOT CAUSE

masked-case-evaluation: Vector CASE converts selected errors into successful null values.

THE FAILURE

masked-case-evaluation: Vector CASE converts selected errors into successful null values.

Unsuccessful approach: Returning the branch payload conceals an evaluated branch failure.

Case contract

Evaluate CASE over [condition,then-value,then-error,else-value,else-error] rows. Only True chooses THEN; False and None choose ELSE. Unchosen errors are not evaluated. Chosen errors become ERROR:<label>; a chosen null value remains None. Return one result per input lane.

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:
        out=[]
        for cond,tvalue,terror,fvalue,ferror in d:
            choose=cond is True
            if choose:
                error=terror; value=tvalue
            else:
                error=ferror; value=fvalue
            out.append(None if error is not None else value)
        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('skip erroneous then', solve([[False, 1, 'T', 2, None]]), [2])
    check('unknown skips then', solve([[None, 1, 'T', 2, None]]), [2])
    check('skip erroneous else', solve([[True, 1, None, 2, 'F']]), [1])
    check('chosen then error', solve([[True, 1, 'T', 2, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 1, None, 2, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 1, None]]), [None])
    check('else null', solve([[False, 1, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 2:
    check('skip erroneous then', solve([[False, 2, 'T', 3, None]]), [3])
    check('unknown skips then', solve([[None, 2, 'T', 3, None]]), [3])
    check('skip erroneous else', solve([[True, 2, None, 3, 'F']]), [2])
    check('chosen then error', solve([[True, 2, 'T', 3, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 2, None, 3, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 2, None]]), [None])
    check('else null', solve([[False, 2, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 3:
    check('skip erroneous then', solve([[False, 3, 'T', 4, None]]), [4])
    check('unknown skips then', solve([[None, 3, 'T', 4, None]]), [4])
    check('skip erroneous else', solve([[True, 3, None, 4, 'F']]), [3])
    check('chosen then error', solve([[True, 3, 'T', 4, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 3, None, 4, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 3, None]]), [None])
    check('else null', solve([[False, 3, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 4:
    check('skip erroneous then', solve([[False, 4, 'T', 5, None]]), [5])
    check('unknown skips then', solve([[None, 4, 'T', 5, None]]), [5])
    check('skip erroneous else', solve([[True, 4, None, 5, 'F']]), [4])
    check('chosen then error', solve([[True, 4, 'T', 5, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 4, None, 5, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 4, None]]), [None])
    check('else null', solve([[False, 4, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 5:
    check('skip erroneous then', solve([[False, 5, 'T', 6, None]]), [6])
    check('unknown skips then', solve([[None, 5, 'T', 6, None]]), [6])
    check('skip erroneous else', solve([[True, 5, None, 6, 'F']]), [5])
    check('chosen then error', solve([[True, 5, 'T', 6, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 5, None, 6, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 5, None]]), [None])
    check('else null', solve([[False, 5, None, None, None]]), [None])
    check('empty vector', solve([]), [])
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
skip erroneous then[2][2]Passed
unknown skips then[2][2]Passed
skip erroneous else[1][1]Passed
chosen then error[None]['ERROR:T']Failed
chosen else error[None]['ERROR:F']Failed
then null[None][None]Passed
else null[None][None]Passed
empty vector[][]Passed

SHA-256 / 9a8b073766a6f38843d6f79e441d19f0e32b8b00a7991b2e5988bdb5f31e894c

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(d):
    try:
        out=[]
        for cond,tvalue,terror,fvalue,ferror in d:
            choose=cond is True
            if choose:
                error=terror; value=tvalue
            else:
                error=ferror; value=fvalue
            out.append(value)
        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('skip erroneous then', solve([[False, 1, 'T', 2, None]]), [2])
    check('unknown skips then', solve([[None, 1, 'T', 2, None]]), [2])
    check('skip erroneous else', solve([[True, 1, None, 2, 'F']]), [1])
    check('chosen then error', solve([[True, 1, 'T', 2, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 1, None, 2, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 1, None]]), [None])
    check('else null', solve([[False, 1, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 2:
    check('skip erroneous then', solve([[False, 2, 'T', 3, None]]), [3])
    check('unknown skips then', solve([[None, 2, 'T', 3, None]]), [3])
    check('skip erroneous else', solve([[True, 2, None, 3, 'F']]), [2])
    check('chosen then error', solve([[True, 2, 'T', 3, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 2, None, 3, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 2, None]]), [None])
    check('else null', solve([[False, 2, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 3:
    check('skip erroneous then', solve([[False, 3, 'T', 4, None]]), [4])
    check('unknown skips then', solve([[None, 3, 'T', 4, None]]), [4])
    check('skip erroneous else', solve([[True, 3, None, 4, 'F']]), [3])
    check('chosen then error', solve([[True, 3, 'T', 4, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 3, None, 4, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 3, None]]), [None])
    check('else null', solve([[False, 3, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 4:
    check('skip erroneous then', solve([[False, 4, 'T', 5, None]]), [5])
    check('unknown skips then', solve([[None, 4, 'T', 5, None]]), [5])
    check('skip erroneous else', solve([[True, 4, None, 5, 'F']]), [4])
    check('chosen then error', solve([[True, 4, 'T', 5, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 4, None, 5, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 4, None]]), [None])
    check('else null', solve([[False, 4, None, None, None]]), [None])
    check('empty vector', solve([]), [])
elif N == 5:
    check('skip erroneous then', solve([[False, 5, 'T', 6, None]]), [6])
    check('unknown skips then', solve([[None, 5, 'T', 6, None]]), [6])
    check('skip erroneous else', solve([[True, 5, None, 6, 'F']]), [5])
    check('chosen then error', solve([[True, 5, 'T', 6, None]]), ['ERROR:T'])
    check('chosen else error', solve([[False, 5, None, 6, 'F']]), ['ERROR:F'])
    check('then null', solve([[True, None, None, 5, None]]), [None])
    check('else null', solve([[False, 5, None, None, None]]), [None])
    check('empty vector', solve([]), [])
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
skip erroneous then[2][2]Passed
unknown skips then[2][2]Passed
skip erroneous else[1][1]Passed
chosen then error[1]['ERROR:T']Failed
chosen else error[2]['ERROR:F']Failed
then null[None][None]Passed
else null[None][None]Passed
empty vector[][]Passed

SHA-256 / 349fe58d3d901da00dfce194a4c7ec2a7c498a0b47eacc41c9cd7108649f0c68

HELD IN THE MEMBER ARCHIVE

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

This mechanism has 8 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:21.458068+00:00.

Case digest / 806785cc85d2d26c22ac85809bc98afb7d68913a4a8f2813a53f24b6cc0a8f77