Skip to content

quest: audit the tree against main (2026-10-22) - #6273

Merged
kixelated merged 8 commits into
mainfrom
quest/audit-2026-10-22
Oct 22, 2026
Merged

kixelated merged 8 commits into
mainfrom
quest/audit-2026-10-22

Conversation

@kixelated

@kixelated kixelated commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Audits the quest tree against main on 2026-10-22: facts that main has moved past are corrected, finished quests are deleted, and landed blockers leave Required. Quests with in-flight PRs are left alone.

Public API: none. Wire: none. Only quest/ and one spike report (test/wasm/generator.md) change.

Changes

  1. m1/refresh: drop "flate modes" from the non-goals (compress removes moq-flate); the passthrough Related line names the NEW_GROUP_REQUEST relay (#5708) that #5930 promoted.

  2. m1/README.md: refresh's ranking note no longer cites the passthrough path; the Related section linking merged #5289 is gone; lite-time-provenance moves above moq-transport passthrough, since serve-timed requires it.

  3. m1/quic/receive-memory: #5878 is ready for review, on quest/m1/quic/receive-memory-lease.

  4. m1/test-flakes-2: the 2026-10-20 batch landed (#6127, #6125, #6056); the 2026-10-21 child holds two flakes, since RTT and interop landed in #6213.

  5. m1/quic: native probing is m1 (probe-native.md); only padding and the browser rung disable stay in the m2 probe epic. The realtime and L4S pointers are kept.

  6. m1/lazy-discovery: customer wording removed (public repo rule).

  7. m1/ts-reliability: raw export and its packet-level proof landed in #5856.

  8. m0/README.md: #4741 is on main; the Goal drops "two independent tracks" and names the release-line, stall, CI, and audit work it lists.

  9. m0/broadcast-epoch: Related removed (only merged #5254).

  10. m0/ci/nix-cache-verify: Cachix retirement includes smoke.yml's substituter and push step (.github/workflows/smoke.yml:195-225).

  11. m2/release/{cpp-release,dart-publish}: the 2026-10-10 wait on Codecs and the epoch rename is gone (landed #5694, #5839, #5146); OBS parity landed in #5726 and #6131. Dart keeps its moq_ffi floor bullet.

  12. m2/intra-refresh/consumer-warmup: the rung fetches N-K through N as one range subscription; Related links fetch-range.

  13. m2/net-wrap/traits: the track dynamic wraps requested_fill / track::Fill, per m1/subscribe-ranges/dynamic.md.

  14. m2/qos: prefix tracks landed in #5811; only the lag histogram is deferred.

  15. m2/README.md: the QoS line names the egress lag histogram and dropped counters.

  16. m2/route-health: since #6183, resume recovers what max age still holds, so a max age below the idle timeout still loses media; design.md starts from fix(net): a resume through a silent outage keeps the backlog its max age holds #6183's mock-time diamond (route_change.rs).

  17. m2/rs2ts/wasm-bindings and test/wasm/generator.md: moq-ffi reports the negotiated version (MoqConnectionStats.version, #5723).

  18. m2/stats/rust: rtsp is among the refused gateway imports (stats_refusal in rs/moq-cli/src/args.rs).

  19. m3/teleop-robot: the group caps hold until unbounded groups lands; then a lagging reader refills or sees Evicted. Related links that epic.

  20. m1/smoke-moxygen: reported upstream as facebookexperimental/moxygen#225, acknowledged 2026-10-16.

  21. m1/resolved-demand: #5931 closed unmerged; its listed-track workaround never reached main.

  22. m1/playwright-nix: npm pins 1.64.1, matching the current nixpkgs lock (the 1.63 downgrade is stale).

  23. m1/linger-ffi.md deleted (landed in #6157), with its references in m1/README.md, m1/interop-finish.md, m1/c/README.md, and m2/go-first-dial-failure.md. This overlaps open #6229.

  24. m1/interop-finish: Required dropped; Rust has broadcast::Producer::finish, JS landed in #6151, bindings in feat(ffi): finish a broadcast cleanly in every binding #6157.

  25. m1/close-tail-drain: the quic-qmux Required is gone; the maintainer took the upstream fix (moq-dev/web-transport#437, qmux 0.6.5), per #5762.

  26. m1/audit-ci: Features clippy was fixed by #6117 (the 10-21 failure is tests); gh test failed again 10-21, then #6154 removed the assertion; rs audio-devices is owned by audio-devices-arm.md; C++/Gradle cost by binding-check-cost.md (#6247). Kept minimal since draft #6266 rewrites this file.

  27. m1/audio-devices-arm: Nightly 39600361153 (10-21, before #6175 merged) already passed on ARM after the 10-20 failure, so one green nightly proves nothing.

  28. m1/audit-size: #6090 restored the Linux release links; the first sizes run is the next Nightly.

  29. m1/listen-admission-test: the test lives at rs/moq-cli/tests/integration/listen.rs.

  30. m2/audit-docs: 31 crates set #![warn(missing_docs)], including moq-mux, moq-ffi, and moq-c since #6088 and #6091.

  31. m2/drop-dead-items: the assert_next_* helpers stay; model/origin.rs calls them since #5678.

  32. m2/bench-sources (now [S]): the binding, Rust bench target, and JS sources already feed the table (#5759); the rust-test job and optional series remain.

  33. m2/audio-decode-audiotoolbox: the docs bullet names the decode row in doc/lib/rs/moq-audio.md.

  34. m2/go-first-dial-failure: the wait on the linger and auth binding PRs is gone (#6157, #6137).

  35. m2/publish-announce-never: Closes dropped (#5703 closed as not planned; the Plan still cites it).

  36. m2/mux-vr-fields: Add spherical and stereo video metadata (sv3d, st3d, vexu, hfov) kixelated/mp4-atom#244 added st3d/sv3d; take 0.17.0 (chore: release v0.17.0 kixelated/mp4-atom#247). Note: 0.17.0 is not on crates.io yet (latest 0.16.2, chore: release #247 open), so the quest says "not yet released".

  37. m2/starvation-frames: the group sampler is the lag histogram, whose code is on wip/4133-lag-histogram.

  38. m2/rs2ts-wasm2js: Charon #1513 and #1514 merged upstream; pin a revision carrying them.

  39. m2/rs2ts-js: the Bind the browser through moq-ffi/UniFFI instead of a second hand-written wasm API #2907 Related entry and the old-WASM-issues sentence are gone.

  40. m2/render-d3d11: the renderer is the first consumer of d3d11::Texture's pub(crate) contents.

  41. m2/webgpu-hdr: the catalog colour fields landed in #5846.

Left alone: m1/quic-qmux.md (open #6231 deletes it), m0/redundant-failover-drift.md (open #6113 deletes it), and the quests with in-flight agents.

Decisions

Round 1, asked explicitly:

  • A. Identity proof's dependency on token in band (m1/cluster-routing/identity.md)
    • ✅ Drop the Required; it extends the AUTH stream merged in #4039, and auth stays ranked ahead as a rank, not a block
    • Keep the Required with a restated reason
    • Keep as is
  • B. Which quests must Require the generated C line (m1/c/README.md)
  • C. What outbound SUBSCRIBE_TRACKS treats as removal (m1/archive/subscribe-tracks-outbound, in flight, not edited here; forwarded to its agent)
    • ✅ TRACK_ENDED and the unlisted NOT_FOUND error
    • Any PUBLISH_DONE
    • Keep the plan
  • D. What lite-07 finalize waits on (m1/lite07-finalize.md)
    • ✅ Add lite-time-provenance and lite06-max-sequence to Required (linked to each other), and lite-07 ranges carry the resolved start for a relative range start on SUBSCRIBE_OK (linked from read-backfill)
    • Only the two quests
    • Leave both out

Accepted as recommended:

  • E. ✅ Opus near-zero budgets folded into m1/audio-jitter-target/capped-budgets.md: one pass over seven post-cap nightlies, which are also post-flush (#6164 merged 2026-10-22T00:10Z; none yet).
  • F. ✅ m1/compress/migrate.md Requires refresh JSON; both rewrite snapshot::Config and moq-stats' TrackPair (#6054).
  • G. ✅ m2/intra-refresh: plan-boundary amends the hang draft so a parallel max-delay decoder MAY present before group start plus warmup (keeps merged #5842); h264-import rounds warmup up per the draft (#5212).
  • H. ✅ m2/net-wrap/traits.md Requires the breaking release cut; e2ee.md links compressed tracks.
  • I. ✅ #5850 linked as reference code from m1/simulcast-rung-disable.md and m2/probe/rung-disable-js.md.
  • J. ✅ m2/perf/relay-allocs.md Requires dropping web-transport-trait, then re-profiles.
  • K. ✅ m0/ci/mbx-r2-verify.md narrowed to hosted jobs on R2 (Nightly, release PRs, macOS/Windows); the queue runs on self-hosted moq-queue with local mbx since #6040. m0/ci/README.md updated.
  • L. ✅ m0/ci/nix-cache-verify.md: ci: add reusable runner VMs with persistent local caches #6040 deleted cache.yml, so first measure a hosted Nightly's dev-shell entry; restore a dev-shell push only if it rebuilds, else narrow to release tags and Cachix retirement.
    • Measure no earlier than 2026-11-20: the dev shell pushed by the last cache.yml runs (2026-10-20) stays cached until its 30-day expiry (review fix 93d8a31).
  • M. ✅ m0/ci/runners.md deleted: the persistent nix/runner VM is the queue runner (median 5.5 min per entry against 21 hosted), recorded in m0/ci/README.md; Blacksmith dropped. Nothing remained.
  • N. ✅ m1/ts-reliability/arrival-stamps.md: after fix(mux): redundant TS failover survives a killed importer behind bufferbloat #6113, the container consumer's hole budget anchors on stamped arrivals.
  • O. ✅ The publisher solicit option moves to m2: moq import --echo-path in m2/stats/rust.md, an echo-path attribute in m2/stats/js.md; m3/stats-encoder-feedback.md keeps only the adaptation loop.
  • P. ✅ m2/site/move.md: moq.dev's biome-local and lean-agents-md are moot; astro-typecheck ports into the site CI module.
  • Q. ✅ m1/window-alloc.md deleted (#6241 measured a join regression); m1/audit-perf.md records why.
  • R. ✅ m1/resume-rust-end.md: Rust refuses a different end with JS's Incompatible classification, settled in #6224's review; merge order fix(net): end a resumed track the way a direct one ends #6136, then fix(net): deduplicate resumed datagrams by identity #6209 and fix(net): refetch a resumed group only when its route failed delivering it #6251, then fix(net): retain resume bounds across route copies #6224.
  • S. ✅ m1/audio-devices-arm.md is deleted only after three consecutive green Nightlies.
  • T. ✅ m1/catalog-identity-rs.md notes its branch checkpoint predates the 10-15 rendition-name decision.
  • U. ✅ m1/binding-timestamps.md: the value bound follows Timestamp::new (2^61 - 1 once #6168 lands).
  • V. ✅ m2/audit-docs.md: the Go failure accessor is planned in go-first-dial-failure.
  • W. ✅ m2/error-cleanups.md: keep the removal; model/track.rs's close constructs StreamError::Session(SessionError::Cancel) directly.
  • X. ✅ m1/track-priority-scope.md: no edit; open #6142 replaces it.
  • Y. ✅ m2/ts-hitless.md: keeps Closes export ts --sync: a group that began behind the one before it lays apart on a leg that lost that earlier group #5864; Requires stream routes (#6252) and arrival stamps (#6249) before rebasing #5949; --sync lanes cover or refuse pesPacket and verbatim; release follows arrival stamps' lateness rule.
  • Z. ✅ m2/uring-transport-machines.md rescoped to measuring Local's thread check after #6176; Boxable stays the single bound.
  • AA. ✅ m2/quic-ack-hook.md: qmux's poll_acked reports unsupported; over qmux the histogram stays at group granularity.
  • AB. ✅ m2/quic-sim.md rescoped to MoQ sessions and the relay over moq-quic's Pair/Link sim (#5780, #5989).
  • AC. ✅ m2/uniffi-{namespaces,fork}.md: Library mode: a type cannot reference an external type with the same name mozilla/uniffi-rs#3026 was auto-closed by our #5498 and remains unfixed upstream.

Housekeeping done outside the tree

Pending maintainer action

Blocked by permissions:

Follow-ups

  • test/wasm/uniffi/cases.ts and test/wasm/baseline/consumer.ts still comment that moq-ffi exposes no negotiated version; the cases could read MoqConnectionStats.version instead of offering one version.

Merged with main (c1e2be6)

After #6268 and the night's merges, main's deletions and wording win where both sides edited:

quest check and quest check --base origin/main --branch quest/audit-2026-10-22 pass.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

kixelated and others added 4 commits October 21, 2026 22:55
Correct facts that main has moved past: landed PRs, closed PRs, moved
files, and finished quests. Delete m1/linger-ffi (landed in #6157) and its
references, drop Required entries that have landed, and remove customer
wording from lazy-discovery.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Identity proof extends the merged AUTH stream instead of Requiring token
in band; three quests leave the C line's Required rule; lite-07 finalize
waits on timestamp provenance and lite-06 max sequence, and lite-07 ranges
carry a relative start's resolution.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fold the Opus near-zero budgets into capped budgets, delete the window
allocation and faster-runner quests, narrow the R2 and Nix cache checks to
what still uses them after the queue moved in house, and record the
remaining maintainer decisions and stale facts in their quests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Correct m2 facts that main or upstream has moved past, and record the
accepted decisions: TS hitless waits on stream routes and arrival stamps,
the io_uring and QUIC sim quests are rescoped, qmux reports acks as
unsupported, and the UniFFI namespace issue is noted as unfixed upstream.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review October 22, 2026 06:04
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 57 seconds.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1236183a-4528-4dfe-a277-c1ce6980ed3e
📥 Commits

Reviewing files that changed from the base of the PR and between dbf06bd and 774a8cd.

📒 Files selected for processing: 70
  • quest/m0/README.md
  • quest/m0/broadcast-epoch/README.md
  • quest/m0/ci/README.md
  • quest/m0/ci/mbx-r2-verify.md
  • quest/m0/ci/nix-cache-verify.md
  • quest/m0/ci/runners.md
  • quest/m1/README.md
  • quest/m1/audio-devices-arm.md
  • quest/m1/audio-jitter-target/README.md
  • quest/m1/audio-jitter-target/capped-budgets.md
  • quest/m1/audio-jitter-target/opus-near-zero-budgets.md
  • quest/m1/audio-jitter-target/watch.md
  • quest/m1/audit-ci.md
  • quest/m1/audit-perf.md
  • quest/m1/binding-timestamps.md
  • quest/m1/catalog-identity-rs.md
  • quest/m1/cluster-routing/identity.md
  • quest/m1/compress/migrate.md
  • quest/m1/lite07-finalize.md
  • quest/m1/quic/README.md
  • quest/m1/quic/receive-memory.md
  • quest/m1/refresh/README.md
  • quest/m1/release-perf/recheck.md
  • quest/m1/resolved-demand.md
  • quest/m1/resume-rust-end.md
  • quest/m1/simulcast-rung-disable.md
  • quest/m1/smoke-moxygen.md
  • quest/m1/subscribe-ranges/lite.md
  • quest/m1/test-flakes-2/README.md
  • quest/m1/ts-reliability/README.md
  • quest/m1/window-alloc.md
  • quest/m2/README.md
  • quest/m2/audio-decode-audiotoolbox.md
  • quest/m2/audit-docs.md
  • quest/m2/drop-dead-items.md
  • quest/m2/error-cleanups.md
  • quest/m2/go-first-dial-failure.md
  • quest/m2/intra-refresh/README.md
  • quest/m2/intra-refresh/consumer-warmup.md
  • quest/m2/intra-refresh/h264-import.md
  • quest/m2/intra-refresh/plan-boundary.md
  • quest/m2/mux-vr-fields.md
  • quest/m2/net-wrap/e2ee.md
  • quest/m2/net-wrap/traits.md
  • quest/m2/perf/relay-allocs.md
  • quest/m2/probe/rung-disable-js.md
  • quest/m2/publish-announce-never.md
  • quest/m2/qos/README.md
  • quest/m2/qos/lag-histogram.md
  • quest/m2/quic-ack-hook.md
  • quest/m2/quic-sim.md
  • quest/m2/release/cpp-release.md
  • quest/m2/release/dart-publish.md
  • quest/m2/render-d3d11.md
  • quest/m2/route-health/README.md
  • quest/m2/route-health/design.md
  • quest/m2/rs2ts-js.md
  • quest/m2/rs2ts-wasm2js.md
  • quest/m2/rs2ts/wasm-bindings.md
  • quest/m2/site/move.md
  • quest/m2/starvation-frames.md
  • quest/m2/stats/js.md
  • quest/m2/stats/rust.md
  • quest/m2/uniffi-fork.md
  • quest/m2/uniffi-namespaces.md
  • quest/m2/uring-transport-machines.md
  • quest/m2/webgpu-hdr.md
  • quest/m3/stats-encoder-feedback.md
  • quest/m3/teleop-robot.md
  • test/wasm/generator.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T13:10:13.946859Z 90fcd56 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c87627fa92

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m0/ci/nix-cache-verify.md Outdated
…pires

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Take main's deletions of finished quests and #6268's wording where both
sides edited, drop links to quests main finished, and keep the
window-alloc removal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated added this pull request to the merge queue Oct 22, 2026
@kixelated

Copy link
Copy Markdown
Collaborator Author

Merged main at c1e2be6: took main's deletions of finished quests and #6268's wording where both sides edited, dropped links to finished quests, and kept the window-alloc removal (details under "Merged with main" in the body). Codex reviewed c1e2be6 with no findings; the Codex thread on nix-cache-verify was fixed in 93d8a31 and is resolved. Auto-merge is enabled on this head.

(Written by Claude Opus 5.5)

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 22, 2026
Take main's deletion of the finished lazy-discovery epic (#6165).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated enabled auto-merge October 22, 2026 13:06
@kixelated

Copy link
Copy Markdown
Collaborator Author

Removed from the queue for a conflict with #6165, which deleted the finished m1/lazy-discovery epic. Merged main at 90fcd56 taking that deletion (item 6's wording edit is moot); quest check passes with and without --base origin/main. Re-queued on this head.

(Written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 90fcd56780

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/lite07-finalize.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit af41249 Oct 22, 2026
10 checks passed
@kixelated
kixelated deleted the quest/audit-2026-10-22 branch October 22, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant