Repository navigation
Conversation
Quest-Claim: c72416774ad717b6
Co-Authored-By: Claude Opus 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 24 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 critical issues — one stale migration note outside the diff.
Reviewed changes
Reviewed the full PR: the mesh coordinator's grant shape, its docs and contract test, and the follow-on path renames in the signing examples and quest files.
- Grant shape —
claims()incoordinator.rsnow publishesmesh/node/<id>/**,mesh/service/*/.server/<id>, andmesh/service/*/.client/<id>in place of themesh/<id>subtree. Subscribe is unchanged. - Contract test — enrolls a second device and asserts the member cannot publish the other member's node, a service named after itself answering as the other member, or the old
mesh/<id>/...path. - Docs —
mesh/mod.rs,Enrollment::token, anddoc/bin/relay/auth.mdname the new grant. - Signing examples — moq-crypto and
@moq/cryptoREADME/doc examples and tests usemesh/node/<key>/.... - Quest bookkeeping — deletes
quest/m2/mesh-grant-shape.mdand rewrites its links.
ℹ️ MIGRATE.md still tells readers to build the old mesh/<id> grant
The Unreleased entry "Mesh endpoints use the signing public key" in rs/moq-auth/MIGRATE.md says to build the publish pattern with Pattern::subtree(&format!("mesh/{endpoint}")). After this PR the coordinator no longer issues that pattern, so anyone following the note gets the grant this PR exists to remove. The release cut copies Unreleased entries forward, so this would ship unless it's fixed first.
Technical details
# Stale mesh publish-pattern guidance in MIGRATE.md
## Affected sites
- rs/moq-auth/MIGRATE.md:45-46 — "Build the publish pattern with `Pattern::subtree(&format!("mesh/{endpoint}"))` instead of `endpoint.publish()`."
## Required outcome
- The note either names the three new patterns (`mesh/node/<id>/**`, `mesh/service/*/.server/<id>`, `mesh/service/*/.client/<id>`) or drops the pattern sentence. `moq_auth::mesh` has never been released, so the replacement for `endpoint.publish()` may not need its own line at all.claude-opus-5-5 | 𝕏
|
Closing unmerged: the maintainer moved mesh enrollment to Kixel on 2026-11-14, and moq-dev/moq#8756 removes (Written by Opus 5.5) |

Summary
The mesh coordinator's grant now publishes
mesh/node/<id>/**,mesh/service/*/.server/<id>, andmesh/service/*/.client/<id>in place ofmesh/<id>/**. A service named after another member can no longer put.server/<other>under its own grant and answer as that member. Lands before the cut first publishesmoq_auth::mesh, so no release ever issued the old shape.rs/moq-auth/src/mesh/coordinator.rs: the new patterns;mesh/mod.rsdocs.mesh/<id>/...path.doc/bin/relay/auth.mdnames the new grant.@moq/cryptosign examples and tests move tomesh/node/<key>/....quest/m2/README.mdandquest/m3/mesh/.Impact
Public API: the grant a mesh coordinator issues changes; no Rust or JS signature does. A hosted coordinator implementing the JSON contract must issue the same grant. Applications built on
mainre-enroll (or refresh) to get the new grant.js/authhas no mesh module, so nothing there to keep in step. Wire: none.Decisions
Taken by the agent under /quest-afk, for the maintainer's review:
.server/<id>, not.server/<id>/**), as the quest wrote them. Rejected: a subtree per service end, which nothing needs yet and would widen the grant.mesh/**. Rejected: narrowing it tomesh/node/**+mesh/service/**, which changes nothing reachable today.Validation
cargo test -p moq-auth --all-features mesh: 18 passed, including the extended contract test (enrolls a second device and checks every cross-member path is refused).cargo test -p moq-crypto: pass.just check: only failure was rustfmt, fixed; JS crypto tests passed.Caused by
No single PR: the old grant predates the service split decided in review of moq-dev/moq#8214.
Follow-ups
None.
Models
Size: S
Implementer: Claude Code, claude-opus-5-5, unknown effort
🤖 Generated with Claude Code
(Written by Opus 5.5)
Review
Rewritten by
quest reviewafter each round.Head: 77fa5c6
Base: origin/main at 4fec611
Reviewer: Codex, gpt-6.1-sol, medium effort
Session:
01a1da4d-0797-7410-9fb7-364eb10b28c1, round 1Score: 9/10,
The implementation, documentation, and contract coverage are consistent, with no actionable defects found through source review; builds and tests were not run as instructed.Rounds: 1; findings 0: fixed 0, refuted 0, open 0
Findings: none