Skip to content

quest: plan the 2026-11-09 /quest-complete follow-ups; quarantine the slow mesh tests - #8336

Merged
kixelated merged 8 commits into
mainfrom
quest-plan/followups-2026-11-09
Nov 9, 2026
Merged

kixelated merged 8 commits into
mainfrom
quest-plan/followups-2026-11-09

Conversation

@kixelated

@kixelated kixelated commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

/quest-complete on 2026-11-09 collected follow-ups from the PRs it landed and from the nightly triage. Each needs a quest, or an edit to one, so the work isn't lost.

Approach

Planned with the maintainer, one interview round per follow-up. New quests:

  • quest/m2/cluster-routing/routes/relay-receive.md [L]: a relay folds received route batches incrementally. Follow-up of moq-dev/moq#8293.
  • quest/m2/api-shape/auth-sign.md [XS]: JS Key.sign takes exactly Claims, like Rust. Follow-up of moq-dev/moq#8296.
  • quest/m0/nightly/{qmux-bench-peer,session-bench-handshake,bench-regressions,moxygen-conformance}.md: four Nightly failures nothing owned. Triaged from runs 42377867523 and 42487375545.
  • quest/m1/audio-jitter-target/opus-stalled-share.md [S]: the Chromium Opus rows over the stalled-share budget. moq-dev/moq#8058 merged meanwhile, so the quest starts by grading the nightlies after it.
  • quest/m0/test-flakes-2/{compressed-frame-cap,redropped-reoffer}.md [S]: the two load flakes moq-dev/moq#8333 quarantines.
  • quest/m0/test-flakes-2/mesh-withdraw-runtime.md [S]: moq-net's two 200-seed mesh_withdraw::*_meshes_retract_once tests take 40 to 45 s alone and hit nextest's 60 s kill under load (seen in moq-dev/moq#8247). This PR also quarantines them with #[ignore] and sh/gh/test-inventory.allow entries, per the flaky-test rule.

Edits:

Decisions

Each decision is also recorded in its quest's Plan.

  • Relay receive path: ✅ an [L] child of the routes epic in m2 (rejected: m3, drop).
  • Key.sign: ✅ its own [XS] quest in m2/api-shape (rejected: fold into feat(js)!: JS packages' small surface fixes #8296, drop).
  • Dependency notes: ✅ fix both as proposed (rejected: a whole-tree /quest-audit).
  • "Delete anything unused in general" (on moq-dev/moq#8302): ✅ a standing preference plus the pre-cut audit (rejected: preference only, feat(moq-quic)!: drop public surface nothing outside moq-quic uses #8302 only). The api-shape epic already owned the "used only by its definition" sweep, so its rule changed instead of a new quest being added.
  • Nightly: ✅ plan the qmux bench peer (XS), the moq-transport-22 session-bench handshake (S), bisecting the bench regressions (M), and moxygen conformance (M), all in m0 (rejected: dropping moxygen's lane). Also ✅ the Chromium Opus rows as an [S] child of audio-jitter-target in m1 (rejected: drop). Not planned: one-night bench moves near the paired threshold, a one-off browser bench error, and failures that main or moq-dev/moq#8290 already fix.
  • The two load flakes join the test-flakes-2 epic in m0, per that epic's rule that flakes are m0.
  • Slow mesh tests: ✅ quarantine now and plan an [S] quest (rejected: quest only, keeping them in the gate; nightly with no quest).

Impact

Quest files, plus two #[ignore] attributes in rs/moq-net/tests/integration/mesh_withdraw.rs and their allowlist entries. No public API or wire change.

Follow-ups

None.

Models

Size: S

  • Implementer: Claude Code, claude-opus-5-5, high effort

🤖 Generated with Claude Code

(Written by Claude Opus 5.5 with high effort)

Review

Rewritten by quest review after each round.

  • Reviewer: Codex, gpt-6.1-sol, medium effort
  • Session: 01a1be90-e115-70e2-93d5-8e5f7ac7ef56, round 2
  • Head: a32c75b
  • Base: origin/main at fae0276
  • Score: 9/10, The incremental changes clarify the tracked test quarantines and correctly focus the mesh-test follow-up on CPU cost, with no actionable defects found by source review; builds and tests were not run as instructed.
  • Findings: none

kixelated and others added 6 commits November 8, 2026 18:17
…lling; fix two dependency notes; unused surface is deleted

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lan their fix

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title quest: plan the 2026-11-09 /quest-complete follow-ups quest: plan the 2026-11-09 /quest-complete follow-ups; quarantine the slow mesh tests Nov 9, 2026
@kixelated
kixelated marked this pull request as ready for review November 9, 2026 04:29
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

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 14 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

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ec616660-6abd-4ae2-a1d3-34d88de156e8
Commits

Reviewing files that changed from the base of the PR and between c5be911 and a32c75b.

Files selected for processing: 19

  • quest/m0/nightly/README.md
  • quest/m0/nightly/bench-regressions.md
  • quest/m0/nightly/moxygen-conformance.md
  • quest/m0/nightly/qmux-bench-peer.md
  • quest/m0/nightly/session-bench-handshake.md
  • quest/m0/test-flakes-2/README.md
  • quest/m0/test-flakes-2/compressed-frame-cap.md
  • quest/m0/test-flakes-2/mesh-withdraw-runtime.md
  • quest/m0/test-flakes-2/redropped-reoffer.md
  • quest/m1/audio-jitter-target/README.md
  • quest/m1/audio-jitter-target/native-rendition-delay.md
  • quest/m1/audio-jitter-target/opus-stalled-share.md
  • quest/m2/api-shape/README.md
  • quest/m2/api-shape/auth-sign.md
  • quest/m2/cluster-routing/routes/README.md
  • quest/m2/cluster-routing/routes/relay-receive.md
  • quest/m2/tokio-resolved-options.md
  • rs/moq-net/tests/integration/mesh_withdraw.rs
  • sh/gh/test-inventory.allow
Finishing Touches

Simplify code

  • Commit to this branch
  • Create a new PR
  • 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

@kixelated
kixelated added this pull request to the merge queue Nov 9, 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 8c5c3e4. No actionable findings.

The two random-mesh test quarantines have matching inventory entries and a concrete follow-up preserving the 200-seed coverage and requiring re-enablement; the other mesh tests remain enabled. Checked the follow-up plans and their epic links, dependency notes, and the QMux benchmark's missing fake-peer transport parameters. The Opus plan correctly calls for grading post-#8058 nightlies before changing playback or its budget.

This PR records future fixes and removes two expensive tests from the normal gate; it does not resolve those failures yet. Verification: GitHub-only static diff/source review; no test runs, load reproduction, benchmark bisects, or independent validation of the reported nightly measurements.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

The quarantine and its tracking are right, but mesh-withdraw-runtime.md's plan misdiagnoses why the two tests take 40 s, so the fix it points at cannot work as written.

Reviewed changes

  • Nightly causes planned — four new quest/m0/nightly children (qmux startup fake peer, moq-transport-22 session handshake, the two bench regressions, moxygen conformance), a dated triage record in the epic README, and the dropped candidates named.
  • Load flakes planned — compressed-frame-cap.md and redropped-reoffer.md for the two tests #8333 skips, matching that PR's evidence and suspected cause.
  • Chromium Opus budget — new m1/audio-jitter-target/opus-stalled-share.md that starts by grading the nightlies after #8058, plus native-rendition-delay.md dropping its "start after #8272" note.
  • Relay receive cost — new [L] routes/relay-receive.md child of the routes epic; its View::merge/retire and node::State::home claims check out against rs/moq-net/src/route/{view,mod,node}.rs.
  • API shape — new [XS] api-shape/auth-sign.md describing the real js/auth sign signature, and the epic rule switching to deleting unused public surface and sweeping the JS packages.
  • Mesh quarantine — #[ignore] on both mesh_withdraw::*_meshes_retract_once tests plus matching sh/gh/test-inventory.allow entries; no --run-ignored run selects them, so the entries are the right kind.
  • Waiting item — tokio-resolved-options.md now waits on the still-open #8265.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Comment thread quest/m0/test-flakes-2/README.md Resolved
@kixelated
kixelated removed this pull request from the merge queue due to a manual request Nov 9, 2026
…w flakes

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

moq-bot Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

quest land watch: the merge queue removed this pull request at 8c5c3e4 because kixelated removed it (manual).

Its head has moved to e679b51 since, and a push by anyone but the land fixer ends the pick: the watcher leaves this pull request alone until a maintainer enqueues it again.

(written by quest land watch)

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 a32c75b incrementally from 8c5c3e4. No new actionable findings.

The mesh follow-up now correctly starts with profiling CPU cost: these tests already use the simulated clock and sim::idle(), so switching away from wall-clock waits would not fix their runtime. The plan preserves all 200 seeds and requires re-enabling the tests or giving them a nightly caller. The epic's quarantine history is updated; the quarantine code and inventory entries are unchanged.

Verification limits: GitHub-only static diff/source review; no profiling, load reproduction, or tests run. The reported timing remains unverified.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

  • Mesh test plan re-diagnosed — mesh-withdraw-runtime.md now attributes the 40 s to per-seed CPU under #[kio::test]'s single-threaded simulated clock, drops the wall-clock-hold and concurrency remedies, and points at profiling one seed to cut its setup/route-change cost, keeping seed cuts as the last resort and nightly as the fallback.
  • Dated triage record — test-flakes-2/README.md gains the Added 2026-11-09 paragraph naming #8333's two test.skips and this PR's two #[ignore]s, and its Required line now describes the tests as costing seconds of CPU rather than running on the test clock.

Both concerns from the prior review are addressed: the simulation claim matches rs/kio/src/clock/sim.rs ("single-threaded... Time never moves on its own"), withdrawal_counts loops over 200 seeds (rs/moq-net/tests/integration/mesh_withdraw.rs:620-639), and the new epic paragraph matches the form of the prior batches.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated
kixelated added this pull request to the merge queue Nov 9, 2026

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

  • FFI warmup record updated — the epic README's 2026-11-08 warmup entry now records that #8329 moved the test to the paused clock, re-enabled it, and deleted its child, replacing the stale "quarantined until its child fixes it" note.

This matches #8329's merged change: the test runs on #[tokio::test(start_paused = true)] (rs/moq-ffi/src/media.rs:1626) with no #[ignore], and that PR removed the quest file and epic link. The appended-after-the-fact style matches the existing entries at test-flakes-2/README.md:134-146.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Merged via the queue into main with commit 839f0bb Nov 9, 2026
6 of 8 checks passed
@kixelated
kixelated deleted the quest-plan/followups-2026-11-09 branch November 9, 2026 05:07
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