Repository navigation
quest: plan follow-ups from the quest-spawn round - #5869
Conversation
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 6 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. |
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: 5f73195855
ℹ️ 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".
…losure Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review (Written by Claude Opus 5.5) |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…owups # Conflicts: # quest/m2/README.md # quest/m2/perf/README.md # quest/m2/relay-io-uring-package.md
…ollowups # Conflicts: # quest/m1/README.md
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b884e97a11
ℹ️ 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".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…owups # Conflicts: # quest/m1/README.md # quest/m2/README.md
… compress Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge summary for head fdd9576:
(Written by Claude Opus 5.5) |
Plans the follow-ups that the last quest-spawn round's PRs turned up, interviewed with the maintainer via
/quest-plan. Quests only; no code.New quests
m1
m1/decode-errors.md[S]: a container decode error ends the reader in Rust and JS; JS only logs today, and Rust'spoll_min_timestampcallers discard the error (from feat(mux)!: mark a data track's break with an object of no bytes #5815).m1/transcode-open-group.md[S]: moq-transcode finishes the group it is transcoding instead of aborting it when a fetch's demand ends (from feat(net): bare track handles are lazy #5820).m1/bufferbloat.md[M]: acceptance and performance checks impair paths with a rate limit behind a deep, finite queue;just test tsgains--rate/--queuebeside--loss.m1/random-loss-audit.md[M]: re-judge every decision that random-loss gates drove, with leads (quic-bbr-natural-drain.md, feat(moq-mux)!: fixed-delay jitter buffer and per-PID T-STD admission for TS export #4645's skip budget, test(ts): grade the export over a lossy path, finish the T-STD epic #5805/test(ts): grade the passthrough export packet by packet against its source #5856 harness choices, and quests built on loss profiles). Requires the bufferbloat harness.m1/ts-reliability/grader-determinism.md[S]:Export::fillstart no longer depends onHashMaporder;decode.pyprobes the whole capture (from fix(ts): hold audio behind a stale start group's next keyframe #5810, fix(mux): put a live export's budget on its first SUBSCRIBE #5854).m1/goaway-coverage.md[M]: GOAWAY on every IETF request stream, a control-stream FIN or reset is a PROTOCOL_VIOLATION, and the draft-18 Request ID cutoff (from fix(net): close the session on malformed moq-transport input #5800).m1/json-duplicate-keys.md[S],m1/catalog-unsupported.md[S],m1/catalog-consumer-fold.md[S]: catalog follow-ups from feat(hang)!: refuse a catalog that needs a newer reader #5806.m1/test-flakes-2/{gst-redial-port,js-local-close,wasm-refused-track,drill-shaper-failure}.md[XS]: flakes seen this round.m0
m0/ci/ts-path-filter.md[XS]:ts.ymltriggers on every crate the harness builds, linted againstcargo metadata.m2
m2/uring-ring-drain.md[XS] (required by relay-io-uring-package) andm2/uring-transport-machines.md[L] (from feat(relay): serve moq-transport from the io_uring workers #5821).m2/perf/relay-allocs.md[M]: about 70 allocations per delivered frame on fanout (from feat(bench): one relay profiling recipe with lock, cpu, and heap modes #5830).m2/e2ee/consumer.md[M] andm2/e2ee/reopen.md[XS] (from feat(mux): encrypt whole hang broadcasts with e2ee::Producer #5822).Two
Requiredlinks (m1/catalog-version.mdandm2/uring-ietf.md) point at quests that the open #5806 and #5821 delete. Whichever lands second drops those lines.Decisions (paper trail)
Which TS and media follow-ups become quests? Decode bugs ✅, TS harness fixes ✅, TS recovery, missing-sequence budget.
Protocol and API? IETF GOAWAY gaps ✅, catalog follow-ups ✅, uring moq-transport ✅, CLI and docs.
Perf, e2ee, colour? Relay alloc cuts ✅, bench gaps, e2ee follow-ups ✅, colour and HDR.
Flakes? One flake quest each ✅, only gst AddrInUse, none.
Decode bugs split? Two m1 quests ✅, one m1 quest, two m2 quests.
TS harness split? Grader quest plus an m0 CI filter quest ✅, three XS quests, one S quest.
IETF placement? GOAWAY m2 with END_OF_TRACK in m1, both m1 ✅, both m2. (Compact END_OF_TRACK parity later turned out to be done already on main, so it was dropped.)
uring, alloc, e2ee placement? The maintainer first answered "all m1". Then, asked about the conflict with their m2 epics: m1 quests Related to the epic, promote the epics, keep them in m2 ✅.
Random-loss tooling? Replace and delete ✅, replace but keep the flag. The maintainer later refined this: random loss may prove correctness (retransmits happen) but never gates acceptance or performance, and bufferbloat does double duty because overflow drops packets. So
--lossstays and--rate/--queueare added (#5867 holds the rule).TS oracle on a path narrower than the muxrate? Valid TS with bounded latency ✅, valid TS only.
Audit deliverable? Verdicts plus follow-ups ✅, report only, revert everything.
Audit scope? All random-loss-driven decisions ✅, TS 10% only.
Audit waits for the bufferbloat harness? Yes, Required ✅; no, start now.
BBR/GCC quests framed on random loss? The audit owns them ✅; reframe them now.
Transcode on demand loss mid-group? Finish the group, then leave ✅; abort and refetch; fetches don't start live.
Duplicate JSON keys? Refuse everywhere, JS via momoa ✅; refuse in deltas only.
Unsupported catalog in @moq/watch? Distinct status ✅, error event only.
e2ee re-created track? Refuse loudly ✅, carry it again.
ts.yml filter? Derive from cargo metadata ✅, hand-list.
Random-loss reach? All of TS, drills, and moq-quic sim ✅ (then narrowed to acceptance and performance uses by the refinement above); TS and drills only.
e2ee
--statsrefusal? Allow stats and refuse echo; leave as is ✅.Public API: none (quests only). Wire: none.
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code