MOQ Interop Seattle 2026: The Results
What the October 12-15 Seattle MOQ interop and interim actually produced: who passed against whom on the frozen draft-22 wire, the failures that matter, and what it means for teams prototyping before the RFC.
From October 12–15, 2026, the MOQ working group held its first in-person interop since Vienna, followed by a two-day interim meeting at F5 headquarters — the event the September 8 wire freeze was staged for, and the one the December milestone on the Datatracker (requesting publication of draft-ietf-moq-transport as an RFC) depends on. This readout was published on the final morning and updated after the closing Interop Discussion: Mike English's (Cloudflare) official interop report slides are now on the Datatracker, and the ad-hoc wiki has filled in with per-implementation reports, including the full draft-18 conformance table.
The short version
No clean sweep — and that is the honest signal. On the frozen draft-22 wire, the strongest conformance score is moxygen at 67/76, down from 74–75 on the same suite at the September 2 virtual hackathon. On the installed-base draft-18 side of the matrix, the week's best numbers appeared: moqx (OpenMOQ) and moq-rs (Cloudflare) both hit 75/76 — moq-rs on WebTransport, moqx on both transports. The most interesting number is Paramount's stitcher-moq at 1–3/76 — the stack behind a real linear deployment is brand new to conformance testing, and it shows. Meanwhile the nightly automation matrix jumped from 138 to 209 passing cells between the Oct 14 and Oct 15 runs, and English's closing report counted 128 passing client-relay pairs and 1,345 individual test cases across the week.
| Question | Answer |
|---|---|
| What was tested | Draft-22 (primary) and draft-18, on a 76-point conformance suite plus the runner's 496-cell cross-matrix — English's report counts 18 test clients against 21 relays |
| Who passed against whom | Draft-22: moxygen 67/76, Nokia 62/76, MOQtail 56–58/76, moqarena 43/76, stitcher-moq 1–2/76. Draft-18: moqx 75/76, moq-rs 75/76 (WT), quiche-moq 41/50 (SKIP_FETCH) |
| Biggest blockers found | Fresh implementations (stitcher-moq), PUBLISH_NAMESPACE handling on older drafts, publisher-priority semantics in libquicr — and the draft-20-era changes that cost even the leader points |
| Where the numbers live | Interop runner, the ad-hoc interop reports wiki, and the official report slides |
What actually got tested
Two independent data sources exist so far, and they measure different things.
The ad-hoc interop reports wiki now has a "2026-10 Seattle Interim" section, seeded by the moxygen/Meta run. Its conformance numbers, main interop target draft-22 (draft-18 also tested):
| Implementation | Draft / transport | Score |
|---|---|---|
| moxygen (Meta) | 22 / QUIC | 67/76 |
| moxygen (Meta) | 22 / WebTransport | 67/76 |
| moqt-nokiaresearch (Nokia) | 22 / QUIC | 62/76 |
| moqtail (OzU) | 22 / WebTransport | 58/76 |
| moqtail (OzU) | 22 / QUIC | 56/76 |
| moqarena (MarzResearch) | 22 / QUIC | 43/76 |
| quiche-moq (Google) | 18 / WebTransport (SKIP_FETCH=1) | 41/50 |
| stitcher-moq (Paramount) | 22 / QUIC | 1/76 |
| stitcher-moq (Paramount) | 22 / WebTransport | 2/76 |
Two further data points from the same report: Nokia's draft-18 interop tests against a moxygen relay passed 19/21, and the incomplete runs matter as much as the scores — laps/libquicr (draft-18) does not yet preserve publisher priority, and Oracle's draft-16 run failed outright on a PUBLISH_NAMESPACE error.
The wiki section has since grown well beyond the moxygen seed. A draft-18 conformance table appeared alongside the draft-22 one, and it reshuffles the leaderboard:
| Implementation (draft-18) | Transport | Score |
|---|---|---|
| moqx (OpenMOQ) | QUIC and WebTransport | 75/76 |
| moq-rs (Cloudflare) | WebTransport | 75/76 |
| moxygen (Meta) | WebTransport / QUIC | 68 / 66 |
| moqtail draft-18 (OzU) | WebTransport / QUIC | 51 / 50 |
| quiche-moq (Google) | WebTransport (SKIP_FETCH=1) | 41/50 |
| imquic (Meetecho) | QUIC | 29/76 |
| moqt-nokiaresearch (Nokia) | QUIC / WebTransport | 22 / 21 |
| moq-dev (Luke Curley) | QUIC and WebTransport | 4/76 |
| stitcher-moq (Paramount) | QUIC / WebTransport | 3 / 3 |
Read the two tables together and the shape of the event is clear: draft-18 — the installed base everyone has run against for a year — is close to saturated at the top, while draft-22, where the group just froze the wire, is where the real spread lives. A new report also landed from aiomoqt (Giovanni Marzot, MarzResearch): his moqarena relay runs as an open interop fixture (no auth, no cache, drafts 14–22), self-scored 76/76 on the draft-18 moq-test suite, and — the useful part for everyone else — published a client-to-relay matrix of 8 draft-22/draft-18 cases against moxygen, Nokia, moqtail, imquic, moq-dev, stitcher-moq and libquicr relays, all 8/8 against the first four on draft-22.
The interop runner is nightly automation, not the event scoreboard, but its trajectory is useful. The Oct 15 run (00:23 UTC) hit 496 cells: 209 passed, 286 failed — up from 138 passes in the Oct 14 run — with 398 cells at target, 36 ahead and 62 behind. The matrix now includes draft-22 relays (moqtail, moqt-nr-draft-22 and others), wired in via the runner's PR #148, so draft-22 pairings get exercised daily whether or not the event produced them.
The baseline these results should be read against
The last interop, the September 2 virtual hackathon, set the numbers to beat. On a 76-point conformance suite, moxygen led at 74–75, MOQtail scored 53/59, and moq-rs 43/59, with ALPN mismatches the single most common failure. Seattle was the first event where everyone tested a frozen wire — draft-22 alongside the installed base of draft-18 — so the interesting question is not just whether scores rose, but which draft-20-era changes broke pairings that used to pass.
Read directionally, that is what happened: moxygen's 67/76 on the frozen draft-22 wire is a step back from its September 74–75, and every other published Seattle score sits further down the same curve. A wire freeze does that — the suite stops being aspirational and the spec starts enforcing itself. The September numbers measured how much of the draft each stack supported; the October numbers measure how well independent implementations agree on the parts the group intends to keep.
Reading the runner before you panic
One caution that applies to this week's coverage, including ours: the runner's public nightly feed is automation, not a scoreboard. The Oct 13 nightly (135/343/478 across 19 implementations) looked like a collapse but was a matrix artifact — the moq5 client and imquic row registered all-zero scores because the clients exited before running anything (the runner repo documented this in commit 53e4528 / PR #147). As of the Oct 15 run, the imquic row has real results again (14/14 against moqtail, 0/8 against moq-dev-rs), while moq5 still shows a mix of zeros and genuine passes — read that row's log before quoting it either way. If you see a zero row in the Seattle results, check the run log before calling it a regression.
Deployment results: SWITCH_FROM and group metadata
Steven Riedl's Oct 14 session covered deployment results for SWITCH_FROM and group metadata — the session-level and object-level machinery that relays and players need for live track switching. The slides are on the Datatracker and the session recording is up. What Paramount showed:
- A linear-channel deployment running 0.5-second groups with server-side ad insertion, where the relay negotiates both draft-22 and draft-18 depending on the client.
- Ask #1: define "aligned Group IDs" plus a publisher property that declares alignment (moq-transport issues #1354, #1674, #1675) — needed to join a group mid-play without breaking the player.
- Ask #2: pick the extension point for group-scoped metadata (issue #1857) — subgroup-level versus group-level properties — for ad markers that must survive a mid-group join, a location filter and
FETCH. - A companion draft (
draft-riedl-moq-ad-creative-signaling) is planned for IETF 127.
This is the most concrete deployment evidence from the week: real 0.5s-group linear traffic over MOQ, with the gaps it exposes routed into named issues rather than blog posts.
What the Interop Discussion covered
Mike English (Cloudflare) closed the event with the official interop report — the numbers the working group will cite for Seattle:
- Scale, London → Vienna → Seattle: 11 test clients / 12 relays and 213 nightly runs in London (June), 15/16 and 350 runs in Vienna (July), 18 clients / 21 relays and 496 runs per night in Seattle. Contributors grew from 1 to 27 (cumulative); 128 client-relay pairs produced at least one passing run and 1,345 individual test cases were passed.
- Draft coverage: 16 implementations declare draft-18, only 4 declare draft-22 — the freeze is real but adoption is early. Seattle nightly top pass rates:
publish-namespace-only93%,subscribe-before-publish-namespace89%,publish-namespace-subscribe89%; the bottom is a mock/datagram cluster at 5–15%, plusrendezvous-timeoutat 42%. - Draft-22 ad-hoc conformance: the moxygen suite's 76 tests now include FETCH, joining FETCH and PUBLISH. Scores match the wiki table (moxygen 67, Nokia 62, moqtail 56–58, moqarena 43). Spec feedback already filed: moqtransport#1991, plus the ambiguous
LOCATION_FILTERLength /FILL_PARAMETERScount. - Measurement is drifting, not the wire: in 76 runs reporting a negotiated version, 18 (24%) disagreed with the inferred version. TAP YAML adoption is uneven —
duration_msin 16/18 clients, but negotiated version in only 3 and spec revision in 1 — andMOQ_CLIENT_VERSIONpinning is only honoured by moq-dev-rs and stitcher-moq. Per-version result pages are coming (runner #95). - New tooling on the table: Paul Gregoire's
moq-contribution-interop-runner(drafts 18/21/22 + moq-lite-06) and Jacob Curtis's test-relay proposal (runner #149, ADR 004) both target making on-demand testing easier between events. - The open question English ended on: testing above MOQT. Interest in MSF/CMSF end-to-end media interop has an open issue since February (#32) and no concrete proposals yet; he asked who takes on headless-browser tooling and media fixtures / a playback oracle — i.e., the next layer of interop is whether implementations deliver playable media, not just protocol bytes.
What it means for teams prototyping on MOQ
The frozen wire is holding — as a shakedown, not a finished product. If you are choosing pairings today, the published evidence says: moxygen's relay is the reference interop point (both for conformance and for Nokia's 19/21 draft-18 pass), moqx and moq-rs are the strongest draft-18 stacks, MOQtail and Nokia's stack are close behind on draft-22, and everything based on older drafts (Oracle, draft-16) should be expected to fail until it upgrades. Budget for revision: the spread between moxygen's 67 and stitcher-moq's 1 is what "the RFC is not finished" looks like in practice, and the December milestone on the Datatracker — requesting publication of the transport draft as an RFC — still leaves room for the metadata and group-ID decisions above to move the wire.
What to watch next: the Thursday bluesheets and minutes (not yet posted at the time of writing), the per-implementation written reports still landing on the ad-hoc wiki, and the IETF 127 checkpoint in San Francisco (Nov 14–20) — where the ad-creative-signaling draft and the group-metadata decision are due, and where the "testing above MOQT" question (#32) needs an answer. The pre-event primer explains what was scheduled and why; State of MOQ 2026 places this week in the longer arc.
Follow the raw sources
- Official interop report slides (Mike English, Oct 15) — the Interop Discussion deck, cross-listed to both Thursday sessions
- Ad-hoc interop reports wiki — the working group's own Seattle section (per-implementation reports still landing)
- Interop runner results — nightly conformance runs, per-implementation matrices
- Interim slides + recordings (Oct 14 sessions) — agendas, bluesheets, 8 decks per session, Meetecho recordings
- Oct 14 session recording — includes the Riedl deployment-results talk; Thursday recordings post under the Oct 15 interim sessions
- moq@ietf.org archive — the
switch_fromand Draftification threads are the post-talk fallout; results threads have not started yet
This readout is part of MOQ Edge's running coverage of Media over QUIC. The pre-event primer explains what was scheduled and why; the weekly This Week in MOQ digest turns coverage like this into a five-minute Monday email.