mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-27 16:02:05 +00:00
The README had zero mentions of the TypeScript implementation -- on the branch proposing to make it the main line, a reader (including PR #989's reviewers) would find only the Python product. A bridge section near the top now says what the rebuild is, its status (under independent review; do not put irreplaceable secrets in it yet), and where the migration guide, the vault/identity spec, and the cutover plan live. Deliberately a bridge, not a rewrite: everything below it still accurately describes the Python version, which is what install.sh installs today. Advertising the TS implementation as the product before its review lands would be docs describing an aspirational state -- the exact failure mode this branch has been stamping out. The 14 Python-era planning docs most likely to mislead (tui_v2/v3, index0/atlas, semantic) carry a one-line legacy banner so a reader can tell a historical record from a living document. The full TS-first rewrite -- README, landing page, docs triage, CI scoping, dependabot config -- is specced as a merge-day checklist under the cutover item in TODO.md, so main never advertises a stale product in either direction. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Tkj4rzKBA3uhfgk7kqjsb8
3.5 KiB
3.5 KiB
TUI v2 Plan (Legacy Reference)
Legacy (Python implementation). This document describes the Python version, which retires to
legacy/after the TypeScript cutover (PR #989). The TypeScript interactive mode follows the classic v1 menus; TUI v2/v3, index0/atlas, and semantic search were not ported. Kept as historical record.
NOTICE: This document is now for logic reference only. TUI v2 development has been paused in favor of the TUI v3 Scratch Rebuild to solve monolithic file issues and layout crowding. Please see TUI v3 Plan for the current roadmap.
Status: Retained as logic/architecture reference.
Goal: Introduce a modern, modular TUI (seedpass tui2) without rewriting core logic or breaking existing CLI/API behavior.
Constraints
- Keep
seedpass.coreas the source of truth for all business logic. - Keep current TUI (
seedpassdefault path) operational during migration. - Maintain interface modularity:
- CLI/TUI
- API
- future GUI
Proposed Stack
- Primary:
Textualfor TUI v2 shell and interaction model. - Keep dependency optional initially; runtime check from
seedpass tui2 --check.
Architecture
seedpass.core
- Existing logic/services (
EntryManager,EntryService, sync, vault, policy).
seedpass.app(future thin orchestration layer)
- UI-agnostic use-cases and view-model mappers.
- Shared by Textual TUI and future GUI.
- Interface adapters
seedpass.cli(Typer commands)seedpass.tui_v2(Textual app)seedpass.api(FastAPI)
Phased Rollout
Phase 0: Scaffold (this PR)
- Add plan doc.
- Add
seedpass tui2command. - Add runtime check utility and placeholder launcher.
- Add CI smoke command for
seedpass tui2 --check.
Phase 1: Read-only shell
- Textual app skeleton with 3-pane layout:
- filters panel
- entry list panel
- details panel
- Unlock/profile context hookup.
- Entry list/search/detail read paths.
- Status line for sync/profile/lock state.
Phase 2: Core editing workflows
- Archive/restore action + document modify flow.
- Document editor panel with dirty-state and save/cancel.
- Keybindings + command palette.
Phase 3: Graph workflows
- Entry links panel (list, add, remove).
- Relation-aware link filter controls.
- Neighbor navigation and quick traversal.
Phase 4: Cutover readiness
- Feature parity checklist against legacy TUI.
- UX/perf pass for large vaults.
- Error messaging and recovery flows.
- Decide default switch timing (
seedpass->tui2).
Test Strategy
- Unit tests:
- runtime checks and command wiring.
- view-model transformations (when
seedpass.appexists).
- Integration tests:
- command-level smoke (
seedpass tui2 --check). - later: Textual interaction tests for list/search/edit/link.
- command-level smoke (
- Regression:
- full suite must remain green during phased migration.
Risks and Mitigations
- Risk: UI code bypasses core invariants.
- Mitigation: enforce service-layer-only mutation from TUI.
- Risk: dependency churn (
textualchanges).- Mitigation: pin versions when enabling default path.
- Risk: branch drift while both TUIs exist.
- Mitigation: parity checklist and shared orchestration layer.
Deliverables
- New command:
seedpass tui2seedpass tui2 --check
- New package:
seedpass/tui_v2/
- Docs updates:
- this file listed in docs index and discoverability nav.
- parity continuation tracker:
docs/tui_v2_parity_backlog.md