diff --git a/quest/m1/README.md b/quest/m1/README.md index bacac369a2..3105cb6c2a 100644 --- a/quest/m1/README.md +++ b/quest/m1/README.md @@ -22,7 +22,6 @@ QUIC studies there on that rule. ## Required -- [moq-transport peers are plain clients](/quest/m1/ietf-cluster-off.md) - no moq-transport session negotiates the cluster extension, since cluster links are moq-lite only - [Bounded stats aggregate](/quest/m1/stats-aggregate-bound.md) - the stats aggregator folds departed nodes into a retired total after a grace window, so its memory stops growing with node churn - [Stats epochs](/quest/m1/stats-epoch.md) - each stats producer publishes under `.../node//@`, so a restarted node never reuses a name - [Cluster routing](/quest/m1/cluster-routing/README.md) - any node routes toward a broadcast's origin over CDN and P2P links alike, with per-origin routes and path-less announces diff --git a/quest/m1/cluster-routing/README.md b/quest/m1/cluster-routing/README.md index d6873ebd0e..a8c5e0becd 100644 --- a/quest/m1/cluster-routing/README.md +++ b/quest/m1/cluster-routing/README.md @@ -81,8 +81,6 @@ vector the 2026-09-30 cache-tiers audit kept: Kept from 2026-09-30: core links are configured and may skip PoPs; Warm and Cold collapse to one cost ([One route cost](/quest/m1/route-cost.md)); -cluster links are moq-lite only -([moq-transport peers are plain clients](/quest/m1/ietf-cluster-off.md)); `--hop` removal and One route cost land on their own. Decided 2026-10-03: a concrete path is a source's identity, whoever serves it ([Selection](/quest/m1/cluster-routing/selection.md)). diff --git a/quest/m1/cluster-routing/transit.md b/quest/m1/cluster-routing/transit.md index 5bfb336887..46bc11f2f6 100644 --- a/quest/m1/cluster-routing/transit.md +++ b/quest/m1/cluster-routing/transit.md @@ -62,7 +62,3 @@ node. Public API: an `upstream` peer attribute and a TLS qmux URL scheme. `cluster.tier` is unrelated: it stays the billing and stats label. Wire: none. - -## Related - -- [moq-transport peers are plain clients](/quest/m1/ietf-cluster-off.md) - cluster links are lite-only diff --git a/quest/m1/ietf-cluster-off.md b/quest/m1/ietf-cluster-off.md deleted file mode 100644 index 3f6cb65e25..0000000000 --- a/quest/m1/ietf-cluster-off.md +++ /dev/null @@ -1,35 +0,0 @@ -# [S] moq-transport peers are plain clients - -## Goal - -No moq-transport session negotiates the MoQ Cluster extension -(`draft-lcurley-moq-cluster`). A moq-transport peer is always served as a -plain client: it never receives Hop IDs or relay costs and never acts as a -cluster link. Cluster links are moq-lite only. moq-transport end users stay -fully supported. - -## Plan - -Why: cluster links are moq-lite only (the 2026-09-30 topology decision), so -a moq-transport peer stays a plain client until -[moq-transport cluster peers](/quest/m2/ietf-cluster-peers.md) extends the -draft. - -- Stop offering and accepting the cluster Setup Options in Rust - (`rs/moq-net/src/ietf/cluster.rs`, `parameters.rs`, `publish_namespace.rs`) - and JS (`js/net/src/ietf/cluster.ts` and its callers). A peer that offers - them is served as if it had not. -- Delete what becomes dead, in both languages. The draft stays, for - moq-transport cluster peers to extend. -- Update `doc/bin/relay/cluster.md` and `doc/concept` wherever they say - moq-transport relays can join a cluster. -- Test: a moq-transport 17+ peer that offers the extension gets a session - with no cluster parameters, and an announcement reaches it with no Hop IDs. - -Lands on `main`: extension negotiation is optional, so a peer that offered it -still gets a working session. Public API: none expected. Wire: we stop -negotiating an optional extension. - -## Related - -- [Upstream links](/quest/m1/cluster-routing/transit.md) - cluster links are lite-only diff --git a/quest/m2/ietf-cluster-peers.md b/quest/m2/ietf-cluster-peers.md index 8a378917be..c58c97943f 100644 --- a/quest/m2/ietf-cluster-peers.md +++ b/quest/m2/ietf-cluster-peers.md @@ -2,19 +2,15 @@ ## Goal -A moq-transport relay can join a cluster as a peer again, through an -extended `draft-lcurley-moq-cluster`, with the loop safety a lite cluster -link has. +A moq-transport relay joins a cluster as a peer through an extended +`draft-lcurley-moq-cluster`, with the loop safety a lite cluster link has. ## Plan -Until this lands, moq-transport peers are plain clients -([moq-transport peers are plain clients](/quest/m1/ietf-cluster-off.md)). - The extension must carry what a lite cluster link carries by then: the route layer of the [cluster routing line](/quest/m1/cluster-routing/README.md) (per-node ROUTEs with seqno and metric, path-less announces, the down-only -bit) and its selection, since cluster links are lite-only there. +bit) and its selection. Test: a moq-transport relay peering through the extension discards a route that loops back to it, and resumes a subscription on another route when the