{"abstract":"The feedback path is dead and the blocker becomes a plain first difference.","category":"Digital signal filters","checks":7,"contract":"Input [R, samples]: y[n] = x[n] - x[n-1] + R y[n-1] with 0 <= R < 1 (\"bad-pole\"), warm-started so x[-1] = x[0] and y[-1] = 0 (no start-up step). Return exact fraction strings.","evaluation_group":"w2-digital_signal_filters-dc-blocker-warm-start","failed_approach":"The attempted repair stores the input in both history slots.","family":"w2-digital_signal_filters-dc-blocker-warm-start-output-state-update","id":"FA-91766","implementations":{"attempt":{"sha256":"435251646e6efe093b2ba37f7186e9d068f970d5535f788c97c3d33f1fee4313","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    R, xs = Fraction(x[0]), x[1]\n    if not 0 <= R < 1:\n        return 'bad-pole'\n    if not xs:\n        return []\n    xp = xs[0]\n    yp = Fraction(0)\n    out = []\n    for v in xs:\n        y = v - xp + R * yp\n        xp, yp = v, v\n        out.append(str(y))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: step', ['1/2', [0, 4, 4, 4]], ['0', '4', '2', '1']], ['regression: random dc blocker 0', ['3/4', [-2, -1, 1, -3]], ['0', '1', '11/4', '-31/16']], ['repair check: constant input warm start', ['9/10', [5, 5, 5]], ['0', '0', '0']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 3', ['9/10', [1, 4, -3, -3, 5, -2]], ['0', '3', '-43/10', '-387/100', '4517/1000', '-29347/10000']], ['regression: random dc blocker 4', ['3/4', [1, 2, 6, 0, -2]], ['0', '1', '19/4', '-39/16', '-245/64']], ['regression: random dc blocker 0', ['3/4', [-2, -1, 1, -3]], ['0', '1', '11/4', '-31/16']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 7', ['1/2', [0, 6, -2, -1, 2, 0]], ['0', '6', '-5', '-3/2', '9/4', '-7/8']], ['regression: random dc blocker 8', ['9/10', [-3, -3, 2, -2, 2, -2]], ['0', '0', '5', '1/2', '89/20', '1/200']], ['regression: random dc blocker 2', ['1/4', [-3, 0, 1, -3]], ['0', '3', '7/4', '-57/16']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 10', ['1/4', [2, 0, 5, -1, 6, 2, 5]], ['0', '-2', '9/2', '-39/8', '185/32', '-327/128', '1209/512']], ['regression: random dc blocker 11', ['1/2', [-1, 0, 6]], ['0', '1', '13/2']], ['regression: random dc blocker 4', ['3/4', [1, 2, 6, 0, -2]], ['0', '1', '19/4', '-39/16', '-245/64']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 13', ['3/4', [2, 2, 3, 5, -1, 6, -2]], ['0', '0', '1', '11/4', '-63/16', '259/64', '-1271/256']], ['regression: random dc blocker 15', ['1/2', [5, 4, 0, 0, -3]], ['0', '-1', '-9/2', '-9/4', '-33/8']], ['regression: random dc blocker 6', ['1/4', [1, 0, 2, 2, -3, 0]], ['0', '-1', '7/4', '7/16', '-313/64', '455/256']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]]]\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":"783a3310e6cb5eabe127ac14f0741068827fff11c44468cb719d996b40f84217","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    R, xs = Fraction(x[0]), x[1]\n    if not 0 <= R < 1:\n        return 'bad-pole'\n    if not xs:\n        return []\n    xp = xs[0]\n    yp = Fraction(0)\n    out = []\n    for v in xs:\n        y = v - xp + R * yp\n        xp = v\n        out.append(str(y))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: step', ['1/2', [0, 4, 4, 4]], ['0', '4', '2', '1']], ['regression: random dc blocker 0', ['3/4', [-2, -1, 1, -3]], ['0', '1', '11/4', '-31/16']], ['repair check: constant input warm start', ['9/10', [5, 5, 5]], ['0', '0', '0']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 3', ['9/10', [1, 4, -3, -3, 5, -2]], ['0', '3', '-43/10', '-387/100', '4517/1000', '-29347/10000']], ['regression: random dc blocker 4', ['3/4', [1, 2, 6, 0, -2]], ['0', '1', '19/4', '-39/16', '-245/64']], ['regression: random dc blocker 0', ['3/4', [-2, -1, 1, -3]], ['0', '1', '11/4', '-31/16']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 7', ['1/2', [0, 6, -2, -1, 2, 0]], ['0', '6', '-5', '-3/2', '9/4', '-7/8']], ['regression: random dc blocker 8', ['9/10', [-3, -3, 2, -2, 2, -2]], ['0', '0', '5', '1/2', '89/20', '1/200']], ['regression: random dc blocker 2', ['1/4', [-3, 0, 1, -3]], ['0', '3', '7/4', '-57/16']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 10', ['1/4', [2, 0, 5, -1, 6, 2, 5]], ['0', '-2', '9/2', '-39/8', '185/32', '-327/128', '1209/512']], ['regression: random dc blocker 11', ['1/2', [-1, 0, 6]], ['0', '1', '13/2']], ['regression: random dc blocker 4', ['3/4', [1, 2, 6, 0, -2]], ['0', '1', '19/4', '-39/16', '-245/64']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 13', ['3/4', [2, 2, 3, 5, -1, 6, -2]], ['0', '0', '1', '11/4', '-63/16', '259/64', '-1271/256']], ['regression: random dc blocker 15', ['1/2', [5, 4, 0, 0, -3]], ['0', '-1', '-9/2', '-9/4', '-33/8']], ['regression: random dc blocker 6', ['1/4', [1, 0, 2, 2, -3, 0]], ['0', '-1', '7/4', '7/16', '-313/64', '455/256']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]]]\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":"d61ba04e94a7b83ff6243e877846222bbab9d2eabcd7fc15f3bec932e123e63e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    R, xs = Fraction(x[0]), x[1]\n    if not 0 <= R < 1:\n        return 'bad-pole'\n    if not xs:\n        return []\n    xp = xs[0]\n    yp = Fraction(0)\n    out = []\n    for v in xs:\n        y = v - xp + R * yp\n        xp, yp = v, y\n        out.append(str(y))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: step', ['1/2', [0, 4, 4, 4]], ['0', '4', '2', '1']], ['regression: random dc blocker 0', ['3/4', [-2, -1, 1, -3]], ['0', '1', '11/4', '-31/16']], ['repair check: constant input warm start', ['9/10', [5, 5, 5]], ['0', '0', '0']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 3', ['9/10', [1, 4, -3, -3, 5, -2]], ['0', '3', '-43/10', '-387/100', '4517/1000', '-29347/10000']], ['regression: random dc blocker 4', ['3/4', [1, 2, 6, 0, -2]], ['0', '1', '19/4', '-39/16', '-245/64']], ['regression: random dc blocker 0', ['3/4', [-2, -1, 1, -3]], ['0', '1', '11/4', '-31/16']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 7', ['1/2', [0, 6, -2, -1, 2, 0]], ['0', '6', '-5', '-3/2', '9/4', '-7/8']], ['regression: random dc blocker 8', ['9/10', [-3, -3, 2, -2, 2, -2]], ['0', '0', '5', '1/2', '89/20', '1/200']], ['regression: random dc blocker 2', ['1/4', [-3, 0, 1, -3]], ['0', '3', '7/4', '-57/16']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 10', ['1/4', [2, 0, 5, -1, 6, 2, 5]], ['0', '-2', '9/2', '-39/8', '185/32', '-327/128', '1209/512']], ['regression: random dc blocker 11', ['1/2', [-1, 0, 6]], ['0', '1', '13/2']], ['regression: random dc blocker 4', ['3/4', [1, 2, 6, 0, -2]], ['0', '1', '19/4', '-39/16', '-245/64']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]], [['regression: random dc blocker 13', ['3/4', [2, 2, 3, 5, -1, 6, -2]], ['0', '0', '1', '11/4', '-63/16', '259/64', '-1271/256']], ['regression: random dc blocker 15', ['1/2', [5, 4, 0, 0, -3]], ['0', '-1', '-9/2', '-9/4', '-33/8']], ['regression: random dc blocker 6', ['1/4', [1, 0, 2, 2, -3, 0]], ['0', '-1', '7/4', '7/16', '-313/64', '455/256']], ['control: pole zero', ['0', [1, 3, 2]], ['0', '2', '-1']], ['control: bad pole', ['1', [1]], 'bad-pole'], ['control: empty', ['1/2', []], []], ['control: random dc blocker 32', ['9/10', [0, 0]], ['0', '0']]]]\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 with a stipulated toy contract; exact rational arithmetic or fixed-decimal rounding keeps outputs strict JSON. It is not a production DSP library and claims no standards conformance. 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-digital_signal_filters-dc-blocker-warm-start-output-state-update","generated_at":"2026-09-29T14:51:38.953405+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"DC blockers remove offsets before further processing; a cold start injects a large transient.","repair":"Update both x[n-1] and y[n-1].","root_cause":"Only x[n-1] is updated after each sample.","sha256":"0ae1cf5e6e6518ad46b332345fffdf5cdd04246b7bb36e8fd2a38eae9f7eba6b","title":"DC blocker never updates its output history · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.231,"exit_code":1,"observations":[{"actual":["0","4","2","2"],"check":"regression: step","expected":["0","4","2","1"],"passed":false},{"actual":["0","-1/2","5/4","-13/4"],"check":"regression: random dc blocker 0","expected":["0","1","11/4","-31/16"],"passed":false},{"actual":["0","9/2","9/2"],"check":"repair check: constant input warm start","expected":["0","0","0"],"passed":false},{"actual":["0","2","-1"],"check":"control: pole zero","expected":["0","2","-1"],"passed":true},{"actual":"bad-pole","check":"control: bad pole","expected":"bad-pole","passed":true},{"actual":[],"check":"control: empty","expected":[],"passed":true},{"actual":["0","0"],"check":"control: random dc blocker 32","expected":["0","0"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: step\", \"actual\": [\"0\", \"4\", \"2\", \"2\"], \"expected\": [\"0\", \"4\", \"2\", \"1\"], \"passed\": false}, {\"check\": \"regression: random dc blocker 0\", \"actual\": [\"0\", \"-1/2\", \"5/4\", \"-13/4\"], \"expected\": [\"0\", \"1\", \"11/4\", \"-31/16\"], \"passed\": false}, {\"check\": \"repair check: constant input warm start\", \"actual\": [\"0\", \"9/2\", \"9/2\"], \"expected\": [\"0\", \"0\", \"0\"], \"passed\": false}, {\"check\": \"control: pole zero\", \"actual\": [\"0\", \"2\", \"-1\"], \"expected\": [\"0\", \"2\", \"-1\"], \"passed\": true}, {\"check\": \"control: bad pole\", \"actual\": \"bad-pole\", \"expected\": \"bad-pole\", \"passed\": true}, {\"check\": \"control: empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"control: random dc blocker 32\", \"actual\": [\"0\", \"0\"], \"expected\": [\"0\", \"0\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.321,"exit_code":1,"observations":[{"actual":["0","4","0","0"],"check":"regression: step","expected":["0","4","2","1"],"passed":false},{"actual":["0","1","2","-4"],"check":"regression: random dc blocker 0","expected":["0","1","11/4","-31/16"],"passed":false},{"actual":["0","0","0"],"check":"repair check: constant input warm start","expected":["0","0","0"],"passed":true},{"actual":["0","2","-1"],"check":"control: pole zero","expected":["0","2","-1"],"passed":true},{"actual":"bad-pole","check":"control: bad pole","expected":"bad-pole","passed":true},{"actual":[],"check":"control: empty","expected":[],"passed":true},{"actual":["0","0"],"check":"control: random dc blocker 32","expected":["0","0"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: step\", \"actual\": [\"0\", \"4\", \"0\", \"0\"], \"expected\": [\"0\", \"4\", \"2\", \"1\"], \"passed\": false}, {\"check\": \"regression: random dc blocker 0\", \"actual\": [\"0\", \"1\", \"2\", \"-4\"], \"expected\": [\"0\", \"1\", \"11/4\", \"-31/16\"], \"passed\": false}, {\"check\": \"repair check: constant input warm start\", \"actual\": [\"0\", \"0\", \"0\"], \"expected\": [\"0\", \"0\", \"0\"], \"passed\": true}, {\"check\": \"control: pole zero\", \"actual\": [\"0\", \"2\", \"-1\"], \"expected\": [\"0\", \"2\", \"-1\"], \"passed\": true}, {\"check\": \"control: bad pole\", \"actual\": \"bad-pole\", \"expected\": \"bad-pole\", \"passed\": true}, {\"check\": \"control: empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"control: random dc blocker 32\", \"actual\": [\"0\", \"0\"], \"expected\": [\"0\", \"0\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.547,"exit_code":0,"observations":[{"actual":["0","4","2","1"],"check":"regression: step","expected":["0","4","2","1"],"passed":true},{"actual":["0","1","11/4","-31/16"],"check":"regression: random dc blocker 0","expected":["0","1","11/4","-31/16"],"passed":true},{"actual":["0","0","0"],"check":"repair check: constant input warm start","expected":["0","0","0"],"passed":true},{"actual":["0","2","-1"],"check":"control: pole zero","expected":["0","2","-1"],"passed":true},{"actual":"bad-pole","check":"control: bad pole","expected":"bad-pole","passed":true},{"actual":[],"check":"control: empty","expected":[],"passed":true},{"actual":["0","0"],"check":"control: random dc blocker 32","expected":["0","0"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: step\", \"actual\": [\"0\", \"4\", \"2\", \"1\"], \"expected\": [\"0\", \"4\", \"2\", \"1\"], \"passed\": true}, {\"check\": \"regression: random dc blocker 0\", \"actual\": [\"0\", \"1\", \"11/4\", \"-31/16\"], \"expected\": [\"0\", \"1\", \"11/4\", \"-31/16\"], \"passed\": true}, {\"check\": \"repair check: constant input warm start\", \"actual\": [\"0\", \"0\", \"0\"], \"expected\": [\"0\", \"0\", \"0\"], \"passed\": true}, {\"check\": \"control: pole zero\", \"actual\": [\"0\", \"2\", \"-1\"], \"expected\": [\"0\", \"2\", \"-1\"], \"passed\": true}, {\"check\": \"control: bad pole\", \"actual\": \"bad-pole\", \"expected\": \"bad-pole\", \"passed\": true}, {\"check\": \"control: empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"control: random dc blocker 32\", \"actual\": [\"0\", \"0\"], \"expected\": [\"0\", \"0\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}