Add flows/ docs: receive-opportunistic and send-link
receive-opportunistic-lxmf.md mirrors the send flow on the recipient side: KISS/HDLC deframe -> Transport.inbound -> packet_filter dedup -> DATA/SINGLE branch -> Destination.receive -> Identity.decrypt with the ratchet ring + long-term-key fallback -> LXMRouter.delivery_packet (which fires the PROOF receipt before parsing) -> LXMessage.unpack_from_bytes with msgpack stamp-strip -> ticket/stamp/dedup checks -> __delivery_callback to the app. Notes upstream's narrower variant tolerance vs SPEC.md §5.6 and the missing clockless-sender fix-up vs §9.6. send-link-lxmf.md walks the DIRECT method end-to-end: process_outbound DIRECT branch decides reuse-vs-establish, RNS.Link.__init__ builds the unencrypted LINKREQUEST body (initiator_X25519_pub || initiator_Ed25519_pub || optional signalling), link_id derived from get_hashable_part, LRPROOF arrives back and validate_proof verifies signature against the responder's long-term Ed25519 pub recalled from a prior announce, handshake() does ECDH+HKDF over the shared secret with salt=link_id, lxmessage.send sends the full LXMF body (with dest_hash, per §5.2) over the link with Token encryption that omits the eph_pub prefix per §3.1, mandatory PROOF receipts per §6.5 resolve the PacketReceipt. Sketches the RESOURCE representation for oversize bodies and the backchannel-identify trick that makes the link bidirectional. flows/README.md status table updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8480555320
commit
b43d735d97
3 changed files with 467 additions and 2 deletions
|
|
@ -9,9 +9,10 @@ The two views are complementary: SPEC.md tells you what each piece looks like; t
|
|||
| Flow | Status |
|
||||
|---|---|
|
||||
| [`send-opportunistic-lxmf.md`](send-opportunistic-lxmf.md) | ✅ |
|
||||
| `send-link-lxmf.md` (DIRECT method, over a Reticulum Link) | ⏳ |
|
||||
| [`receive-opportunistic-lxmf.md`](receive-opportunistic-lxmf.md) | ✅ |
|
||||
| [`send-link-lxmf.md`](send-link-lxmf.md) (DIRECT method, over a Reticulum Link) | ✅ |
|
||||
| `receive-link-lxmf.md` (inverse of send-link-lxmf, including responder side of the handshake) | ⏳ |
|
||||
| `send-propagated-lxmf.md` (PROPAGATED method, via a propagation node) | ⏳ |
|
||||
| `receive-opportunistic-lxmf.md` (the inverse of the opportunistic-send flow) | ⏳ |
|
||||
| `announce.md` (build, sign, transmit, ratchet rotation) | ⏳ |
|
||||
| `path-discovery.md` (request, response, path-table population) | ⏳ |
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue