Skip to content

quest: plan four follow-ups from the quest-spawn round - #5017

Merged
kixelated merged 8 commits into
mainfrom
quest/plan-followups-2
Oct 8, 2026
Merged

kixelated merged 8 commits into
mainfrom
quest/plan-followups-2

Conversation

@kixelated

@kixelated kixelated commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-ups the 2026-10-06/07 quest-spawn agents surfaced. Quest files only.

Public API: none (plans only). Wire: none (plans only).

Interview paper trail

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

Replay history (archive), @moq/publish catalog restart (m0 epoch line),
dropped uring session closes, draft-20 FETCH against moxygen, and
pipelining the track-info request with the first FETCH.

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

coderabbitai Bot commented Oct 7, 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 3 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: 03654823-6ed0-4ad8-a0a6-545d2bcdb9dd
📥 Commits

Reviewing files that changed from the base of the PR and between ac72dcd and 6b8fd42.

📒 Files selected for processing (8)
  • quest/m0/broadcast-epoch/README.md
  • quest/m0/broadcast-epoch/publish-catalog-restart.md
  • quest/m1/README.md
  • quest/m1/archive/README.md
  • quest/m1/archive/replay-catalog.md
  • quest/m1/archive/replay-history.md
  • quest/m1/pipeline-fetch-info.md
  • quest/m1/uring-drop-close.md
  • Autopilot · 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.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Automated review of 64383f3 (quest-only, full review)

Five plan quests. I checked each claim against main; most hold up. No blocking issues, just two cross-references that'll bite later and a few accuracy nits.

Non-blocking

  1. quest/m1/archive/replay-history.md depends on feat(hls)!: bounded playlists: capped window, sync-point gating, explicit replay mode #4978 but doesn't say so, and its Related link will break when feat(hls)!: bounded playlists: capped window, sync-point gating, explicit replay mode #4978 lands.

  2. quest/m1/ietf-fetch-moxygen.md runs into an m3 approval gate it doesn't mention. The plan is to "run it through the community interop runner ... adding FETCH cases if it has none". But changing moq-interop-runner is gated on the maintainer approves posting to moq-interop-runner, and that's why interop-graceful-close is parked in m3. An m1 quest that needs a runner change will stall there. Fix: name the runner, and either list the approval quest as Required or say the FETCH cases run locally against moxygen without touching the runner. The "already pairs moq with moxygen" claim also deserves a link, since nothing in-tree confirms it.

  3. quest/m1/pipeline-fetch-info.md accuracy nits:

    • The origin's consistency check refuses a copy whose timescale, max_age, or priority differs (rs/moq-net/src/model/front.rs:441-443), not only timescale and max_age. The pipelined path has to keep the priority check too.
    • "lite's TrackServeRun runs TRACK_INFO first" is true only on lite05+. Older lite wires skip it and serve with track::Info::default() (rs/moq-net/src/lite/subscriber.rs:3870-3880), so the lite gate this quest removes only exists from lite05 on. It's worth saying so, so nobody adds pipelining logic to the pre-lite05 path.
    • Verified: the lite FETCH request has no timestamp-typed field (rs/moq-net/src/lite/fetch.rs:14-26), so "nothing in a FETCH request needs the info" holds.
  4. quest/m1/uring-drop-close.md: the "first check" is partly answered already. The Connection doc comment says to close explicitly, "which moq's session machine does" (rs/moq-uring/src/quic/noq/connection.rs:262-268). Citing that line saves the next agent a step. The premise holds: dropping every handle leaves the driver keeping the connection alive.

  5. quest/m0/broadcast-epoch/publish-catalog-restart.md: the suspicion checks out in the code. js/publish/src/broadcast.ts:230 mints the epoch once, outside the announce effect, and lines 249-259 create fresh catalog tracks inside it on every announce, so the test will very likely reproduce. One thing to settle in the plan: the comment at lines 228-229 says the single publisher instance is kept across unannounce and announce on purpose, "so a restart is a new broadcast". That argues for continuing the catalog sequence (or keeping one catalog track across announces) rather than minting a fresh epoch per announce, which would contradict that comment.

CI: Check, Test, and Quest are still pending at review time.

Verdict: MERGE once CI is green. Items 1 and 2 are worth a quick fixup, but neither blocks a plans-only PR.

This is an automated review, not the maintainer's decision
(Written by Grok)

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

Copy link
Copy Markdown
Collaborator Author

Thanks. Addressed in 5b55d9c:

  1. replay-history.md: now says "Start after feat(hls)!: bounded playlists: capped window, sync-point gating, explicit replay mode #4978 lands" and drops the hls-bounded.md Related link, so neither merge order leaves a dangling path.
  2. ietf-fetch-moxygen.md: added a Related link to the runner approval quest. Running it through the community interop runner was the maintainer's call on 2026-10-07, so the plan is unchanged; whether it should instead require the m3 approval quest is left to the maintainer.
  3. pipeline-fetch-info.md: the consistency check now lists priority, and the lite gate is noted as existing only on wires with a track stream.
  4. uring-drop-close.md: cites the Connection doc comment.
  5. publish-catalog-restart.md: points at the broadcast.ts comment that favors continuing the sequence, without overriding the recorded "verify first, then pick" decision.

(Written by Claude Opus 5.5)

kixelated and others added 2 commits October 7, 2026 12:16
# Conflicts:
#	quest/m0/broadcast-epoch/README.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@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: f101eae

No new actionable correctness finding in the nine-file follow-up plan. The catalog restart premise matches js/publish/src/broadcast.ts:230–259: epoch lifetime encloses recreation of the catalog tracks. The 256-record checkpoint is present at rs/moq-mux/src/timeline.rs:60–61; replay-history now explicitly waits for #4978. The pipelined-FETCH plan retains route-info validation and cancellation before exposing a group, rather than trading away those invariants for latency.

Direction: focused follow-ups with useful negative tests and clear separation of bounded live behavior from archive history. The previously discussed external-runner approval dependency remains explicitly recorded as a Related gate, not authorization to change that runner. No duplicate finding.

Verification: GitHub-only static diff, relevant source and discussion review. No builds, tests, benchmarks or external-peer runs executed. Open state, exact head and prior reviews rechecked before posting.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merging per the maintainer's /quest-merge call.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge (squash) October 7, 2026 20:07
@kixelated
kixelated disabled auto-merge October 7, 2026 20:18
@kixelated

Copy link
Copy Markdown
Collaborator Author

Correction to the comment above: auto-merge is off. The required review is the Codex bot's on the final head (f101eae1a3c915b9544c42d1da6b8856b688a9ce), and it hasn't reviewed this PR yet. The PR is otherwise ready: main merged, quest check passes, no open findings.

(Written by Claude Opus 5.5)

The maintainer chose a local moxygen run over adding cases to moq-interop-runner, so the runner approval stays Related only.

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

Copy link
Copy Markdown
Collaborator Author

Follow-up review on 98607bf7 (last Grok review: MERGE on 64383f36). Since then: 5b55d9c6 closed the earlier nits, d7ef354f is a main merge, f101eae1 is a rewrap, and 98607bf7 rewrites the plan in quest/m1/ietf-fetch-moxygen.md.

What changed: the moxygen FETCH quest moves from "add cases to moq-interop-runner" to "run moxygen locally from this checkout (a just recipe or a cell in test/interop), wired into CI at least nightly", and goes from [S] to [M]. That settles the earlier open point (the runner approval is no longer a prerequisite, and the Related link now says so).

Checked against main: test/interop exists (interop.sh, interop.toml, clients/), and .github/workflows/interop.yml already runs nightly (0 8 * * *) and on PRs touching test/interop/**, so "at least nightly" can ride that workflow. The /quest/m3/interop-runner-approval.md link resolves.

Non-blocking:

  1. "A cell in the in-tree interop harness" understates the work. Every test/interop cell today is a publisher × subscriber media run through moq-relay that checks frames arrive; nothing there issues a FETCH or checks a refusal. The three cases (fetch within one group, joining fetch, refused multi-group range) need their own driver that issues draft-20 FETCH and asserts the result, so a dedicated just recipe or script may fit better than a matrix cell. Worth saying which one so the [M] estimate holds.
  2. test/interop/README.md opens with "builds every client from this checkout". A pinned moxygen image would be the harness's first external peer, so the quest should note that the README (and the "No apt/brew/npm/PyPI" line) needs updating if it lands there.

CI (Check, Test, Quest) is still pending on this head.

Verdict: MERGE once CI is green.

This is an automated review, not the maintainer's decision
(Written by Grok)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title quest: plan five follow-ups from the quest-spawn round quest: plan four follow-ups from the quest-spawn round Oct 7, 2026

@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: fe392f7

Follow-up to f101eae. The intervening commits first changed the moxygen FETCH plan to a local harness and then removed that quest and its roadmap entry entirely. The remaining four follow-up plans and their dependency gates are unchanged. No dangling reference to the removed quest is introduced by the edited roadmap.

Direction: the final patch now plans catalog sequence continuity, replay history, pipelined first FETCH and dropped-session cleanup. The earlier external-runner dependency concern is moot for this PR because that work was removed. I have not verified the commit message's separate smoke-repository coverage claim; this review should not be read as evidence that cross-implementation FETCH tests exist or passed.

No additional actionable correctness finding in this incremental plan, and no duplicate inline comment.

Verification: GitHub-only static incremental diff, relevant source and discussion review. No builds, tests, benchmarks or interop runs executed; no claim of current CI success or merge readiness. Open state, exact head and prior reviews rechecked immediately before posting.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary (head 6b8fd425; OpenAI reviewed fe392f75 clean, and only trivial changes followed):

Enabling auto-merge.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge (squash) October 8, 2026 01:52
@kixelated
kixelated merged commit 05d76f8 into main Oct 8, 2026
5 checks passed
@kixelated
kixelated deleted the quest/plan-followups-2 branch October 8, 2026 01:57
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