reticiulum-specification/flows
John Poole 14adfc7a46 Worked for 7m 48s
Completed the tunnels/shared-instance three-tier unit.

Key inherited anomalies corrected:

Tunnel entries are [tunnel_id, interface, paths, expires].
Tunnel and tunnel-path timeouts are eight hours.
Tunnel synthesis uses a signed 176-byte body.
Shared-instance connections use LocalInterface simplified-HDLC framing.
Unix-domain sockets are normally used where supported, with TCP loopback as fallback.
Added:

Tier 1 audit and deterministic vector
Runtime verifier and regenerator
Tunnel/shared-instance flow
provenance-and-anomaly-ledger.md, establishing the inherited baseline, current high-watermark, and future upstream migration procedure
Verification:

Deterministic vector SHA-256: 7da6b8bf...e6239
Complete pinned suite: 24/24 passed
git diff --check: passed
Changes remain uncommitted.
2026-06-08 18:53:39 -07:00
..
forward-announce.md Worked for 7m 8s 2026-06-08 18:40:30 -07:00
lxmf-outbound-retry.md flows: add lxmf-outbound-retry — process_outbound retry loop + state machine 2026-05-09 10:09:02 -04:00
path-discovery.md Worked for 7m 8s 2026-06-08 18:40:30 -07:00
propagation-peer-sync.md Completed the propagation-node announce and peer-sync three-tier unit. 2026-06-08 17:32:55 -07:00
README.md Worked for 4m 50s 2026-06-08 18:32:26 -07:00
receive-announce.md Worked for 7m 8s 2026-06-08 18:40:30 -07:00
receive-link-lxmf.md Completed the full link-delivered LXMF unit: 2026-06-08 13:54:27 -07:00
receive-opportunistic-lxmf.md Worked for 4m 50s 2026-06-08 18:32:26 -07:00
receive-propagated-lxmf.md Completed the propagated-LXMF three-tier work unit. 2026-06-08 14:18:42 -07:00
receive-resource.md Re-anchor against RNS 1.2.4 / LXMF 0.9.7 + track upstream distribution shift 2026-05-08 07:42:25 -04:00
send-announce.md Re-anchor against RNS 1.2.4 / LXMF 0.9.7 + track upstream distribution shift 2026-05-08 07:42:25 -04:00
send-link-lxmf.md Completed the transport-relayed Link three-tier unit. 2026-06-08 17:50:52 -07:00
send-opportunistic-lxmf.md Worked for 4m 50s 2026-06-08 18:32:26 -07:00
send-propagated-lxmf.md Completed the propagated-LXMF three-tier work unit. 2026-06-08 14:18:42 -07:00
send-resource.md Implemented the portable verification baseline and completed the first Resource three-tier pass. 2026-06-08 13:22:22 -07:00
transport-data.md Worked for 4m 50s 2026-06-08 18:32:26 -07:00
transport-link.md Completed the transport-relayed Link three-tier unit. 2026-06-08 17:50:52 -07:00
transport-tunnel.md Worked for 7m 48s 2026-06-08 18:53:39 -07:00

Flows

End-to-end chronological narratives for common Reticulum operations. Where SPEC.md is organized by layer (identity, header, token crypto, announce, LXMF, link, transport, framing), the documents here are organized by operation and walk through what each layer contributes in order — app-call → wire bytes.

The two views are complementary: SPEC.md tells you what each piece looks like; the flows tell you when each piece runs and what calls what. A flow document should not introduce new normative claims — every byte-level detail should be a cross-reference to the relevant SPEC.md section. If you find yourself describing wire bytes here that aren't in SPEC.md, that's a sign the spec has a gap to fill.

Status

Flow Status
send-opportunistic-lxmf.md
receive-opportunistic-lxmf.md
send-link-lxmf.md (DIRECT method, over a Reticulum Link)
receive-announce.md
send-resource.md (Resource fragmentation over a Link)
path-discovery.md (path? request, path-response wire detail, path-table population)
receive-resource.md (inverse of send-resource: ADV ingestion, part assembly, proof emission)
receive-link-lxmf.md (inverse of send-link-lxmf, including responder side of the handshake)
send-announce.md (build, sign, transmit, ratchet rotation, periodic re-announce)
forward-announce.md (transport-node rebroadcast logic, announce_cap, queue)
send-propagated-lxmf.md (PROPAGATED method, via a propagation node)
receive-propagated-lxmf.md (recipient pulling messages via /get)
propagation-peer-sync.md (propagation-node announce, /offer, and peer Resource sync)
lxmf-outbound-retry.md (process_outbound retry loop, per-message state machine, fail_message)
transport-link.md (relayed Link establishment and established-Link traffic)
transport-data.md (ordinary DATA and returning PROOF through relays)

Conventions

  • Each flow targets one specific upstream operation. send-opportunistic-lxmf.md documents what LXMRouter.handle_outbound(lxm) does for an opportunistic message; it does not also cover Link or propagation paths — those get their own docs so the chronology stays linear.
  • Numbered steps are chronological. Each step that produces wire bytes cross-references the SPEC.md section that defines those bytes.
  • Source citations use the standard pip install rns lxmf install layout (RNS/, LXMF/) with file + line. Line numbers are pinned to the RNS / LXMF version named at the top of each flow; out-of-date line numbers should be fixed in a PR.
  • "Verified" claims must be backed by a tools/ script per ../agent.md §1. Flow docs inherit the verification status of the SPEC.md sections they reference — if a flow step relies on an unverified SPEC.md callout, the flow should mark that step as inheriting the unverified status rather than silently treat it as fact.