From 590f8a9a6d8cb2ea6cd327b3ed28e53f2e3f0fc7 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Sat, 18 Jul 2026 18:54:42 +0800 Subject: [PATCH] =?UTF-8?q?Roadmap:=20=D1=84=D0=B0=D0=B7=D0=B0=209=20?= =?UTF-8?q?=E2=80=94=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=94=D0=B5=D0=BB=D0=B0=20=D0=B8=20folder=20tree?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 07_Full_Implementation_Roadmap.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/07_Full_Implementation_Roadmap.md b/07_Full_Implementation_Roadmap.md index bb302d7..8174b69 100644 --- a/07_Full_Implementation_Roadmap.md +++ b/07_Full_Implementation_Roadmap.md @@ -9,7 +9,10 @@ Bring Verstak to a complete standalone local-first desktop product: - vault data stays human-readable and local-first; - sync UI/settings, browser capture, activity, journal, preview, search, and secrets are plugin/runtime extensions; sync correctness (scanner, operation - log, reconciliation, and workspace identity) stays in Desktop core. + log, reconciliation, and workspace identity) stays in Desktop core; +- workspaces can be nested inside plain folders; identity through UUID markers + (`.verstak/workspace.json`) at any depth; folder metadata (icon, color, order) + lives in `.verstak/folder-metadata/`. ## 2. Non-negotiable Constraints @@ -48,7 +51,9 @@ Implemented: all official plugins; - automated Go, frontend, official plugin, SDK, and real-sync smoke checks; - tray icon with native menu and native desktop notifications; -- AES-GCM secret store with master password, UI plugin. +- AES-GCM secret store with master password, UI plugin; +- nested workspace model: identity markers at any depth, folder metadata, + recursive tree in sidebar, workspace creation with parent folder selector. Known remaining gaps: @@ -228,6 +233,25 @@ Tasks: Status: packaging scripts exist and produce release artifacts. Signing, auto-update, and release smoke checklist are future work. +### Phase 9 - Nested Workspaces and Folder Tree + +Goal: workspaces can live at any depth inside plain vault folders. + +Tasks: + +- [x] workspace identity markers at any depth (recursive discovery) +- [x] folder metadata API (icon, color, order) +- [x] recursive tree rendering in sidebar with collapsible folders +- [x] workspace creation with parent folder selector +- [x] move workspaces between plain folders (MoveNode) +- [x] `workspaceTree` contribution point for plugin replacement +- [ ] `verstak.workspace-folders` plugin: drag-and-drop, IconPicker, color picker +- [ ] folder creation from sidebar ("Create Folder" modal) +- [ ] workspace rename from sidebar in tree mode + +Status: core infrastructure complete. Plugin with rich UX (drag-and-drop, +icon/color picker) is next. + ## 5. Immediate Execution Order 1. [x] Command Palette UI host.