Way B from #0054: the AI filter attaches to the local microphone track after publication, with its own AudioContext on just that track - no webAudioMix, no processor key in the capture defaults in any state. The feature gate stays closed; a single test client opts in via two localStorage keys. For everyone else this build behaves identically to .9. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>