{"abstract":"Decoded data contains check bits and is one bit too long.","category":"Error-correcting codes","checks":8,"contract":"Single-error-correcting Hamming decoder for a full or shortened code of length n >= 3 (bits 0/1, else None). Positions are 1-based; parity bits sit at powers of two. The syndrome is the XOR of the positions holding a 1. A syndrome above n points outside the shortened code and is \"uncorrectable\" (data None); otherwise the bit at the syndrome position is flipped. Return [status, data bits from non-power-of-two positions, syndrome].","evaluation_group":"w2-error_correcting_codes-hamming-sec","failed_approach":"Taking odd positions only drops data at 6, 10, 12 and keeps parity bit 1.","family":"w2-error_correcting_codes-hamming-sec-data-positions","id":"FA-71851","implementations":{"attempt":{"sha256":"ece81e5a532fda2436d0a315791b4c43284ceb7ea975d1f076cbde8796f94468","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    n = len(r)\n    if n < 3 or any(b not in (0, 1) for b in r):\n        return None\n    s = 0\n    for pos in range(1, n + 1):\n        if r[pos - 1]:\n            s ^= pos\n    if s > n:\n        return ['uncorrectable', None, s]\n    c = list(r)\n    if s:\n        c[s - 1] ^= 1\n    data = [c[pos - 1] for pos in range(1, n + 1) if pos % 2]\n    return ['corrected' if s else 'clean', data, s]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[0, 1, 1, 0, 1, 1, 1]]', [[0, 1, 1, 0, 1, 1, 1]], ['corrected', [1, 0, 1, 1], 5]], ['regression [[0, 1, 1, 0, 0, 1, 1]]', [[0, 1, 1, 0, 0, 1, 1]], ['clean', [1, 0, 1, 1], 0]], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]]], [['regression [[1, 1, 0, 1, 0, 1, 0]]', [[1, 1, 0, 1, 0, 1, 0]], ['corrected', [0, 0, 1, 0], 1]], ['regression [[0, 1, 0, 1, 0, 1, 1]]', [[0, 1, 0, 1, 0, 1, 1]], ['corrected', [0, 0, 1, 0], 7]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1]], ['uncorrectable', None, 12]], ['control [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]]', [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]], ['uncorrectable', None, 15]], ['control [[0, 1]]', [[0, 1]], None], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None]], [['regression [[0, 1, 1, 1, 0, 1, 0]]', [[0, 1, 1, 1, 0, 1, 0]], ['corrected', [0, 0, 1, 0], 3]], ['regression [[1, 0, 0, 0, 0, 1, 1]]', [[1, 0, 0, 0, 0, 1, 1]], ['clean', [0, 0, 1, 1], 0]], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]]], [['regression [[1, 0, 0, 0, 0, 1, 0]]', [[1, 0, 0, 0, 0, 1, 0]], ['corrected', [0, 0, 1, 1], 7]], ['regression [[0, 1, 0, 0, 0, 1, 1]]', [[0, 1, 0, 0, 0, 1, 1]], ['corrected', [1, 0, 1, 1], 3]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1]], ['uncorrectable', None, 12]], ['control [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]]', [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]], ['uncorrectable', None, 15]], ['control [[0, 1]]', [[0, 1]], None]], [['regression [[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0]]', [[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0]], ['corrected', [0, 1, 1, 0, 1, 1, 1, 0], 4]], ['regression [[1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1]]', [[1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1]], ['corrected', [0, 1, 1, 0, 1, 1, 1, 0], 12]], ['control [[0, 1]]', [[0, 1]], None], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]]]]\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":"ff8868bbd4bbc3e372baedfeeedd694cabb976fe061720dbe5bc5f4c6015f1ce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    n = len(r)\n    if n < 3 or any(b not in (0, 1) for b in r):\n        return None\n    s = 0\n    for pos in range(1, n + 1):\n        if r[pos - 1]:\n            s ^= pos\n    if s > n:\n        return ['uncorrectable', None, s]\n    c = list(r)\n    if s:\n        c[s - 1] ^= 1\n    data = [c[pos - 1] for pos in range(1, n + 1) if pos > 2]\n    return ['corrected' if s else 'clean', data, s]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[0, 1, 1, 0, 1, 1, 1]]', [[0, 1, 1, 0, 1, 1, 1]], ['corrected', [1, 0, 1, 1], 5]], ['regression [[0, 1, 1, 0, 0, 1, 1]]', [[0, 1, 1, 0, 0, 1, 1]], ['clean', [1, 0, 1, 1], 0]], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]]], [['regression [[1, 1, 0, 1, 0, 1, 0]]', [[1, 1, 0, 1, 0, 1, 0]], ['corrected', [0, 0, 1, 0], 1]], ['regression [[0, 1, 0, 1, 0, 1, 1]]', [[0, 1, 0, 1, 0, 1, 1]], ['corrected', [0, 0, 1, 0], 7]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1]], ['uncorrectable', None, 12]], ['control [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]]', [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]], ['uncorrectable', None, 15]], ['control [[0, 1]]', [[0, 1]], None], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None]], [['regression [[0, 1, 1, 1, 0, 1, 0]]', [[0, 1, 1, 1, 0, 1, 0]], ['corrected', [0, 0, 1, 0], 3]], ['regression [[1, 0, 0, 0, 0, 1, 1]]', [[1, 0, 0, 0, 0, 1, 1]], ['clean', [0, 0, 1, 1], 0]], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]]], [['regression [[1, 0, 0, 0, 0, 1, 0]]', [[1, 0, 0, 0, 0, 1, 0]], ['corrected', [0, 0, 1, 1], 7]], ['regression [[0, 1, 0, 0, 0, 1, 1]]', [[0, 1, 0, 0, 0, 1, 1]], ['corrected', [1, 0, 1, 1], 3]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1]], ['uncorrectable', None, 12]], ['control [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]]', [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]], ['uncorrectable', None, 15]], ['control [[0, 1]]', [[0, 1]], None]], [['regression [[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0]]', [[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0]], ['corrected', [0, 1, 1, 0, 1, 1, 1, 0], 4]], ['regression [[1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1]]', [[1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1]], ['corrected', [0, 1, 1, 0, 1, 1, 1, 0], 12]], ['control [[0, 1]]', [[0, 1]], None], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]]]]\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"},"fixed":{"sha256":"f098f24d2db540fca95cb635dcb27efc4fd45b8ab59f23187cb88a281287dc46","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    n = len(r)\n    if n < 3 or any(b not in (0, 1) for b in r):\n        return None\n    s = 0\n    for pos in range(1, n + 1):\n        if r[pos - 1]:\n            s ^= pos\n    if s > n:\n        return ['uncorrectable', None, s]\n    c = list(r)\n    if s:\n        c[s - 1] ^= 1\n    data = [c[pos - 1] for pos in range(1, n + 1) if pos & (pos - 1)]\n    return ['corrected' if s else 'clean', data, s]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[0, 1, 1, 0, 1, 1, 1]]', [[0, 1, 1, 0, 1, 1, 1]], ['corrected', [1, 0, 1, 1], 5]], ['regression [[0, 1, 1, 0, 0, 1, 1]]', [[0, 1, 1, 0, 0, 1, 1]], ['clean', [1, 0, 1, 1], 0]], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]]], [['regression [[1, 1, 0, 1, 0, 1, 0]]', [[1, 1, 0, 1, 0, 1, 0]], ['corrected', [0, 0, 1, 0], 1]], ['regression [[0, 1, 0, 1, 0, 1, 1]]', [[0, 1, 0, 1, 0, 1, 1]], ['corrected', [0, 0, 1, 0], 7]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1]], ['uncorrectable', None, 12]], ['control [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]]', [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]], ['uncorrectable', None, 15]], ['control [[0, 1]]', [[0, 1]], None], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None]], [['regression [[0, 1, 1, 1, 0, 1, 0]]', [[0, 1, 1, 1, 0, 1, 0]], ['corrected', [0, 0, 1, 0], 3]], ['regression [[1, 0, 0, 0, 0, 1, 1]]', [[1, 0, 0, 0, 0, 1, 1]], ['clean', [0, 0, 1, 1], 0]], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]]], [['regression [[1, 0, 0, 0, 0, 1, 0]]', [[1, 0, 0, 0, 0, 1, 0]], ['corrected', [0, 0, 1, 1], 7]], ['regression [[0, 1, 0, 0, 0, 1, 1]]', [[0, 1, 0, 0, 0, 1, 1]], ['corrected', [1, 0, 1, 1], 3]], ['control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]', [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]], ['uncorrectable', None, 13]], ['control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]', [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0]], ['uncorrectable', None, 14]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1]], ['uncorrectable', None, 12]], ['control [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]]', [[0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0]], ['uncorrectable', None, 15]], ['control [[0, 1]]', [[0, 1]], None]], [['regression [[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0]]', [[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0]], ['corrected', [0, 1, 1, 0, 1, 1, 1, 0], 4]], ['regression [[1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1]]', [[1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1]], ['corrected', [0, 1, 1, 0, 1, 1, 1, 0], 12]], ['control [[0, 1]]', [[0, 1]], None], ['control [[0, 1, 2, 0, 0, 0, 0]]', [[0, 1, 2, 0, 0, 0, 0]], None], ['control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]], ['uncorrectable', None, 12]], ['control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]], ['uncorrectable', None, 15]], ['control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]', [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]], ['uncorrectable', None, 13]], ['control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]', [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]], ['uncorrectable', None, 14]]]]\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-hamming-sec-data-positions","generated_at":"2026-09-29T14:48:33.371219+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Memory and link controllers use (shortened) Hamming codes to repair single-bit upsets.","repair":"Take data from positions that are not powers of two (pos & (pos - 1) != 0).","root_cause":"Data are taken from every position above 2, including the parity positions 4, 8, ...","sha256":"9c9161634e669d49894426bedf5260873c337b0e0fe740885fcb33c5f0082ff1","title":"Hamming data extraction keeps parity position four · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.594,"exit_code":1,"observations":[{"actual":["corrected",[0,1,0,1],5],"check":"regression [[0, 1, 1, 0, 1, 1, 1]]","expected":["corrected",[1,0,1,1],5],"passed":false},{"actual":["clean",[0,1,0,1],0],"check":"regression [[0, 1, 1, 0, 0, 1, 1]]","expected":["clean",[1,0,1,1],0],"passed":false},{"actual":["uncorrectable",null,12],"check":"control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]","expected":["uncorrectable",null,12],"passed":true},{"actual":["uncorrectable",null,15],"check":"control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]","expected":["uncorrectable",null,15],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]","expected":["uncorrectable",null,13],"passed":true},{"actual":["uncorrectable",null,14],"check":"control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]","expected":["uncorrectable",null,14],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]","expected":["uncorrectable",null,13],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]","expected":["uncorrectable",null,13],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[0, 1, 1, 0, 1, 1, 1]]\", \"actual\": [\"corrected\", [0, 1, 0, 1], 5], \"expected\": [\"corrected\", [1, 0, 1, 1], 5], \"passed\": false}, {\"check\": \"regression [[0, 1, 1, 0, 0, 1, 1]]\", \"actual\": [\"clean\", [0, 1, 0, 1], 0], \"expected\": [\"clean\", [1, 0, 1, 1], 0], \"passed\": false}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 12], \"expected\": [\"uncorrectable\", null, 12], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]\", \"actual\": [\"uncorrectable\", null, 15], \"expected\": [\"uncorrectable\", null, 15], \"passed\": true}, {\"check\": \"control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}, {\"check\": \"control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 14], \"expected\": [\"uncorrectable\", null, 14], \"passed\": true}, {\"check\": \"control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.786,"exit_code":1,"observations":[{"actual":["corrected",[1,0,0,1,1],5],"check":"regression [[0, 1, 1, 0, 1, 1, 1]]","expected":["corrected",[1,0,1,1],5],"passed":false},{"actual":["clean",[1,0,0,1,1],0],"check":"regression [[0, 1, 1, 0, 0, 1, 1]]","expected":["clean",[1,0,1,1],0],"passed":false},{"actual":["uncorrectable",null,12],"check":"control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]","expected":["uncorrectable",null,12],"passed":true},{"actual":["uncorrectable",null,15],"check":"control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]","expected":["uncorrectable",null,15],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]","expected":["uncorrectable",null,13],"passed":true},{"actual":["uncorrectable",null,14],"check":"control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]","expected":["uncorrectable",null,14],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]","expected":["uncorrectable",null,13],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]","expected":["uncorrectable",null,13],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[0, 1, 1, 0, 1, 1, 1]]\", \"actual\": [\"corrected\", [1, 0, 0, 1, 1], 5], \"expected\": [\"corrected\", [1, 0, 1, 1], 5], \"passed\": false}, {\"check\": \"regression [[0, 1, 1, 0, 0, 1, 1]]\", \"actual\": [\"clean\", [1, 0, 0, 1, 1], 0], \"expected\": [\"clean\", [1, 0, 1, 1], 0], \"passed\": false}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 12], \"expected\": [\"uncorrectable\", null, 12], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]\", \"actual\": [\"uncorrectable\", null, 15], \"expected\": [\"uncorrectable\", null, 15], \"passed\": true}, {\"check\": \"control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}, {\"check\": \"control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 14], \"expected\": [\"uncorrectable\", null, 14], \"passed\": true}, {\"check\": \"control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.426,"exit_code":0,"observations":[{"actual":["corrected",[1,0,1,1],5],"check":"regression [[0, 1, 1, 0, 1, 1, 1]]","expected":["corrected",[1,0,1,1],5],"passed":true},{"actual":["clean",[1,0,1,1],0],"check":"regression [[0, 1, 1, 0, 0, 1, 1]]","expected":["clean",[1,0,1,1],0],"passed":true},{"actual":["uncorrectable",null,12],"check":"control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]","expected":["uncorrectable",null,12],"passed":true},{"actual":["uncorrectable",null,15],"check":"control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]","expected":["uncorrectable",null,15],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]","expected":["uncorrectable",null,13],"passed":true},{"actual":["uncorrectable",null,14],"check":"control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]","expected":["uncorrectable",null,14],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]","expected":["uncorrectable",null,13],"passed":true},{"actual":["uncorrectable",null,13],"check":"control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]","expected":["uncorrectable",null,13],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[0, 1, 1, 0, 1, 1, 1]]\", \"actual\": [\"corrected\", [1, 0, 1, 1], 5], \"expected\": [\"corrected\", [1, 0, 1, 1], 5], \"passed\": true}, {\"check\": \"regression [[0, 1, 1, 0, 0, 1, 1]]\", \"actual\": [\"clean\", [1, 0, 1, 1], 0], \"expected\": [\"clean\", [1, 0, 1, 1], 0], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 1, 0, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 12], \"expected\": [\"uncorrectable\", null, 12], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1]]\", \"actual\": [\"uncorrectable\", null, 15], \"expected\": [\"uncorrectable\", null, 15], \"passed\": true}, {\"check\": \"control [[1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}, {\"check\": \"control [[1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 14], \"expected\": [\"uncorrectable\", null, 14], \"passed\": true}, {\"check\": \"control [[1, 1, 1, 1, 1, 0, 1, 1, 1, 1]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 0, 0, 0, 1, 0, 1, 0]]\", \"actual\": [\"uncorrectable\", null, 13], \"expected\": [\"uncorrectable\", null, 13], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}