{"abstract":"Multi-bit messages decode into scrambled bits.","category":"Error-correcting codes","checks":8,"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].","contract_signature":"r, n","evaluation_group":"w2-error_correcting_codes-repetition-erasures","failed_approach":"Shifting the block window by one symbol mixes adjacent blocks.","family":"w2-error_correcting_codes-repetition-erasures-block-layout","id":"FA-71896","implementations":{"attempt":{"sha256":"feb6a296af08d442e5967392f360990688e47ebb66e10df94024d6003ac863bc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r, n):\n    if n < 1 or len(r) % n:\n        return None\n    out, fixed_count = [], 0\n    for g in range(0, len(r), n):\n        grp = [x for x in r[g + 1:g + n + 1] if x is not None]\n        ones = sum(grp)\n        zeros = len(grp) - ones\n        if ones == zeros:\n            out.append(None)\n            continue\n        b = 1 if ones > zeros else 0\n        out.append(b)\n        fixed_count += min(ones, zeros)\n    return [out, fixed_count]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['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]], ['regression [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]], ['partial-repair [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]], ['partial-repair [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]], [['regression [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['regression [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]], ['partial-repair [[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]], ['partial-repair [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]], [['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, 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]], ['partial-repair [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['partial-repair [[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, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]], [['regression [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['regression [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['partial-repair [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[], 3]', [[], 3], [[], 0]]], [['regression [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3]', [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3], [[1, 0, 1], 3]], ['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['partial-repair [[0, null, 1, 1, 1], 5]', [[0, None, 1, 1, 1], 5], [[1], 1]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"1fd5c45994bc339deed23374482557962c2223b0eaac30b0aea1c92d04260532","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r, n):\n    if n < 1 or len(r) % n:\n        return None\n    out, fixed_count = [], 0\n    for g in range(0, len(r), n):\n        grp = [x for x in r[g // n::len(r) // n] if x is not None]\n        ones = sum(grp)\n        zeros = len(grp) - ones\n        if ones == zeros:\n            out.append(None)\n            continue\n        b = 1 if ones > zeros else 0\n        out.append(b)\n        fixed_count += min(ones, zeros)\n    return [out, fixed_count]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['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]], ['regression [[1, 1, null, 0, 1, null, 0, null], 2]', [[1, 1, None, 0, 1, None, 0, None], 2], [[1, 0, 1, 0], 0]], ['partial-repair [[1, 1, 0], 3]', [[1, 1, 0], 3], [[1], 1]], ['partial-repair [[0, null, 1], 3]', [[0, None, 1], 3], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]], [['regression [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['regression [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]], ['partial-repair [[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]], ['partial-repair [[1], 1]', [[1], 1], [[1], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]], [['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, 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]], ['partial-repair [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['partial-repair [[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, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]], [['regression [[1, 0, null, null, 1, 1], 3]', [[1, 0, None, None, 1, 1], 3], [[None, 1], 0]], ['regression [[1, 0, 0, 1, 1, 0], 3]', [[1, 0, 0, 1, 1, 0], 3], [[0, 1], 2]], ['partial-repair [[0, 1, 1, 1, 0, 0, null, 1], 4]', [[0, 1, 1, 1, 0, 0, None, 1], 4], [[1, 0], 2]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None], ['control [[], 3]', [[], 3], [[], 0]]], [['regression [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3]', [[1, 1, 0, 0, 0, 1, 1, 1, 0], 3], [[1, 0, 1], 3]], ['regression [[null, 0, 1, 0, null, 1], 3]', [[None, 0, 1, 0, None, 1], 3], [[None, None], 0]], ['partial-repair [[0, null, 1, 1, 1], 5]', [[0, None, 1, 1, 1], 5], [[1], 1]], ['partial-repair [[1, 0], 2]', [[1, 0], 2], [[None], 0]], ['control [[1, 1, null], 3]', [[1, 1, None], 3], [[1], 0]], ['control [[0, 0, null, null], 4]', [[0, 0, None, None], 4], [[0], 0]], ['control [[null, null, null], 3]', [[None, None, None], 3], [[None], 0]], ['control [[1, 1], 3]', [[1, 1], 3], None]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-error_correcting_codes-repetition-erasures-block-layout","generated_at":"2026-09-29T14:48:33.653441+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Robust control channels repeat critical flags and must treat erased symbols differently from zeros.","root_cause":"Copies are gathered with a stride (bit-interleaved layout) though the contract sends contiguous blocks.","sha256":"fbfe1c26b7140651a7d3dd858991c59b060a8069c86b7b9312975df6436c95e2","title":"Repetition decoder reads interleaved copies · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":40.08,"exit_code":1,"observations":[{"actual":[[0,0],2],"check":"regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]","expected":[[null,0],1],"passed":false},{"actual":[[1,null,0,null],0],"check":"regression [[1, 1, null, 0, 1, null, 0, null], 2]","expected":[[1,0,1,0],0],"passed":false},{"actual":[[null],0],"check":"partial-repair [[1, 1, 0], 3]","expected":[[1],1],"passed":false},{"actual":[[1],0],"check":"partial-repair [[0, null, 1], 3]","expected":[[null],0],"passed":false},{"actual":[[1],0],"check":"control [[1, 1, null], 3]","expected":[[1],0],"passed":true},{"actual":[[0],0],"check":"control [[0, 0, null, null], 4]","expected":[[0],0],"passed":true},{"actual":[[null],0],"check":"control [[null, null, null], 3]","expected":[[null],0],"passed":true},{"actual":null,"check":"control [[1, 1], 3]","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]\", \"actual\": [[0, 0], 2], \"expected\": [[null, 0], 1], \"passed\": false}, {\"check\": \"regression [[1, 1, null, 0, 1, null, 0, null], 2]\", \"actual\": [[1, null, 0, null], 0], \"expected\": [[1, 0, 1, 0], 0], \"passed\": false}, {\"check\": \"partial-repair [[1, 1, 0], 3]\", \"actual\": [[null], 0], \"expected\": [[1], 1], \"passed\": false}, {\"check\": \"partial-repair [[0, null, 1], 3]\", \"actual\": [[1], 0], \"expected\": [[null], 0], \"passed\": false}, {\"check\": \"control [[1, 1, null], 3]\", \"actual\": [[1], 0], \"expected\": [[1], 0], \"passed\": true}, {\"check\": \"control [[0, 0, null, null], 4]\", \"actual\": [[0], 0], \"expected\": [[0], 0], \"passed\": true}, {\"check\": \"control [[null, null, null], 3]\", \"actual\": [[null], 0], \"expected\": [[null], 0], \"passed\": true}, {\"check\": \"control [[1, 1], 3]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.817,"exit_code":1,"observations":[{"actual":[[0,1],2],"check":"regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]","expected":[[null,0],1],"passed":false},{"actual":[[1,1,0,0],0],"check":"regression [[1, 1, null, 0, 1, null, 0, null], 2]","expected":[[1,0,1,0],0],"passed":false},{"actual":[[1],1],"check":"partial-repair [[1, 1, 0], 3]","expected":[[1],1],"passed":true},{"actual":[[null],0],"check":"partial-repair [[0, null, 1], 3]","expected":[[null],0],"passed":true},{"actual":[[1],0],"check":"control [[1, 1, null], 3]","expected":[[1],0],"passed":true},{"actual":[[0],0],"check":"control [[0, 0, null, null], 4]","expected":[[0],0],"passed":true},{"actual":[[null],0],"check":"control [[null, null, null], 3]","expected":[[null],0],"passed":true},{"actual":null,"check":"control [[1, 1], 3]","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[1, 1, 0, null, 0, null, 0, 0, 0, 1], 5]\", \"actual\": [[0, 1], 2], \"expected\": [[null, 0], 1], \"passed\": false}, {\"check\": \"regression [[1, 1, null, 0, 1, null, 0, null], 2]\", \"actual\": [[1, 1, 0, 0], 0], \"expected\": [[1, 0, 1, 0], 0], \"passed\": false}, {\"check\": \"partial-repair [[1, 1, 0], 3]\", \"actual\": [[1], 1], \"expected\": [[1], 1], \"passed\": true}, {\"check\": \"partial-repair [[0, null, 1], 3]\", \"actual\": [[null], 0], \"expected\": [[null], 0], \"passed\": true}, {\"check\": \"control [[1, 1, null], 3]\", \"actual\": [[1], 0], \"expected\": [[1], 0], \"passed\": true}, {\"check\": \"control [[0, 0, null, null], 4]\", \"actual\": [[0], 0], \"expected\": [[0], 0], \"passed\": true}, {\"check\": \"control [[null, null, null], 3]\", \"actual\": [[null], 0], \"expected\": [[null], 0], \"passed\": true}, {\"check\": \"control [[1, 1], 3]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}