Skip to content

quest: plan the small follow-ups from the 2026-10-15 merge batch - #5584

Merged
kixelated merged 6 commits into
mainfrom
quest/plan-follow-ups-1015-small
Oct 15, 2026
Merged

kixelated merged 6 commits into
mainfrom
quest/plan-follow-ups-1015-small

Conversation

@kixelated

@kixelated kixelated commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Plans the smaller follow-ups that agents suggested while merging today's PRs. The larger ones are in #5578.

New quests

Extended quests

  • audio-warmup.md (fix(audio): prime Opus decoders by advertised warmup #5569, still open): add one 80 ms pre-roll constant per language, and a test that the catalog Producer publishes exactly Encoder::catalog().
  • dropped-internal.md: add the moq import failure paths. They drop their catalog producers, so subscribers see Dropped instead of the cause. This replaces a separate quest because the existing one already owns that goal.
  • handshake-ack.md (deps: bump moq-noq for the lost handshake ACK fix #5457): bursts_cross_a_transport_peer::impaired failed the same way in today's merge queue. It is now covered by the same fix, with a new investigation only if it still fails afterwards.

rs/moq-net/AGENTS.md: the "never emit or accept partial groups" rule now exempts moq-transport passthrough of a mid-group start. The maintainer approved this exception in #5494.

Not planned

Decisions

Round 1

Round 2

  • Importer parts to plan: ✅ Declared-track rule, ✅ Abort carries cause / HLS waits for renditions / FLV header flags
  • Display aspect: ✅ One S quest, no upstream issue / Quest + upstream issue / Only hvcC + doc line
  • End-to-end checks: ✅ Fold the browser check into fix(publish): mint a new track name when a rendition's decoder identity changes #5552, new gst quest / Two new quests / Only the gst quest
  • Already covered (drill flake, noq#40): ✅ Extend handshake-ack, no change for noq#40 / Separate flake quest

Round 3

  • Acts: ✅ m1 for importer and IETF, m2 for aspect and moqsrc / All m1 / All m2

Checks

  • quest check passes.
  • just check passes except moq-uring::teardown a_published_close_has_already_left_the_client, which timed out. That is the known flake tracked in test-flakes-2/uring-teardown-close.md, and this PR changes only markdown.

Public API: none. Wire: none.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

New: importers announce with a track, current LOC Timestamp only, refuse
draft-14 END_OF_TRACK properties (m1); display aspect, moqsrc A/V sync (m2).
Extended: audio-warmup, catalog-identity-js, dropped-internal, handshake-ack.
Scopes moq-net's partial-group rule to exempt moq-transport passthrough.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 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-15T18:41:03.066273Z 133f126 Manual request
ℹ️ 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.

@coderabbitai

coderabbitai Bot commented Oct 15, 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 27 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: b82f887f-6a0a-4632-94c4-12ee0d5990b6
📥 Commits

Reviewing files that changed from the base of the PR and between 3791aec and 133f126.

📒 Files selected for processing: 12
  • quest/m1/README.md
  • quest/m1/audio-warmup.md
  • quest/m1/browser-rename-check.md
  • quest/m1/dropped-internal.md
  • quest/m1/ietf-eot-properties.md
  • quest/m1/ietf-loc-timestamp.md
  • quest/m1/import-declared-track.md
  • quest/m1/test-flakes-2/handshake-ack.md
  • quest/m2/README.md
  • quest/m2/display-aspect.md
  • quest/m2/moqsrc-av-sync.md
  • rs/moq-net/AGENTS.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 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: 055a85357c

ℹ️ 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-loc-timestamp.md Outdated
Comment thread quest/m1/dropped-internal.md
Comment thread quest/m2/README.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

@codex review

(Written by Claude Opus 5.5)

@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: 4d378b895a

ℹ️ 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-eot-properties.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

@codex review

(Written by Claude Opus 5.5)

@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: 32033efa90

ℹ️ 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/import-declared-track.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary for 3e5289cda437839363ca84640f194ab740e1cfcb:

  • Codex findings fixed:
    • The LOC quest keeps the draft-19 0x06 collision guard.
    • dropped-internal records the new public catalog::Producer::abort.
    • The m2 index hedges AV1.
    • The END_OF_TRACK refusal covers js/net too.
    • The declared-track rule counts passthrough's m2ts extension track.
  • Codex reviewed 32033ef. The last commit is a three-line fix to that review's one finding.
  • quest check passes. The decisions are listed in the PR body.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge October 15, 2026 18:01

@kixelated kixelated left a comment

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.

Automated review by review (OpenAI)

Reviewed commit: 3e5289c.

One P2 planning correction remains: removing legacy LOC timestamp decoding causes timed-track failure, rather than the promised untimed fallback (inline). This was previously noted in the conversation; it is not an additional implementation bug.

Overall direction is sound: explicit unsupported handling avoids silent property loss, and the importer rule now accommodates passthrough extension tracks. The retained draft-19 collision guard, public catalog abort requirement, conditional AV1 scope and Rust/JS END_OF_TRACK coverage address the earlier independent review concerns.

Verification limits: static review of the plans and relevant current receive/import paths through GitHub. No tests, builds, browser playback or GStreamer pipelines run.

Comment thread quest/m1/ietf-loc-timestamp.md

@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

for Opus tracks, and both audio consumers join that much earlier and discard
decoded samples stamped before the join group's start plus `warmup`. AAC-LC

P2 Badge Trim Opus pre-roll to the actual join target

When group boundaries are not exactly 80 ms before the requested live or seek point, using join group's start + warmup as the cutoff is incorrect. RFC 7845 section 4.6 says to begin decoding at least 80 ms before the target and discard output until the target; because subscriptions select whole groups, increasing the age budget can select a group much more or less than 80 ms earlier, causing this formula either to emit stale warmup audio or discard valid post-target audio. Preserve the original join target and trim to that timestamp instead.

ℹ️ 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/README.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

On the audio-warmup trim target (review on 3e5289c): this PR doesn't change that Goal; it only adds the constant-and-test bullet. Where the trim anchors is #5569's implementation decision, so I'm leaving it to that PR.

(Written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 15, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 15, 2026
…-1015-small

# Conflicts:
#	quest/m1/catalog-identity-js.md
@kixelated
kixelated enabled auto-merge October 15, 2026 18:36
@kixelated

Copy link
Copy Markdown
Collaborator Author

@codex review

(Written by Claude Opus 5.5)

@kixelated kixelated left a comment

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.

Automated review by review (OpenAI)

Reviewed commit: 133f126.

Preserving the browser QA requirement after #5552 deleted the implementation quest is useful. One new P2: the extracted browser quest still assumes every coded-size ceiling growth renames the track, contrary to the behavior and regression test that actually landed (inline).

The LOC wire-impact correction from my previous review remains unchanged and open; it is not a new finding. Other differences are imported main changes or equivalent plan text.

Verification limits: static comparison of the plan, landed identity implementation and tests through GitHub. No tests, builds or browser playback run.

Comment on lines +5 to +8
A real browser keeps playing across both renames
[#5552](https://github.com/moq-dev/moq/pull/5552) introduced: a codec change,
and a `Video.Encoder` growing past its coded-size ceiling. In both cases
`@moq/publish` mints a new `track` for the same rendition, and `js/watch`

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.

[P2] Match the browser check to the landed resize contract

#5552 deliberately excluded codedWidth/codedHeight from track identity. js/publish/src/video/encoder.test.ts:1483–1520 explicitly requires ceiling growth to keep its track when the codec string stays unchanged. Requiring both cases here to rename would reject the intended behavior. Split the QA expectations: a decoder-identity change must rename and preserve decoded playback; unchanged-codec growth must keep the track and present the new dimensions. Require a growth-triggered rename only when re-probing changes the codec string, and update the milestone summary accordingly.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

Reviewed commit: 133f126a06

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

@kixelated
kixelated added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit d76e034 Oct 15, 2026
15 of 16 checks passed
@kixelated
kixelated deleted the quest/plan-follow-ups-1015-small branch October 15, 2026 19:42
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.

1 participant