{"abstract":"Frames whose CRC byte took the hit are declared uncorrectable.","category":"Error-correcting codes","checks":8,"contract":"Frames of 2..15 bytes end with a CRC-8 (polynomial 0x07, initial value 0, MSB first, no final XOR) over the preceding bytes. A matching CRC is \"clean\"; otherwise try every single-bit flip across the whole frame, including the CRC byte, and accept the first that makes the CRC match (\"corrected\"). Otherwise \"uncorrectable\". Return [status, payload bytes or None].","evaluation_group":"w2-error_correcting_codes-crc8-bit-correction","failed_approach":"Stopping one bit early misses errors in the CRC least-significant bit.","family":"w2-error_correcting_codes-crc8-bit-correction-search-span","id":"FA-72221","implementations":{"attempt":{"sha256":"e96cb61789f477141b7e0d6cff0401a01a05f490414e93288b99ae80d5cd4b22","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(frame):\n    def crc8(data):\n        c = 0\n        for byte in data:\n            c ^= byte\n            for _ in range(8):\n                c = ((c << 1) ^ 0x07) & 0xFF if c & 0x80 else (c << 1) & 0xFF\n        return c\n    if not 2 <= len(frame) <= 15:\n        return None\n    if crc8(frame[:-1]) == frame[-1]:\n        return ['clean', list(frame[:-1])]\n    for pos in range(8 * len(frame) - 1):\n        trial = list(frame)\n        trial[pos // 8] ^= 0x80 >> (pos % 8)\n        if crc8(trial[:-1]) == trial[-1]:\n            return ['corrected', trial[:-1]]\n    return ['uncorrectable', None]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[61, 51]]', [[61, 51]], ['corrected', [61]]], ['regression [[61, 177]]', [[61, 177]], ['corrected', [61]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]', [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]], ['clean', [49, 50, 51, 52, 53, 54, 55, 56, 57]]], ['control [[61, 179]]', [[61, 179]], ['clean', [61]]], ['control [[167, 181, 113]]', [[167, 181, 113]], ['clean', [167, 181]]], ['control [[183, 181, 113]]', [[183, 181, 113]], ['corrected', [167, 181]]]], [['regression [[72, 197, 62, 201]]', [[72, 197, 62, 201]], ['corrected', [72, 197, 62]]], ['regression [[175, 80, 114, 95, 91]]', [[175, 80, 114, 95, 91]], ['corrected', [175, 80, 114, 95]]], ['partial-repair [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['control [[175, 80, 114, 95, 27]]', [[175, 80, 114, 95, 27]], ['clean', [175, 80, 114, 95]]], ['control [[175, 80, 115, 95, 27]]', [[175, 80, 115, 95, 27]], ['corrected', [175, 80, 114, 95]]], ['control [[2, 155, 243, 103, 139, 4, 159]]', [[2, 155, 243, 103, 139, 4, 159]], ['clean', [2, 155, 243, 103, 139, 4]]], ['control [[2, 155, 243, 111, 139, 4, 159]]', [[2, 155, 243, 111, 139, 4, 159]], ['corrected', [2, 155, 243, 103, 139, 4]]]], [['regression [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['regression [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 155]]', [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 155]], ['corrected', [210, 125, 246, 195, 53, 171, 122, 103, 140, 202]]], ['partial-repair [[195, 130, 127, 215]]', [[195, 130, 127, 215]], ['corrected', [195, 130, 127]]], ['partial-repair [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['control [[210, 131, 94, 129, 249, 125, 64, 227, 14]]', [[210, 131, 94, 129, 249, 125, 64, 227, 14]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 147]]', [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 147]], ['clean', [210, 125, 246, 195, 53, 171, 122, 103, 140, 202]]], ['control [[195, 130, 127, 214]]', [[195, 130, 127, 214]], ['clean', [195, 130, 127]]], ['control [[127, 209, 201, 183, 47, 43]]', [[127, 209, 201, 183, 47, 43]], ['clean', [127, 209, 201, 183, 47]]]], [['regression [[195, 130, 127, 222]]', [[195, 130, 127, 222]], ['corrected', [195, 130, 127]]], ['regression [[195, 130, 127, 215]]', [[195, 130, 127, 215]], ['corrected', [195, 130, 127]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[98, 66, 50, 252, 121, 189, 178, 236]]', [[98, 66, 50, 252, 121, 189, 178, 236]], ['clean', [98, 66, 50, 252, 121, 189, 178]]], ['control [[96, 66, 50, 252, 121, 189, 178, 236]]', [[96, 66, 50, 252, 121, 189, 178, 236]], ['corrected', [98, 66, 50, 252, 121, 189, 178]]], ['control [[49, 50, 51]]', [[49, 50, 51]], ['uncorrectable', None]], ['control [[1]]', [[1]], None], ['control [[0, 0]]', [[0, 0]], ['clean', [0]]]], [['regression [[98, 66, 50, 252, 121, 189, 178, 232]]', [[98, 66, 50, 252, 121, 189, 178, 232]], ['corrected', [98, 66, 50, 252, 121, 189, 178]]], ['regression [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]', [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]], ['clean', [49, 50, 51, 52, 53, 54, 55, 56, 57]]], ['control [[61, 179]]', [[61, 179]], ['clean', [61]]], ['control [[167, 181, 113]]', [[167, 181, 113]], ['clean', [167, 181]]], ['control [[183, 181, 113]]', [[183, 181, 113]], ['corrected', [167, 181]]]]]\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":"c374761412aece982eea04212b05217a43c336bd5de9d1c2d78f196689307cd6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(frame):\n    def crc8(data):\n        c = 0\n        for byte in data:\n            c ^= byte\n            for _ in range(8):\n                c = ((c << 1) ^ 0x07) & 0xFF if c & 0x80 else (c << 1) & 0xFF\n        return c\n    if not 2 <= len(frame) <= 15:\n        return None\n    if crc8(frame[:-1]) == frame[-1]:\n        return ['clean', list(frame[:-1])]\n    for pos in range(8 * (len(frame) - 1)):\n        trial = list(frame)\n        trial[pos // 8] ^= 0x80 >> (pos % 8)\n        if crc8(trial[:-1]) == trial[-1]:\n            return ['corrected', trial[:-1]]\n    return ['uncorrectable', None]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[61, 51]]', [[61, 51]], ['corrected', [61]]], ['regression [[61, 177]]', [[61, 177]], ['corrected', [61]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]', [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]], ['clean', [49, 50, 51, 52, 53, 54, 55, 56, 57]]], ['control [[61, 179]]', [[61, 179]], ['clean', [61]]], ['control [[167, 181, 113]]', [[167, 181, 113]], ['clean', [167, 181]]], ['control [[183, 181, 113]]', [[183, 181, 113]], ['corrected', [167, 181]]]], [['regression [[72, 197, 62, 201]]', [[72, 197, 62, 201]], ['corrected', [72, 197, 62]]], ['regression [[175, 80, 114, 95, 91]]', [[175, 80, 114, 95, 91]], ['corrected', [175, 80, 114, 95]]], ['partial-repair [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['control [[175, 80, 114, 95, 27]]', [[175, 80, 114, 95, 27]], ['clean', [175, 80, 114, 95]]], ['control [[175, 80, 115, 95, 27]]', [[175, 80, 115, 95, 27]], ['corrected', [175, 80, 114, 95]]], ['control [[2, 155, 243, 103, 139, 4, 159]]', [[2, 155, 243, 103, 139, 4, 159]], ['clean', [2, 155, 243, 103, 139, 4]]], ['control [[2, 155, 243, 111, 139, 4, 159]]', [[2, 155, 243, 111, 139, 4, 159]], ['corrected', [2, 155, 243, 103, 139, 4]]]], [['regression [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['regression [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 155]]', [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 155]], ['corrected', [210, 125, 246, 195, 53, 171, 122, 103, 140, 202]]], ['partial-repair [[195, 130, 127, 215]]', [[195, 130, 127, 215]], ['corrected', [195, 130, 127]]], ['partial-repair [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['control [[210, 131, 94, 129, 249, 125, 64, 227, 14]]', [[210, 131, 94, 129, 249, 125, 64, 227, 14]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 147]]', [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 147]], ['clean', [210, 125, 246, 195, 53, 171, 122, 103, 140, 202]]], ['control [[195, 130, 127, 214]]', [[195, 130, 127, 214]], ['clean', [195, 130, 127]]], ['control [[127, 209, 201, 183, 47, 43]]', [[127, 209, 201, 183, 47, 43]], ['clean', [127, 209, 201, 183, 47]]]], [['regression [[195, 130, 127, 222]]', [[195, 130, 127, 222]], ['corrected', [195, 130, 127]]], ['regression [[195, 130, 127, 215]]', [[195, 130, 127, 215]], ['corrected', [195, 130, 127]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[98, 66, 50, 252, 121, 189, 178, 236]]', [[98, 66, 50, 252, 121, 189, 178, 236]], ['clean', [98, 66, 50, 252, 121, 189, 178]]], ['control [[96, 66, 50, 252, 121, 189, 178, 236]]', [[96, 66, 50, 252, 121, 189, 178, 236]], ['corrected', [98, 66, 50, 252, 121, 189, 178]]], ['control [[49, 50, 51]]', [[49, 50, 51]], ['uncorrectable', None]], ['control [[1]]', [[1]], None], ['control [[0, 0]]', [[0, 0]], ['clean', [0]]]], [['regression [[98, 66, 50, 252, 121, 189, 178, 232]]', [[98, 66, 50, 252, 121, 189, 178, 232]], ['corrected', [98, 66, 50, 252, 121, 189, 178]]], ['regression [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]', [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]], ['clean', [49, 50, 51, 52, 53, 54, 55, 56, 57]]], ['control [[61, 179]]', [[61, 179]], ['clean', [61]]], ['control [[167, 181, 113]]', [[167, 181, 113]], ['clean', [167, 181]]], ['control [[183, 181, 113]]', [[183, 181, 113]], ['corrected', [167, 181]]]]]\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":"535840cc56ae486adbcebc6d028e6fd9b2a8b1351a811c14dfe6872a44138fe1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(frame):\n    def crc8(data):\n        c = 0\n        for byte in data:\n            c ^= byte\n            for _ in range(8):\n                c = ((c << 1) ^ 0x07) & 0xFF if c & 0x80 else (c << 1) & 0xFF\n        return c\n    if not 2 <= len(frame) <= 15:\n        return None\n    if crc8(frame[:-1]) == frame[-1]:\n        return ['clean', list(frame[:-1])]\n    for pos in range(8 * len(frame)):\n        trial = list(frame)\n        trial[pos // 8] ^= 0x80 >> (pos % 8)\n        if crc8(trial[:-1]) == trial[-1]:\n            return ['corrected', trial[:-1]]\n    return ['uncorrectable', None]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [[61, 51]]', [[61, 51]], ['corrected', [61]]], ['regression [[61, 177]]', [[61, 177]], ['corrected', [61]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]', [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]], ['clean', [49, 50, 51, 52, 53, 54, 55, 56, 57]]], ['control [[61, 179]]', [[61, 179]], ['clean', [61]]], ['control [[167, 181, 113]]', [[167, 181, 113]], ['clean', [167, 181]]], ['control [[183, 181, 113]]', [[183, 181, 113]], ['corrected', [167, 181]]]], [['regression [[72, 197, 62, 201]]', [[72, 197, 62, 201]], ['corrected', [72, 197, 62]]], ['regression [[175, 80, 114, 95, 91]]', [[175, 80, 114, 95, 91]], ['corrected', [175, 80, 114, 95]]], ['partial-repair [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['control [[175, 80, 114, 95, 27]]', [[175, 80, 114, 95, 27]], ['clean', [175, 80, 114, 95]]], ['control [[175, 80, 115, 95, 27]]', [[175, 80, 115, 95, 27]], ['corrected', [175, 80, 114, 95]]], ['control [[2, 155, 243, 103, 139, 4, 159]]', [[2, 155, 243, 103, 139, 4, 159]], ['clean', [2, 155, 243, 103, 139, 4]]], ['control [[2, 155, 243, 111, 139, 4, 159]]', [[2, 155, 243, 111, 139, 4, 159]], ['corrected', [2, 155, 243, 103, 139, 4]]]], [['regression [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['regression [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 155]]', [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 155]], ['corrected', [210, 125, 246, 195, 53, 171, 122, 103, 140, 202]]], ['partial-repair [[195, 130, 127, 215]]', [[195, 130, 127, 215]], ['corrected', [195, 130, 127]]], ['partial-repair [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['control [[210, 131, 94, 129, 249, 125, 64, 227, 14]]', [[210, 131, 94, 129, 249, 125, 64, 227, 14]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 147]]', [[210, 125, 246, 195, 53, 171, 122, 103, 140, 202, 147]], ['clean', [210, 125, 246, 195, 53, 171, 122, 103, 140, 202]]], ['control [[195, 130, 127, 214]]', [[195, 130, 127, 214]], ['clean', [195, 130, 127]]], ['control [[127, 209, 201, 183, 47, 43]]', [[127, 209, 201, 183, 47, 43]], ['clean', [127, 209, 201, 183, 47]]]], [['regression [[195, 130, 127, 222]]', [[195, 130, 127, 222]], ['corrected', [195, 130, 127]]], ['regression [[195, 130, 127, 215]]', [[195, 130, 127, 215]], ['corrected', [195, 130, 127]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[98, 66, 50, 252, 121, 189, 178, 236]]', [[98, 66, 50, 252, 121, 189, 178, 236]], ['clean', [98, 66, 50, 252, 121, 189, 178]]], ['control [[96, 66, 50, 252, 121, 189, 178, 236]]', [[96, 66, 50, 252, 121, 189, 178, 236]], ['corrected', [98, 66, 50, 252, 121, 189, 178]]], ['control [[49, 50, 51]]', [[49, 50, 51]], ['uncorrectable', None]], ['control [[1]]', [[1]], None], ['control [[0, 0]]', [[0, 0]], ['clean', [0]]]], [['regression [[98, 66, 50, 252, 121, 189, 178, 232]]', [[98, 66, 50, 252, 121, 189, 178, 232]], ['corrected', [98, 66, 50, 252, 121, 189, 178]]], ['regression [[0, 1]]', [[0, 1]], ['corrected', [0]]], ['partial-repair [[2, 155, 243, 103, 139, 4, 158]]', [[2, 155, 243, 103, 139, 4, 158]], ['corrected', [2, 155, 243, 103, 139, 4]]], ['partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]', [[210, 131, 94, 129, 185, 125, 64, 227, 15]], ['corrected', [210, 131, 94, 129, 185, 125, 64, 227]]], ['control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]', [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]], ['clean', [49, 50, 51, 52, 53, 54, 55, 56, 57]]], ['control [[61, 179]]', [[61, 179]], ['clean', [61]]], ['control [[167, 181, 113]]', [[167, 181, 113]], ['clean', [167, 181]]], ['control [[183, 181, 113]]', [[183, 181, 113]], ['corrected', [167, 181]]]]]\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-crc8-bit-correction-search-span","generated_at":"2026-09-29T14:48:36.571953+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Sensor buses use short CRC-protected frames and correct single-bit upsets instead of retransmitting.","repair":"Search every bit of the frame, including the received CRC.","root_cause":"The single-bit search only covers payload bits.","sha256":"d0c7feaff8a3d400c96e23bfd5f3505fbf7172a3f82a07e3e1e6644f5b568606","title":"CRC correction never considers the CRC byte · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.504,"exit_code":1,"observations":[{"actual":["corrected",[61]],"check":"regression [[61, 51]]","expected":["corrected",[61]],"passed":true},{"actual":["corrected",[61]],"check":"regression [[61, 177]]","expected":["corrected",[61]],"passed":true},{"actual":["uncorrectable",null],"check":"partial-repair [[2, 155, 243, 103, 139, 4, 158]]","expected":["corrected",[2,155,243,103,139,4]],"passed":false},{"actual":["uncorrectable",null],"check":"partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]","expected":["corrected",[210,131,94,129,185,125,64,227]],"passed":false},{"actual":["clean",[49,50,51,52,53,54,55,56,57]],"check":"control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]","expected":["clean",[49,50,51,52,53,54,55,56,57]],"passed":true},{"actual":["clean",[61]],"check":"control [[61, 179]]","expected":["clean",[61]],"passed":true},{"actual":["clean",[167,181]],"check":"control [[167, 181, 113]]","expected":["clean",[167,181]],"passed":true},{"actual":["corrected",[167,181]],"check":"control [[183, 181, 113]]","expected":["corrected",[167,181]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[61, 51]]\", \"actual\": [\"corrected\", [61]], \"expected\": [\"corrected\", [61]], \"passed\": true}, {\"check\": \"regression [[61, 177]]\", \"actual\": [\"corrected\", [61]], \"expected\": [\"corrected\", [61]], \"passed\": true}, {\"check\": \"partial-repair [[2, 155, 243, 103, 139, 4, 158]]\", \"actual\": [\"uncorrectable\", null], \"expected\": [\"corrected\", [2, 155, 243, 103, 139, 4]], \"passed\": false}, {\"check\": \"partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]\", \"actual\": [\"uncorrectable\", null], \"expected\": [\"corrected\", [210, 131, 94, 129, 185, 125, 64, 227]], \"passed\": false}, {\"check\": \"control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]\", \"actual\": [\"clean\", [49, 50, 51, 52, 53, 54, 55, 56, 57]], \"expected\": [\"clean\", [49, 50, 51, 52, 53, 54, 55, 56, 57]], \"passed\": true}, {\"check\": \"control [[61, 179]]\", \"actual\": [\"clean\", [61]], \"expected\": [\"clean\", [61]], \"passed\": true}, {\"check\": \"control [[167, 181, 113]]\", \"actual\": [\"clean\", [167, 181]], \"expected\": [\"clean\", [167, 181]], \"passed\": true}, {\"check\": \"control [[183, 181, 113]]\", \"actual\": [\"corrected\", [167, 181]], \"expected\": [\"corrected\", [167, 181]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.298,"exit_code":1,"observations":[{"actual":["uncorrectable",null],"check":"regression [[61, 51]]","expected":["corrected",[61]],"passed":false},{"actual":["uncorrectable",null],"check":"regression [[61, 177]]","expected":["corrected",[61]],"passed":false},{"actual":["uncorrectable",null],"check":"partial-repair [[2, 155, 243, 103, 139, 4, 158]]","expected":["corrected",[2,155,243,103,139,4]],"passed":false},{"actual":["uncorrectable",null],"check":"partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]","expected":["corrected",[210,131,94,129,185,125,64,227]],"passed":false},{"actual":["clean",[49,50,51,52,53,54,55,56,57]],"check":"control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]","expected":["clean",[49,50,51,52,53,54,55,56,57]],"passed":true},{"actual":["clean",[61]],"check":"control [[61, 179]]","expected":["clean",[61]],"passed":true},{"actual":["clean",[167,181]],"check":"control [[167, 181, 113]]","expected":["clean",[167,181]],"passed":true},{"actual":["corrected",[167,181]],"check":"control [[183, 181, 113]]","expected":["corrected",[167,181]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[61, 51]]\", \"actual\": [\"uncorrectable\", null], \"expected\": [\"corrected\", [61]], \"passed\": false}, {\"check\": \"regression [[61, 177]]\", \"actual\": [\"uncorrectable\", null], \"expected\": [\"corrected\", [61]], \"passed\": false}, {\"check\": \"partial-repair [[2, 155, 243, 103, 139, 4, 158]]\", \"actual\": [\"uncorrectable\", null], \"expected\": [\"corrected\", [2, 155, 243, 103, 139, 4]], \"passed\": false}, {\"check\": \"partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]\", \"actual\": [\"uncorrectable\", null], \"expected\": [\"corrected\", [210, 131, 94, 129, 185, 125, 64, 227]], \"passed\": false}, {\"check\": \"control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]\", \"actual\": [\"clean\", [49, 50, 51, 52, 53, 54, 55, 56, 57]], \"expected\": [\"clean\", [49, 50, 51, 52, 53, 54, 55, 56, 57]], \"passed\": true}, {\"check\": \"control [[61, 179]]\", \"actual\": [\"clean\", [61]], \"expected\": [\"clean\", [61]], \"passed\": true}, {\"check\": \"control [[167, 181, 113]]\", \"actual\": [\"clean\", [167, 181]], \"expected\": [\"clean\", [167, 181]], \"passed\": true}, {\"check\": \"control [[183, 181, 113]]\", \"actual\": [\"corrected\", [167, 181]], \"expected\": [\"corrected\", [167, 181]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.034,"exit_code":0,"observations":[{"actual":["corrected",[61]],"check":"regression [[61, 51]]","expected":["corrected",[61]],"passed":true},{"actual":["corrected",[61]],"check":"regression [[61, 177]]","expected":["corrected",[61]],"passed":true},{"actual":["corrected",[2,155,243,103,139,4]],"check":"partial-repair [[2, 155, 243, 103, 139, 4, 158]]","expected":["corrected",[2,155,243,103,139,4]],"passed":true},{"actual":["corrected",[210,131,94,129,185,125,64,227]],"check":"partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]","expected":["corrected",[210,131,94,129,185,125,64,227]],"passed":true},{"actual":["clean",[49,50,51,52,53,54,55,56,57]],"check":"control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]","expected":["clean",[49,50,51,52,53,54,55,56,57]],"passed":true},{"actual":["clean",[61]],"check":"control [[61, 179]]","expected":["clean",[61]],"passed":true},{"actual":["clean",[167,181]],"check":"control [[167, 181, 113]]","expected":["clean",[167,181]],"passed":true},{"actual":["corrected",[167,181]],"check":"control [[183, 181, 113]]","expected":["corrected",[167,181]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [[61, 51]]\", \"actual\": [\"corrected\", [61]], \"expected\": [\"corrected\", [61]], \"passed\": true}, {\"check\": \"regression [[61, 177]]\", \"actual\": [\"corrected\", [61]], \"expected\": [\"corrected\", [61]], \"passed\": true}, {\"check\": \"partial-repair [[2, 155, 243, 103, 139, 4, 158]]\", \"actual\": [\"corrected\", [2, 155, 243, 103, 139, 4]], \"expected\": [\"corrected\", [2, 155, 243, 103, 139, 4]], \"passed\": true}, {\"check\": \"partial-repair [[210, 131, 94, 129, 185, 125, 64, 227, 15]]\", \"actual\": [\"corrected\", [210, 131, 94, 129, 185, 125, 64, 227]], \"expected\": [\"corrected\", [210, 131, 94, 129, 185, 125, 64, 227]], \"passed\": true}, {\"check\": \"control [[49, 50, 51, 52, 53, 54, 55, 56, 57, 244]]\", \"actual\": [\"clean\", [49, 50, 51, 52, 53, 54, 55, 56, 57]], \"expected\": [\"clean\", [49, 50, 51, 52, 53, 54, 55, 56, 57]], \"passed\": true}, {\"check\": \"control [[61, 179]]\", \"actual\": [\"clean\", [61]], \"expected\": [\"clean\", [61]], \"passed\": true}, {\"check\": \"control [[167, 181, 113]]\", \"actual\": [\"clean\", [167, 181]], \"expected\": [\"clean\", [167, 181]], \"passed\": true}, {\"check\": \"control [[183, 181, 113]]\", \"actual\": [\"corrected\", [167, 181]], \"expected\": [\"corrected\", [167, 181]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}