Measured with Python wave: frames / sample rate, public/audio/*.wav WAV count: 101 intro.wav: 8.1205 s Longest target: message-market.wav: 10.1725 s AudioEngine scheduling: start +0.05 s; intro-to-target gap +0.35 s Maximum scheduled intro + target: 18.6930 s Old assertion headroom (20 s): 1.3070 s New assertion headroom (30 s): 11.3070 s Product timeouts remain: preparation 15000 ms; playback scheduled end + 5 s. Retry control flow: failed play does not set introDone; retry includes intro; target.onended -> task.finish -> play resolves -> ENDED -> answer group visible.