626521a6f2
Records the cross-spec compliance audit of the moq-lite Lite-03 implementation against kixelated's reference Rust impl (github.com/kixelated/moq, rs/moq-lite/). Methodology mirrors the recent QUIC RFC review: walked every Kotlin source under `moq/lite/`, traced data flow speaker → relay → listener, and cross-referenced each on-wire message + control byte against the Rust reference. Outcome: no 🔴 wire-incompatibilities found. Every codec primitive — control type discriminators, AnnouncePlease, Announce, Subscribe (incl. the `Option<u64>` off-by-one and `Duration` millis-as-varint conventions), SubscribeOk/Drop with the type-outside-size-prefix framing peculiar to Lite-03, GroupHeader, Probe — matches byte-for- byte. Six 🟡 (spec-loose / future-fragile) and four 🟦 (diagnostic / observability) gaps documented: - M1 stream priority parity vs kixelated's PriorityHandle (single-track Opus impact: invisible) - M2 STOP_SENDING for single-group cancel not exposed - M3 RESET_STREAM with Error::to_code not used - M4 AnnouncePlease prefix-mismatch falsely emits Active — fixed in6c2d7efc- M5 inbound Subscribe doesn't validate broadcast field — fixed in3dcee2a4- M6 Goaway body / migration handler Also references the new audit from `2026-04-26-audio-rooms-completion.md` so future readers find it via the completion-plan pointer. https://claude.ai/code/session_012TGfo99Ugz7fcCPv85a8Tq