{"abstract":"A single-parity code is credited with a non-positive or one-bit burst capability.","category":"Error-correcting codes","checks":8,"contract":"Guaranteed burst correction of an RS(n, k) code with m-bit symbols interleaved to depth D. Each codeword corrects t = floor((n - k) / 2) symbol errors; D interleaved codewords correct any burst of at most (t*D - 1)*m + 1 bits (a burst that straddles symbol boundaries touches one extra symbol). t = 0 gives 0. Invalid parameters return None.","evaluation_group":"w2-error_correcting_codes-interleaved-burst-capability","failed_approach":"Clamping to one bit still claims a correction the code cannot make.","family":"w2-error_correcting_codes-interleaved-burst-capability-zero-capability","id":"FA-72271","implementations":{"attempt":{"sha256":"ea837b75a8465b02dfb7b545b8f61955fcf3b4211e4a0fbab439cb061bbf89db","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n, k, m, depth):\n    if not 0 < k < n or m < 1 or depth < 1:\n        return None\n    t = (n - k) // 2\n    burst = (t * depth - 1) * m + 1 if t else 1\n    return [t, burst]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [20, 10, 1, 1]', [20, 10, 1, 1], [5, 5]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [20, 10, 1, 1]', [20, 10, 1, 1], [5, 5]]]]\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":"9907354d97d0dd72f4a012dc854f0f8b023aa7a4c3755c9eac295d590698e4a5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n, k, m, depth):\n    if not 0 < k < n or m < 1 or depth < 1:\n        return None\n    t = (n - k) // 2\n    burst = (t * depth - 1) * m + 1\n    return [t, burst]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [20, 10, 1, 1]', [20, 10, 1, 1], [5, 5]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [20, 10, 1, 1]', [20, 10, 1, 1], [5, 5]]]]\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":"967fdffe270766ffaa570bcb987baf0c1350d164cef95d111a4f46bdab224b50","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n, k, m, depth):\n    if not 0 < k < n or m < 1 or depth < 1:\n        return None\n    t = (n - k) // 2\n    burst = (t * depth - 1) * m + 1 if t else 0\n    return [t, burst]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [20, 10, 1, 1]', [20, 10, 1, 1], [5, 5]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]]], [['regression [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['partial-repair [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['control [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [20, 10, 1, 1]', [20, 10, 1, 1], [5, 5]]]]\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-interleaved-burst-capability-zero-capability","generated_at":"2026-09-29T14:48:37.107888+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Optical, DVB and storage link budgets quote the longest correctable burst for an interleaved RS code.","repair":"Return 0 when t = 0.","root_cause":"The t = 0 case falls into the general formula.","sha256":"4838efa55fdf0b2bdeb63cec3053734e536a231e6f629238fce133e1ddb586c6","title":"Burst capability reports a burst for a code that corrects nothing · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":36.346,"exit_code":1,"observations":[{"actual":[0,1],"check":"regression [255, 254, 8, 5]","expected":[0,0],"passed":false},{"actual":[0,1],"check":"partial-repair [7, 6, 1, 1]","expected":[0,0],"passed":false},{"actual":[16,121],"check":"control [255, 223, 8, 1]","expected":[16,121],"passed":true},{"actual":[16,505],"check":"control [255, 223, 8, 4]","expected":[16,505],"passed":true},{"actual":[8,121],"check":"control [255, 239, 8, 2]","expected":[8,121],"passed":true},{"actual":[8,761],"check":"control [204, 188, 8, 12]","expected":[8,761],"passed":true},{"actual":[2,21],"check":"control [15, 11, 4, 3]","expected":[2,21],"passed":true},{"actual":[2,10],"check":"control [7, 3, 3, 2]","expected":[2,10],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [255, 254, 8, 5]\", \"actual\": [0, 1], \"expected\": [0, 0], \"passed\": false}, {\"check\": \"partial-repair [7, 6, 1, 1]\", \"actual\": [0, 1], \"expected\": [0, 0], \"passed\": false}, {\"check\": \"control [255, 223, 8, 1]\", \"actual\": [16, 121], \"expected\": [16, 121], \"passed\": true}, {\"check\": \"control [255, 223, 8, 4]\", \"actual\": [16, 505], \"expected\": [16, 505], \"passed\": true}, {\"check\": \"control [255, 239, 8, 2]\", \"actual\": [8, 121], \"expected\": [8, 121], \"passed\": true}, {\"check\": \"control [204, 188, 8, 12]\", \"actual\": [8, 761], \"expected\": [8, 761], \"passed\": true}, {\"check\": \"control [15, 11, 4, 3]\", \"actual\": [2, 21], \"expected\": [2, 21], \"passed\": true}, {\"check\": \"control [7, 3, 3, 2]\", \"actual\": [2, 10], \"expected\": [2, 10], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.015,"exit_code":1,"observations":[{"actual":[0,-7],"check":"regression [255, 254, 8, 5]","expected":[0,0],"passed":false},{"actual":[0,0],"check":"partial-repair [7, 6, 1, 1]","expected":[0,0],"passed":true},{"actual":[16,121],"check":"control [255, 223, 8, 1]","expected":[16,121],"passed":true},{"actual":[16,505],"check":"control [255, 223, 8, 4]","expected":[16,505],"passed":true},{"actual":[8,121],"check":"control [255, 239, 8, 2]","expected":[8,121],"passed":true},{"actual":[8,761],"check":"control [204, 188, 8, 12]","expected":[8,761],"passed":true},{"actual":[2,21],"check":"control [15, 11, 4, 3]","expected":[2,21],"passed":true},{"actual":[2,10],"check":"control [7, 3, 3, 2]","expected":[2,10],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [255, 254, 8, 5]\", \"actual\": [0, -7], \"expected\": [0, 0], \"passed\": false}, {\"check\": \"partial-repair [7, 6, 1, 1]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"control [255, 223, 8, 1]\", \"actual\": [16, 121], \"expected\": [16, 121], \"passed\": true}, {\"check\": \"control [255, 223, 8, 4]\", \"actual\": [16, 505], \"expected\": [16, 505], \"passed\": true}, {\"check\": \"control [255, 239, 8, 2]\", \"actual\": [8, 121], \"expected\": [8, 121], \"passed\": true}, {\"check\": \"control [204, 188, 8, 12]\", \"actual\": [8, 761], \"expected\": [8, 761], \"passed\": true}, {\"check\": \"control [15, 11, 4, 3]\", \"actual\": [2, 21], \"expected\": [2, 21], \"passed\": true}, {\"check\": \"control [7, 3, 3, 2]\", \"actual\": [2, 10], \"expected\": [2, 10], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.923,"exit_code":0,"observations":[{"actual":[0,0],"check":"regression [255, 254, 8, 5]","expected":[0,0],"passed":true},{"actual":[0,0],"check":"partial-repair [7, 6, 1, 1]","expected":[0,0],"passed":true},{"actual":[16,121],"check":"control [255, 223, 8, 1]","expected":[16,121],"passed":true},{"actual":[16,505],"check":"control [255, 223, 8, 4]","expected":[16,505],"passed":true},{"actual":[8,121],"check":"control [255, 239, 8, 2]","expected":[8,121],"passed":true},{"actual":[8,761],"check":"control [204, 188, 8, 12]","expected":[8,761],"passed":true},{"actual":[2,21],"check":"control [15, 11, 4, 3]","expected":[2,21],"passed":true},{"actual":[2,10],"check":"control [7, 3, 3, 2]","expected":[2,10],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [255, 254, 8, 5]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"partial-repair [7, 6, 1, 1]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"control [255, 223, 8, 1]\", \"actual\": [16, 121], \"expected\": [16, 121], \"passed\": true}, {\"check\": \"control [255, 223, 8, 4]\", \"actual\": [16, 505], \"expected\": [16, 505], \"passed\": true}, {\"check\": \"control [255, 239, 8, 2]\", \"actual\": [8, 121], \"expected\": [8, 121], \"passed\": true}, {\"check\": \"control [204, 188, 8, 12]\", \"actual\": [8, 761], \"expected\": [8, 761], \"passed\": true}, {\"check\": \"control [15, 11, 4, 3]\", \"actual\": [2, 21], \"expected\": [2, 21], \"passed\": true}, {\"check\": \"control [7, 3, 3, 2]\", \"actual\": [2, 10], \"expected\": [2, 10], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}