{"abstract":"Positions with no information are reported as confident zeros.","category":"Error-correcting codes","checks":8,"contract":"Hybrid-ARQ chase combining. txs are equal-length LLR vectors from successive transmissions (None where a position was not received). Combined LLR = sum of received values, saturated once at the end to [-clip, clip]. Hard decision: positive -> 0, negative -> 1, zero -> None (undecided). Return [combined, hard]; empty or ragged input returns None.","evaluation_group":"w2-error_correcting_codes-harq-chase-combining","failed_approach":"Mapping zero to bit 1 is the same guess with the other sign.","family":"w2-error_correcting_codes-harq-chase-combining-undecided-bits","id":"FA-72281","implementations":{"attempt":{"sha256":"ac300ece41b75952a64ef9e65adfb39c9e12b306e686423055b6c08e2f950220","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport functools\nN = 1\nobservations = []\ndef solve(txs, clip):\n    if not txs or any(len(t) != len(txs[0]) for t in txs):\n        return None\n    comb = []\n    for k in range(len(txs[0])):\n        s = sum(t[k] for t in txs if t[k] is not None)\n        comb.append(max(-clip, min(clip, s)))\n    hard = [1 if c <= 0 else 0 for c in comb]\n    return [comb, hard]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[2, null], [null, -3], [5, 8]], 10]', [[[2, None], [None, -3], [5, 8]], 10], [[7, 5], [0, 0]]], ['control [[[5, -9]], 15]', [[[5, -9]], 15], [[5, -9], [0, 1]]], ['control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]', [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10], [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]]], ['control [[[-3, -6], [-6, 5]], 15]', [[[-3, -6], [-6, 5]], 15], [[-9, -1], [1, 1]]], ['control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...', [[[None, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, None, -9, 5]], 7], [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]]], ['control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]', [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15], [[-9, -2, 5, -1], [1, 1, 0, 1]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]', [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15], [[-9, -2, 5, -1], [1, 1, 0, 1]]], ['control [[[null, -1, -9, null, -3], [8, 8, -9, 8, -6]], 15]', [[[None, -1, -9, None, -3], [8, 8, -9, 8, -6]], 15], [[8, 7, -15, 8, -9], [0, 0, 1, 0, 1]]], ['control [[[0, -1, -3, -1], [2, null, 11, -3], [0, null, -6, 0]], 15]', [[[0, -1, -3, -1], [2, None, 11, -3], [0, None, -6, 0]], 15], [[2, -1, 2, -4], [0, 1, 0, 1]]], ['control [[[-1, 0, 0], [-9, 8, 0], [11, -9, -6]], 7]', [[[-1, 0, 0], [-9, 8, 0], [11, -9, -6]], 7], [[1, -1, -6], [0, 1, 1]]], ['control [[[8, -6]], 10]', [[[8, -6]], 10], [[8, -6], [0, 1]]], ['control [[[-6, -3, null], [0, -6, 8], [-9, 2, 0]], 15]', [[[-6, -3, None], [0, -6, 8], [-9, 2, 0]], 15], [[-15, -7, 8], [1, 1, 0]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[-6, -3, null], [0, -6, 8], [-9, 2, 0]], 15]', [[[-6, -3, None], [0, -6, 8], [-9, 2, 0]], 15], [[-15, -7, 8], [1, 1, 0]]], ['control [[[11, -3, -1, null, -6, 8], [-3, -9, 11, null, -6, null], [null, 5...', [[[11, -3, -1, None, -6, 8], [-3, -9, 11, None, -6, None], [None, 5, -6, -6, 2, 5]], 15], [[8, -7, 4, -6, -10, 13], [0, 1, 0, 1, 1, 0]]], ['control [[[-3, 11], [-3, 11], [-6, 5]], 10]', [[[-3, 11], [-3, 11], [-6, 5]], 10], [[-10, 10], [1, 0]]], ['control [[[8, -9], [2, null]], 7]', [[[8, -9], [2, None]], 7], [[7, -7], [0, 1]]], ['control [[[0, 2, -9, -3, -1], [11, -1, -6, null, 0]], 15]', [[[0, 2, -9, -3, -1], [11, -1, -6, None, 0]], 15], [[11, 1, -15, -3, -1], [0, 0, 1, 1, 1]]], ['control [[[11, 8, null], [2, -6, -1], [8, null, -3]], 10]', [[[11, 8, None], [2, -6, -1], [8, None, -3]], 10], [[10, 2, -4], [0, 0, 1]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[11, 8, null], [2, -6, -1], [8, null, -3]], 10]', [[[11, 8, None], [2, -6, -1], [8, None, -3]], 10], [[10, 2, -4], [0, 0, 1]]], ['control [[[-6, null, 8, 2, 8], [-9, 11, null, -3, -1]], 15]', [[[-6, None, 8, 2, 8], [-9, 11, None, -3, -1]], 15], [[-15, 11, 8, -1, 7], [1, 0, 0, 1, 0]]], ['control [[[-1, -6, null, -3], [null, 8, 2, 0]], 7]', [[[-1, -6, None, -3], [None, 8, 2, 0]], 7], [[-1, 2, 2, -3], [1, 0, 0, 1]]], ['control [[[12, -12], [-5, 5]], 10]', [[[12, -12], [-5, 5]], 10], [[7, -7], [0, 1]]], ['control [[[20], [20], [-30]], 16]', [[[20], [20], [-30]], 16], [[10], [0]]], ['control [[], 5]', [[], 5], None]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[], 5]', [[], 5], None], ['control [[[1, 2], [3]], 5]', [[[1, 2], [3]], 5], None], ['control [[[2, null], [null, -3], [5, 8]], 10]', [[[2, None], [None, -3], [5, 8]], 10], [[7, 5], [0, 0]]], ['control [[[5, -9]], 15]', [[[5, -9]], 15], [[5, -9], [0, 1]]], ['control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]', [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10], [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]]], ['control [[[-3, -6], [-6, 5]], 15]', [[[-3, -6], [-6, 5]], 15], [[-9, -1], [1, 1]]]]]\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":"cc505744d942ae81eedc3cf8c89b74838510206405ac163f7295e688a2d4e3c5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport functools\nN = 1\nobservations = []\ndef solve(txs, clip):\n    if not txs or any(len(t) != len(txs[0]) for t in txs):\n        return None\n    comb = []\n    for k in range(len(txs[0])):\n        s = sum(t[k] for t in txs if t[k] is not None)\n        comb.append(max(-clip, min(clip, s)))\n    hard = [1 if c < 0 else 0 for c in comb]\n    return [comb, hard]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[2, null], [null, -3], [5, 8]], 10]', [[[2, None], [None, -3], [5, 8]], 10], [[7, 5], [0, 0]]], ['control [[[5, -9]], 15]', [[[5, -9]], 15], [[5, -9], [0, 1]]], ['control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]', [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10], [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]]], ['control [[[-3, -6], [-6, 5]], 15]', [[[-3, -6], [-6, 5]], 15], [[-9, -1], [1, 1]]], ['control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...', [[[None, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, None, -9, 5]], 7], [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]]], ['control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]', [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15], [[-9, -2, 5, -1], [1, 1, 0, 1]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]', [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15], [[-9, -2, 5, -1], [1, 1, 0, 1]]], ['control [[[null, -1, -9, null, -3], [8, 8, -9, 8, -6]], 15]', [[[None, -1, -9, None, -3], [8, 8, -9, 8, -6]], 15], [[8, 7, -15, 8, -9], [0, 0, 1, 0, 1]]], ['control [[[0, -1, -3, -1], [2, null, 11, -3], [0, null, -6, 0]], 15]', [[[0, -1, -3, -1], [2, None, 11, -3], [0, None, -6, 0]], 15], [[2, -1, 2, -4], [0, 1, 0, 1]]], ['control [[[-1, 0, 0], [-9, 8, 0], [11, -9, -6]], 7]', [[[-1, 0, 0], [-9, 8, 0], [11, -9, -6]], 7], [[1, -1, -6], [0, 1, 1]]], ['control [[[8, -6]], 10]', [[[8, -6]], 10], [[8, -6], [0, 1]]], ['control [[[-6, -3, null], [0, -6, 8], [-9, 2, 0]], 15]', [[[-6, -3, None], [0, -6, 8], [-9, 2, 0]], 15], [[-15, -7, 8], [1, 1, 0]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[-6, -3, null], [0, -6, 8], [-9, 2, 0]], 15]', [[[-6, -3, None], [0, -6, 8], [-9, 2, 0]], 15], [[-15, -7, 8], [1, 1, 0]]], ['control [[[11, -3, -1, null, -6, 8], [-3, -9, 11, null, -6, null], [null, 5...', [[[11, -3, -1, None, -6, 8], [-3, -9, 11, None, -6, None], [None, 5, -6, -6, 2, 5]], 15], [[8, -7, 4, -6, -10, 13], [0, 1, 0, 1, 1, 0]]], ['control [[[-3, 11], [-3, 11], [-6, 5]], 10]', [[[-3, 11], [-3, 11], [-6, 5]], 10], [[-10, 10], [1, 0]]], ['control [[[8, -9], [2, null]], 7]', [[[8, -9], [2, None]], 7], [[7, -7], [0, 1]]], ['control [[[0, 2, -9, -3, -1], [11, -1, -6, null, 0]], 15]', [[[0, 2, -9, -3, -1], [11, -1, -6, None, 0]], 15], [[11, 1, -15, -3, -1], [0, 0, 1, 1, 1]]], ['control [[[11, 8, null], [2, -6, -1], [8, null, -3]], 10]', [[[11, 8, None], [2, -6, -1], [8, None, -3]], 10], [[10, 2, -4], [0, 0, 1]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[11, 8, null], [2, -6, -1], [8, null, -3]], 10]', [[[11, 8, None], [2, -6, -1], [8, None, -3]], 10], [[10, 2, -4], [0, 0, 1]]], ['control [[[-6, null, 8, 2, 8], [-9, 11, null, -3, -1]], 15]', [[[-6, None, 8, 2, 8], [-9, 11, None, -3, -1]], 15], [[-15, 11, 8, -1, 7], [1, 0, 0, 1, 0]]], ['control [[[-1, -6, null, -3], [null, 8, 2, 0]], 7]', [[[-1, -6, None, -3], [None, 8, 2, 0]], 7], [[-1, 2, 2, -3], [1, 0, 0, 1]]], ['control [[[12, -12], [-5, 5]], 10]', [[[12, -12], [-5, 5]], 10], [[7, -7], [0, 1]]], ['control [[[20], [20], [-30]], 16]', [[[20], [20], [-30]], 16], [[10], [0]]], ['control [[], 5]', [[], 5], None]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[], 5]', [[], 5], None], ['control [[[1, 2], [3]], 5]', [[[1, 2], [3]], 5], None], ['control [[[2, null], [null, -3], [5, 8]], 10]', [[[2, None], [None, -3], [5, 8]], 10], [[7, 5], [0, 0]]], ['control [[[5, -9]], 15]', [[[5, -9]], 15], [[5, -9], [0, 1]]], ['control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]', [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10], [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]]], ['control [[[-3, -6], [-6, 5]], 15]', [[[-3, -6], [-6, 5]], 15], [[-9, -1], [1, 1]]]]]\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":"ee860cc0a4f3a732bdbf0a0fd15116d5af854fd1b5789b0ee4cd0ae39ff8acc2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport functools\nN = 1\nobservations = []\ndef solve(txs, clip):\n    if not txs or any(len(t) != len(txs[0]) for t in txs):\n        return None\n    comb = []\n    for k in range(len(txs[0])):\n        s = sum(t[k] for t in txs if t[k] is not None)\n        comb.append(max(-clip, min(clip, s)))\n    hard = [None if c == 0 else (1 if c < 0 else 0) for c in comb]\n    return [comb, hard]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[2, null], [null, -3], [5, 8]], 10]', [[[2, None], [None, -3], [5, 8]], 10], [[7, 5], [0, 0]]], ['control [[[5, -9]], 15]', [[[5, -9]], 15], [[5, -9], [0, 1]]], ['control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]', [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10], [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]]], ['control [[[-3, -6], [-6, 5]], 15]', [[[-3, -6], [-6, 5]], 15], [[-9, -1], [1, 1]]], ['control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...', [[[None, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, None, -9, 5]], 7], [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]]], ['control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]', [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15], [[-9, -2, 5, -1], [1, 1, 0, 1]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]', [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15], [[-9, -2, 5, -1], [1, 1, 0, 1]]], ['control [[[null, -1, -9, null, -3], [8, 8, -9, 8, -6]], 15]', [[[None, -1, -9, None, -3], [8, 8, -9, 8, -6]], 15], [[8, 7, -15, 8, -9], [0, 0, 1, 0, 1]]], ['control [[[0, -1, -3, -1], [2, null, 11, -3], [0, null, -6, 0]], 15]', [[[0, -1, -3, -1], [2, None, 11, -3], [0, None, -6, 0]], 15], [[2, -1, 2, -4], [0, 1, 0, 1]]], ['control [[[-1, 0, 0], [-9, 8, 0], [11, -9, -6]], 7]', [[[-1, 0, 0], [-9, 8, 0], [11, -9, -6]], 7], [[1, -1, -6], [0, 1, 1]]], ['control [[[8, -6]], 10]', [[[8, -6]], 10], [[8, -6], [0, 1]]], ['control [[[-6, -3, null], [0, -6, 8], [-9, 2, 0]], 15]', [[[-6, -3, None], [0, -6, 8], [-9, 2, 0]], 15], [[-15, -7, 8], [1, 1, 0]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[-6, -3, null], [0, -6, 8], [-9, 2, 0]], 15]', [[[-6, -3, None], [0, -6, 8], [-9, 2, 0]], 15], [[-15, -7, 8], [1, 1, 0]]], ['control [[[11, -3, -1, null, -6, 8], [-3, -9, 11, null, -6, null], [null, 5...', [[[11, -3, -1, None, -6, 8], [-3, -9, 11, None, -6, None], [None, 5, -6, -6, 2, 5]], 15], [[8, -7, 4, -6, -10, 13], [0, 1, 0, 1, 1, 0]]], ['control [[[-3, 11], [-3, 11], [-6, 5]], 10]', [[[-3, 11], [-3, 11], [-6, 5]], 10], [[-10, 10], [1, 0]]], ['control [[[8, -9], [2, null]], 7]', [[[8, -9], [2, None]], 7], [[7, -7], [0, 1]]], ['control [[[0, 2, -9, -3, -1], [11, -1, -6, null, 0]], 15]', [[[0, 2, -9, -3, -1], [11, -1, -6, None, 0]], 15], [[11, 1, -15, -3, -1], [0, 0, 1, 1, 1]]], ['control [[[11, 8, null], [2, -6, -1], [8, null, -3]], 10]', [[[11, 8, None], [2, -6, -1], [8, None, -3]], 10], [[10, 2, -4], [0, 0, 1]]]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[[11, 8, null], [2, -6, -1], [8, null, -3]], 10]', [[[11, 8, None], [2, -6, -1], [8, None, -3]], 10], [[10, 2, -4], [0, 0, 1]]], ['control [[[-6, null, 8, 2, 8], [-9, 11, null, -3, -1]], 15]', [[[-6, None, 8, 2, 8], [-9, 11, None, -3, -1]], 15], [[-15, 11, 8, -1, 7], [1, 0, 0, 1, 0]]], ['control [[[-1, -6, null, -3], [null, 8, 2, 0]], 7]', [[[-1, -6, None, -3], [None, 8, 2, 0]], 7], [[-1, 2, 2, -3], [1, 0, 0, 1]]], ['control [[[12, -12], [-5, 5]], 10]', [[[12, -12], [-5, 5]], 10], [[7, -7], [0, 1]]], ['control [[[20], [20], [-30]], 16]', [[[20], [20], [-30]], 16], [[10], [0]]], ['control [[], 5]', [[], 5], None]], [['regression [[[5, null]], 7]', [[[5, None]], 7], [[5, 0], [0, None]]], ['regression [[[5, -6, 0]], 10]', [[[5, -6, 0]], 10], [[5, -6, 0], [0, 1, None]]], ['control [[], 5]', [[], 5], None], ['control [[[1, 2], [3]], 5]', [[[1, 2], [3]], 5], None], ['control [[[2, null], [null, -3], [5, 8]], 10]', [[[2, None], [None, -3], [5, 8]], 10], [[7, 5], [0, 0]]], ['control [[[5, -9]], 15]', [[[5, -9]], 15], [[5, -9], [0, 1]]], ['control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]', [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10], [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]]], ['control [[[-3, -6], [-6, 5]], 15]', [[[-3, -6], [-6, 5]], 15], [[-9, -1], [1, 1]]]]]\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-harq-chase-combining-undecided-bits","generated_at":"2026-09-29T14:48:37.194135+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"LTE/5G receivers soft-combine retransmissions before decoding; saturating too early discards information.","repair":"Report None for a zero combined LLR.","root_cause":"The hard decision maps a zero combined LLR to 0 instead of undecided.","sha256":"91e1e36e28239a35ef5415ab4656d369784d18766fa1ded480b4e8bdef52672d","title":"Chase combining decides zero LLRs as bit 0 · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.831,"exit_code":1,"observations":[{"actual":[[5,0],[0,1]],"check":"regression [[[5, null]], 7]","expected":[[5,0],[0,null]],"passed":false},{"actual":[[5,-6,0],[0,1,1]],"check":"regression [[[5, -6, 0]], 10]","expected":[[5,-6,0],[0,1,null]],"passed":false},{"actual":[[7,5],[0,0]],"check":"control [[[2, null], [null, -3], [5, 8]], 10]","expected":[[7,5],[0,0]],"passed":true},{"actual":[[5,-9],[0,1]],"check":"control [[[5, -9]], 15]","expected":[[5,-9],[0,1]],"passed":true},{"actual":[[2,2,-3,-4,5],[0,0,1,1,0]],"check":"control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]","expected":[[2,2,-3,-4,5],[0,0,1,1,0]],"passed":true},{"actual":[[-9,-1],[1,1]],"check":"control [[[-3, -6], [-6, 5]], 15]","expected":[[-9,-1],[1,1]],"passed":true},{"actual":[[-4,7,-2,7,-7,7],[1,0,1,0,1,0]],"check":"control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...","expected":[[-4,7,-2,7,-7,7],[1,0,1,0,1,0]],"passed":true},{"actual":[[-9,-2,5,-1],[1,1,0,1]],"check":"control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]","expected":[[-9,-2,5,-1],[1,1,0,1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[[5, null]], 7]\", \"actual\": [[5, 0], [0, 1]], \"expected\": [[5, 0], [0, null]], \"passed\": false}, {\"check\": \"regression [[[5, -6, 0]], 10]\", \"actual\": [[5, -6, 0], [0, 1, 1]], \"expected\": [[5, -6, 0], [0, 1, null]], \"passed\": false}, {\"check\": \"control [[[2, null], [null, -3], [5, 8]], 10]\", \"actual\": [[7, 5], [0, 0]], \"expected\": [[7, 5], [0, 0]], \"passed\": true}, {\"check\": \"control [[[5, -9]], 15]\", \"actual\": [[5, -9], [0, 1]], \"expected\": [[5, -9], [0, 1]], \"passed\": true}, {\"check\": \"control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]\", \"actual\": [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]], \"expected\": [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]], \"passed\": true}, {\"check\": \"control [[[-3, -6], [-6, 5]], 15]\", \"actual\": [[-9, -1], [1, 1]], \"expected\": [[-9, -1], [1, 1]], \"passed\": true}, {\"check\": \"control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...\", \"actual\": [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]], \"expected\": [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]], \"passed\": true}, {\"check\": \"control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]\", \"actual\": [[-9, -2, 5, -1], [1, 1, 0, 1]], \"expected\": [[-9, -2, 5, -1], [1, 1, 0, 1]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.968,"exit_code":1,"observations":[{"actual":[[5,0],[0,0]],"check":"regression [[[5, null]], 7]","expected":[[5,0],[0,null]],"passed":false},{"actual":[[5,-6,0],[0,1,0]],"check":"regression [[[5, -6, 0]], 10]","expected":[[5,-6,0],[0,1,null]],"passed":false},{"actual":[[7,5],[0,0]],"check":"control [[[2, null], [null, -3], [5, 8]], 10]","expected":[[7,5],[0,0]],"passed":true},{"actual":[[5,-9],[0,1]],"check":"control [[[5, -9]], 15]","expected":[[5,-9],[0,1]],"passed":true},{"actual":[[2,2,-3,-4,5],[0,0,1,1,0]],"check":"control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]","expected":[[2,2,-3,-4,5],[0,0,1,1,0]],"passed":true},{"actual":[[-9,-1],[1,1]],"check":"control [[[-3, -6], [-6, 5]], 15]","expected":[[-9,-1],[1,1]],"passed":true},{"actual":[[-4,7,-2,7,-7,7],[1,0,1,0,1,0]],"check":"control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...","expected":[[-4,7,-2,7,-7,7],[1,0,1,0,1,0]],"passed":true},{"actual":[[-9,-2,5,-1],[1,1,0,1]],"check":"control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]","expected":[[-9,-2,5,-1],[1,1,0,1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[[5, null]], 7]\", \"actual\": [[5, 0], [0, 0]], \"expected\": [[5, 0], [0, null]], \"passed\": false}, {\"check\": \"regression [[[5, -6, 0]], 10]\", \"actual\": [[5, -6, 0], [0, 1, 0]], \"expected\": [[5, -6, 0], [0, 1, null]], \"passed\": false}, {\"check\": \"control [[[2, null], [null, -3], [5, 8]], 10]\", \"actual\": [[7, 5], [0, 0]], \"expected\": [[7, 5], [0, 0]], \"passed\": true}, {\"check\": \"control [[[5, -9]], 15]\", \"actual\": [[5, -9], [0, 1]], \"expected\": [[5, -9], [0, 1]], \"passed\": true}, {\"check\": \"control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]\", \"actual\": [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]], \"expected\": [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]], \"passed\": true}, {\"check\": \"control [[[-3, -6], [-6, 5]], 15]\", \"actual\": [[-9, -1], [1, 1]], \"expected\": [[-9, -1], [1, 1]], \"passed\": true}, {\"check\": \"control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...\", \"actual\": [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]], \"expected\": [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]], \"passed\": true}, {\"check\": \"control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]\", \"actual\": [[-9, -2, 5, -1], [1, 1, 0, 1]], \"expected\": [[-9, -2, 5, -1], [1, 1, 0, 1]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.237,"exit_code":0,"observations":[{"actual":[[5,0],[0,null]],"check":"regression [[[5, null]], 7]","expected":[[5,0],[0,null]],"passed":true},{"actual":[[5,-6,0],[0,1,null]],"check":"regression [[[5, -6, 0]], 10]","expected":[[5,-6,0],[0,1,null]],"passed":true},{"actual":[[7,5],[0,0]],"check":"control [[[2, null], [null, -3], [5, 8]], 10]","expected":[[7,5],[0,0]],"passed":true},{"actual":[[5,-9],[0,1]],"check":"control [[[5, -9]], 15]","expected":[[5,-9],[0,1]],"passed":true},{"actual":[[2,2,-3,-4,5],[0,0,1,1,0]],"check":"control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]","expected":[[2,2,-3,-4,5],[0,0,1,1,0]],"passed":true},{"actual":[[-9,-1],[1,1]],"check":"control [[[-3, -6], [-6, 5]], 15]","expected":[[-9,-1],[1,1]],"passed":true},{"actual":[[-4,7,-2,7,-7,7],[1,0,1,0,1,0]],"check":"control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...","expected":[[-4,7,-2,7,-7,7],[1,0,1,0,1,0]],"passed":true},{"actual":[[-9,-2,5,-1],[1,1,0,1]],"check":"control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]","expected":[[-9,-2,5,-1],[1,1,0,1]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[[5, null]], 7]\", \"actual\": [[5, 0], [0, null]], \"expected\": [[5, 0], [0, null]], \"passed\": true}, {\"check\": \"regression [[[5, -6, 0]], 10]\", \"actual\": [[5, -6, 0], [0, 1, null]], \"expected\": [[5, -6, 0], [0, 1, null]], \"passed\": true}, {\"check\": \"control [[[2, null], [null, -3], [5, 8]], 10]\", \"actual\": [[7, 5], [0, 0]], \"expected\": [[7, 5], [0, 0]], \"passed\": true}, {\"check\": \"control [[[5, -9]], 15]\", \"actual\": [[5, -9], [0, 1]], \"expected\": [[5, -9], [0, 1]], \"passed\": true}, {\"check\": \"control [[[-9, -3, 0, -6, 0], [11, 5, -3, 2, 5]], 10]\", \"actual\": [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]], \"expected\": [[2, 2, -3, -4, 5], [0, 0, 1, 1, 0]], \"passed\": true}, {\"check\": \"control [[[-3, -6], [-6, 5]], 15]\", \"actual\": [[-9, -1], [1, 1]], \"expected\": [[-9, -1], [1, 1]], \"passed\": true}, {\"check\": \"control [[[null, 5, 8, 8, 0, 0], [-6, 2, -1, 2, 2, 11], [2, 0, -9, null, -9...\", \"actual\": [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]], \"expected\": [[-4, 7, -2, 7, -7, 7], [1, 0, 1, 0, 1, 0]], \"passed\": true}, {\"check\": \"control [[[0, -1, 0, 0], [-9, -1, 5, -1]], 15]\", \"actual\": [[-9, -2, 5, -1], [1, 1, 0, 1]], \"expected\": [[-9, -2, 5, -1], [1, 1, 0, 1]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}