{"abstract":"Even-distance codes are credited with one more correctable error.","category":"Error-correcting codes","checks":8,"contract":"Given a block code as a list of equal-length codewords (duplicates allowed but ignored; fewer than two distinct words or unequal lengths return None), compute the minimum Hamming distance d, the guaranteed correction capability t = floor((d-1)/2), detection capability d-1, and whether a pattern of the given errors and erasures is decodable (2*errors + erasures < d). Return [d, t, detect, decodable].","contract_signature":"codewords, errors, erasures","evaluation_group":"w2-error_correcting_codes-code-capability","failed_approach":"Using d // 2 - 1 undercounts odd distances.","family":"w2-error_correcting_codes-code-capability-correction-radius","id":"FA-72116","implementations":{"attempt":{"sha256":"30e97478d8f36cfe2ebd8dd85c66ca10cbba9f225056e12f92b207fc675cccd1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codewords, errors, erasures):\n    words = [tuple(w) for w in codewords]\n    if len(set(words)) < 2 or len({len(w) for w in words}) != 1:\n        return None\n    uniq = sorted(set(words))\n    d = min(sum(a != b for a, b in zip(u, v)) for i, u in enumerate(uniq) for v in uniq[i + 1:])\n    return [d, d // 2 - 1, d - 1, 2 * errors + erasures < d]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...', [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0]], 2, 3], [2, 0, 1, False]], ['regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...', [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1]], 1, 0], [2, 0, 1, False]], ['partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0], [1, 0, 0, True]], ['partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1]], 1, 2], [1, 0, 0, False]], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0]], 0, 2], [4, 1, 3, True]], ['control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0]], 1, 2], [4, 1, 3, False]]], [['regression [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0]], 1, 2], [4, 1, 3, False]], ['regression [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, ...', [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, 0, 1, 0, 0], [1, 0, 1, 0, 0, 1, 0, 1]], 0, 3], [2, 0, 1, False]], ['partial-repair [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1], [0, 1, 0, 0, 1]], 1, 0]', [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1], [0, 1, 0, 0, 1]], 1, 0], [1, 0, 0, False]], ['partial-repair [[[0, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 1], [0, 1, 1, 0, 0, 1, ...', [[[0, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 1], [0, 1, 1, 0, 0, 1, 1], [1, 1, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0]], 0, 3], [1, 0, 0, False]], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, ...', [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, 0, 1, 0, 0], [1, 0, 1, 0, 0, 1, 0, 1], [0, 1, 1, 1, 1, 1, 1, 1]], 0, 0], [2, 0, 1, True]], ['control [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1]], 1, 3]', [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1]], 1, 3], [1, 0, 0, False]]], [['regression [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, ...', [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 1, 1, 1, 1, 0]], 0, 2], [2, 0, 1, False]], ['regression [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, ...', [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 1, 1, 1, 1, 0], [0, 1, 1, 0, 0, 1, 0, 1, 0]], 1, 2], [2, 0, 1, False]], ['partial-repair [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0]], 2, 1]', [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0]], 2, 1], [5, 2, 4, False]], ['partial-repair [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 1, 1]], 1, 0]', [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 1, 1]], 1, 0], [5, 2, 4, True]], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 0, 0], [1, 1, 1]], 1, 0]', [[[0, 0, 0], [1, 1, 1]], 1, 0], [3, 1, 2, True]], ['control [[[0, 0, 0], [1, 1, 1]], 0, 2]', [[[0, 0, 0], [1, 1, 1]], 0, 2], [3, 1, 2, True]]], [['regression [[[0, 0, 0, 0], [1, 1, 1, 1]], 0, 3]', [[[0, 0, 0, 0], [1, 1, 1, 1]], 0, 3], [4, 1, 3, True]], ['regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...', [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0]], 2, 3], [2, 0, 1, False]], ['partial-repair [[[0, 0, 0], [1, 1, 1]], 0, 2]', [[[0, 0, 0], [1, 1, 1]], 0, 2], [3, 1, 2, True]], ['partial-repair [[[0, 0, 0], [1, 1, 1]], 1, 1]', [[[0, 0, 0], [1, 1, 1]], 1, 1], [3, 1, 2, False]], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 0, 0, 0], [1, 1, 1, 1]], 1, 1]', [[[0, 0, 0, 0], [1, 1, 1, 1]], 1, 1], [4, 1, 3, True]], ['control [[[0, 0, 0, 0, 0], [1, 1, 1, 1, 1], [0, 0, 0, 0, 0]], 2, 0]', [[[0, 0, 0, 0, 0], [1, 1, 1, 1, 1], [0, 0, 0, 0, 0]], 2, 0], [5, 2, 4, True]]], [['regression [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0]], 0, 2], [4, 1, 3, True]], ['regression [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0]], 1, 2], [4, 1, 3, False]], ['partial-repair [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, ...', [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, 0], [1, 0, 0, 0, 0, 1, 1], [1, 0, 0, 1, 1, 0, 0], [0, 1, 0, 0, 1, 0, 1], [1, 1, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1], [1, 0, 1, 1, 0, 1, 0], [0, 1, 1, 0, 0, 1, 1], [0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1]], 1, 0], [3, 1, 2, True]], ['partial-repair [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, ...', [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, 0], [1, 0, 0, 0, 0, 1, 1], [1, 0, 0, 1, 1, 0, 0], [0, 1, 0, 0, 1, 0, 1], [1, 1, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1], [1, 0, 1, 1, 0, 1, 0], [0, 1, 1, 0, 0, 1, 1], [0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1]], 1, 1], [3, 1, 2, False]], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0], [1, 0, 0, True]], ['control [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1]], 1, 2], [1, 0, 0, False]]]]\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":"09e6290280ac2d832559f8042a336039ae96095b8f7ffb43a47c06a1a1ddc0a1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codewords, errors, erasures):\n    words = [tuple(w) for w in codewords]\n    if len(set(words)) < 2 or len({len(w) for w in words}) != 1:\n        return None\n    uniq = sorted(set(words))\n    d = min(sum(a != b for a, b in zip(u, v)) for i, u in enumerate(uniq) for v in uniq[i + 1:])\n    return [d, d // 2, d - 1, 2 * errors + erasures < d]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...', [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0]], 2, 3], [2, 0, 1, False]], ['regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...', [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1]], 1, 0], [2, 0, 1, False]], ['partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0], [1, 0, 0, True]], ['partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1]], 1, 2], [1, 0, 0, False]], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0]], 0, 2], [4, 1, 3, True]], ['control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0]], 1, 2], [4, 1, 3, False]]], [['regression [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0]], 1, 2], [4, 1, 3, False]], ['regression [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, ...', [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, 0, 1, 0, 0], [1, 0, 1, 0, 0, 1, 0, 1]], 0, 3], [2, 0, 1, False]], ['partial-repair [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1], [0, 1, 0, 0, 1]], 1, 0]', [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1], [0, 1, 0, 0, 1]], 1, 0], [1, 0, 0, False]], ['partial-repair [[[0, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 1], [0, 1, 1, 0, 0, 1, ...', [[[0, 1, 0, 0, 0, 0, 0], [0, 1, 1, 0, 1, 1, 1], [0, 1, 1, 0, 0, 1, 1], [1, 1, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0]], 0, 3], [1, 0, 0, False]], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, ...', [[[0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 1, 0, 0, 1, 0, 0], [1, 0, 1, 0, 0, 1, 0, 1], [0, 1, 1, 1, 1, 1, 1, 1]], 0, 0], [2, 0, 1, True]], ['control [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1]], 1, 3]', [[[0, 1, 0, 0, 1], [0, 0, 0, 0, 1]], 1, 3], [1, 0, 0, False]]], [['regression [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, ...', [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 1, 1, 1, 1, 0]], 0, 2], [2, 0, 1, False]], ['regression [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, ...', [[[0, 1, 1, 0, 0, 1, 0, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 1, 1, 1, 1, 0], [0, 1, 1, 0, 0, 1, 0, 1, 0]], 1, 2], [2, 0, 1, False]], ['partial-repair [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0]], 2, 1]', [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0]], 2, 1], [5, 2, 4, False]], ['partial-repair [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 1, 1]], 1, 0]', [[[1, 1, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 1, 1]], 1, 0], [5, 2, 4, True]], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 0, 0], [1, 1, 1]], 1, 0]', [[[0, 0, 0], [1, 1, 1]], 1, 0], [3, 1, 2, True]], ['control [[[0, 0, 0], [1, 1, 1]], 0, 2]', [[[0, 0, 0], [1, 1, 1]], 0, 2], [3, 1, 2, True]]], [['regression [[[0, 0, 0, 0], [1, 1, 1, 1]], 0, 3]', [[[0, 0, 0, 0], [1, 1, 1, 1]], 0, 3], [4, 1, 3, True]], ['regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...', [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0, 1, 1, 1, 0]], 2, 3], [2, 0, 1, False]], ['partial-repair [[[0, 0, 0], [1, 1, 1]], 0, 2]', [[[0, 0, 0], [1, 1, 1]], 0, 2], [3, 1, 2, True]], ['partial-repair [[[0, 0, 0], [1, 1, 1]], 1, 1]', [[[0, 0, 0], [1, 1, 1]], 1, 1], [3, 1, 2, False]], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 0, 0, 0], [1, 1, 1, 1]], 1, 1]', [[[0, 0, 0, 0], [1, 1, 1, 1]], 1, 1], [4, 1, 3, True]], ['control [[[0, 0, 0, 0, 0], [1, 1, 1, 1, 1], [0, 0, 0, 0, 0]], 2, 0]', [[[0, 0, 0, 0, 0], [1, 1, 1, 1, 1], [0, 0, 0, 0, 0]], 2, 0], [5, 2, 4, True]]], [['regression [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0]], 0, 2], [4, 1, 3, True]], ['regression [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...', [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0]], 1, 2], [4, 1, 3, False]], ['partial-repair [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, ...', [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, 0], [1, 0, 0, 0, 0, 1, 1], [1, 0, 0, 1, 1, 0, 0], [0, 1, 0, 0, 1, 0, 1], [1, 1, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1], [1, 0, 1, 1, 0, 1, 0], [0, 1, 1, 0, 0, 1, 1], [0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1]], 1, 0], [3, 1, 2, True]], ['partial-repair [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, ...', [[[0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 1, 0], [1, 0, 0, 0, 0, 1, 1], [1, 0, 0, 1, 1, 0, 0], [0, 1, 0, 0, 1, 0, 1], [1, 1, 0, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1], [1, 0, 1, 1, 0, 1, 0], [0, 1, 1, 0, 0, 1, 1], [0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1]], 1, 1], [3, 1, 2, False]], ['control [[[0, 1], [0, 1]], 0, 0]', [[[0, 1], [0, 1]], 0, 0], None], ['control [[[0, 1], [1, 0, 1]], 0, 0]', [[[0, 1], [1, 0, 1]], 0, 0], None], ['control [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0], [1, 0, 0, True]], ['control [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...', [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1]], 1, 2], [1, 0, 0, False]]]]\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-code-capability-correction-radius","generated_at":"2026-09-29T14:48:35.592618+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Link and storage designers budget error and erasure correction from the minimum distance.","root_cause":"t is computed as d // 2.","sha256":"643c6b3fb9bab12fbf9e63ad4398a1f02e16604893c2cbce39d60c71caafc159","title":"Code capability rounds the correction radius up · 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":38.348,"exit_code":1,"observations":[{"actual":[2,0,1,false],"check":"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...","expected":[2,0,1,false],"passed":true},{"actual":[2,0,1,false],"check":"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...","expected":[2,0,1,false],"passed":true},{"actual":[1,-1,0,true],"check":"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]","expected":[1,0,0,true],"passed":false},{"actual":[1,-1,0,false],"check":"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...","expected":[1,0,0,false],"passed":false},{"actual":null,"check":"control [[[0, 1], [0, 1]], 0, 0]","expected":null,"passed":true},{"actual":null,"check":"control [[[0, 1], [1, 0, 1]], 0, 0]","expected":null,"passed":true},{"actual":[4,1,3,true],"check":"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...","expected":[4,1,3,true],"passed":true},{"actual":[4,1,3,false],"check":"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...","expected":[4,1,3,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...\", \"actual\": [2, 0, 1, false], \"expected\": [2, 0, 1, false], \"passed\": true}, {\"check\": \"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...\", \"actual\": [2, 0, 1, false], \"expected\": [2, 0, 1, false], \"passed\": true}, {\"check\": \"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]\", \"actual\": [1, -1, 0, true], \"expected\": [1, 0, 0, true], \"passed\": false}, {\"check\": \"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...\", \"actual\": [1, -1, 0, false], \"expected\": [1, 0, 0, false], \"passed\": false}, {\"check\": \"control [[[0, 1], [0, 1]], 0, 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [[[0, 1], [1, 0, 1]], 0, 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...\", \"actual\": [4, 1, 3, true], \"expected\": [4, 1, 3, true], \"passed\": true}, {\"check\": \"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...\", \"actual\": [4, 1, 3, false], \"expected\": [4, 1, 3, false], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":36.602,"exit_code":1,"observations":[{"actual":[2,1,1,false],"check":"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...","expected":[2,0,1,false],"passed":false},{"actual":[2,1,1,false],"check":"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...","expected":[2,0,1,false],"passed":false},{"actual":[1,0,0,true],"check":"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]","expected":[1,0,0,true],"passed":true},{"actual":[1,0,0,false],"check":"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...","expected":[1,0,0,false],"passed":true},{"actual":null,"check":"control [[[0, 1], [0, 1]], 0, 0]","expected":null,"passed":true},{"actual":null,"check":"control [[[0, 1], [1, 0, 1]], 0, 0]","expected":null,"passed":true},{"actual":[4,2,3,true],"check":"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...","expected":[4,1,3,true],"passed":false},{"actual":[4,2,3,false],"check":"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...","expected":[4,1,3,false],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...\", \"actual\": [2, 1, 1, false], \"expected\": [2, 0, 1, false], \"passed\": false}, {\"check\": \"regression [[[1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1], [1, 0...\", \"actual\": [2, 1, 1, false], \"expected\": [2, 0, 1, false], \"passed\": false}, {\"check\": \"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1]], 0, 0]\", \"actual\": [1, 0, 0, true], \"expected\": [1, 0, 0, true], \"passed\": true}, {\"check\": \"partial-repair [[[1, 0, 1, 0, 1], [1, 1, 0, 1, 1], [1, 1, 1, 1, 1], [1, 0, 1, 0, 1...\", \"actual\": [1, 0, 0, false], \"expected\": [1, 0, 0, false], \"passed\": true}, {\"check\": \"control [[[0, 1], [0, 1]], 0, 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [[[0, 1], [1, 0, 1]], 0, 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...\", \"actual\": [4, 2, 3, true], \"expected\": [4, 1, 3, true], \"passed\": false}, {\"check\": \"control [[[0, 1, 1, 1, 1, 0, 0], [1, 0, 1, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, ...\", \"actual\": [4, 2, 3, false], \"expected\": [4, 1, 3, false], \"passed\": false}], \"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."}}