Repository navigation
quest: plan moq-net API audit follow-ups and retire the public-model goal - #6581
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…goal Adds api-audit children for moq-transport-only surface, one lifecycle vocabulary, net renames, and dynamic() -> requests(). Folds public-model into api-audit with its goal dropped: session-only items stay private, serve/answer/claim-request-type are reshaped, routes and deferred are deleted, and the model-markers lint that enforced the old goal goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou'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 31 minutes. View limit details
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 |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d2a9ef4705
ℹ️ 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".
They pointed at deleted quests once the marker lint went. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge summary:
(Written by Claude Opus 5.5) |
The public-model goal is dropped (#6581): items go public only with a non-session consumer. with_range and the bug fixes stay; the serving calls the sessions use go back to pub(crate) in Rust and hooks or @internal in JS. Ordered.tryNextGroup stays public as GroupConsumer | undefined, mirroring Rust poll_next_group, for js/json and js/flate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The maintainer reversed the drop in #6581: [listen|connect.extensions] is the operator's interop knob for moq-transport extensions. Restore the moq-tokio serde surface and docs, and test that the shared loader carries it through. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Plans the follow-ups of a second moq-net API audit (release
9da79786c2vs main), and retires the public-model goal.What changes
api-auditchildren:with_urlreplaceswith_path/with_authority, andtransport::BindingbecomesAddress.finish,abort,closedandclosemean one thing on every handle, in Rust and JS.wanted,allocator,Credential,info(),stats/transportcollisions, andWireowns the byte counts.dynamic()becomesrequests().api-auditand its goal is dropped. The goal was "a third party builds any publisher, subscriber, or relay from the public model". It made session-only items public with no outside consumer.serve,answerandclaim-request-typemove underapi-audit, reshaped as described below.routes.md,deferred.mdand the README's toy-transport proof are deleted.sh/rs/model-markers.py, its test, its three CI hooks, and all 270// pending:/// private:marks in rs/moq-net and js/net are deleted (comment lines only). The lint only enforced the dropped goal.net-exportsgains the trims and a dead-code list. That list was found by marking every pub item#[deprecated]and building the workspace.relay-configkeeps the extensions TOML.ietf-extension,track-live, the m1 README and m2 quests are repointed.Open PRs this reshapes
with_rangeplus its bug fixes, with everything else internal.Forward/ForwardRequesttypes.Each gets a comment with its new plan. Their branches keep their
public-modelnames.Public API and wire impact
This PR changes neither. The quests plan breaking moq-net,
@moq/net, moq-tokio and binding changes, and each child lists its own impact. Wire: none.Checks
quest check: 569 documents oksh/js/workspace.test.py: okjust check: passed (rs, js, quest, markdown, shell, gh)Decisions (✅ selected)
Goal and placement: before the m1 cut, no public moq-net item (Rust or JS) exists only for moq-transport, and each remaining audit finding is removed, renamed, or made private.
Group A, no external caller (Staged/stage, IETF-only Error/DecodeError variants, dead TooManyParameters):
setup::Extensions::{auth, solicit, epoch}:
Client::with_authority:
Who reaches the extension knobs:
URL setter type:
setup::Token / Handshake::token:
SessionError codes only ietf/ produces:
largest() snapshot vs stream:
Stats/Wire byte counters:
transport::memory:
Epoch::time / moq_epoch_time_ms:
announce::Consumer is_synced/synced:
Misc:
JS exports used only inside js/net:
Rust track::Producer::close vs JS close:
group closed():
Demand vocabulary:
Session::bandwidth():
transport::Binding:
request_start / received():
end() getter:
Collisions:
Lifecycle vocabulary:
Abort after settled finish:
JS consumer close():
auth::Auth:
Track info lookup:
track::Consumer::info() -> Pending<Resolving>broadcast Finish:
Reservation:
dynamic():
create_group:
subscription() aggregate:
Dead-code scope:
Unused-race family vs public-model/answer:
Where to challenge public-model:
public-model goal:
moq-dev/moq#6111 session-only items:
serve.md:
moq-dev/moq#6138:
answer.md:
routes, deferred, claim-request-type, toy test:
Marker lint:
Structure:
Fold order:
Open PRs moq-dev/moq#6411/#6496:
🤖 Generated with Claude Code
(Written by Claude Opus 5.5)