FA-71891 / Error-correcting codes / Open access
Repetition decoder resolves ties to zero · case 01
Evenly split or fully erased blocks decode to 0 instead of unknown.
ROOT CAUSE
The tie branch is missing, so equal counts fall through to the else value 0.
VERIFIED REPAIR
Emit None whenever the ones and zeros counts are equal.
Unsuccessful approach: Emitting None only for fully erased blocks still guesses on split votes.
Case contract
Decode an n-fold repetition code sent in contiguous blocks of n symbols; each received symbol is 0, 1 or None (erasure). Erasures do not vote. The bit is the majority of non-erased symbols; a tie (including an all-erased block) yields None. fixed_count counts non-erased symbols outvoted in decided blocks. A length that is not a multiple of n, or n < 1, returns None. Return [bits, fixed_count].
Why this case matters
Robust control channels repeat critical flags and must treat erased symbols differently from zeros.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(r, n):
if n < 1 or len(r) % n:
return None
out, fixed_count = [], 0
for g in range(0, len(r), n):
grp = [x for x in r[g:g + n] if x is not None]
ones = sum(grp)
zeros = len(grp) - ones
b = 1 if ones > zeros else 0
out.append(b)
fixed_count += min(ones, zeros)
return [out, fixed_count]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5]', [[0, 1, 0, 1, 0, None, 1, 0, 1, 1], 5], [[0, 1], 3]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]]], [['regression [[1, null, 0], 3]', [[1, None, 0], 3], [[None], 0]], ['regression [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]], ['control [[0, 1, null, 0, 0, 1, 0, 0, 0, 0], 5]', [[0, 1, None, 0, 0, 1, 0, 0, 0, 0], 5], [[0, 0], 2]], ['control [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]]], [['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['regression [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['partial-repair [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[1, null, null], 3]', [[1, None, None], 3], [[1], 0]], ['control [[0, null, 1, 1, 1], 5]', [[0, None, 1, 1, 1], 5], [[1], 1]], ['control [[], 3]', [[], 3], [[], 0]], ['control [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3]', [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3], [[1, 0, 1], 3]], ['control [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]]], [['regression [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['regression [[1, null, 0], 3]', [[1, None, 0], 3], [[None], 0]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5]', [[0, 1, 0, 1, 0, None, 1, 0, 1, 1], 5], [[0, 1], 3]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]]], [['regression [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['partial-repair [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['partial-repair [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[0, 1, null, 0, 0, 1, 0, 0, 0, 0], 5]', [[0, 1, None, 0, 0, 1, 0, 0, 0, 0], 5], [[0, 0], 2]], ['control [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
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 |
|---|---|---|---|
| regression [[0, null, 1], 3] | [[0], 1] | [[None], 0] | Failed |
| regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5] | [[0, 0], 3] | [[None, 0], 1] | Failed |
| control [[1, 1, 0], 3] | [[1], 1] | [[1], 1] | Passed |
| control [[1, 1, null], 3] | [[1], 0] | [[1], 0] | Passed |
| control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5] | [[0, 1], 3] | [[0, 1], 3] | Passed |
| control [[0, 0, null, null], 4] | [[0], 0] | [[0], 0] | Passed |
| control [[1], 1] | [[1], 0] | [[1], 0] | Passed |
| control [[1, 1, null, 0, 1, null, 0, null], 2] | [[1, 0, 1, 0], 0] | [[1, 0, 1, 0], 0] | Passed |
SHA-256 / 5dc9d4b4e670c089432349881f315035f1248ad77060331f957d9eb883134b5b
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(r, n):
if n < 1 or len(r) % n:
return None
out, fixed_count = [], 0
for g in range(0, len(r), n):
grp = [x for x in r[g:g + n] if x is not None]
ones = sum(grp)
zeros = len(grp) - ones
if not grp:
out.append(None)
continue
b = 1 if ones > zeros else 0
out.append(b)
fixed_count += min(ones, zeros)
return [out, fixed_count]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5]', [[0, 1, 0, 1, 0, None, 1, 0, 1, 1], 5], [[0, 1], 3]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]]], [['regression [[1, null, 0], 3]', [[1, None, 0], 3], [[None], 0]], ['regression [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]], ['control [[0, 1, null, 0, 0, 1, 0, 0, 0, 0], 5]', [[0, 1, None, 0, 0, 1, 0, 0, 0, 0], 5], [[0, 0], 2]], ['control [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]]], [['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['regression [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['partial-repair [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[1, null, null], 3]', [[1, None, None], 3], [[1], 0]], ['control [[0, null, 1, 1, 1], 5]', [[0, None, 1, 1, 1], 5], [[1], 1]], ['control [[], 3]', [[], 3], [[], 0]], ['control [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3]', [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3], [[1, 0, 1], 3]], ['control [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]]], [['regression [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['regression [[1, null, 0], 3]', [[1, None, 0], 3], [[None], 0]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5]', [[0, 1, 0, 1, 0, None, 1, 0, 1, 1], 5], [[0, 1], 3]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]]], [['regression [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['partial-repair [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['partial-repair [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[0, 1, null, 0, 0, 1, 0, 0, 0, 0], 5]', [[0, 1, None, 0, 0, 1, 0, 0, 0, 0], 5], [[0, 0], 2]], ['control [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
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 |
|---|---|---|---|
| regression [[0, null, 1], 3] | [[0], 1] | [[None], 0] | Failed |
| regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5] | [[0, 0], 3] | [[None, 0], 1] | Failed |
| control [[1, 1, 0], 3] | [[1], 1] | [[1], 1] | Passed |
| control [[1, 1, null], 3] | [[1], 0] | [[1], 0] | Passed |
| control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5] | [[0, 1], 3] | [[0, 1], 3] | Passed |
| control [[0, 0, null, null], 4] | [[0], 0] | [[0], 0] | Passed |
| control [[1], 1] | [[1], 0] | [[1], 0] | Passed |
| control [[1, 1, null, 0, 1, null, 0, null], 2] | [[1, 0, 1, 0], 0] | [[1, 0, 1, 0], 0] | Passed |
SHA-256 / 46f511a3753b20a0b88ebf7f1bc3b9fd4428997cfb67c3458f058a638f5b4946
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(r, n):
if n < 1 or len(r) % n:
return None
out, fixed_count = [], 0
for g in range(0, len(r), n):
grp = [x for x in r[g:g + n] if x is not None]
ones = sum(grp)
zeros = len(grp) - ones
if ones == zeros:
out.append(None)
continue
b = 1 if ones > zeros else 0
out.append(b)
fixed_count += min(ones, zeros)
return [out, fixed_count]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5]', [[0, 1, 0, 1, 0, None, 1, 0, 1, 1], 5], [[0, 1], 3]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]]], [['regression [[1, null, 0], 3]', [[1, None, 0], 3], [[None], 0]], ['regression [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]], ['control [[0, 1, null, 0, 0, 1, 0, 0, 0, 0], 5]', [[0, 1, None, 0, 0, 1, 0, 0, 0, 0], 5], [[0, 0], 2]], ['control [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]]], [['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['regression [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['partial-repair [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[1, null, null], 3]', [[1, None, None], 3], [[1], 0]], ['control [[0, null, 1, 1, 1], 5]', [[0, None, 1, 1, 1], 5], [[1], 1]], ['control [[], 3]', [[], 3], [[], 0]], ['control [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3]', [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3], [[1, 0, 1], 3]], ['control [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]]], [['regression [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['regression [[1, null, 0], 3]', [[1, None, 0], 3], [[None], 0]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5]', [[0, 1, 0, 1, 0, None, 1, 0, 1, 1], 5], [[0, 1], 3]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]]], [['regression [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['partial-repair [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['partial-repair [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]', [[1, 1, 0, None, 0, None, 0, 0, 0, 1], 5], [[None, 0], 1]], ['control [[0, 1, null, 0, 0, 1, 0, 0, 0, 0], 5]', [[0, 1, None, 0, 0, 1, 0, 0, 0, 0], 5], [[0, 0], 2]], ['control [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
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 |
|---|---|---|---|
| regression [[0, null, 1], 3] | [[None], 0] | [[None], 0] | Passed |
| regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5] | [[None, 0], 1] | [[None, 0], 1] | Passed |
| control [[1, 1, 0], 3] | [[1], 1] | [[1], 1] | Passed |
| control [[1, 1, null], 3] | [[1], 0] | [[1], 0] | Passed |
| control [[0, 1, 0, 1, 0, null, 1, 0, 1, 1], 5] | [[0, 1], 3] | [[0, 1], 3] | Passed |
| control [[0, 0, null, null], 4] | [[0], 0] | [[0], 0] | Passed |
| control [[1], 1] | [[1], 0] | [[1], 0] | Passed |
| control [[1, 1, null, 0, 1, null, 0, null], 2] | [[1, 0, 1, 0], 0] | [[1, 0, 1, 0], 0] | Passed |
SHA-256 / 6e3b41a4c8060345ca8cbda608a09dd9a744fbb058323415c2cd0d4420714306
Verification & scope
A deterministic, bounded teaching model of the named code under the stated contract; not a production codec. 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:48:33.591106+00:00.
Case digest / 6ccd7841a81efde95ce70d77035d892df308d28987fa7020754fb2f2145001b1