{"abstract":"The reported path metric understates the errors on the terminated path.","category":"Error-correcting codes","checks":8,"contract":"Hard-decision Viterbi decoder for the terminated K=3 (7,5) code (outputs g=7 then g=5 per step, two zero tail bits). Branch metric is the Hamming distance between the received pair and the branch output. Survivors keep the first strictly better candidate (states in ascending order, input 0 before 1). Decoding ends in state 0 and the two tail bits are removed. Return [decoded bits, final path metric]; odd or too-short input returns None.","evaluation_group":"w2-error_correcting_codes-viterbi-hard","failed_approach":"Returning the survivor of the best state instead abandons trellis termination.","family":"w2-error_correcting_codes-viterbi-hard-terminal-metric","id":"FA-71941","implementations":{"attempt":{"sha256":"14051c48d8dffc72d8b58b528988570627222e6e59f1f955594852343fd54899","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    if len(r) % 2 or len(r) < 4:\n        return None\n    INF = 10 ** 9\n    metric = [0, INF, INF, INF]\n    paths = [[], [], [], []]\n    for t in range(len(r) // 2):\n        y0, y1 = r[2 * t], r[2 * t + 1]\n        new_m = [INF] * 4\n        new_p = [None] * 4\n        for st in range(4):\n            if metric[st] >= INF:\n                continue\n            for b in (0, 1):\n                reg = (b << 2) | st\n                o0 = bin(reg & 7).count('1') % 2\n                o1 = bin(reg & 5).count('1') % 2\n                ns = reg >> 1\n                m = metric[st] + (o0 != y0) + (o1 != y1)\n                if m < new_m[ns]:\n                    new_m[ns] = m\n                    new_p[ns] = paths[st] + [b]\n        metric, paths = new_m, new_p\n    best = metric.index(min(metric))\n    return [paths[best][:-2], metric[best]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]', [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]], [[1, 1, 0], 2]], ['regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]], [[0, 1, 0, 0], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]], [[1, 1, 0], 0]], ['control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]', [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]], [[1, 1, 0], 1]], ['control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]', [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]], [[1, 1, 0], 2]], ['control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]], [[0, 1, 0, 0], 0]], ['control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]', [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]], [[0, 1, 0, 0], 1]], ['control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]', [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]], [[0, 1, 0, 0], 2]]], [['regression [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1]], [[1, 1, 0, 0, 0, 0], 2]], ['regression [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0]]', [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0]], [[1, 0, 0, 0, 1, 1, 1], 2]], ['control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]', [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]], [[0, 1, 0, 0], 2]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]], [[1, 0, 1, 0, 0], 0]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0]], [[1, 0, 1, 0, 0], 1]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0]], [[1, 0, 1, 0, 0], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 0, 0, 0, 0], 0]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]], [[1, 1, 0, 0, 0, 0], 1]]], [['regression [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0]], [[0, 1, 0, 1, 1], 2]], ['regression [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]]', [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]], [[0, 0, 0, 1, 0, 1], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]], [[1, 1, 0, 0, 0, 0], 1]], ['control [[1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]', [[1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 0, 0, 0, 0], 2]], ['control [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 0]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 1]], ['control [[1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 2]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 0]]], [['regression [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]]', [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]], [[0, 1, 0, 1], 2]], ['regression [[1, 1, 1, 0]]', [[1, 1, 1, 0]], [[], 3]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 0]], ['control [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 1]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]], [[0, 0, 0, 0, 0, 0, 1, 1], 2]], ['control [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 0]], ['control [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 1]], ['control [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 2]]], [['regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]], [[0, 1, 0, 0], 2]], ['regression [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]], [[1, 0, 1, 0, 0], 2]], ['control [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 2]], ['control [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 0]], ['control [[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 1]], ['control [[0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 2]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[1, 0, 1, 0, 0, 0, 1, 0, 1], 0]], ['control [[1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[1, 0, 1, 0, 0, 0, 1, 0, 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":"c8c8c5da1b3f67ffd6813f5157edb835c434f577ac0a37bd7e73a53ed800a75a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    if len(r) % 2 or len(r) < 4:\n        return None\n    INF = 10 ** 9\n    metric = [0, INF, INF, INF]\n    paths = [[], [], [], []]\n    for t in range(len(r) // 2):\n        y0, y1 = r[2 * t], r[2 * t + 1]\n        new_m = [INF] * 4\n        new_p = [None] * 4\n        for st in range(4):\n            if metric[st] >= INF:\n                continue\n            for b in (0, 1):\n                reg = (b << 2) | st\n                o0 = bin(reg & 7).count('1') % 2\n                o1 = bin(reg & 5).count('1') % 2\n                ns = reg >> 1\n                m = metric[st] + (o0 != y0) + (o1 != y1)\n                if m < new_m[ns]:\n                    new_m[ns] = m\n                    new_p[ns] = paths[st] + [b]\n        metric, paths = new_m, new_p\n    return [paths[0][:-2], min(metric)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]', [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]], [[1, 1, 0], 2]], ['regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]], [[0, 1, 0, 0], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]], [[1, 1, 0], 0]], ['control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]', [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]], [[1, 1, 0], 1]], ['control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]', [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]], [[1, 1, 0], 2]], ['control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]], [[0, 1, 0, 0], 0]], ['control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]', [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]], [[0, 1, 0, 0], 1]], ['control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]', [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]], [[0, 1, 0, 0], 2]]], [['regression [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1]], [[1, 1, 0, 0, 0, 0], 2]], ['regression [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0]]', [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0]], [[1, 0, 0, 0, 1, 1, 1], 2]], ['control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]', [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]], [[0, 1, 0, 0], 2]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]], [[1, 0, 1, 0, 0], 0]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0]], [[1, 0, 1, 0, 0], 1]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0]], [[1, 0, 1, 0, 0], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 0, 0, 0, 0], 0]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]], [[1, 1, 0, 0, 0, 0], 1]]], [['regression [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0]], [[0, 1, 0, 1, 1], 2]], ['regression [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]]', [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]], [[0, 0, 0, 1, 0, 1], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]], [[1, 1, 0, 0, 0, 0], 1]], ['control [[1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]', [[1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 0, 0, 0, 0], 2]], ['control [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 0]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 1]], ['control [[1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 2]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 0]]], [['regression [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]]', [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]], [[0, 1, 0, 1], 2]], ['regression [[1, 1, 1, 0]]', [[1, 1, 1, 0]], [[], 3]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 0]], ['control [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 1]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]], [[0, 0, 0, 0, 0, 0, 1, 1], 2]], ['control [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 0]], ['control [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 1]], ['control [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 2]]], [['regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]], [[0, 1, 0, 0], 2]], ['regression [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]], [[1, 0, 1, 0, 0], 2]], ['control [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 2]], ['control [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 0]], ['control [[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 1]], ['control [[0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 2]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[1, 0, 1, 0, 0, 0, 1, 0, 1], 0]], ['control [[1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[1, 0, 1, 0, 0, 0, 1, 0, 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":"29ff94e9899ef12ca9ef3da4fd9e3e3e83ff5ebcf61ae53eec30a13d81948dd3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    if len(r) % 2 or len(r) < 4:\n        return None\n    INF = 10 ** 9\n    metric = [0, INF, INF, INF]\n    paths = [[], [], [], []]\n    for t in range(len(r) // 2):\n        y0, y1 = r[2 * t], r[2 * t + 1]\n        new_m = [INF] * 4\n        new_p = [None] * 4\n        for st in range(4):\n            if metric[st] >= INF:\n                continue\n            for b in (0, 1):\n                reg = (b << 2) | st\n                o0 = bin(reg & 7).count('1') % 2\n                o1 = bin(reg & 5).count('1') % 2\n                ns = reg >> 1\n                m = metric[st] + (o0 != y0) + (o1 != y1)\n                if m < new_m[ns]:\n                    new_m[ns] = m\n                    new_p[ns] = paths[st] + [b]\n        metric, paths = new_m, new_p\n    return [paths[0][:-2], metric[0]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]', [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]], [[1, 1, 0], 2]], ['regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]], [[0, 1, 0, 0], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]], [[1, 1, 0], 0]], ['control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]', [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]], [[1, 1, 0], 1]], ['control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]', [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]], [[1, 1, 0], 2]], ['control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]], [[0, 1, 0, 0], 0]], ['control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]', [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]], [[0, 1, 0, 0], 1]], ['control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]', [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]], [[0, 1, 0, 0], 2]]], [['regression [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1]], [[1, 1, 0, 0, 0, 0], 2]], ['regression [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0]]', [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0]], [[1, 0, 0, 0, 1, 1, 1], 2]], ['control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]', [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]], [[0, 1, 0, 0], 2]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]], [[1, 0, 1, 0, 0], 0]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0]], [[1, 0, 1, 0, 0], 1]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0]]', [[1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0]], [[1, 0, 1, 0, 0], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 0, 0, 0, 0], 0]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]], [[1, 1, 0, 0, 0, 0], 1]]], [['regression [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0]]', [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0]], [[0, 1, 0, 1, 1], 2]], ['regression [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]]', [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]], [[0, 0, 0, 1, 0, 1], 2]], ['control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]]', [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]], [[1, 1, 0, 0, 0, 0], 1]], ['control [[1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]', [[1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 0, 0, 0, 0], 2]], ['control [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 0]], ['control [[1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 1]], ['control [[1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1]]', [[1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1]], [[1, 0, 0, 0, 1, 1, 1], 2]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 0]]], [['regression [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]]', [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0]], [[0, 1, 0, 1], 2]], ['regression [[1, 1, 1, 0]]', [[1, 1, 1, 0]], [[], 3]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 0]], ['control [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]]', [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 1, 1], 1]], ['control [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]]', [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]], [[0, 0, 0, 0, 0, 0, 1, 1], 2]], ['control [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 0]], ['control [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 1]], ['control [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 2]]], [['regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]', [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]], [[0, 1, 0, 0], 2]], ['regression [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]], [[1, 0, 1, 0, 0], 2]], ['control [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]]', [[0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1]], [[0, 1, 0, 1, 1], 2]], ['control [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 0]], ['control [[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 1]], ['control [[0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1]]', [[0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1]], [[0, 0, 0, 1, 0, 1], 2]], ['control [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[1, 0, 1, 0, 0, 0, 1, 0, 1], 0]], ['control [[1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]]', [[1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1]], [[1, 0, 1, 0, 0, 0, 1, 0, 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-viterbi-hard-terminal-metric","generated_at":"2026-09-29T14:48:34.072957+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Receivers recover convolutionally coded frames by maximum-likelihood trellis search.","repair":"Report metric[0], the metric of the survivor actually returned.","root_cause":"The metric is min(metric) even though the decoded path is the state-0 survivor.","sha256":"1fbcf5e7f7a6d7eab2046490c4852eb7e4ac837ee362f1d3062d4093dec1c23a","title":"Viterbi reports the best metric of any state · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.647,"exit_code":1,"observations":[{"actual":[[1,1,0],1],"check":"regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]","expected":[[1,1,0],2],"passed":false},{"actual":[[0,1,0,0],1],"check":"regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]","expected":[[0,1,0,0],2],"passed":false},{"actual":[[1,1,0],0],"check":"control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]","expected":[[1,1,0],0],"passed":true},{"actual":[[1,1,0],1],"check":"control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]","expected":[[1,1,0],1],"passed":true},{"actual":[[1,1,0],2],"check":"control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]","expected":[[1,1,0],2],"passed":true},{"actual":[[0,1,0,0],0],"check":"control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]","expected":[[0,1,0,0],0],"passed":true},{"actual":[[0,1,0,0],1],"check":"control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]","expected":[[0,1,0,0],1],"passed":true},{"actual":[[0,1,0,0],2],"check":"control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]","expected":[[0,1,0,0],2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]\", \"actual\": [[1, 1, 0], 1], \"expected\": [[1, 1, 0], 2], \"passed\": false}, {\"check\": \"regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]\", \"actual\": [[0, 1, 0, 0], 1], \"expected\": [[0, 1, 0, 0], 2], \"passed\": false}, {\"check\": \"control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]\", \"actual\": [[1, 1, 0], 0], \"expected\": [[1, 1, 0], 0], \"passed\": true}, {\"check\": \"control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]\", \"actual\": [[1, 1, 0], 1], \"expected\": [[1, 1, 0], 1], \"passed\": true}, {\"check\": \"control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]\", \"actual\": [[1, 1, 0], 2], \"expected\": [[1, 1, 0], 2], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 0], \"expected\": [[0, 1, 0, 0], 0], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 1], \"expected\": [[0, 1, 0, 0], 1], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 2], \"expected\": [[0, 1, 0, 0], 2], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.027,"exit_code":1,"observations":[{"actual":[[1,1,0],1],"check":"regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]","expected":[[1,1,0],2],"passed":false},{"actual":[[0,1,0,0],1],"check":"regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]","expected":[[0,1,0,0],2],"passed":false},{"actual":[[1,1,0],0],"check":"control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]","expected":[[1,1,0],0],"passed":true},{"actual":[[1,1,0],1],"check":"control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]","expected":[[1,1,0],1],"passed":true},{"actual":[[1,1,0],2],"check":"control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]","expected":[[1,1,0],2],"passed":true},{"actual":[[0,1,0,0],0],"check":"control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]","expected":[[0,1,0,0],0],"passed":true},{"actual":[[0,1,0,0],1],"check":"control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]","expected":[[0,1,0,0],1],"passed":true},{"actual":[[0,1,0,0],2],"check":"control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]","expected":[[0,1,0,0],2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]\", \"actual\": [[1, 1, 0], 1], \"expected\": [[1, 1, 0], 2], \"passed\": false}, {\"check\": \"regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]\", \"actual\": [[0, 1, 0, 0], 1], \"expected\": [[0, 1, 0, 0], 2], \"passed\": false}, {\"check\": \"control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]\", \"actual\": [[1, 1, 0], 0], \"expected\": [[1, 1, 0], 0], \"passed\": true}, {\"check\": \"control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]\", \"actual\": [[1, 1, 0], 1], \"expected\": [[1, 1, 0], 1], \"passed\": true}, {\"check\": \"control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]\", \"actual\": [[1, 1, 0], 2], \"expected\": [[1, 1, 0], 2], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 0], \"expected\": [[0, 1, 0, 0], 0], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 1], \"expected\": [[0, 1, 0, 0], 1], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 2], \"expected\": [[0, 1, 0, 0], 2], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.816,"exit_code":0,"observations":[{"actual":[[1,1,0],2],"check":"regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]","expected":[[1,1,0],2],"passed":true},{"actual":[[0,1,0,0],2],"check":"regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]","expected":[[0,1,0,0],2],"passed":true},{"actual":[[1,1,0],0],"check":"control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]","expected":[[1,1,0],0],"passed":true},{"actual":[[1,1,0],1],"check":"control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]","expected":[[1,1,0],1],"passed":true},{"actual":[[1,1,0],2],"check":"control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]","expected":[[1,1,0],2],"passed":true},{"actual":[[0,1,0,0],0],"check":"control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]","expected":[[0,1,0,0],0],"passed":true},{"actual":[[0,1,0,0],1],"check":"control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]","expected":[[0,1,0,0],1],"passed":true},{"actual":[[0,1,0,0],2],"check":"control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]","expected":[[0,1,0,0],2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[1, 1, 0, 1, 0, 1, 1, 0, 0, 1]]\", \"actual\": [[1, 1, 0], 2], \"expected\": [[1, 1, 0], 2], \"passed\": true}, {\"check\": \"regression [[0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]]\", \"actual\": [[0, 1, 0, 0], 2], \"expected\": [[0, 1, 0, 0], 2], \"passed\": true}, {\"check\": \"control [[1, 1, 0, 1, 0, 1, 1, 1, 0, 0]]\", \"actual\": [[1, 1, 0], 0], \"expected\": [[1, 1, 0], 0], \"passed\": true}, {\"check\": \"control [[1, 1, 0, 0, 0, 1, 1, 1, 0, 0]]\", \"actual\": [[1, 1, 0], 1], \"expected\": [[1, 1, 0], 1], \"passed\": true}, {\"check\": \"control [[0, 1, 0, 1, 0, 1, 1, 1, 0, 1]]\", \"actual\": [[1, 1, 0], 2], \"expected\": [[1, 1, 0], 2], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 0], \"expected\": [[0, 1, 0, 0], 0], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 1], \"expected\": [[0, 1, 0, 0], 1], \"passed\": true}, {\"check\": \"control [[0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0]]\", \"actual\": [[0, 1, 0, 0], 2], \"expected\": [[0, 1, 0, 0], 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}