Skip to content

quest: finish Scoped peers prove a route key - #8022

Merged
kixelated merged 3 commits into
mainfrom
quest/m2/cluster-routing/routes/proof
Nov 6, 2026
Merged

kixelated merged 3 commits into
mainfrom
quest/m2/cluster-routing/routes/proof

Conversation

@kixelated

@kixelated kixelated commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Completes quest/m2/cluster-routing/routes/proof.md.

Problem

moq-dev/moq#7937 implemented this quest's Goal: the lite-07 SETUP Route Key parameter (0x8) with its exporter-bound transcript, Rust and JS proving and verification, origin::Config::route_key, the relay's --cluster-route-key file, and the draft section. It also says it "Completes" the quest. Even so, it kept proof.md to record the 2026-11-05 decision. The quest has stayed ready since, and the routes epic still lists it as Required.

Approach

Delete the quest with quest rm, dropping its Required entry in quest/m2/cluster-routing/routes/README.md and its Related entry in quest/m2/cluster-routing/federation.md. Two prose sentences in those files also linked it. Those links are gone and each sentence keeps its other citation, Route session integration. (pullfrog[bot] pushed that fix as 5e1c0c3b, after my first commit left the links dangling.)

The decision is already recorded elsewhere, so deleting the file loses nothing:

  • The epic README carries it in Plan item 6, which cites moq-dev/moq#7937, and in the "Fresh routing identity" bullet (SETUP proof, exporter binding, random own identity).
  • session.md carries it in its 2026-11-05 keying decision (PeerSetup::route_key, --cluster-route-key, per-session key for unproven peers).
  • The draft and rs/moq-net/src/route/proof.rs pin the transcript.

Choices made without asking

  • Finish instead of re-scoping. On main I checked each Goal item: rs/moq-net/src/route/proof.rs, rs/moq-net/src/lite/setup.rs, rs/moq-relay/src/cluster.rs (--cluster-route-key), and js/net/src/lite/route_key.ts. Filing identities under the key belongs to Route session integration, as the quest's own Goal says. Nothing in this quest's scope is left.

Impact

Public API: none. Wire: none. Quest tree only.

Validation

  • quest check and quest check --base origin/main: pass (578 documents).
  • just check origin/main (nix develop): every check phase passed (quest, large_files, text, toml, biome, nix, justfile, shell, markdown, gh). test gh was cancelled after 50 minutes. Each of its commands run alone passed, except:
    • bash sh/local.sh python3 bench/build.test.py never finished. It runs bench/run.sh, which takes the host-wide benchmark lock /tmp/moq-bench.lock, and another worktree's bench/browser/run.sh origin/main --scenarios stats --rounds 5 held that lock. Copies of the same test from other sessions were stuck there for about two hours. This branch changes only quest/*.md, and the test is byte-identical to origin/main, so the wait is pre-existing.
    • python3 sh/rs/test-lints.test.py hit a 300 s cap under a load average of 45. Rerun without the cap, it passed (2 tests, 469 s).

Review

Skipped by Claude Code, Claude Opus 5.5, on head 5e1c0c3b6fd79fe4487538d32399c3a00dc5d9ee: too trivial to need one. The diff deletes a quest whose implementation already landed in moq-dev/moq#7937, along with its links in quest/. It changes no code, wire, or API, and quest check --base origin/main passes.

Follow-ups

  • bench/build.test.py, part of every just check through just gh test, takes the real host benchmark lock. It therefore blocks for as long as any benchmark session runs on the host. The test should take a lock of its own, such as one in its temporary repo, so the merge gate never queues behind a benchmark.
  • Before the lite-07 cut, confirm that a real Firefox WebTransport tab's route key proof verifies at the relay. moq-dev/moq#7937 left this as a known gap: tests compare the Rust and JS transcript vectors and both Rust exporter ends, but never run a browser exporter against the relay.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

kixelated and others added 2 commits November 5, 2026 22:29
#7937 implemented the lite-07 SETUP route key proof but kept the
quest file to record its decision, which the routes epic and session
integration already carry. Delete it and its links.

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

pullfrog Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

The Quest check failed because the PR deletes quest/m2/cluster-routing/routes/proof.md but two prose references to it remained, so quest check reported links that no longer resolve.

Removed the dangling references in quest/m2/cluster-routing/federation.md and quest/m2/cluster-routing/routes/README.md while keeping the surviving session.md link and surrounding prose. Verified every absolute /quest/... link in the tree now resolves, and pushed the fix to quest/m2/cluster-routing/routes/proof.

Task list (6/6 completed)

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

@kixelated kixelated changed the title Scoped peers prove a route key quest: finish Scoped peers prove a route key Nov 6, 2026
@kixelated
kixelated marked this pull request as ready for review November 6, 2026 08:34
@coderabbitai

coderabbitai Bot commented Nov 6, 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 5 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: 2a28f695-c705-4dd6-b9ec-17d5f6655992
Commits

Reviewing files that changed from the base of the PR and between 0672ad5 and 5e1c0c3.

Files selected for processing: 3

  • quest/m2/cluster-routing/federation.md
  • quest/m2/cluster-routing/routes/README.md
  • quest/m2/cluster-routing/routes/proof.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

@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

  • Deleted quest/m2/cluster-routing/routes/proof.md — the quest's Goal landed in #7937 (route::proof, SETUP parameter 0x8, JS route_key.ts, relay --cluster-route-key), and filing identities under the key belongs to session.md.
  • Removed its ## Required entry and decision-bullet link in routes/README.md, plus the link and ## Related entry in federation.md — both sentences keep the session.md citation and still read correctly.

I verified the PR's central claim rather than assuming it: a repo-wide grep finds no remaining reference to proof.md or "Scoped peers prove a route key", the decision survives in the epic README (Plan item 6 citing #7937, plus the "Fresh routing identity" bullet), in session.md's 2026-11-05 keying decision, and in the draft's Route Key Parameter plus rs/moq-net/src/route/proof.rs. The implementation files all exist, and deleting a finished quest matches how this tree retires other completed work.

ℹ️ Browser proof check has no quest-tree home after this

The known gap noted in the description, that no test runs a real WebTransport exportKeyingMaterial proof against the relay, was introduced by #7937 and is untouched here, so this is not a blocker. But this deletion removes the last quest-tree text that mentions browsers proving a key, and the lite-07 cut gate in quest/m2/lite07-finalize.md will no longer carry it. If that check is expected before the cut, it is worth adding there so it does not live only in PR descriptions.

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 6, 2026
Merged via the queue into main with commit 43fcb95 Nov 6, 2026
16 of 17 checks passed
@kixelated
kixelated deleted the quest/m2/cluster-routing/routes/proof branch November 6, 2026 16:06
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