Skip to content

quest(m1): plan a regression net for moq-quic - #5767

Merged
kixelated merged 4 commits into
mainfrom
claude/moq-quic-test-coverage
Oct 16, 2026
Merged

kixelated merged 4 commits into
mainfrom
claude/moq-quic-test-coverage

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Summary

Plans a regression net for moq-quic so later QUIC changes can refactor aggressively: a new epic quest/m1/quic/coverage/, ranked first in the QUIC epic, plus a follow-up to delete the unused NewReno controller.

  • bench.md [M]: Criterion sweeps of stream scheduling, receive/reset, endpoint routing, and the wire codec, built on the pre-rewrite baseline so just bench <baseline> compares each rewrite
  • report.md [S]: just rs coverage <crate> and a nightly lcov artifact, no threshold
  • characterize.md [M]: golden scheduling order plus every uncovered frame, reset, limit, endpoint, and packet path
  • fuzz.md [M]: moq-net-style fuzz crate with upstream quinn's targets, frame decode, and a connection op-sequence target, nightly
  • sim.md [L]: deterministic seeded impairments in Pair, BBR3 as the harness default, property tests
  • new-reno.md [XS]: delete congestion::NewReno (0% covered, never instantiated)

Survey on b302891: 88.1% of production lines run, but RESET_STREAM is received 4 times in the whole suite, STREAMS_BLOCKED_BIDI never, set_max_concurrent_streams and RecvStream::received_reset are 0%, endpoint.rs is 86.5%, upstream's fuzz targets were never imported, there are no crate benchmarks, and the harness runs Cubic while production runs BBR3.

No public API or wire impact (quest files only).

Decisions

Goal: a regression net that pins current behavior; bugs found become follow-ups.

  • ✅ Yes, as stated
  • Also fix bugs found
  • Tests only, no bench

Priority (first answer)

  • m1 quic epic, ranked first
  • ✅ m1, blocks the rewrites
  • m2

Split

  • ✅ Sub-epic, 3+ quests
  • One quest
  • Split per refactor

Blocking (revisited: every m1 QUIC rewrite already has a branch, five have open PRs, and Required gates starting, not merging)

  • ✅ Rank first, no blockers
  • Gate merges in the plan
  • Block future m2 QUIC work

Baseline

API drift

  • ✅ Drive public Connection API
  • Per-PR adapter

Fuzz

  • ✅ Mirror moq-net + connection target
  • Parsers only
  • Parsers + longer runs

Sim

  • ✅ Seeded impairments + determinism
  • Targeted unit tests only
  • Sim + model checker

Bench (multi-select)

  • ✅ Stream send/schedule sweep
  • ✅ Receive/reassembly + reset
  • ✅ Endpoint routing sweep
  • ✅ Wire codec + ACK processing

Coverage

  • ✅ just recipe + nightly report
  • Recipe only
  • None

Controller for the harness

  • Run each under both
  • ✅ Flip harness default to BBR3
  • Keep Cubic

Scheduling tests

  • Shared invariants only
  • ✅ Pin exact old order

NewReno

  • ✅ Follow-up quest to delete
  • Test it here
  • Ignore

Start after merge

  • ✅ All five in parallel
  • Bench + coverage first
  • Bench only

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

Benchmarks, a coverage report, characterization tests, fuzzing, and a
seeded simulation, built on the pre-rewrite baseline so the open QUIC
rewrites can compare against it. Also plan deleting the unused NewReno.

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

coderabbitai Bot commented Oct 16, 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 2 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: 2f4800e6-6bab-4459-b96a-c1a085ac4d84
📥 Commits

Reviewing files that changed from the base of the PR and between b302891 and 1a12228.

📒 Files selected for processing: 8
  • quest/m1/quic/README.md
  • quest/m1/quic/coverage/README.md
  • quest/m1/quic/coverage/bench.md
  • quest/m1/quic/coverage/characterize.md
  • quest/m1/quic/coverage/fuzz.md
  • quest/m1/quic/coverage/report.md
  • quest/m1/quic/coverage/sim.md
  • quest/m1/quic/new-reno.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 16, 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-16T21:40:54.792582Z da6b20c 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.

@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: 1a122282be

ℹ️ 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/quic/coverage/bench.md Outdated
Criterion only compares cases present at the base, so b302891 has nothing to compare.

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

Copy link
Copy Markdown
Collaborator Author

@codex review

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

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

Copy link
Copy Markdown
Collaborator Author

@codex review

…st-coverage-eceaa5

# Conflicts:
#	quest/m1/quic/README.md
@kixelated

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Reviewed commit: da6b20c866

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

Copy link
Copy Markdown
Collaborator Author

Merging. Summary:

  • New epic quest/m1/quic/coverage/, ranked first in the QUIC epic and blocking nothing: benchmarks [M], coverage report [S], characterization tests [M], fuzzing [M], and a seeded simulation [L]. Plus quest/m1/quic/new-reno.md [XS] to delete the unused NewReno controller.
  • The decisions are listed in the PR description.
  • Review fixes:
    • The benchmarks compare against the commit that lands them, because Criterion only compares cases that exist at the base. A rewrite that merges first is compared with the suite cherry-picked onto both sides.
    • The simulation seed also drives BBR3's probe_rng_seed.
  • Merging main brought in feat(quic)!: reliable reset from a send-stream checkpoint #5690 and feat(quic)!: shard the relay's QUIC endpoint per core by default #5688. Both landed first, so the epic records that they take the merged-first comparison.

Codex review is clean on da6b20c and CI passes.

(Written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 16, 2026
Merged via the queue into main with commit 977223d Oct 16, 2026
7 checks passed
@kixelated
kixelated deleted the claude/moq-quic-test-coverage branch October 16, 2026 21:44
kixelated added a commit that referenced this pull request Oct 16, 2026
Keep #5767's regression net in the quic epic alongside the receive memory
coverage follow-up, and drop the completed receive-memory entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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