{"abstract":"Quoted burst capability is too large by up to one symbol.","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.","contract_signature":"n, k, m, depth","evaluation_group":"w2-error_correcting_codes-interleaved-burst-capability","failed_approach":"Subtracting a whole symbol without adding back the single bit understates the capability by one.","family":"w2-error_correcting_codes-interleaved-burst-capability-symbol-straddle","id":"FA-72261","implementations":{"attempt":{"sha256":"7c13cd0af7258c5e46765c8a92bc898f1bba575249c28be861c76502cdaf90a1","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 * m - m 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, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['regression [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]]], [['regression [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['regression [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]]], [['regression [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['regression [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 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, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['regression [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]]], [['regression [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['regression [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['partial-repair [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]]]]\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":"bb0ad85c77a0ddc897b2006efb4293fa28c74d6b0bb5d3974e41f7c574871f06","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 * m 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, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['regression [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [7, 3, 3, 2]', [7, 3, 3, 2], [2, 10]]], [['regression [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['regression [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [10, 7, 2, 3]', [10, 7, 2, 3], [1, 5]], ['control [255, 253, 8, 1]', [255, 253, 8, 1], [1, 1]]], [['regression [31, 25, 5, 1]', [31, 25, 5, 1], [3, 11]], ['regression [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 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, 253, 8, 1]', [255, 253, 8, 1], [1, 1]], ['regression [7, 5, 3, 4]', [7, 5, 3, 4], [1, 10]], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [204, 188, 8, 12]', [204, 188, 8, 12], [8, 761]], ['control [15, 11, 4, 3]', [15, 11, 4, 3], [2, 21]]], [['regression [255, 223, 8, 4]', [255, 223, 8, 4], [16, 505]], ['regression [255, 239, 8, 2]', [255, 239, 8, 2], [8, 121]], ['partial-repair [255, 223, 8, 1]', [255, 223, 8, 1], [16, 121]], ['control [255, 254, 8, 5]', [255, 254, 8, 5], [0, 0]], ['control [5, 5, 8, 1]', [5, 5, 8, 1], None], ['control [5, 2, 0, 1]', [5, 2, 0, 1], None], ['control [7, 6, 1, 1]', [7, 6, 1, 1], [0, 0]], ['control [15, 9, 4, 1]', [15, 9, 4, 1], [3, 9]]]]\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-symbol-straddle","generated_at":"2026-09-29T14:48:36.943114+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.","root_cause":"The capability is t*D*m, assuming bursts start on symbol boundaries.","sha256":"bc389daa3622c1ee0d601e19f42abcc040e6af79dc7e9a46ef14508df1f01d16","title":"Burst capability ignores symbol boundary straddling · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":40.411,"exit_code":1,"observations":[{"actual":[16,120],"check":"regression [255, 223, 8, 1]","expected":[16,121],"passed":false},{"actual":[16,504],"check":"regression [255, 223, 8, 4]","expected":[16,505],"passed":false},{"actual":[0,0],"check":"control [255, 254, 8, 5]","expected":[0,0],"passed":true},{"actual":null,"check":"control [5, 5, 8, 1]","expected":null,"passed":true},{"actual":null,"check":"control [5, 2, 0, 1]","expected":null,"passed":true},{"actual":[0,0],"check":"control [7, 6, 1, 1]","expected":[0,0],"passed":true},{"actual":[2,20],"check":"control [15, 11, 4, 3]","expected":[2,21],"passed":false},{"actual":[2,9],"check":"control [7, 3, 3, 2]","expected":[2,10],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [255, 223, 8, 1]\", \"actual\": [16, 120], \"expected\": [16, 121], \"passed\": false}, {\"check\": \"regression [255, 223, 8, 4]\", \"actual\": [16, 504], \"expected\": [16, 505], \"passed\": false}, {\"check\": \"control [255, 254, 8, 5]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"control [5, 5, 8, 1]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [5, 2, 0, 1]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [7, 6, 1, 1]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"control [15, 11, 4, 3]\", \"actual\": [2, 20], \"expected\": [2, 21], \"passed\": false}, {\"check\": \"control [7, 3, 3, 2]\", \"actual\": [2, 9], \"expected\": [2, 10], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.989,"exit_code":1,"observations":[{"actual":[16,128],"check":"regression [255, 223, 8, 1]","expected":[16,121],"passed":false},{"actual":[16,512],"check":"regression [255, 223, 8, 4]","expected":[16,505],"passed":false},{"actual":[0,0],"check":"control [255, 254, 8, 5]","expected":[0,0],"passed":true},{"actual":null,"check":"control [5, 5, 8, 1]","expected":null,"passed":true},{"actual":null,"check":"control [5, 2, 0, 1]","expected":null,"passed":true},{"actual":[0,0],"check":"control [7, 6, 1, 1]","expected":[0,0],"passed":true},{"actual":[2,24],"check":"control [15, 11, 4, 3]","expected":[2,21],"passed":false},{"actual":[2,12],"check":"control [7, 3, 3, 2]","expected":[2,10],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [255, 223, 8, 1]\", \"actual\": [16, 128], \"expected\": [16, 121], \"passed\": false}, {\"check\": \"regression [255, 223, 8, 4]\", \"actual\": [16, 512], \"expected\": [16, 505], \"passed\": false}, {\"check\": \"control [255, 254, 8, 5]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"control [5, 5, 8, 1]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [5, 2, 0, 1]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [7, 6, 1, 1]\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"control [15, 11, 4, 3]\", \"actual\": [2, 24], \"expected\": [2, 21], \"passed\": false}, {\"check\": \"control [7, 3, 3, 2]\", \"actual\": [2, 12], \"expected\": [2, 10], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}