Conversation
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
kixelated
marked this pull request as ready for review
September 20, 2026 17:46
Contributor
|
Warning Review limit reachedNext included review available in 58 minutes. View limit detailsLimit details: You’ve used all 4 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (20)
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. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The imminent release would expose inconsistent archive range and listing contracts, E2EE entry points that bypass nonce and epoch ownership, and socket/io_uring construction that permits mismatched owners. Existing quests deferred these API corrections until later work or proposed cosmetic renames that do not make invalid ownership combinations unrepresentable.
The shared m0 questline now contains independent Pronto GPU work, and PR #3803 will add the media API stabilization track before this PR lands. The release gate must add these four-package audits without replacing either track or making all of m0 a release prerequisite.
Approach
Add six m0 release API quests for E2EE path/profile alignment, E2EE ownership, completed socket-group formation, io_uring worker/shard identity, archive inclusive ranges, and recording-scoped archive listing. Keep the existing Pronto quests. After #3803 lands, rebase this PR onto its
m0: immediate mediagraph and use the combinedm0: immediate prioritiesscope for all three independent tracks.Move existing plans rather than duplicate them, retire the conflicting cosmetic naming quest, and update backlog dependencies. The release quest depends on these six API quests individually, not the entire m0 questline, so Pronto and the media stabilization plan are not accidental release blockers.
Public API impact by package
This PR is planning-only and changes no executable API today. The quests plan these 0.0.1 Rust changes:
moq-archive: replace reversed integer-pair group bounds with validated finiteRangeInclusive<u64>inputs and outputs; unify streaming and paginated listing under archive-ownedstore::list::QueryandEntrytypes with recording-relative prefixes, offsets, opaque continuation tokens, and only supported pagination controls; make duplicate path helpers such ascheck_idcrate-private. Keep the genericStoreand itsobject_storeescape hatch.moq-e2ee: replaceCredential::new(profile, context, generation, kid, secret)with config-based construction around an application-owned 32-byte secret; remove hidden secret generation and raw crypto/HKDF helpers; add epoch-free credential path derivation plus epoch-scopedGeneration,Epoch,Name, and track producer/consumer handles; replace process-global publication claims with generation-owned per-track claims; keep sequence allocation, nonce reuse protection, receive windows, and public payload limits inside the supported handles. Catalog policy and producer retransmission internals leave the public surface.moq-sock: makeshard::Groupyield no usable socket until every declared member has bound and steering is attached; return claims during formation; retain every member socket for the served group's lifetime so an individual early close cannot invalidate steering indices.moq-uring: derive worker ownership and reuseport steering identity from the owned socket or connection; remove independently supplied handle/shard combinations from endpoint and WebTransport construction; preserve unsharded sockets, weak worker lifetimes, rootConfig, andTxBuf.moq-tokio0.19.11: preserve its public worker signatures andbindre-export while adapting internal plumbing to themoq-sockownership model. No rename or compatibility shim is planned.Wire and storage impact
moq-e2ee-01numeric generation and HKDF labels are replaced by the draft's epoch-basedmoq-e2ee-00derivation. Opaque broadcast paths, derived names, keys, and ciphertext compatibility change. Publication status must be checked before implementation; any actually published profile must remain compatible under the repository's wire rules.Alternatives
RangeInclusive<u64>matches existing Rust andmoq-netrange conventions.moq-tokio::bind, io_uringConfig, orTxBuf. Their names do not cause the ownership bugs, and changing publishedmoq-tokioexports would expand the break unnecessarily.Follow-ups
m0: immediate priorities.Validation:
nix develop --command just checkpassed after rebasing and reconciling the current m0 graph, including all 397 quest documents and repository Markdown checks. Scopednix develop --command just testpassed with no runtime suites selected for this planning-only diff.(written by GPT-5)