The first production image carrying the filter broke unmuting for everyone.
Records both causes (missing AudioContext on the on-path, a stray
processor: undefined leaking into getUserMedia constraints on the off-path),
the fix with its deliberately-red-first regression tests, the passed two-person
acceptance call, and the standing lesson: for changes in the microphone path,
a real-call acceptance is a rollout precondition, not an afterthought.
The filter stays gated off until the webAudioMix decision - that follow-up is
what makes ADR-0018 implementable or refutes it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>