2026-06-07 176/38/137/1; settles after the June-5 drop; 20-day cadence (new longest streak) — 2026-06-07 00:49:07 UTC report: 176 / 38 / 137 / 1 (total / pass / fail / skip; 1 timeout). +1 pass vs June 6 (37 → 38, 21.0% → 21.6%). The 3-day sequence since June 4 is 54 → 41 → 37 → 38 — a −16 cliff into a 37-38 floor, the lowest pass band since the May 19 cadence recovery. Total holds at 176 (one cell dropped from 177 between June 4 and June 6). Version breakdown unchanged: 0 at target · 0 ahead · 176 behind — still no impl registered at draft-18. 20 consecutive daily reports (May 19-Jun 7) = new longest cadence streak the wiki has tracked. Registered versions (June 7 report): aiomoqt 14/16; imquic 16/17; libquicr 14; moq-dev-js 14/16/17; moq-dev-rs 14/16/17; moq-rs 14; moq-rs-draft-16 16; moqlivemock 14/16; moqtail 16; moqx 14/16; moxygen 14/16; quiche-moq 16; xquic 14 — same set as June 4 (no impl moved to draft-18). Carry-forward: the matrix is now ~21% pass against a draft-18 target that no registered impl advertises; the floor is the cost of every cell being a cross-version pairing. The standing levers are unchanged — (1) an impl registering draft-18 (Nokia’s announced v17/v18 relay being the obvious first candidate, Yu You June 2), and (2) Mike English’s promised post-London test-case expansion + streaming-format-level interop (Issue #32). London interim 4 days away (hackathon/interop June 9-10; manual cross-version interop there will exercise 14+16+17+18 beyond the automated runner).
2026-06-06 176/37/138/1; −4 pass; June-5 drop continues — 2026-06-06 00:45:30 UTC report: 176 / 37 / 138 / 1 (total / pass / fail / skip). −4 pass vs June 5 (41 → 37, 23.2% → 21.0%, −2.2pp); total slips 177 → 176 (one cell dropped). 19-day cadence streak. Marks the low point of the post-June-4 slide (38 the next day). Version breakdown still 0 at target · 0 ahead · 176 behind. Plausible attribution: the moq-dev/moq June 4-6 main-branch churn (moq-net Track→TrackInfo reshape PR #1631 +1331/−1217, subscription/N-fetch split PR #1634, moq-gst pad-pump refactor PR #1633) re-broke moq-dev-rs/js cross-version cells that were marginal on June 4 — same wire-level-noise-sensitivity pattern observed May 22-24 and May 28, but deeper here because the moq-net
Track/TrackConsumerAPI was reshaped, not just codecs/CI.2026-06-05 177/41/135/1; −13 pass; sharp drop from the June-4 baseline — 2026-06-05 00:48:14 UTC report: 177 / 41 / 135 / 1 (total / pass / fail / skip). −13 pass vs June 4 (54 → 41, 30.5% → 23.2%, −7.3pp) — largest single-day pass-count drop the wiki has tracked since cadence recovery May 19, breaking the 50-57 band the matrix had held since May 31. Matrix shape steady at 177; version breakdown unchanged 0 at target · 0 ahead · 177 behind. The −13 is not a target/shape change (target was already draft-18 since June 1, shape unchanged since PR #71 May 25) — it is genuine cross-version regression, most plausibly tied to moq-dev/moq’s June 4-5 main-branch reshape (PR #1631 reshape Track into TrackInfo + async TrackConsumer handle, +1331/−1217, merged June 5 02:24 UTC just before the report cut). When the highest-touch impl reshapes its core track API mid-day, the matrix (running against each impl’s
main) registers the breakage on the next cycle. 18-day cadence streak. Carry-forward: watch whether June 6-7 recover (they don’t fully — floor at 37-38) or whether the reshape settles into a new baseline before London.2026-06-04 177/54/122/0; −3 pass; 17-day cadence (new longest streak the wiki has tracked); third draft-18-target run — 2026-06-04 00:55:39 UTC report: 177 / 54 / 122 / 0 (total / pass / fail / skip). −3 pass vs June 3 (57 → 54, pass rate 32.2% → 30.5%, −1.7pp); skip drops 1 → 0. Matrix shape steady at 177 post-PR-71 expansion + post-PR-68 target shift. 17 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29/30/31/Jun 1/Jun 2/Jun 3/Jun 4) — new longest cadence streak the wiki has tracked. Rolling 5-day band 51-57, recent trajectory 54 → 51 → 57 → 54 = net flat over the last 4 days (52 → 54 → 51 → 57 → 54). The −3 reverses Jun 3’s +6 jump symmetrically, leaving the 4-day window centered at 54. Third draft-18-target run since PR #68 merged June 1 05:21 UTC. Plausible attribution for the −3 oscillation: (a) moq-dev/moq’s June 3-4 cycle introduced new test surface (PR #1611 apt keyring rename, PR #1619 moq-gst publish, PR #1621 moq-net per-control-stream task, PR #1622 release v0.2.4) that the matrix harness re-categorized; (b) cross-version test cells that passed marginal on June 3 fell back on June 4 with the moq-dev/moq main-branch ~12-merge wave. Same wire-level-noise-sensitivity pattern observed May 22-24 and May 28. Version breakdown still 0 at target · 0 ahead · 177 behind — NO impl has updated its runner registration to advertise draft-18 despite 3 impls (moq-dev/moq, mondain/moqxr, meetecho/imquic) having draft-18 main-branch code; remains the matrix’s unresolved structural gap. Slack signal June 2 09:18 UTC by Yu You (Nokia): “we are in the process to host a remote relay for the interop. we have the support of v17 and v18 (basic ones with current interop test cases) for testing.” — Nokia signals a v17+v18 relay endpoint as pre-London infrastructure addition; if registered with the runner this would be the first impl-registered v18 entry, finally closing the 0-at-target gap. London hackathon 5 days away. Carry-forward: with pass-count oscillating in a 51-57 band centered at 54, and no impl-registration change, the matrix is now in steady-state at ~30% pass rate; the only remaining structural lever is impl registration updates (Nokia’s announced v18 relay being the first candidate). London-week manual interop will exercise (14, 16, 17, 18) × N-impls per the June 1-2 Slack thread (Martin Duke → afrind + Mike English).
2026-06-03 177/57/119/1; +6 pass; new May+June high since cadence recovery; 16-day cadence (new longest); 32.2% pass rate (first 32%+ since cadence recovery May 19) — 2026-06-03 00:56:06 UTC report: 177 / 57 / 119 / 1 (total / pass / fail / skip). +6 pass vs June 2 (51 → 57, pass rate 28.8% → 32.2%, +3.4pp) — largest single-day pass-count jump since the May 19 cadence recovery PR #69 per-test-timeout fix landed. Matrix shape steady at 177 post-PR-71 expansion + post-PR-68 target shift. 16 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29/30/31/Jun 1/Jun 2/Jun 3) — new longest cadence streak the wiki has tracked. Rolling 5-day band 51-57, trajectory 52 → 54 → 51 → 57 = 3-day net positive (+5 over 3 days). First 32%+ pass rate since cadence recovery. Second draft-18-target run following PR #68 merge June 1 05:21 UTC. Plausibly attributable causes for +6 jump without registry/PR change: (a) the moq-dev/moq June 2-3 ~14-merge cycle (PR #1604 /health endpoint + PR #1606 ergonomic subscribe(None) + PR #1593 AAC esds fMP4 + PR #1595 Frame Start in FETCH) reduced test failure modes; (b) one or more impls now match draft-18 wire behavior even without explicit registry update; (c) matrix harness’s draft-18 expectations adjusted between June 2 and June 3 runs (no observable runner-side PR). Version breakdown still 0 at target · 0 ahead · 177 behind — NO impl has updated its runner registration to advertise draft-18 despite 3 impls having draft-18 main-branch code; the +6 pass rebound therefore comes from better cross-version compatibility behavior, not registration-side drift closure. London hackathon 6 days away. Carry-forward: with pass count at 57/177 (32.2%) the 3-day uptick since the target shift is fully recovering the −3 cost of target recategorization (May 31 52 → Jun 1 54 → Jun 2 51 → Jun 3 57 = net +5 over 3 days post-shift). The remaining matrix-shape lever is each impl updating its runner registration to advertise draft-18; 3 impls have the code (moq-dev/moq, mondain/moqxr, meetecho/imquic), none have updated registration yet. London-week interop will exercise (14, 16, 17, 18) × N-impls manually beyond the automated runner per the June 1-2 Slack thread (Martin Duke → afrind + Mike English).
2026-06-02 177/51/125/1; first run at new draft-18 target; −3 pass; version breakdown 0 at · 0 ahead · 177 behind reveals impl-registration drift; 15-day cadence (new longest) — 2026-06-02 00:50:22 UTC report: 177 / 51 / 125 / 1 (total / pass / fail / skip). First run at the new draft-18 target after PR #68 merge June 1 05:21:25 UTC. −3 pass vs June 1 (54 → 51, pass rate 30.5% → 28.8%, −1.7pp); skip increments 0 → 1. Matrix shape steady at 177 post-PR-71 expansion. 15 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29/30/31/Jun 1/Jun 2) — extends the longest cadence streak the wiki has tracked by one more day. Version breakdown shifts to 0 at target · 0 ahead · 177 behind — NO impl is registered with the runner as advertising draft-18, even though moq, moqxr, and imquic have draft-18 code in main. Registered version coverage by impl (from June 2 report): moq-rs draft-14; moq-rs-draft-16 draft-16; moxygen draft-14/16; moqx draft-14/16; moq-dev-rs draft-14/16/17; moq-dev-js draft-14/16/17; moqlivemock draft-14/16; xquic draft-14; aiomoqt draft-14/16; quiche-moq draft-16; imquic draft-16/17; libquicr draft-14; moqtail draft-14. Drift between runner-registered-version and impl-main-branch-version is now the visible structural gap. Same-day Slack response (Martin Duke June 1 22:43 UTC → Alan Frindell + Mike English June 2 02:00 UTC): London-week interop will exercise 14+16+partial-18 manually, the matrix is now structurally ahead of every impl — gives the manual London interop work latitude to exercise multi-version freely. −3 pass is consistent with target bump: previously-passing draft-16↔draft-16 cells likely still pass; previously-passing draft-17↔draft-17 cells either remain or shifted to behind-target. The −3 is the cost of recategorization, not regression. London hackathon 7 days away. Carry-forward: with PR #68 exhausting matrix-shape levers and impl-registration drift now the gap, the only remaining structural lever is each impl updating its runner registration to advertise draft-18 (3 impls have the code). Until those registrations update, the matrix tests cross-version pairings against an empty at-target set.
2026-06-01 177/54/122/0; +2 pass; first 30%+ pass rate since cadence recovery; 14-day cadence; 5-day monotonic uptick; PR #68 MERGED — draft-18 target bump finally lands 14 days after OPEN — 2026-06-01 00:49:16 UTC report: 177 / 54 / 122 / 0 (total / pass / fail / skip). +2 pass vs May 31 (52 → 54, pass rate 29.4% → 30.5%, +1.1pp). First 30%+ pass rate since cadence recovery May 19. Matrix shape steady at 177 post-PR-71 expansion. 14 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29/30/31/Jun 1) — extends the longest cadence streak the wiki has tracked by one more day. Rolling 5-day band 50-54, recent trajectory 50 → 52 → 54; counting from May 28 the 5-day monotonic uptick continues (46 → 49 → 50 → 52 → 54 = +8 pass over 5 days), new May+June high since cadence recovery. MAJOR EVENT: PR #68 “Update interop target to draft-18” MERGED June 1 05:21:25 UTC by englishm-cloudflare — 14 days after OPEN (May 18 21:01 UTC), the first interop-target version bump since matrix inception and first matrix-shape change since PR #71 May 25 (moqx docker adapter). The June 1 00:49 UTC report still shows
draft-16as target (PR merged ~4.5h after report cut); June 2 will be the first run targeting draft-18. Three implementations have been on draft-18 main 2-3 weeks (moq PR #1418 May 18, moqxr May 19-20, imquic May 20); the structural gap (matrix-on-draft-16 vs three-impls-on-draft-18) closes precisely 8 days before London. Under the draft-16 target, version breakdown was 97 at target · 8 ahead · 72 behind; under draft-18 the at-target/ahead/behind decomposition will shift (impls on draft-18 become “at target”, draft-17 becomes “behind”, draft-16 becomes “behind”). Whether this nets pass-count up or down depends on whether the matrix harness counts cross-version pairings as expected-fail or genuine-fail. London hackathon 8 days away. No further structural levers remain — only individual-impl draft-18-conformance fixes can move pass counts now.2026-05-31 177/52/124/0; +2 pass; 13-day cadence; new May high since cadence recovery; 4-day monotonic uptick — 2026-05-31 00:47:05 UTC report: 177 / 52 / 124 / 0 (total / pass / fail / skip). +2 pass vs May 30 (50 → 52, pass rate 28.2% → 29.4%, +1.2pp). Matrix shape steady at 177 post-PR-71 expansion. 13 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29/30/31) — extends the longest cadence streak the wiki has tracked by one more day. Rolling 5-day band 46-52, recent trajectory 46 → 49 → 50 → 52 = 4-day monotonic uptick continues and the matrix sets a new May high since cadence recovery (last 52+ was pre-May 14-18 outage). Plausibly attributable to moq-dev/moq’s May 30-31 polyglot-split-day ~14-PR wave (Swift/Kotlin/Go independent FFI splits + moq-rs Python FFI parity gaps + IETF stats path fix + viewer-count atomic refactor + cachix declaration + libiconv scrub) — each merge tweaks the wire/test surface slightly. The PR #1560 “wire session stats into the IETF protocol path” is particularly notable: previously IETF connections silently contributed zero to dashboard/billing counters, so any matrix harness sniffing dashboard signals would have seen IETF cells as “no data” which the harness may now read differently. Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19; three implementations on draft-18 main: moq-dev/moq, mondain/moqxr, meetecho/imquic). Version breakdown of 177 tests: 97 at target (draft-16) · 8 ahead · 72 behind. London hackathon 9 days away. No new matrix-shape change (PR #68 still gated). With pass count now in 50-52 band with 4-day monotonic uptick and matrix shape untouched since May 25, the draft-18 target bump or PR 71-style adapter additions remain the only structural levers before London.
2026-05-30 177/50/126/0; +1 pass; 12-day cadence; first 50+ since cadence recovery May 19 — 2026-05-30 00:43:27 UTC report: 177 / 50 / 126 / 0 (total / pass / fail / skip). +1 pass vs May 29 (49 → 50, pass rate 27.7% → 28.2%, +0.5pp). Matrix shape steady at 177 post-PR-71 expansion. 12 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29/30) — extends the longest cadence streak the wiki has tracked by one more day. Rolling 5-day band 46-50; recent trajectory 48 → 46 → 49 → 50 = 3-day monotonic uptick continues and the matrix breaks above 50 pass for the first time since cadence recovery May 19. Plausibly attributable to moq-dev/moq’s continued May 29-30 ~15-PR refactor wave (#1528 moq-rtc landed in main; #1542 headless-browser smoke phase 2; #1544 libmoq auto-reconnect; #1546 libmoq terminal-callback lifetime; #1547 kio rename; #1548 stats liveness retention) — each merge tweaks the wire/test surface slightly, the matrix harness picks up new edge passes. Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19; three implementations on draft-18 main: moq-dev/moq, mondain/moqxr, meetecho/imquic). Version breakdown of 177 tests: 97 at target (draft-16) · 8 ahead · 72 behind. London hackathon 10 days away. No new matrix-shape change (PR #68 still gated). With the pass count now in the 49-50 band and the matrix shape untouched since May 25, all remaining structural improvement before London depends on PR #68’s draft-18 target bump or PR 71-style adapter additions.
2026-05-29 177/49/127/0; +3 pass; 11-day cadence (longest cadence streak the wiki has tracked) — 2026-05-29 00:47:39 UTC report: 177 / 49 / 127 / 0 (total / pass / fail / skip). +3 pass vs May 28 (46 → 49, pass rate 26.0% → 27.7%, +1.7pp). Pass rate above 27% for first time since cadence recovery May 19. Matrix shape steady at 177 post-PR-71 expansion. 11 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28/29) — longest cadence streak the wiki has tracked, extends the May 28 first-double-digit-cadence-streak by one day. Rolling 5-day band 46-49; recent trajectory 48 → 46 → 49 = matrix rebounds past May 27 peak of 48 to a new May high. The +3 is plausibly attributable to moq-dev/moq’s massive May 28-29 ~25-PR refactor wave shaking some test combinations stable: PR #1487 moq-mux catalog filter/Annex-B (+1766/−109, 19 files) + PR #1514 linger upstream subscriptions + PR #1473 timescale refactor + PR #1517 gzipped stats broadcast (+1092/−718) touch a lot of code, and the matrix harness may have picked up new pass combinations previously borderline. Same wire-level-noise-sensitivity-and-recovery pattern as May 22-24 and May 25-27. Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19; three implementations on draft-18 main: moq-dev/moq, mondain/moqxr, meetecho/imquic). Version breakdown of 177 tests: 97 at target (draft-16) · 8 ahead · 72 behind. London hackathon 11 days away. Same-day downstream signal: Mike English Slack May 27 16:01 UTC asks for streaming-format-level automated interop (Issue #32) — currently matrix tests wire-protocol correctness only, not MSF/CMSF/LOC media-format-level interop; Mike signals this is desired for London but not yet built. PR #68’s draft-18 target bump remains the only outstanding matrix-shape lever before London.
2026-05-28 177/46/130/0; −2 pass; 10-day cadence (first double-digit cadence streak the wiki has tracked) — 2026-05-28 00:41:34 UTC report: 177 / 46 / 130 / 0 (total / pass / fail / skip). −2 pass vs May 27 (48 → 46, pass rate 27.1% → 26.0%, −1.1pp). Matrix shape steady at 177 post-PR-71 expansion. 10 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27/28) — first double-digit cadence streak, exceeding the prior 9-day record. Rolling 5-day band 42-48; recent trajectory 47 → 48 → 46 = the monotonic 2-day uptick from May 25-27 is broken with the third-day −2. The −2 is plausibly attributable to moq-dev/moq’s May 27 refactor wave (PR #1519 multi-tool lint touched 973 LOC + 656 LOC across
flake.nixand CI; PR #1515 moq-muxseek(sequence)changed importer trait surfaces; PR #1518 added Lite05Wip version variant that the matrix harness may have noticed) — same wire-level-noise-sensitivity pattern observed May 22-24 and again now. Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19; three implementations on draft-18 main: moq-dev/moq, mondain/moqxr, meetecho/imquic). Version breakdown of 177 tests: 97 at target (draft-16) · 8 ahead · 72 behind. London hackathon 12 days away. The pass-count is now in a 25-27% band that ~±2 daily refactors swing within; the only structural lever to break out remains PR #68’s draft-18 target bump, which is now the only outstanding matrix-shape event before London.2026-05-27 177/48/128/0; +1 pass; 9-day cadence (longest sustained streak since May 14-18 outage) — 2026-05-27 00:44:59 UTC report: 177 / 48 / 128 / 0 (total / pass / fail / skip). +1 pass vs May 26 (47 → 48, pass rate 26.6% → 27.1%, +0.5pp). Matrix shape steady at 177 post-PR-71 expansion. 9 consecutive days of daily reports (May 19/20/21/22/23/24/25/26/27) — longest sustained streak since the May 14-18 outage. Rolling 5-day trajectory: 42 → 47 → 48 (last 3 days monotonically up; the matrix is still working off the cumulative effect of PR #71 docker adapter + individual-impl fixes for the new moqx-as-relay cells). Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19; three implementations on draft-18 main: moq-dev/moq, mondain/moqxr, meetecho/imquic). Version breakdown of 177 tests: 97 at target (draft-16) · 8 ahead · 72 behind. London hackathon 13 days away. The draft-revision lag (matrix on draft-16 vs three impls on draft-18) remains the only outstanding matrix-shape item; PR #68’s merger will be the next discrete event re-shaping the matrix.
2026-05-26 177/47/129/0; first observed matrix-shape change from PR #71; +5 pass / +9 total; 8-day cadence — 2026-05-26 00:43:38 UTC report: 177 / 47 / 129 / 0 (total / pass / fail / skip). Total tests 168 → 177 (+9) — the matrix-shape change from PR #71 (moqx docker adapter, merged May 25 03:18 UTC, after May 25’s report cut) first appears. Pass count 42 → 47 (+5), partial recovery from the May 24-25 −1/−3 sequence. Pass rate 25.0% → 26.6%. Smaller-than-predicted matrix expansion: Giovanni Marzot’s local validation table predicted ~+75 passes with full moqx-as-relay docker adoption; the actual matrix added +9 tests / +5 passes, not +75. Plausible explanations: PR #71 added moqx-as-relay rows against a subset of clients (not all 162-cell columns), or the docker adapter is producing failures the local validation didn’t see. Carry-forward: the gap between gmarzot’s local-validation table and the runner’s observed counts will need a runner-side post-mortem. 8 consecutive days of daily reports (May 19/20/21/22/23/24/25/26) — longest streak since cadence recovery May 19. Target still draft-16 (PR #68 still OPEN since May 18, no new commits since May 19; three implementations on draft-18 main: moq-dev/moq, mondain/moqxr, meetecho/imquic). Version breakdown of 177 tests: 97 at target (draft-16) · 8 ahead · 72 behind.
2026-05-25 168/42/125/0; 7-day cadence; second consecutive regression; moqx docker adapter merged just after report cut — 2026-05-25 00:45:06 UTC report: 168 / 42 / 125 / 0 (total / pass / fail / skip). −3 pass vs May 24 (45 → 42, pass rate 26.8% → 25.0%, −1.8pp). Two consecutive day-over-day regressions (May 24 −1, May 25 −3) following the May 23 +4 recovery; rolling 5-day band tightens to 42–46 pass (trajectory downward 46 → 45 → 42 over 3 days). 7 consecutive days of daily cadence holding (May 19/20/21/22/23/24/25) — extends the post-May-14-18-outage streak. Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19). Plausible attribution: moq-dev/moq’s continuing main-branch refactor (moq-codec → moq-video rename in PR #1484, moq-clock removal in PR #1494, moq-lite stub removal in PR #1492, moq-mux follow-ons). First matrix-shape change since cadence recovery merged just after report cut: PR #71 MERGED May 25 03:18 UTC by Giovanni Marzot — “moqx: add relay docker adapter, update remote URLs, register publisher” (+52/−2). New
adapters/moqx/Dockerfile.relaywrapsghcr.io/openmoq/moqx:latestwith the runner’s/certsconvention + UDP port 4443; addsroles.relay.dockerto the moqx implementation entry; registers publisher role. Expected May 26 matrix impact: moqx-as-relay column moves from 13/18 (no docker, remote only) to ~75+/162 with full docker bringup against moqx + moxygen + moq-rs-* + aiomoqt + moqlivemock clients (all 6/6 in gmarzot’s local validation). Required upstream prereq openmoq/moqx#319 addedMOQX_ENDPOINTenv var to the moqx docker entrypoint. First post-May-18 matrix-shape change — answers openmoq/moqx#316 (“why does moqx only run 12/12 vs moq-rs’s 18/18?”). The draft-revision lag (matrix on draft-16 vs three+ impls on draft-18) remains the structural gap PR #71 does not address.2026-05-24 168/45/122/0; 6-day cadence; skip drops 1→0 — 2026-05-24 00:43:56 UTC report: 168 / 45 / 122 / 0 (total / pass / fail / skip). −1 pass vs May 23 (46 → 45, pass rate 27.4% → 26.8%, −0.6pp), skip count drops 1 → 0 (previously-skipped test now runs, contributing to the +1 fail delta). 6 consecutive days of daily cadence holding (May 19/20/21/22/23/24). Target still draft-16 (PR #68 still OPEN). Rolling 5-day picture: 35 → 38 → 46 → 42 → 46 → 45 — matrix has stabilised in a 42–46 pass band. The −1 today is plausibly attributable to moq-dev/moq’s PR #1452 moq-mux restructure (file paths changed for codec/container modules; #1474 follow-on fixes gitignore for moved fmp4 test fixtures). 6-day cadence is the longest consecutive-cadence stretch since the May 14-18 5-day outage.
2026-05-23 recovers to 168/46/121/1; 5-day cadence intact — 2026-05-23 00:42:56 UTC report: 168 / 46 / 121 / 1 (total / pass / fail / skip). +4 pass vs May 22 (42 → 46), pass rate 25.0% → 27.4% (+2.4pp) — fully recovers from May 22’s regression, restoring to May 21 level. 5 consecutive days of daily cadence holding (May 19–23). Skip count returns to 1. The May 22 regression hypothesis (“moq-dev/moq’s May 21 PR cluster broke matrix tests”) appears confirmed: with kixelated’s May 22 merge wave being largely non-wire-level (CMSF/Hang unified pipeline cleanup, LOC frame format, MKV/WebM I/O, stats-via-broadcast, Opus encoder kinds, reconnect timeout) the matrix re-stabilises. Pattern observed: moq-dev/moq main-branch matrix is noise-sensitive to wire-level refactors but quickly self-corrects when downstream PRs are pipeline/codec/library changes. The +4/−4 oscillation over two days shows the matrix registers both regressions and recoveries within one daily cycle. Target still draft-16 (PR #68 still OPEN; no commits since May 19 merge).
2026-05-22 first regression in cadence — 2026-05-22 00:43:51 UTC report: 168 / 42 / 125 / 0 (total / pass / fail / skip). −4 pass vs May 21 (46 → 42), pass rate 27.4% → 25.0% (−2.4pp) — first regression since cadence recovery May 19. 4 consecutive days of daily cadence holding. Skip count drops from 1 → 0 — the one previously-skipped test is now executing and contributes to the +4 fail delta. Hypothesis: May 21’s record-tying moq-dev/moq PR cluster (7 merges including infrastructure-shaping PR #1432 FFI wrappers / PR #1433 origin-consumer refactor / PR #1435 cargo update + PR #1432 Swift+Kotlin wrappers landing May 22 00:38 UTC) likely re-broke some moq-dev-rs/moq-dev-js test combinations stabilised May 19-20. This is the cost of running the matrix against
main-of-each-impl — kixelated’s high-velocity main-branch refactoring directly correlates with day-over-day pass-count instability. Target still draft-16 (PR #68 still OPEN).2026-05-21 daily cadence at Day 3 — 2026-05-21 00:45:51 UTC report: 168 / 46 / 121 / 1 (total / pass / fail / skip). +8 pass-count vs May 20 (38 → 46), pass rate 27.4% (vs 22.6% May 20, +4.8pp — largest single-day pass-rate jump since cadence resumed). 3 consecutive daily reports (May 19 / May 20 / May 21) confirm the per-test-timeout fix structurally stable. Matrix at 13 implementations (aiomoqt, moq-dev-js, moq-dev-rs, moq-rs, moq-rs-draft-16, moqlivemock, moqx, moxygen, xquic, imquic, libquicr, quiche-moq, moqtail); target still draft-16 (PR #68 still OPEN). The pass-rate climb 18.1% → 20.8% → 22.6% → 27.4% over 4 reports (May 13/19/20/21) shows the “low-hanging fruit” Mike English flagged is being addressed implementation-side, even without matrix expansion or target bump. Structural gap widens: imquic merged draft-18 to
mainMay 20 09:25 UTC, joining moq (PR #1418 May 18) and mondain/moqxr (8 commits May 19-20) — 3 implementations now on draft-18 while the matrix targets draft-16.2026-05-20 daily cadence holding — second consecutive daily report. 2026-05-20 00:46:03 UTC report: 168 / 38 / 129 / 1 (total / pass / fail / skip). +3 pass-count vs May 19 (35 → 38), pass rate 22.6% (vs 20.8% May 19, +1.8pp). Matrix unchanged at 12 implementations; target still draft-16 (PR #68 still OPEN — Mike English working through CI issues, no merge yet). The 2-consecutive-day cadence is the structural confirmation that the May 19 PR #69 per-test-timeout fix worked.
2026-05-19 cadence resumes — first new report in 5 days. 2026-05-19 01:36:37 UTC report: 168 / 35 / 132 (total / pass / fail). Matrix expanded from 105 → 168 tests (+60%) — the May 13 4-PR registry-expansion (mlmtest, aiomoqt, moqx-client, Nokia-via-Docker) is now exercised end-to-end for the first time. The root cause of the May 14–18 silence was diagnosed by mike-english (
#moq-interop-runnerMay 18 21:19 UTC) as a CI-timeout from the combinatorial explosion (test suite hung 6+ hours); PR #69 MERGED May 19 01:35 UTC adds per-test timeouts to prevent hanging tests blocking CI. Status restored to current. PR #68 (Update interop target to draft-18) OPEN May 18 21:01 UTC — staged but not yet merged at report time, so the matrix is still targeting draft-16 vs moq’s shipped draft-18. Note the matrixmoq-rs/moq-rs-draft-16split — cloudflare/moq-rs is now treated as two distinct implementations at different draft revisions. Pass rate 20.8% (vs 18.1% on May 13) is at early-baseline territory: the 4 newly-merged impls are running their first end-to-end validation. Mike English May 19 02:21 UTC: “Probably a lot of low hanging fruit to get some of these to green.”2026-05-18 status: The interop runner has now missed 5 consecutive daily cadences (May 14, 15, 16, 17, 18). No run has published since May 13 00:41:38 UTC (19 / 72 / 14). Status remains “unreliable”. New structural gap: moq shipped draft-18 May 18 05:08 UTC (first open-source implementation, PR #1418) — the matrix is now structurally one revision behind its highest-touch implementation. With London hackathon 22 days out, the matrix shows nothing of post-May-13 implementation evolution, and the moq-dev-rs / moq-dev-js images now compile against a target the matrix can’t exercise.
2026-05-17 status downgrade: The interop runner has missed 4 consecutive daily cadences (May 14, 15, 16, 17). No run has published since May 13 00:41:38 UTC (19 / 72 / 14). The 4-PR registry expansion merged by mike-english May 13 17:23–17:25 UTC (mlmtest, moqx-client, aiomoqt, Nokia-via-Docker) is uncommitted to a CI run, so the 4 newly registered roles have had zero validation runs under the matrix. Most likely cause is operator bandwidth (Mike has been focused on London interim logistics + cdn-provisioning + relay-dos drafts). Status downgraded from “current” to “unreliable” until a successful run resumes.
Standardized cross-implementation test framework for MOQ protocol interoperability testing.
Overview
The interop runner automates testing between MOQ implementations, publishing results as a matrix showing pass/fail status for each implementation pair.
GitHub: englishm/moq-interop-runner Results: englishm.github.io/moq-interop-runner
Registered Implementations (as of May 2026)
- moq-dev-js - moq JavaScript/Hang player (luke-curley)
- moq-dev-rs - moq Rust (luke-curley)
- moq-rs - moq-rs (draft-14)
- moq-rs-draft-16 - Cloudflare moq-rs (draft-16 branch)
- moxygen - Meta’s C++ relay
- xquic - Alibaba’s XQUIC
- imquic - lorenzo-miniero’s C library
- libquicr - Cisco’s C++ library
- moqtail - TS implementation
- quiche-moq - Google’s C++ MoQT (martin-duke, Victor Vasiliev)
- moqx - OpenMOQ’s moxygen fork relay (PR #59 merged Apr 11)
- mlmtest - Eyevinn moqlivemock interop client (Torbjörn Einarsson, PR #63 merged May 13 17:25 UTC) — supports both draft-14 and draft-16 via
DRAFTenv var - moqx (client) - OpenMOQ moqx client role (giovanni-marzot, PR #66 merged May 13 17:24 UTC) — adds the client-side image to complement the existing moqx relay
- aiomoqt - Python asyncio MoQT client (giovanni-marzot, PR #67 merged May 13 17:23 UTC)
- Nokia v17 (via Docker RELAY_URL) - yuyou (Nokia) Docker relay-URL configuration support (PR #65 merged May 13 17:25 UTC) — enables Nokia’s in-house v17 implementation to slot into the matrix
Pending PRs
- PR #57 (Lorenzo Miniero, open since Mar 19) — Add imquic relay and client docker images.
Current Target
The interop runner currently targets draft-16 for automated testing. PR #68 (Update interop target to draft-18) opened May 18 21:01 UTC by mike-english is staged but not yet merged.
Test Results History
| Period | Total Tests | Pass | Fail | Skip |
|---|---|---|---|---|
| May 24, 2026 00:43 UTC | 168 | 45 | 122 | 0 |
| May 23, 2026 00:42 UTC | 168 | 46 | 121 | 1 |
| May 22, 2026 00:43 UTC | 168 | 42 | 125 | 0 |
| May 21, 2026 00:45 UTC | 168 | 46 | 121 | 1 |
| May 20, 2026 00:46 UTC | 168 | 38 | 129 | 1 |
| May 19, 2026 01:36 UTC | 168 | 35 | 132 | 1 |
| May 18, 2026 | — (no run) | — | — | — |
| May 17, 2026 | — (no run) | — | — | — |
| May 16, 2026 | — (no run) | — | — | — |
| May 15, 2026 | — (no run) | — | — | — |
| May 14, 2026 | — (no run) | — | — | — |
| May 13, 2026 | 105 | 19 | 72 | 14 |
| May 12, 2026 | 105 | 20 | 71 | 14 |
| May 11, 2026 | 105 | 21 | 70 | 14 |
| May 10, 2026 | 105 | 20 | 71 | 14 |
| May 9, 2026 | 105 | 20 | 71 | 14 |
| May 8, 2026 | 105 | 19 | 72 | 14 |
| May 7, 2026 | 105 | 20 | 71 | 14 |
| May 6, 2026 | 105 | 20 | 71 | 14 |
| May 5, 2026 | 105 | 20 | 71 | 14 |
| May 4, 2026 | 105 | 24 | 67 | 14 |
| May 3, 2026 | 105 | 24 | 67 | 14 |
| May 2, 2026 | 105 | 25 | 66 | 14 |
| May 1, 2026 | 105 | 24 | 67 | 14 |
| April 30, 2026 | 105 | 23 | 68 | 14 |
| April 29, 2026 | 105 | 23 | 68 | 14 |
| April 28, 2026 | 105 | 22 | 69 | 14 |
| April 27, 2026 | 105 | 23 | 68 | 14 |
| April 26, 2026 | 105 | 22 | 69 | 14 |
| April 25, 2026 | 105 | 24 | 67 | 14 |
| April 24, 2026 | 105 | 23 | 68 | 14 |
| April 23, 2026 | 105 | 22 | 69 | 14 |
| April 22, 2026 | 105 | 22 | 69 | 14 |
| April 21, 2026 | 105 | 20 | 71 | 14 |
| April 20, 2026 | 105 | 18 | 73 | 14 |
| April 19, 2026 | 105 | 18 | 73 | 14 |
| April 17, 2026 | 105 | 18 | 73 | 14 |
| April 16, 2026 | 105 | 23 | 68 | 14 |
| April 15, 2026 | 105 | 23 | 68 | 14 |
| April 14, 2026 | 105 | 21 | 70 | 14 |
| April 13, 2026 | 105 | 20 | 71 | 14 |
| April 12, 2026 | 105 | 21 | 70 | 14 |
| Early April 2026 | 93 | 19-22 | 59-62 | 12 |
| Mid-March 2026 | 93-97 | 24-25 | ~60 | 12 |
| Early March 2026 | 71 | 18-22 | varies | varies |
| February 2026 (draft-14) | 11-14 | 9-10 | 2-5 | varies |
The jump from 93 to 105 tests (Apr 12) coincides with moqx joining the matrix, adding new client-relay pairs. Transition from draft-14 to draft-16 target occurred in mid-February 2026, which temporarily reduced pass rates as implementations updated.
April 17 regression: 5 tests flipped from pass to fail between the Apr 16 and Apr 17 runs. The regression coincides with the large moqtail draft-16 merges on Apr 14–16 (unified message registry, REQUEST_ERROR consolidation, message parameter fixes) and moq-dev/moq changes landed on Apr 16–17 (broadcast replacement queue, auth module refactor, --cert/--key flag split). Need investigation to identify which pair(s) regressed.
April 18–20: Still at 18/73/14 — no recovery from the Apr 17 regression across three consecutive daily runs. Pair-level investigation remains pending.
April 21: First partial recovery — 20 / 71 / 14 (+2 pass, −2 fail) after four days flat at the regression floor. The lift coincides with ongoing draft-16 fixes in moqtail and moq-dev plus iteration on the SUBSCRIBE_NAMESPACE relay flow in moq-rs PR #157. Still 3 short of the Apr 16 baseline (23/68/14). Need pair-level diff to identify which tests flipped.
April 22: Second consecutive partial recovery — 22 / 69 / 14 (+2 pass, −2 fail vs Apr 21). Two daily improvements in a row; the likely drivers are moqtail PR #175 (subscription timeout 1s → 5s, merged Apr 21) and Suhas’s follow-up forwarding/datagram fixes on moq-rs PR #157 (Apr 21 06:39–08:46 UTC, notably restoring the datagram forwarding rate from 1/sec back to 50/sec). Now just 1 short of the Apr 16 baseline (23/68/14).
April 23: Flat at 22 / 69 / 14 (00:35 UTC run). First day without movement after the two-day Apr 21–22 recovery (18 → 20 → 22). The 1-test gap to the Apr 16 baseline remains. Apr 22–23 implementation work was dominated by spec/refactor PRs in moq-dev (none on main yet besides docs) and moq-wg review activity — no new fixes landed that would move the matrix.
April 24: 23 / 68 / 14 at 00:35 UTC — matrix finally ticks up one pass, matching the Apr 15–16 baseline. A single test flipped fail → pass since the Apr 23 run; pair-level diff not directly exposed in the summary report, but the timing is consistent with the moq-dev/moq hop-based-clustering merge (PR #1322, Apr 23 23:26 UTC) flowing through moq-dev-rs / moq-dev-js docker rebuilds. Still well below the 105-test theoretical ceiling — the draft-17 matrix remains far from complete.
April 25: 24 / 67 / 14 at 00:32 UTC — second consecutive day of improvement and a new April 2026 high-water mark (Apr 15–16 baseline was 23/68/14). One more test flipped fail → pass. This is the first time since draft-17 publication that the matrix has improved on two consecutive days. No moq-dev/moq merges to main happened between the Apr 24 and Apr 25 runs (PR #1322 was the most recent landing); the gain is more likely attributable to ongoing moqtail or moq-rs container rebuilds. Eve of the Apr 27 IETF interim — the matrix enters the meeting at its strongest April reading.
April 26: 22 / 69 / 14 at 00:34 UTC — two-test regression from the Apr 25 high-water mark, breaking the three-day improvement arc (22 → 23 → 24 → 22) and dropping back to the Apr 21–23 plateau. The two flipped tests are not exposed in the summary report. Implementation activity in the Apr 25 02:00 UTC → Apr 26 00:34 UTC window: moqtail merged PR #168 + PR #169 into the draft-16 integration branch (not yet on main, so docker images shouldn’t have changed); moq-dev/moq merged a Python examples PR (#1345) and a dependabot bump (#1347) — neither of which touches the wire path. Most likely a flaky test or an upstream image rebuild for one of the other matrix entries (moq-rs, moq-rs-draft-16, moqx, quiche-moq, libquicr, xquic, imquic). The matrix enters the Apr 27 IETF interim at the Apr 21–23 plateau, not at peak strength.
April 27: 23 / 68 / 14 at 00:34 UTC — one-test recovery from the Apr 26 dip, matching the Apr 24 reading and the Apr 15–16 baseline. Still −1 below the Apr 25 high (24/67/14). Improvement-arc-with-regression: 22 → 23 → 24 → 22 → 23. The flipped test is not exposed in the summary report. Implementation activity in the Apr 26 02:00 UTC → Apr 27 00:34 UTC window includes moq-dev/moq’s two main merges: PR #1340 (wait_for_broadcast / deprecate consume_broadcast — directly affects relay/origin lookups) and PR #1343 (subdomain-based slug routing — affects connection URL handling but not the matrix’s connection URLs). PR #1340 is the more plausible cause for a moq-dev-rs / moq-dev-js image rebuild that flipped one pair. The matrix walks into the Apr 27 interim at parity with Apr 24, neither at peak nor at the Apr 21–23 plateau.
April 29: 23 / 68 / 14 at 00:38 UTC — +1 pass recovery from Apr 28 (22/69/14), back to the Apr 24 / Apr 27 reading. Walking arc since draft-17 publication: 22 → 23 → 24 → 22 → 23 → 22 → 23. Still −1 below the Apr 25 high (24/67/14). The two interim-PR merges (moq-transport #1611, #1609) merged Apr 29 00:03–00:04 UTC are spec-only and don’t trigger an implementation rebuild; the moq-dev/moq merges (#1352, #1353, #1355) merged after the Apr 29 00:38 UTC run, so they couldn’t have driven the +1. Most likely a flaky test or an upstream image rebuild for one of the other matrix entries.
April 30: 23 / 68 / 14 at 00:38 UTC — unchanged from Apr 29. Walking arc: 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23. The four moq-dev/moq merges (PRs #1357 fetch_group + #1350 mTLS HTTPS + #1349 static catalog + #1360 jemalloc) all landed Apr 29 16:08 UTC → Apr 30 00:01 UTC, after the Apr 30 00:38 UTC interop run. Apr 30 spec-only merge PR #1619 (NAMESPACE response name) doesn’t drive interop. Expect possible matrix shift in the May 1 → May 2 window from moq-dev-rs / moq-dev-js image rebuilds.
May 3: 24 / 67 / 14 at 00:38 UTC — first regression after the 4-day +1/day recovery streak (−1 pass / +1 fail vs May 2’s 25/66/14). Walking arc: 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24. Implementation activity in the May 2 00:37 UTC → May 3 00:38 UTC window: moqtail’s PR #180 (separate stream for SUBSCRIBE_NAMESPACE) merged into the draft-16 branch — but moqtail’s docker images point at the draft-16 branch already, so a rebuild could change the matrix; moq-dev/moq’s PR #1366 (flake bump), PR #1368 (doc), and PR #1369 (moqsink EOS) all merged. Luke’s notable PR #1372 (revert of fetch_group + TrackDynamic) merged May 2 21:18 UTC, after the May 3 00:38 UTC report — its effect would only show up in the May 4 run. Most plausible cause: the moqtail draft-16 branch image rebuild flipped one pair from pass to fail.
May 4: 24 / 67 / 14 at 00:38 UTC — flat day (identical to May 3 reading). Walking arc: 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24. The May 2 21:18 UTC PR #1372 revert (Luke removing the partial fetch_group / Subscription API merged Apr 30) presumably reached the moq-dev-rs / moq-dev-js builder before this run, so any restoration-effect from undoing the broken-API change is already baked in — net zero on the matrix. Other implementation activity in the May 3 02:00 UTC → May 4 00:38 UTC window: moqtail PR #145 (umbrella draft-16) picked up 3 commits May 3 (two race-condition fixes + a logging refactor) but stayed on the un-merged branch; no main merges in moq-dev/moq or moq-transport. The matrix has now stabilized at 24 pass for two consecutive days, with one excursion to 25 on May 2.
May 5: 20 / 71 / 14 at 00:37 UTC — major regression: −4 pass / +4 fail vs May 4. Largest single-day regression since the Apr 17 drop, returning to that floor level. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20. Most plausible cause: moqtail PR #145 merged into main May 4 19:23 UTC — the wholesale draft-14→draft-16 migration (216 files, +17,114/−11,744) — image rebuilds for moqtail-relay and moq-dev-rs / moq-dev-js likely flipping multiple pairs to fail. moq-dev/moq PR #1374 (DATAGRAMS Lite05, opened May 4 22:57 UTC) is not yet merged, so does not affect this run. No moq-transport main merges in the May 4 02:00 UTC → May 5 00:37 UTC window. This is the first time in the May arc the matrix has returned to a 20-pass reading — pair-level diff inspection warranted.
May 9: 20 / 71 / 14 at 00:39 UTC — partial recovery: +1 pass / −1 fail vs May 8’s 19/72/14. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20. Bounce-back to the May 4–7 floor (also the post-PR #145 floor). moqtail PR #193 still open Day +3, so this is not a moqtail-relay rebuild effect; moq-dev/moq main is quiet (no commits since May 7 18:17 UTC, so no moq-dev-rs / moq-dev-js rebuild). Most plausible cause: natural per-run variance / single image rebuild for one of the matrix entries (moq-rs, moq-rs-draft-16, moqx, quiche-moq, libquicr, xquic, imquic) flipping a single test back to pass. Two-day net effect (May 7 20 → May 8 19 → May 9 20) is zero — the May 8 reading was statistical noise, not a regression.
May 14: No new run yet as of this update. The most recent matrix snapshot is still the May 13 00:41:38 UTC reading of 19 / 72 / 14. The ~00:40 UTC daily run for May 14 has not yet published to the GitHub Pages site. Carry-forward: the May 14 reading will be the first matrix snapshot that could reflect a quiche-moq image rebuild post-May 13 google/quiche moqt commits (4 new commits May 13 including vasilvv first moqt-dir commit; combined with May 12’s PUBLISH_OK removal = 6 commits in 48h). If the auto-rebuild propagates and quiche-moq is now ahead of moq-transport-spec (draft-16) used by other matrix entries, expect potentially larger movement than the +1/−1 daily variance.
May 13: 19 / 72 / 14 at 00:41:38 UTC — −1 pass / +1 fail vs May 12 (20/71/14), breaches the post-PR-#145 floor of 20 on the downside. First 19-reading since May 8. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21 → 20 → 19. Implementation activity in the May 12 02:00 UTC → May 13 00:41 UTC window that could drive this: (1) google/quiche moqt landed 2 commits May 12 — “Remove PUBLISH_OK message” (14:23 UTC, commit message: “Part of implementing draft-17/18 PUBLISH in draft-16”) and “Allow fragmented MOQT object payloads” (17:52 UTC); the PUBLISH_OK removal is a wire-format-affecting change and any quiche-moq pair that had been passing on the PUBLISH_OK code point could be expected to flip. (2) moqtail PR #194 merged May 12 20:00 UTC (refactor: remove track forwarding preference dead code, +27/−52) — also pre-cutoff. (3) moq-transport PRs #1625 / #1605 / #1630 merged May 12 20:02–23:07 UTC are spec-only and don’t trigger an implementation rebuild. The matrix at draft-18 publication day: with draft-18 just cut and no implementation tracking draft-18 yet, the matrix is testing draft-16 + draft-14 only; the spec-vs-implementation gap is at its widest. The matrix has been at 20±1 for 9 of 10 May-weekday readings since May 5 — completely insensitive to the parallel spec activity.
May 12: 20 / 71 / 14 at 00:37:28 UTC — −1 pass / +1 fail vs May 11 (21/70/14), back to the post-PR-#145 floor. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21 → 20. The May 11 +1 lift was per-run variance, not a real recovery — the matrix has now been at 20±1 for 8 of 9 May-weekday readings since May 5. No implementation activity in the May 11 02:00 UTC → May 12 00:37 UTC window would account for the flip-back: moqtail PR #193 merged at May 11 22:37:32 UTC (after the run cutoff, so any moqtail-relay builder-rebuild effect from completing the upstream-FETCH series only shows in the May 13 report); moq-transport landed 6 PRs at May 11 21:32–22:02 UTC but these are spec-only (no implementation rebuild path); moq-dev/moq main is Day +2 quiet (no commits since May 9 22:30 UTC). The most plausible flip-back driver is a single-pair regression in one of the May-9-rebuilt moq-dev-rs / moq-dev-js test pairs that was borderline-pass on May 11. Pre-Town-Hall reading: the May 12 MoQ Town Hall opens with the matrix at the floor, having shown no real movement in 8 days.
May 11: 21 / 70 / 14 at 00:42:00 UTC — +1 pass / −1 fail vs May 10 (20/71/14). Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21. Marginal lift above the post-PR-#145 floor, still −4 below the May 2 high (25). Most plausible cause: the May 9 evening moq-dev/moq merges (PR #1338 release-train shipping moq-lite v0.16.0, PR #1392 moq-ffi, PR #1393 cache-eviction 30s→5s) all landed after the May 10 00:40 UTC interop run, so this is the first run in which moq-dev-rs / moq-dev-js docker images were rebuilt against v0.16.0. The May 9 release-train (#1338) and the cache-eviction tuning (#1393) are the most likely flip-drivers: PR #1393 reduces idle memory at the cost of more cache rebuilds, but it also tightens the eviction window in a way that could flip one previously-borderline pair. moqtail PR #193 still open Day +5 (mergeable_state=blocked), so no moqtail-relay rebuild. moq-rs PR #167 still open Day +5, so no moq-rs-draft-16 rebuild. Per-run variance can’t be ruled out, but the timing is consistent with a moq-dev builder rebuild.
May 10: 20 / 71 / 14 at 00:40:03 UTC (gh-pages commit f70964a 01:04:20 UTC) — flat 2nd consecutive day at the post-PR-#145 floor. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20. moq-dev/moq’s May 9 evening merges (PR #1338 release-train shipping moq-lite v0.16.0 19:27 UTC; PR #1392 moq-ffi 21:41 UTC; PR #1393 cache eviction 30s → 5s 22:30 UTC) all landed after the May 10 00:40 UTC interop run — any moq-dev-rs / moq-dev-js builder-rebuild effect from 0.16.0 would only show in the May 11 report. moqtail PR #193 still open Day +4 with mergeable_state=blocked, so no moqtail-relay rebuild has touched the matrix. The only other in-window implementation activity is moq-rs PR #167 (Suhas filter-framework, +12163/−2197 unchanged) — open and unmerged, so no moq-rs-draft-16 rebuild either. The May 5 −4 regression remains structurally uncorrected; the matrix has been at 20±1 for 6 of 7 May-weekday readings since May 5.
May 8: 19 / 72 / 14 at 00:38 UTC — −1 pass / +1 fail vs May 7. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19. Breaks the 4-day floor downward; new post-NAB low matching the early Apr 17–21 floor reading of 19. moqtail PR #193 (sharmafb upstream FETCH on cache miss, +248/−132, OPEN since late May 6) did not merge May 7, so this is not a moqtail-relay rebuild effect; the most likely cause is another image’s rebuild or natural per-run variance. moq-dev/moq merges in the May 7 06:00 UTC → May 8 06:00 UTC window are PR #1387 (revert-of-revert, type-level only) + PR #1386 (Firefox network stats source) — neither is a wire-format change, so the regression is in implementation pairs rather than a spec change. Reverted on May 9 (returns to 20).
May 7: 20 / 71 / 14 at 00:38 UTC — flat day, third consecutive day at the Apr 17–21 floor reading. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20. PR #1341 (moq-mux backport) merged May 6 01:20 UTC was expected to potentially affect the May 7 report — no movement observed, suggesting the moq-mux structural refactor preserved wire interop as designed (catalog-side Container::Cmaf { init: Bytes } is the only schema change but is internal to moq-dev’s hang catalog format, not a moq-transport wire change). Other May 6 → May 7 implementation activity in the relevant window: moq-dev/moq merged 3 small PRs (#1382 test-fixture cleanup, #1383 watch broadcast-flap fix, #1385 revert of #1356 insert_track-takes-TrackConsumer) — all post-May 6 00:36 UTC interop run, but #1385 is a same-day pull-back of yesterday’s API change, so the net builder-side delta is zero. moqtail merged 188 (sharmafb upstream-FETCH series, relay code) + #179 (davemevans Firefox docs) — relay code change in 188 (+240 lines) could trigger a moqtail-relay rebuild that would appear in the May 8 report. The post-PR #145 floor at 20 pass continues for a third consecutive day — the matrix is not recovering from the May 5 −4 regression on its own.
May 6: 20 / 71 / 14 at 00:36 UTC — flat day, identical to May 5’s 20/71/14. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20. Two consecutive days at the Apr 17–21 floor reading; no recovery from the May 5 regression. Implementation activity in the May 5 02:00 UTC → May 6 00:36 UTC window: moq-dev/moq merged 7 PRs (#1341, #1356, #1377, #1378, #1379, #1380, #1381) — final merge 34dc7c9 at May 6 01:20 UTC was after the May 6 00:36 UTC interop run, so the moq-mux backport (largest of the day) does not affect this report. Earlier merges (PRs #1377–#1380, all merged 17:17–22:15 UTC May 5) could be reflected if moq-dev-rs / moq-dev-js builders rebuilt before the run; none are wire-format changes (API surface tightening, Origin renames, DNS fix, TOML config), so wire interop should be preserved. moqtail merged PR #189 + #191 + #190 (May 5 13:40–14:04 UTC) — moqtail-ts-only changes; Rust relay code unchanged, so the moqtail-relay rows should be unaffected. moq-transport had no main merges. The post-PR #145 moqtail-relay state is the new normal until specific pair-level fixes land. PR #1341 (moq-mux backport) merged after this run; matrix shift could appear in the May 7 report.
Best Performing Pairs
- moq-rs-draft-16 ←> moq-rs-draft-16: All tests pass (self-test)
- moq-dev-js ←> moqx: 6/6 pass
- moq-rs-draft-16 ←> moqx: 5-6/6 pass
- moq-rs-draft-16 ←> moxygen: 5-6/6 pass
- moq-rs-draft-16 ←> imquic: 5-6/6 pass
- moq-rs ←> moq-rs: All tests pass (self-test, draft-14)
- moq-rs ←> moqx: All tests pass (draft-14)
Getting Started
To add a new implementation to the runner, see the getting started guide.
Related
- interop-status - Overall interop testing status
- interop-endpoints - Public relay endpoints