From 6c821730b0d0305e07ec63e07c442dd240b7d11f Mon Sep 17 00:00:00 2001 From: archipelago Date: Sat, 1 Aug 2026 07:19:36 -0400 Subject: [PATCH] =?UTF-8?q?docs(roadmap):=20add=20Phase=2011=20=E2=80=94?= =?UTF-8?q?=20Wallet=20Experience=20&=20LND=20UI=20Parity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First-run wallet-type chooser, seed handling reusing the shipped SeedQR + seed-words components, and evidence-based umbrelOS LND UI parity. Gated on Phase 10's 10-05: the set of wallet types WALLET-01 can offer is a direct consequence of the watch-only verdict that plan produces, and 10-05 also deletes the dead Core wallet path so this phase never represents it in the UI. Records the already-shipped inventory (channels panel, send/receive/scan/ settings modals, SeedRevealPanel, LndSeedBackupPrompt, utils/seedqr.ts) so the parity matrix closes real gaps instead of rebuilding existing surfaces. Co-Authored-By: Claude Opus 5 (1M context) --- .planning/ROADMAP.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index f6c9b234..22f6f8ea 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -245,6 +245,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 | 8. Decentralized Marketplace | 0/TBD | Not started | - | | 9. BotFights Platform Upgrade | 7/7 | Executed — awaiting human demo verification | 2026-07-31 | | 10. Key-Material Hardening | 0/5 | Planned — **priority override, see phase note** | - | +| 11. Wallet Experience & LND UI Parity | 0/TBD | Not started — gated on 10-05's watch-only verdict | - | ### Phase 9: BotFights Platform Upgrade @@ -282,3 +283,16 @@ Plans: - [ ] 10-02-PLAN.md — On-node C-6 exposure measurement, live refusal proof, and the fresh-node onboarding non-regression (KEY-01/KEY-04) — depends on 10-01 - [ ] 10-04-PLAN.md — Fleet detection of image-baked host secrets, guarded one-time rotation, and C-3 two-node verification (KEY-02/KEY-04) — depends on 10-03 + +### Phase 11: Wallet Experience & LND UI Parity + +**Goal:** The wallet is something a user chooses and understands, not something that just appears. A first-run wallet screen lets them pick a wallet type and route accordingly; seed handling reuses the SeedQR + seed-words patterns already shipped; and the day-to-day Lightning interface offers what umbrelOS's LND UI offers, so nothing is missing for someone arriving from Umbrel. +**Requirements**: WALLET-01 first-run wallet-type chooser (an intro/initial screen presenting the available wallet types with plain-language trade-offs, routing into the matching setup flow) — the available types depend on Phase 10's `10-05` watch-only verdict, so this requirement is **gated on that evidence**, not on assumption; WALLET-02 seed handling in the wallet flow reuses the existing SeedQR + seed-words components rather than reimplementing them (`neode-ui/src/utils/seedqr.ts`, `OnboardingSeedGenerate.vue`, `SeedRevealPanel.vue`, `WalletScanModal.vue`) — including the standing constraint that the LND aezeed is text-only by design and has no SeedQR; WALLET-03 evidence-based umbrelOS LND UI parity — produce a feature-by-feature comparison matrix from the actual Umbrel interface (researched, not assumed), classify each row as already-shipped / gap / deliberately-not-wanted, and close the gaps worth closing; WALLET-04 the resulting interface is house-style (Teleport-to-body modals, existing design system) and verified on the :8100 dev preview against archi-dev before any deploy +**Depends on:** **Phase 10** — specifically `10-05`, which produces the evidence-backed verdict on whether LND can be provisioned watch-only against an external signer. WALLET-01's list of offerable wallet types is a direct consequence of that verdict; building the chooser first would mean guessing at what it can offer. `10-05` also deletes the dead Core wallet path, so this phase never has to represent it in the UI. +**Plans:** 0 plans + +**Already shipped — do not rebuild (verified 2026-08-01):** `LightningChannelsPanel.vue`, `SendBitcoinModal.vue`, `ReceiveBitcoinModal.vue`, `WalletScanModal.vue`, `WalletSettingsModal.vue`, `SeedRevealPanel.vue`, `LndSeedBackupPrompt.vue`, `utils/seedqr.ts`, and the channels All/Active/Pending/Closed tabs. The parity matrix (WALLET-03) must start from this inventory so the phase closes real gaps instead of re-implementing existing surfaces. + +Plans: + +- [ ] TBD (run /gsd-plan-phase 11 to break down)