Since no specification exists for the Reticulum protocol, I previously undertook to derive a specification from the Mark Qvist implementation. See A Reticulum Protocol Specification, Extracted from the Implementation (“Specification”). When I did so several weeks ago, I was working against Reticulum version 1.3.5. In source control parlance, that means the Specification I created is “pinned” to 1.3.5. I saw in a Mastodon post that a new release, version 1.3.7, had come out..

So I went through the exercise of obtaining version 1.3.7, Reticulum: Finding The Definitive Source.
I asked Codex to compare the Python tree representing 1.3.7 with the Specification (1.3.5). Here are Codex’s findings:
Assessment: no evidence that RNS 1.3.7 breaks the current wire-level spec coverage. Packet headers, destination hashes, Token crypto, announces, Link handshake/LRPROOF, resources, request/response, transport DATA/LINK, Channel reliability, stamps, and LXMF 1.0.1 vectors all still pass against the 1.3.7 tarball.
What changed or needs spec/verifier attention:
- The repo is already pinned to
RNS 1.3.5, not 1.3.4, perREADME.md/ provenance. RNS 1.3.7adds/expands operational interface behavior:- on-network interface discovery via new
RNS/Discovery.py recursive_prsper-interface control for recursive unknown path requestsannounces_from_internalfiltering for announces sourced from internal interfaces- interface discovery config fields such as
discoverable,reachable_on,publish_ifac, discovery stamps/encryption
- on-network interface discovery via new
- Existing verifier fakes need updating:
verify_path_request_limits.pyandverify_transport_tunnel.pynow needFakeInterface.recursive_prsverify_transport_announce.pynow needsFakeInterface.announces_from_internal
verify_regeneration.pyonly changed vector metadata from1.3.5to1.3.7; vector bytes did not change. I restored those generated metadata edits, so the spec repo working tree is clean.
Advice: update the spec with a small 1.3.7 migration note for interface discovery and the two new interface controls. I would not treat this as a protocol break. Treat it as a spec expansion plus verifier-maintenance pass. The main new wire surface worth documenting is rnstransport.discovery.interface app-data format: flags byte, msgpack info map, LXMF stamp, optional network-identity encryption.
For my purposes, this means the 1.3.5-derived specification remains substantially valid for 1.3.7, but should receive a short migration note covering interface discovery and the new per-interface controls.
Leave a Reply