Found by the effects program's Phase 2 (2026-09-07): NoiseGate's evidence pack (audiocomponents/docs/effects/NoiseGate-evidence.md, the STATE row) measures 33 LSB on the first block after reset() with a silent source, and traces it to audioif_dynamics_reset leaving the side-chain filter memory in place (src/shared/audioif_dynamics.c:281-288). The class works around nothing; the pack records it as a cause below the class, committed as a test that goes red on the node. Expected: a reset node renders exact zero on silence from its first block. Additive fix in the audioif-own kernel; existing goldens must stay byte-identical (a reset only happens on the class's explicit call).
Found by the effects program's Phase 2 (2026-09-07):
NoiseGate's evidence pack (audiocomponents/docs/effects/NoiseGate-evidence.md, the STATE row) measures 33 LSB on the first block afterreset()with a silent source, and traces it toaudioif_dynamics_resetleaving the side-chain filter memory in place (src/shared/audioif_dynamics.c:281-288). The class works around nothing; the pack records it as a cause below the class, committed as a test that goes red on the node. Expected: a reset node renders exact zero on silence from its first block. Additive fix in the audioif-own kernel; existing goldens must stay byte-identical (a reset only happens on the class's explicit call).