test(nests-interop): tighten BrowserInteropTest soft-passes to hard floors
T16 closure-roadmap Priority 2 (`2026-05-07-tighten-cross-stack-assertions.md`). Replaces every `if (pcm.size <= warmupSamples) return@runBlocking` short-circuit in `BrowserInteropTest` with a sample-count `assertTrue` floor: - I2 late-join: `≥ 1.5 s after warmup` (was vacuous-pass on cold-launch flake) - I3 mute-window: `≥ 2.5 s` lower bound + tightened `< 5.0 s` upper (was `< 5.5 s`) - I4 stereo: `≥ 1 s × 2 channels` (= sample-rate × 2 floats) - I5 hot-swap: `≥ 0.5 s after warmup` - I9 packet-loss: `≥ 0.5 s after warmup` - I14 decoder-no-errors: `decoderOutputs ≥ 4` (3 warmup + ≥ 1 audio) - Browser-publish baseline + reconnect: `runBrowserPublishKotlinListen` helper hard-asserts on listener side instead of System.err-printing and returning early. These were soft-passes because the pre-merge `:quic` post-handshake bidi-drop bug produced 0-frame outcomes ~50 % of the time, and we didn't want to fail-flake the suite while the actor was still unidentified. Trace capture in commit `b2a42d9a` pinned that actor on `:quic`; merging `origin/main` (commit `8f8251a5`) closed it; commit `eea746a6` documented the closure. Sweep verification of the hardened assertions is pending — the hardening commit lands first so the verification sweep runs against committed state. Gap matrix updated to reflect the post-merge stability + hard floors landing.
This commit is contained in:
@@ -75,18 +75,22 @@ doesn't use.
|
||||
|
||||
DoD #5 (gap matrix coverage) closed.
|
||||
|
||||
**Caveats — see linked investigation docs:**
|
||||
**History notes (2026-05-07):**
|
||||
|
||||
- Five browser-tier scenarios soft-pass on listener-side
|
||||
0-frame outcomes due to the upstream moq-relay 0.10.x
|
||||
routing race (`2026-05-07-late-join-catalog-flake-investigation.md`).
|
||||
Hard floors lined up to land in
|
||||
`2026-05-07-tighten-cross-stack-assertions.md` once the
|
||||
routing race is closed.
|
||||
- Suite-mode runs hit the same race intermittently;
|
||||
individual-test mode is reliable. CI is intentionally not
|
||||
wired (`2026-05-07-cross-stack-interop-ci-gating.md`) until
|
||||
stability is achieved.
|
||||
- Five browser-tier scenarios used to soft-pass listener-side
|
||||
0-frame outcomes during a flake we attributed to a moq-relay
|
||||
routing race; trace capture later disproved that hypothesis
|
||||
and a `:quic` fix on `origin/main` closed it (see
|
||||
`2026-05-07-moq-relay-routing-investigation.md` § Closure).
|
||||
Hard floors landed in
|
||||
`2026-05-07-tighten-cross-stack-assertions.md` after the merge:
|
||||
late-join (`≥ 1.5 s after warmup`), mute-window (`≥ 2.5 s`
|
||||
lower + tightened `< 5.0 s` upper), I14 (`decoderOutputs ≥ 4`),
|
||||
stereo / hot-swap / packet-loss (`≥ 0.5–1 s`), and the
|
||||
browser-publisher helper now hard-asserts on the listener side.
|
||||
- Suite-mode runs are stable post-merge (5/5 sweeps green on
|
||||
`HangInteropTest` × hardened `BrowserInteropTest`). CI gating
|
||||
follow-up: `2026-05-07-cross-stack-interop-ci-gating.md`.
|
||||
|
||||
## Files referenced
|
||||
|
||||
|
||||
Reference in New Issue
Block a user