Skip to content

quest: plan follow-ups from the m0/m1 spawn run - #6186

Merged
kixelated merged 4 commits into
mainfrom
quest/plan-followups-1021
Oct 21, 2026
Merged

kixelated merged 4 commits into
mainfrom
quest/plan-followups-1021

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Plans the follow-ups raised by the m0/m1 quest-spawn run's PRs, as settled with the maintainer in the 2026-10-21 /quest-plan interview. Quest files only: no code, public API, or wire change.

New m1 quests

New m2 quests

Edited quests

  • m1/ts-reliability/pmt-lifecycle.md - adds the open case of a PAT naming a program whose PMT never arrives
  • m1/resume-datagrams.md - also clamps the front's new-copy subscription to the readers' floor
  • m1/subscribe-ranges/dynamic.md - adds a fill bench swept over subscribers x misses
  • m1/README.md, m2/README.md, and the ts-reliability, auth, test-flakes-2, and ietf-extension epic READMEs list the new children; test-flakes-2 notes the 2026-10-21 addition

Notes on the spec:

  • The recovery-verdicts quest is not on main yet (planned in moq-dev/moq#6102), so the route_failed / ROUTE_FAILURES alignment from moq-dev/moq#6143 sits in resume-rust-end.md's Plan, to fold into recovery-verdicts if that lands first.
  • m1/drain-cleanup.md was deleted by moq-dev/moq#6144, so goaway-deadline.md cites the PR instead of linking the quest.
  • Epic children are listed in their epic README only, matching how the milestones list epics.

Dropped in the interview

  • IETF Object IDs as frame ordinals: only when a consumer needs it
  • Renaming the session_delivery_* bench IDs: loses bench history for a cosmetic gain
  • Close-path investigation (headless Chromium WebTransport localhost write error; relay WebSocket close TCP reset)
  • JS on-demand tracks servable during linger
  • Priority-ordered stream open: already owned by m1/egress-held-state.md and m1/track-priority-scope.md

Interview paper trail

  • R1 Resume: ✅ One m1 [S] quest | One m2 [S] quest | Only the declared end
  • R1 TS clock: ✅ m1 quest + fold PAT | Both into existing quests | m2 quest + fold PAT
  • R1 Auth: ✅ m1 [S] + m2 [XS] | One m1 quest | OBS only in m1
  • R1 IETF requests: ✅ One m2 [S] quest | One m1 [S] quest | Drop
  • R2 GOAWAY/js: ✅ GOAWAY m1, js m2 | All m1 | GOAWAY into drain-cleanup
  • R2 Lazy IETF: ✅ One m2 [L] child (+ keyed polling [S] m2 gated on a bench) | m1 child of the epic | Keyed polling only
  • R2 net internals: ✅ m1 [M] after moq-dev/moq#6176 (rename dropped) | m1 [M] + rename | m2 [M]
  • R2 JS parked: ✅ m1 [S] quest | m2 [S] quest | Drop
  • R3 Resume floor: ✅ Fold into resume-datagrams | Own m1 [S] quest | Into resume-rust-end
  • R3 START parity: ✅ JS m1 [XS], 05/06 m2 | Both m1 | JS only, drop 05/06
  • R3 Flakes: ✅ Two m1 quests | One m1 quest | Flakes only
  • R3 CI: ✅ 4 quests in m1 | 2 quests in m1 | Cost m1, rest m2
  • R4 IETF timed: ✅ m1 [S] under ietf-extension | m2 [S] | Drop
  • R4 Benches: ✅ Fill bench in dynamic quest, sweep m2 | Two m2 quests | Both m1
  • R4 Cleanups (multi): ✅ reload.ts userinfo m1 [XS] ✅ FromStr m2 [S] ✅ Dead items m2 [S] | Object IDs m3 [M]
  • R4 Investigate (multi): ✅ moq-quic silent-peer drain m1 [S] | Close-path investigation m2 [S] | JS linger on-demand m2 [S]

Checks

  • quest check: 448 documents ok
  • just check: pass

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

Twenty-five new quests (sixteen m1, nine m2) and Plan edits to
pmt-lifecycle, resume-datagrams, and subscribe-ranges/dynamic, as settled
in the 2026-10-21 /quest-plan interview.

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

coderabbitai Bot commented Oct 21, 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 23 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: 2d5dc99e-62e3-4273-8e32-ae2491acb0c3
📥 Commits

Reviewing files that changed from the base of the PR and between fe3b1c1 and 6558d04.

📒 Files selected for processing: 34
  • quest/m1/README.md
  • quest/m1/audio-devices-arm.md
  • quest/m1/auth/README.md
  • quest/m1/auth/bindings-polish.md
  • quest/m1/binding-check-cost.md
  • quest/m1/ci-housekeeping.md
  • quest/m1/goaway-deadline.md
  • quest/m1/ietf-extension/README.md
  • quest/m1/ietf-extension/serve-timed.md
  • quest/m1/interop-finish.md
  • quest/m1/js-parked-expiry.md
  • quest/m1/js-reload-userinfo.md
  • quest/m1/js-start-parity.md
  • quest/m1/net-internals.md
  • quest/m1/quic-silent-peer-drain.md
  • quest/m1/resume-datagrams.md
  • quest/m1/resume-rust-end.md
  • quest/m1/smoke-dependabot.md
  • quest/m1/subscribe-ranges/dynamic.md
  • quest/m1/test-flakes-2/README.md
  • quest/m1/test-flakes-2/three-flakes.md
  • quest/m1/ts-reliability/README.md
  • quest/m1/ts-reliability/pmt-lifecycle.md
  • quest/m1/ts-reliability/release-clock-false-alarms.md
  • quest/m2/README.md
  • quest/m2/bench-transport-sweep.md
  • quest/m2/drop-dead-items.md
  • quest/m2/from-str-trait.md
  • quest/m2/go-first-dial-failure.md
  • quest/m2/ietf-lazy-discovery.md
  • quest/m2/ietf-request-order.md
  • quest/m2/js-request-stream.md
  • quest/m2/keyed-prefix-polling.md
  • quest/m2/lite-legacy-gap.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 21, 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-21T17:11:12.706857Z 6558d04 New commits
ℹ️ 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: 1a554d2c1f

ℹ️ 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 on lines +23 to +25
Decided 2026-10-21 with the maintainer: one quest for the four, since each
is small. Reproduce each before fixing, and follow the epic's rules: no
retries, sleeps, or raised timeouts.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Split the unrelated flake fixes

Split these four fixes into separate children instead of implementing them as one quest. They touch unrelated OBS C++, js/net memory accounting, the audio-quality harness, and interop dependency setup, with no shared fixture; this also contradicts the epic's existing rule in quest/m1/test-flakes-2/README.md that each flake lands independently unless it shares a fixture. Bundling them makes any one investigation or failure block the other fixes and produces an unfocused PR.

AGENTS.md reference: AGENTS.md:L22-L24

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.

Declining: grouping the four was the maintainer's call in the 2026-10-21 /quest-plan interview (R3 Flakes, recorded in the PR body), and the epic README's 2026-10-21 note records it as an exception to the one-child-per-flake rule. Each fix is XS, so one investigation stalling can be split off then without blocking the rest.

(Written by Claude Opus 5.5)

Comment on lines +5 to +7
Three small CI changes land together:

- The merge queue's nextest runs with `NEXTEST_TEST_THREADS=24`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Separate the independent CI housekeeping work

Split the nextest concurrency tuning, Pages artifact cleanup, and actionlint configuration into independent quests. They have separate validation and readiness conditions, and the actionlint item is explicitly blocked on an external release; the later plan to “land the rest and leave this bullet” would leave this quest only partially completed rather than keeping each implementation PR focused and independently landable.

AGENTS.md reference: AGENTS.md:L22-L24

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.

Declining: the CI grouping was the maintainer's call in the 2026-10-21 /quest-plan interview (R3 CI, "4 quests in m1"). The three changes are each a few lines, and the Plan already handles the external actionlint release: if it has not reached the dev shell, the rest lands and the quest remains as that single waiting bullet, which is the outside-party shape the quest guide asks for.

(Written by Claude Opus 5.5)

@kixelated

Copy link
Copy Markdown
Collaborator Author

@codex review

(Written by Claude Opus 5.5)

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: 98d395eb75

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

# Conflicts:
#	quest/m1/test-flakes-2/README.md
@kixelated
kixelated added this pull request to the merge queue Oct 21, 2026
Merged via the queue into main with commit d1a81e3 Oct 21, 2026
10 checks passed
@kixelated
kixelated deleted the quest/plan-followups-1021 branch October 21, 2026 17:08

@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: 6558d0462a

ℹ️ 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 on lines +21 to +22
- Port #6144's `a_stalled_goaway_write_is_still_closed_at_the_deadline` to
moq-net and js/net, on a mocked clock, for lite and IETF.

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 Remove the nonexistent JS GOAWAY write case

At c51941f, js/net has no production outbound GOAWAY path to which this regression can be ported: Lite.Connection.close() in js/net/src/lite/connection.ts:208-214 and IETF.Connection.close() in js/net/src/ietf/connection.ts:272-278 start a one-second withTimeout before draining and then abort, while production GOAWAY handling is receive-only. JS callers therefore cannot hang on the stalled GOAWAY write described here, and implementing this bullet would silently expand the quest into adding outbound GOAWAY behavior. Remove js/net from this quest, or explicitly scope that new behavior and update the stated API/wire impact.

AGENTS.md reference: AGENTS.md:L62-L62

Useful? React with 👍 / 👎.

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