Skip to content

docs: correct Model B architecture to verified ground truth - #218

Merged
torlando-tech merged 2 commits into
mainfrom
docs/model-b-ground-truth-accuracy
Oct 10, 2026
Merged

torlando-tech merged 2 commits into
mainfrom
docs/model-b-ground-truth-accuracy

Conversation

@torlando-tech

Copy link
Copy Markdown
Owner

Summary

The docs and code comments carried a stale "native ReticulumSwift node in the
NE" phantom that contradicted how Model B actually runs. A ground-truth pass
over the code confirmed the single RNS runtime is the embedded-Python RNS
node
(app/rns_bridge.py via NEPythonRNS) in both flavors:

  • Shipping runs it in-process in the app (PythonRNSBackend).
  • Model B runs it in-process in the Network Extension; the app is a thin
    IPC proxy / UI client.

ReticulumSwift is not the runtime in either flavor. The app targets carry
it only as a compile-time link so retained shared sources that reference
ReticulumSwift / LXMFSwift types type-check (e.g. MessageRepository,
LocationSharingManager, CeaseTelemetry). The NE target declares it as a
compile-time packageProductDependency only - it is not in the NE's
frameworks build phase, so it is not linked into the extension binary and no
ReticulumSwift object runs there.

This is comment/string-accuracy only - zero logic changes.

Files

  • ARCHITECTURE.md, README.md, docs/MODEL_B_BACKGROUND_DELIVERY.md:
    correct the "runs the native stack" claim, the NE-owns-ReticulumSwift
    bullet, the ReticulumSwift link paragraphs, and the flavor table.
  • Swift comments in ColumbaApp.swift, AppServices.swift,
    BackendPreference.swift, ProxyRnsBackend.swift, AppGroupPaths.swift,
    OutboxQueue.swift, ProxyIPC.swift: replace references to the removed
    NEReticulumNode type and non-existent methods with the current
    NEPythonRNS / rns_bridge names; correct the misleading
    "Auto stays local" tunnel-mode wording to state it is a no-op in Model B.

Verification

  • All 9 edited Swift files pass swiftc -parse (no syntax errors).
  • The mermaid graph in ARCHITECTURE.md is byte-identical to HEAD; only a
    clarifying note above it changed.
  • Diff is comment + one log string literal only (no logic).

Scope note

ReticulumSwift / LXMFSwift removal is intentionally out of scope here.
The build graph (pbxproj), the reconciler (isolate-modelb-targets.rb), and
the static contract tests all enforce ReticulumSwift linkage as a deliberate
invariant (the @_exported import ReticulumSwift in LXMFSwift means the kept
LXMFSwift product transitively pulls it in). Reversing that is a separate,
coordinated change.

The docs and code comments carried a stale "native ReticulumSwift node
in the NE" phantom that contradicted how Model B actually runs. A
ground-truth pass over the code confirmed the single RNS runtime is the
embedded-Python RNS node (`app/rns_bridge.py` via `NEPythonRNS`) in BOTH
flavors - shipping runs it in-process in the app (`PythonRNSBackend`),
Model B runs it in-process in the Network Extension (the app is a thin
IPC proxy/UI client). ReticulumSwift is not the runtime in either
flavor; the app targets carry it only as a compile-time link so retained
shared sources that reference ReticulumSwift/LXMFSwift types type-check.

This change is comment/string-accuracy only - zero logic changes:
- ARCHITECTURE.md, README.md, docs/MODEL_B_BACKGROUND_DELIVERY.md:
  correct the "runs the native stack" claim, the NE-owns-ReticulumSwift
  bullet, the ReticulumSwift link paragraphs, and the flavor table.
- Swift comments in ColumbaApp.swift, AppServices.swift,
  BackendPreference.swift, ProxyRnsBackend.swift, AppGroupPaths.swift,
  OutboxQueue.swift, ProxyIPC.swift: replace references to the removed
  `NEReticulumNode` type and non-existent methods with the current
  `NEPythonRNS` / `rns_bridge` names; correct the misleading
  "Auto stays local" tunnel-mode wording to state it is a no-op in Model B.
@greptile-apps

greptile-apps Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Low impact] The PR appears safe to merge; the revised graph note addresses the previous finding.

Summary

The PR corrects documentation and comments to describe embedded-Python RNS as the runtime in both app flavors.

  • Architecture notes now place each flavor’s Python node in its host process.

Reviews (2) · Last reviewed commit: "Update ARCHITECTURE.md" · Reviewed by Greptile

Comment thread ARCHITECTURE.md Outdated
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@torlando-tech
torlando-tech merged commit b15ef27 into main Oct 10, 2026
4 checks passed
@torlando-tech
torlando-tech deleted the docs/model-b-ground-truth-accuracy branch October 10, 2026 04:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant