diff --git a/.planning/phases/01-federation-mesh-hardening/01-CONTEXT.md b/.planning/phases/01-federation-mesh-hardening/01-CONTEXT.md new file mode 100644 index 00000000..1ad76afe --- /dev/null +++ b/.planning/phases/01-federation-mesh-hardening/01-CONTEXT.md @@ -0,0 +1,49 @@ +# Phase 1 Context — Federation & Mesh Hardening + +**Source:** User decisions captured in conversation 2026-07-29 (no full discuss-phase run) + + +Federation/fleet + mesh hardening on a live OTA fleet, plus two lightning-adjacent UI features +(channel-open UX, on-brand paid-tick animation). Backend: Rust workspace at core/. Frontend: +neode-ui (Vue), dev preview :8100 against archi-dev. + + + +- **FED-05 "public nodes" scope (LOCKED, user 2026-07-29):** the public/other list in the + channel-open picker = any Lightning peer nodes this node is currently connected to + (lnd listpeers), NOT a curated list and NOT a live LN-graph query. Manual URI paste can + remain as a fallback entry path, but the primary lists are: (1) trusted federated nodes + by hostname, (2) connected LN peers. +- **FED-05 URI sharing default (Claude's discretion, revisable):** a federated peer's + Lightning URI/pubkey rides the federation sync payload by default — federation trust is + already bilateral and explicit. Follow the existing shared-field pattern in + NodeStateSnapshot; if an opt-in toggle already exists for similar fields (e.g. + shared_location), mirror that pattern with default ON for lightning URI. +- **FED-06 (LOCKED, user):** paid-tick circle = ScreensaverRing.vue style (EQ segments), + applied consistently to every paid/success tick surface (SendBitcoinModal success pane, + WalletScanModal success-ring). +- **FED-04:** demo attachment parity core already shipped on main (c2ce71c6) — remaining + scope is the leftover mock gaps found in research (contacts-list/save, reaction/reply/ + edit/delete/forward stubs that never mutate demo state). +- **Priority framing (user):** federation removal/sync correctness is the reason this phase + exists — "we should just be working on making that as tight as possible". + + + +- UI work verified on the :8100 dev preview against archi-dev BEFORE any deploy (user + requirement, applies to FED-05/FED-06). +- Deploy discipline per CLAUDE.md: dev pair before OTA; commit+push every unit of work. +- Modals must Teleport to body (repeated user complaint — see project feedback memory). + + + +- Live Lightning-graph search of arbitrary public nodes (not connected peers) — out of + scope for FED-05 v1. +- Curated/shipped public-node directory — not wanted. + + + +Do not touch federation trust/join cryptography beyond what removal/sync correctness +requires (STATE.md blocker: tombstone fix touches trust code — re-verify with +tests/multinode/smoke.sh, don't patch blind). No data-destroying migrations. +