Continues ticket 0001 fix. Fox 2026-06-07 second telemetry pass showed
blanka-chrome's audioCtx sink reverted to 'default' after a leave/rejoin
even though the user had a picked device, because applySinkToAudioCtx
only ran inside the `if (!audioCtx)` branch and a persistent ctx with a
drifted sinkId stayed default forever.
Attach now re-applies sink when audioCtx exists + speakerDeviceId is set
+ ctx.sinkId differs. Per-tick telemetry exposes ctx.sink= (and want= on
mismatch) so the next session can verify sink stays on the picked device
across leave/rejoin.
Source commit: 4cedd85 in zebra-report.git