Skip to content

quest: import #5360, #5362, #5371 and draft-22 interop findings - #5380

Merged
kixelated merged 2 commits into
mainfrom
claude/quest-import-69e09f
Oct 13, 2026
Merged

kixelated merged 2 commits into
mainfrom
claude/quest-import-69e09f

Conversation

@kixelated

@kixelated kixelated commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Imports the open unlabeled issues (#5360, #5362, #5371) and the 2026-10-12 interop reports (Meta, quiche-moq, aiomoqt, a draft-22 test suite) as quests. Issues are mentioned without closing keywords; the quests that complete them close them.

New quests

Updated

  • quest/m2/ts-health-stats.md, quest/m1/stats/{schema,rust}.md: the TS export reports through .echo with an E flatten; the MSF catalog carries neither section yet, and a viewer's --echo under --catalog-format msf is refused (imports always emit MSF and have no flag to refuse)
  • quest/m0/release-22/README.md: 0.17.3 shipped; the remaining work is the next patch

Decisions

Draft-22 wording (FILL_PARAMETERS count, LOCATION_FILTER length): who raises it with the editors?

  • ✅ Steven raises
  • I raise them
  • Skip

Accept both FILL_PARAMETERS encodings for a while?

  • ✅ No, keep counted
  • Accept both

#5362 point 2: video admitted ~2.9% below Rbx

  • ✅ Exact accounting
  • Keep the margin

#5362 point 3: mux overhead at the source's own rate

  • PCR in video AF only
  • ✅ PCR + multi-frame PES ("why not audio as well? seems reasonable")
  • Won't fix

#5360 (a): export-side TS stats

  • ✅ Keep export via .echo
  • Narrow to import
  • Split off export

#5360 (b): stats/echo under MSF

  • Refuse with MSF
  • ✅ Refuse + m3 quest
  • Map via publishTracks now

Subgroups/datagrams past object 0 (intentionally unsupported): how loud?

  • ✅ Abort the track
  • Warn, keep truncating
  • Add relay support

#5371: catch-all arm

  • ✅ Close + narrow catch-all
  • Fold into malformed-close
  • Close only

Draft 17-18 PUBLISH_NAMESPACE withdraw by FIN

  • ✅ Reset on 17-18 too
  • Skip

"FETCH not supported on draft-20" on 0.17.3

  • Ships with next cut
  • ✅ Backport to 0.17.x

IETF ingest fixes: one quest or two?

  • ✅ One quest
  • Two quests

IETF fixes act

  • ✅ m1
  • m0

#5362 quest placement

  • ✅ Children of m1/tstd
  • Standalone m1
  • m2

FETCH backport placement

  • ✅ Child of m0/release-22
  • Standalone m0

No public API or wire change (planning only).

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You'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 22 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 06ad62bc-da8d-4f86-8cab-333f1e3bbdb3
📥 Commits

Reviewing files that changed from the base of the PR and between 6a3459c and 0a44e0d.

📒 Files selected for processing (14)
  • quest/m0/README.md
  • quest/m0/release-22/README.md
  • quest/m0/release-22/fetch.md
  • quest/m1/README.md
  • quest/m1/ietf-ingest-refusal.md
  • quest/m1/ietf-withdraw-reset.md
  • quest/m1/stats/rust.md
  • quest/m1/stats/schema.md
  • quest/m1/tstd/README.md
  • quest/m1/tstd/mux-overhead.md
  • quest/m1/tstd/video-leak.md
  • quest/m2/ts-health-stats.md
  • quest/m3/README.md
  • quest/m3/msf-publish-tracks.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T01:17:36.914794Z 41e27d3 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 41e27d3df3

ℹ️ 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".

Comment thread quest/m1/ietf-ingest-refusal.md Outdated
Comment on lines +34 to +35
- **Narrow the catch-all.** Route the peer's faults (`Decode`, `Duplicate`,
`FrameTooLarge`) to the refusing arm so the dispatcher sends STOP_SENDING.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include every malformed ingest failure in the refusal

When a peer FINs before its declared payload is complete, Reader::poll_read_frame returns WrongSize; when a group exceeds 8,192 objects or 32 MiB, create_frame_owned can return GroupTooLarge. Both errors reach the same catch-all, but this narrowed list omits them, so the scoped implementation would still log at debug and return Ok(()) for these malformed groups. Include both errors in the refusing arm and regression tests.

AGENTS.md reference: AGENTS.md:L17-L18

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, fixed in 0a44e0d.

(Written by Claude Opus 5.5)

Comment thread quest/m1/stats/schema.md Outdated
Comment on lines +57 to +61
- **Refuse `--stats` and `--echo` with `--catalog-format msf`** (decided
2026-10-12). The MSF conversion in `rs/moq-mux` copies only the media
sections and `ext`, so the sections would otherwise drop silently. Carrying
them through MSF `publishTracks` is
[MSF feedback tracks](/quest/m3/msf-publish-tracks.md).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Handle stats in the always-emitted MSF catalog

--catalog-format selects the catalog read by export/play, while imports have no such option and moq_mux::catalog::Producer always emits Hang, HangZ, and MSF catalogs. Consequently, moq import --stats would still emit an MSF catalog whose direct stats section is silently discarded, and this proposed CLI refusal cannot trigger on that path. Either represent stats in MSF now or explicitly refuse/suppress MSF publication whenever stats are enabled.

AGENTS.md reference: AGENTS.md:L17-L17

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, fixed in 0a44e0d.

(Written by Claude Opus 5.5)

Comment thread quest/m1/tstd/video-leak.md Outdated
Comment on lines +21 to +24
- **Exact accounting.** Cap a leak-bound PID at the lesser of Rx in packets
and Rbx in payload bytes, since Rbx governs payload into EB while TB drains
at Rx. Carry fractional packets from slot to slot, drop the one-packet
slack, and stop charging the clock packet to the video.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep standalone PCR packets in the Rx budget

A standalone PCR remains a 188-byte packet on the video PID, so it enters the transport buffer and must consume the PID's Rx packet budget even though its adaptation-only payload consumes no Rbx budget. The sibling mux-overhead quest explicitly retains standalone PCRs in slots without a PCR-PID media packet, so literally stopping all video charging here can exceed the transport-buffer allowance. Charge standalone PCRs to Rx only, while excluding them from Rbx payload accounting.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, fixed in 0a44e0d.

(Written by Claude Opus 5.5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

Summary: imports #5360 and #5362 and the 2026-10-12 draft-18/22 interop findings as quests, and closes #5371 (its gap case was fixed by #5233). The decisions are listed in the description.

The Codex review's three findings are fixed in 0a44e0d:

  • WrongSize and GroupTooLarge join the refused errors.
  • A standalone PCR still counts against the video's Rx budget.
  • MSF: imports always emit the MSF catalog, so it leaves stats/echo out (as it does json/binary), and only a viewer's --echo under --catalog-format msf is refused.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge October 13, 2026 01:18
@kixelated
kixelated added this pull request to the merge queue Oct 13, 2026
Merged via the queue into main with commit 72fad8f Oct 13, 2026
3 checks passed
@kixelated
kixelated deleted the claude/quest-import-69e09f branch October 13, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

export ts cannot carry a full-rate CBR contribution feed: mid-frame AC-3 PES, video admitted below its leak, per-frame audio overhead

1 participant