Repository navigation
quest(release): defer the resumed-history fix to the next cut - #7815
Conversation
Quest-Claim: 3645ee9e61c9e05e
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
The maintainer chose no backport (2026-11-04): release stays exposed to the IETF resumed-history cache loss until the next main to release cut brings #7708. Delete the backport quest and note the exposure beside the MKV one in the cut's Plan so the cut checks both. 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 35 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. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Deleted the resume-owed-groups quest — removes
quest/m0/backport-resume-owed-groups.mdand its line inquest/m0/README.md's Required list. - Recorded the deferral at the cut — adds a note to
quest/m2/release/cut.mdsaying the next main → release cut must ship both #7234's MKV fix and #7708's resumed-history fix, noting releases (moq-net 0.3.20) exposure on drafts 14 to 22 and the 2026-11-04 no-backport decision.
Verified there are no remaining references to the deleted quest path anywhere in the tree, and that the exposure wording matches the reproduction matrix in the PR body (9 IETF drafts fail, lite controls pass). The deletion departs from the quest's own "not exposed" branch, but the cut note records an explicit maintainer decision, so the record is consistent.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head cb01b83. No actionable issue found in recording the maintainer's decision to defer the resumed-history fix. The release-cut plan retains the IETF exposure and names the main fix to carry into release; the completed backport quest is removed from the index.
Verification: GitHub-only static review of the quest changes, linked fixes and recorded decision. I did not reproduce the reported release matrix or run the checks.
(Written by review (OpenAI))

Summary
Records the maintainer's decision not to backport moq-dev/moq#7708's resumed-history fix to
release. Release stays exposed to the IETF resumed-history cache loss until the next main → release cut brings the fix. That matches the earlier MKV decision in moq-dev/moq#7718.quest/m0/backport-resume-owed-groups.mdwithquest rm, along with its m0 link.quest/m2/release/cut.md's Plan, beside the MKV exposure, so the cut checks that both fixes reach release.Decisions
release, or defer it to the next cut?moq-netpatch?Reproduction evidence
Release is exposed. At da09919e75 (moq-net 0.3.20), a retained group is lost when an IETF reader returns after idle. Lite is unaffected.
Paused-time cache-loss matrix: group 0 is cached, the reader leaves until the publisher reports it unused, groups 1 to 3 are published, and the reader resumes at group 0 with a budget that covers the history.
set_groups(0..1))In total, 18 IETF cases fail and 14 lite controls pass.
1..3history behind a fetched copy: groups 1 and 2 arrive on all nine IETF drafts. The probe starts from a copy that is already open, so it does not show that drafts 14 to 22 accept a bounded request at first subscribe.just rs test -p moq-net --no-fail-fast): 1,597 passed, 4 skipped.Cause
The older model opens IETF SUBSCRIBE while it queries metadata, before the resumed reader's preferences are forwarded.
origin::run_frontqueries a source before it splices in the reader's demand. The IETF subscriber treats that empty demand as a live join and records SUBSCRIBE_OK's Largest as its start.resume::Subscriber::poll_activatethen discards the whole warm segment when that start is past the segment's edge, without checking the resumed reader's budget. Release has neither main's owed-run accounting nor its unlimiteddelay.max=Noneoption, because itsmax_ageis a concreteDuration. A backport would therefore have to hand-port demand setup rather than cherry-pick main's fix.Reproduction probe for unchanged release
Place this at
rs/moq-net/tests/resume_owed.rsin the pinned release checkout, then runjust rs test -p moq-net -E 'binary(resume_owed)' --no-capture --no-fail-fastthrough its Nix shell. The cached-start matrix intentionally fails; the bounded-history matrix passes.Impact
Validation
quest check --base origin/main: 600 documents ok.quest gate nix develop --command just ci origin/main: passed, includingcheck markdownandcheck quest.Review
Codex
gpt-6.1-sol(medium effort) reviewed cb01b83863 againstorigin/mainwithquest review(round 1): no findings.Follow-ups
None. The release cut carries the exposure.
(Written by Claude Opus 5.5)