a40d90e9be
Seven per-case tests collapsed to two: one per behaviour class (our own close reasons → copy, server reasons verbatim; mic DOMException → recorder copy, non-mic failures untouched). Source is byte-identical to the contributor commit. Dropped: the `closed`/blank-reason case, the `close_requested` filter (pre-existing behaviour), and the per-name DOMException matrix — the mapping table lives in `micError`, asserting one name proves the live path routes through it.