Repository navigation
Conversation
Quest-Claim: 545b5190af68c5ce
Strip WARM_START, WARM_UPDATE, WARM_END, and SUBSCRIBE's Warm byte from the draft, rs/moq-net, and js/net, and drop sweep_cache_routing from the merge gate (sweep_cache_routing_long still runs nightly). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou'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 10 minutes. View limit details
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. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
This review covers the full PR: removing lite-07-wip warm routes from the draft, rs/moq-net, and js/net, plus the quest and gate cleanup.
- Draft: drops the Warm Routes section, the WARM_START/WARM_UPDATE/WARM_END message sections, the Warm ID counter, and the
Warmfield on SUBSCRIBE and SUBSCRIBE_UPDATE. The Route ID references, the Refused Content text, and the changelog stay consistent. 0xC to 0xE are left unassigned. - Rust codec: deletes the warm
AnnounceBroadcastvariants,Warm,Refusable::{WarmStart, WarmUpdate},Refusal::Carrier,Version::has_warm,instance::{encode_copy, decode_copy}, and theWarmbyte read and written by SUBSCRIBE. Types 12 to 14 now go to the length-skip_ => Skippedarm on lite-07, so a peer still sending them doesn't break the stream. - JS codec: deletes
hasWarmandencodeWarm/decodeWarm.announce.tsalready skipped 0xC to 0xE as unknown types, so it needed no change. - Tests and gate: removes the gate's
sweep_cache_routing. The nightlysweep_cache_routing_longstill runs fromtest/route-sweep.shwith the same seed, and the Rust and JS fixture byte offsets now match the shorter SUBSCRIBE and SUBSCRIBE_UPDATE. - Quests: deletes
warm-routes-wire.mdand its links.select.mdpoints at250a13a17for the restore; I confirmed that commit is onmainand still has the warm codecs.
I searched the repo for leftover references (has_warm, hasWarm, WarmStart, #warm-routes, Refusal::Carrier, sweep_cache_routing) and found none outside quest history and older changelog entries.
claude-opus-5-5 | 𝕏

Finishes
quest/m2/warm-routes-wire.md(deleted here, with its links), per the maintainer's pick (b) on moq-dev/moq#8764: lite-07 freezes without warm routes.Summary
Warmfield of SUBSCRIBE and SUBSCRIBE_UPDATE, plus their refused-content, error, and changelog lines.rs/moq-net: drops the threeAnnounceBroadcastvariants,Warm,Refusable::{WarmStart, WarmUpdate},Refusal::Carrier,Version::has_warm, the instance copy codec, and theWarmbyte read and written by SUBSCRIBE and SUBSCRIBE_UPDATE. A peer that still sends types 12 to 14 gets them skipped as unknown, like any unassigned announce type.js/net: dropshasWarmand theWarmbyte codec.sweep_cache_routing(100 scenarios each way, about 36 s in a debug run, per the quest) is deleted.sweep_cache_routing_longis unchanged and still runs nightly fromtest/route-sweep.sh. The rule's simulator inroute/tests/cache.rsstays, with no wire behind it.m3/cache-routing/select.mdnow says the freeze happened, keeps the measure-first step, and says where to restore the draft section and codecs from (250a13a17); the epic README andtransient-cycles.mdmatch.Public API and wire
Public API: none. Wire (breaking, lite-07-wip only, which changes freely): the
Warmbyte no longer ends SUBSCRIBE and SUBSCRIBE_UPDATE, so a build from before this change cannot talk lite-07-wip with one after it. The latestreleasebranch never carried the warm wire, so this bringsmaincloser to it, not further.Migration: none for users; nothing public used the warm messages.
Choices for review
sweep_cache_routinginstead of marking it#[ignore]: the long sweep is the same code at 30 times the scenarios and already runs nightly, so an ignored copy would never run anywhere. Its seed0xcac4_e5eeis now inline in the long sweep, which is unchanged otherwise.select.mdnames the commit.select.mdalready carries the measurement as its first step.Validation
just check(rs, js, drafts, markdown, quest) passes, twice, before and after the quest edits;quest check --base origin/mainpasses.just rs test -p moq-net --features async: 3986 passed. Two wire fixtures (lite07_refuses_an_empty_list_and_unknown_anchors, and JSa lite-07 list decodes as the span covering it) assumed the trailingWarmbyte and were updated.just js test-changedfor@moq/net: 3341 tests pass.just test interop --all: all checks passed, with lite-07-wip over Rust, Node, Bun, and Python.Follow-ups
None.
Models
Size: S
Implementer: Claude Code, claude-sonnet-5-5, unknown effort (arm B)
🤖 Generated with Claude Code
Review
Rewritten by
quest reviewafter each round.Head: 5aab0ca
Base: origin/main at ca88fc1
Risk: high,
Removing wire-protocol behavior could break interoperability with dependent implementations; reverting restores the code but requires affected deployments to roll back.Classified: medium by default
Reviewer: Codex, gpt-6.1-sol, medium effort
Session:
01a1dfb1-1854-73c2-bfbb-63b9df04fa46, round 1Score: 9/10,
Source review found the removal coherent across the draft and both wire implementations, with no actionable regressions; readiness remains subject to CI because builds and tests were not run.Raised the risk to high:
Removing wire-protocol behavior could break interoperability with dependent implementations; reverting restores the code but requires affected deployments to roll back.Rounds: 1; first round 0; findings 0: fixed 0, refuted 0, open 0
Findings: none