From a7992233ab7642d64c580c5c656c80702621badd Mon Sep 17 00:00:00 2001 From: archipelago Date: Sat, 8 Aug 2026 04:13:31 -0400 Subject: [PATCH] docs: two design docs say "no code" for subsystems that exist MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The inverse of the usual drift — these understate rather than overstate, which is just as misleading for someone deciding what is safe to change. **dht-distribution-design.md** was headed "Status: Design (no code yet)". `core/archipelago/src/swarm/` has five modules plus `content_hash.rs`. **phase4-streaming-ecash-plan.md** was headed "not implemented". `swarm/paid.rs` states in its own header that it implements "DHT distribution plan, Phase 4 step F", and there is a `streaming::` module behind five `streaming.*` RPCs (list-services, configure-service, toggle-service, pay, prepare-payment). Neither is reachable in a stock build, which is presumably why the headers were never updated — and that is the part worth documenting rather than eliding. Both now state the gates: the `iroh-swarm` cargo feature is off by default (iroh and iroh-blobs are optional deps pulled in only by it), `config.swarm_enabled` is off by default, and paid serving stays free for everyone until the operator enables the `content-download` streaming service. Checked the other plan-only docs for the same error; these two were the only ones. `nostr-identity-import-plan.md`, `nostr-signer-login-research.md` and `hardware-signer-design.md` correctly say no code exists — verified: no identity import or NIP-07 login RPC, and no TROPIC01 reference anywhere in core. `dual-ecash-design.md`'s "in progress" is right too — the `wallet.fedimint-*` RPCs exist, no Cashu ones do. Co-Authored-By: Claude Opus 5 (1M context) --- docs/dht-distribution-design.md | 9 ++++++++- docs/phase4-streaming-ecash-plan.md | 11 ++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/dht-distribution-design.md b/docs/dht-distribution-design.md index 2c69ff90..a8fd7c48 100644 --- a/docs/dht-distribution-design.md +++ b/docs/dht-distribution-design.md @@ -1,6 +1,13 @@ # DHT / Peer-Distributed Content Design -**Status:** Design (no code yet) · **Date:** 2026-06-16 · **Author:** archipelago + Claude +**Status:** partially implemented — **not** "no code yet" as this line previously +read. `core/archipelago/src/swarm/` exists (`mod.rs`, `iroh_provider.rs`, +`paid.rs`, `paid_alpn.rs`, `payment.rs`) along with `content_hash.rs`, behind the +**default-off** `iroh-swarm` cargo feature (`Cargo.toml:21` — the iroh/iroh-blobs +deps are optional and only pulled in by that feature). `config.swarm_enabled` +gates it at runtime and also defaults off, so a stock build ships this inert. +Treat the phases below as design; check the feature flag before assuming a phase +is live. · **Date:** 2026-06-16 · **Author:** archipelago + Claude ## 1. Purpose diff --git a/docs/phase4-streaming-ecash-plan.md b/docs/phase4-streaming-ecash-plan.md index 16c7c8a3..cb0905c9 100644 --- a/docs/phase4-streaming-ecash-plan.md +++ b/docs/phase4-streaming-ecash-plan.md @@ -1,6 +1,15 @@ # Phase 4+ — Paid swarm streaming & the IndeeHub "Archipelago" source -**Status:** PLAN / design (2026-06-17) · **Branch:** `agent-trust-wip` · not implemented +**Status:** PLAN / design (2026-06-17) · **Branch:** `agent-trust-wip` · +**partly implemented — "not implemented" was stale.** The paid-serving half +landed on main: `core/archipelago/src/swarm/paid.rs` says in its own header that +it is "DHT distribution plan, Phase 4 step F", with `paid_alpn.rs` and +`payment.rs` alongside it, a `streaming::` module, and the +`streaming.list-services` / `configure-service` / `toggle-service` / `pay` / +`prepare-payment` RPCs. It is doubly default-off: the swarm needs the +`iroh-swarm` cargo feature plus `config.swarm_enabled`, and serving stays free +for everyone until the operator enables the `content-download` service. Check +those gates before assuming any step below is live or dead. **Builds on:** `docs/dht-distribution-design.md` (Phases 0–3, swarm + Blossom), the Phase 3 swarm work just landed (`swarm/`, `content_hash.rs`, `trust/`).