Repository navigation
quest(m1): plan a non-Clone group producer - #5892
Conversation
|
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 4 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. |
The maintainer settled the handle name, FrameOpen, finish, and Deref on #5892. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4efe434247
ℹ️ 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".
Split the Clone removal out of public ingest into its own quest, a follow-up to #5725. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The maintainer settled the handle name, FrameOpen, finish, and Deref on #5892. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A surviving handle must not keep serving a released group or block its replacement. Spell out the MIGRATE.md replacements for former clones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2a75347 to
fcee2aa
Compare
|
@codex review (Written by Claude Opus 5.5) |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Plans the follow-up the maintainer chose on #5725: make
moq_net::group::Producernon-Clone. Quests only; no code.Changes
quest/m1/public-model/group-writer.md[M]: one public writer with noClone, plus a crate-privategroup::Handlethat cannot write or finish. The handle covers the track cache slots, the reader handoff, aborts through&self, and the wire ingest's observers.frame::ProducerOwnedtakes the writer by value. The quest also lists every clone site from a compile probe on feat(net)!: stream the largest track location #5725's head, and the teardown behavior change to verify with mock-time tests.public-model/ingest.md: its owned frame writer decision (quest(m1): plan the public model surface #5717) already said "drop publicClone". That half moves to the new quest, and ingest keeps the public owned chunked writer. It now requires the new quest and records new evidence: callers holding&mut group::Producer(hangFrame::write_to, moq-mux LOC and fMP4 encode) cannot call a consumingcreate_frame(self).public-model/README.md: lists the new child, ranked before ingest.Rebased onto main after #5725 merged, so the quest is ready: its Plan builds on #5725's group-lock ordering and loom model. Review (Codex) added two requirements: a writer dropped unfinished commits an abort so a surviving handle stops serving the group and the sequence can be recreated, and the MIGRATE.md entry names the replacements for former clones.
Decisions (paper trail)
group::Producernon-Clone? Its own PR after feat(net)!: stream the largest track location #5725 ✅ (maintainer, feat(net)!: stream the largest track location #5725 decision 10); fold into feat(net)!: stream the largest track location #5725.Settled by the maintainer on 2026-10-18, on this PR:
group::Handle✅;group::Shared;group::Watch.Error::FrameOpen: delete it, with the check as adebug_assert✅; keep it as a backstop.finish:finish(&mut self)like every other write ✅; keep&self.Deref<Target = Info>: keep it and name the silentInfocopy in MIGRATE.md ✅; replace it with aninfo()getter.Public API: none (quests only). The planned work is a breaking moq-net change with a MIGRATE.md entry. Wire: none.
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code