summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-23 17:46:48 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-23 17:46:48 +0200
commit5bce0acad6d10f9b952874f1359406b4eae3a8f9 (patch)
tree7fefe593c03430c31f327c955fb25a703e463bf2 /packages/meshbay-node
parentd30e95b2ce1ffe9dc4655855406f2784b5f7af34 (diff)
downloadmeshbay-5bce0acad6d10f9b952874f1359406b4eae3a8f9.tar.gz
docs: drop the invitation-link plan from the tree
The plan was a working document; what it decided lives in MESHBAY_DESIGN.md and MESHBAY_NODE_PROTOCOL.md. Code and tests now cite those instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-node')
-rw-r--r--packages/meshbay-node/src/meshbay_node/ops.py2
-rw-r--r--packages/meshbay-node/src/meshbay_node/roster.py2
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py2
-rw-r--r--packages/meshbay-node/tests/test_link_invites.py2
-rw-r--r--packages/meshbay-node/tests/test_webrtc_transport.py2
5 files changed, 5 insertions, 5 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/ops.py b/packages/meshbay-node/src/meshbay_node/ops.py
index e6b2d1f..aae0a33 100644
--- a/packages/meshbay-node/src/meshbay_node/ops.py
+++ b/packages/meshbay-node/src/meshbay_node/ops.py
@@ -243,7 +243,7 @@ async def create_link_invite(state: dict, group_id: str, *,
Nothing is registered on the hub here, unlike `create_invite`: there is no
account to register yet. The hub half is a ticket the inviter's client asks
- the hub for, bound to the invitee's address (docs/invite-links.md §3.5).
+ the hub for, bound to the invitee's address (docs/MESHBAY_DESIGN.md §7.3).
"""
roster = _roster(state)
_group_ctx(state, group_id)
diff --git a/packages/meshbay-node/src/meshbay_node/roster.py b/packages/meshbay-node/src/meshbay_node/roster.py
index 8360df3..7bc2067 100644
--- a/packages/meshbay-node/src/meshbay_node/roster.py
+++ b/packages/meshbay-node/src/meshbay_node/roster.py
@@ -61,7 +61,7 @@ DEFAULT_DEVICE_REQUEST_TTL = 3600
# What an invitation is bound to. An `account` code names its user_id when it is
# issued; a `link` code names nobody until it is redeemed, because a link goes to
-# someone who may not have an account yet (docs/invite-links.md). The kind is a
+# someone who may not have an account yet (docs/MESHBAY_DESIGN.md §3.4). The kind is a
# column rather than an empty user_id so that "bound to nobody" can never be
# read as "bound to anybody" — the mistake AV1 records, once per codebase.
KIND_ACCOUNT = "account"
diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
index 95b628f..b7c8c92 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
@@ -1242,7 +1242,7 @@ class WebRTCPeerSession:
"""
Issue a code bound to no account, for an invitation link — into the
group this connection authenticated to, and no other: a link names its
- group, so the operator signs for exactly that one (docs/invite-links.md).
+ group, so the operator signs for exactly that one (docs/MESHBAY_DESIGN.md §3.4).
"""
group_id = self._group_id or ""
if not group_id:
diff --git a/packages/meshbay-node/tests/test_link_invites.py b/packages/meshbay-node/tests/test_link_invites.py
index f5081d2..10f9ca8 100644
--- a/packages/meshbay-node/tests/test_link_invites.py
+++ b/packages/meshbay-node/tests/test_link_invites.py
@@ -4,7 +4,7 @@ Invitation links: a code bound to no account until somebody redeems it.
A link is sent to someone who may not have an account yet, so its code cannot
name one. That makes it a bearer code at the node — the hub's ticket, bound to
a verified address, is what decides who can reach the node at all
-(docs/invite-links.md §3). Everything here is a way a bearer code could be made
+(docs/MESHBAY_DESIGN.md §3.4). Everything here is a way a bearer code could be made
to mean more than "one new member of this group, once", or a way an unbound row
could leak into the code paths written for bound ones. The second family is the
one to watch: `user_id = ''` must never read as "anyone" (AV1).
diff --git a/packages/meshbay-node/tests/test_webrtc_transport.py b/packages/meshbay-node/tests/test_webrtc_transport.py
index c0dc6d1..0245c4e 100644
--- a/packages/meshbay-node/tests/test_webrtc_transport.py
+++ b/packages/meshbay-node/tests/test_webrtc_transport.py
@@ -1449,7 +1449,7 @@ async def _bearer_join(transport, sk_hub, user_id, peer_id, code, x25519_keypair
async def test_a_link_is_issued_signed_redeemed_once_and_cancellable(
sk_node, sk_hub, gek, shared_dir, tmp_path, x25519_keypair):
"""
- Invitation links over a real DataChannel (docs/invite-links.md §3.4).
+ Invitation links over a real DataChannel (docs/MESHBAY_NODE_PROTOCOL.md §8.6).
The operator signs `invite_link_create` naming the outcome, `link:<group>`;
the first account to bring the code is admitted and handed the key; the