crates/namir-app/src/rt_harness.rs and src/stream.rs:560-640
audio_section has exactly one caller in the crate (audio_io/convert.rs:420). stream.rs -- which holds the callbacks actually installed into cpal -- has four tests that drive the real output callback through FakeBackend, and none of them run under the harness.
convert.rs's RT test claims "the closures the converters hold are the RT-safe shape crate::stream actually installs", but they are stand-ins; the real one allocates. Wrapping output_cb(&mut out) in audio_section(...) would catch both the callback allocation and the input-scratch realloc immediately.
Fix: run stream.rs's existing callback tests inside audio_section.
crates/namir-app/src/rt_harness.rsandsrc/stream.rs:560-640audio_sectionhas exactly one caller in the crate (audio_io/convert.rs:420).stream.rs-- which holds the callbacks actually installed into cpal -- has four tests that drive the real output callback throughFakeBackend, and none of them run under the harness.convert.rs's RT test claims "the closures the converters hold are the RT-safe shapecrate::streamactually installs", but they are stand-ins; the real one allocates. Wrappingoutput_cb(&mut out)inaudio_section(...)would catch both the callback allocation and the input-scratch realloc immediately.Fix: run
stream.rs's existing callback tests insideaudio_section.