mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-29 17:02:05 +00:00
9.8 KiB
9.8 KiB
TUI v2 Integration Execution Plan (2026-03-02)
Status: Proposed and ready to execute
Branch target: beta
Owner: TUI v2 parity track
1) Goal
Deliver a mockup-faithful, functionally complete TUI v2 that is visibly reliable, context-aware, and test-gated.
2) Consolidated Requirements (From Mockups + User Direction)
- Left navigation must be a real collapsible hierarchy:
- root fingerprint/seed nodes
- child managed-user nodes
- child agent nodes
- expand/collapse and active-node state
- Inspector must be context-aware:
- no forced first-row detail on startup
- open/populate only for relevant selection
- clear empty-state when nothing selected
- Top ribbon must be dense and operational:
- active fingerprint
- loaded profile and managed counts
- entry stats by kind
- active filter summary
- last sync timestamp at right
- Filtering model:
- kind filters moved behind a compact filter menu
- top ribbon shows active filter summary
- keyboard-first access retained (
f+ palette commands)
- Unified search:
- single search bar
- exact/field match
- tag match
- semantic vector match
- blended ranking with visible reason indicators
- Bottom action strip:
- concise global actions
- concise context actions by selected kind
- remove long verbose hint strings from default view
- Per-kind inspector boards must follow one visual contract:
- password/stored password
- note/document
- totp
- seed/managed account
- ssh/pgp/nostr
- Sensitive workflows must be obvious and reliable:
vreveal andgQR visibly update panel state- confirm gates for high-risk data remain intact
- hidden/revealed/locked/copied states are explicit
- Responsive behavior and density:
- good fit at user resolution target (
2256x1504) - panel proportions remain usable at smaller terminal sizes
- compact mode keeps core actions and avoids clipping
- Left panel collapse:
- mouse and keyboard toggle
- state persists in session/profile settings
- expand restores selection and scroll position
3) Architecture Decisions
- Keep terminal font unchanged; improve density in-app.
- Treat tree node selection as primary context signal for grid and inspector.
- Use hybrid search abstraction so lexical and semantic are both available.
- Preserve legacy safety posture for sensitive operations.
- Keep CLI/API compatibility unchanged while TUI v2 evolves.
4) Phased Delivery Plan
Phase A: Context Model and Selection Lifecycle
Deliver:
- Remove startup auto-selection.
- Add neutral inspector empty-state.
- Make selection transitions deterministic across tree/grid/inspector.
Exit criteria:
- Startup shows no forced entry detail.
- Selecting row or tree node populates inspector correctly.
- No stale inspector content after selection change.
Phase B: Real Tree Hierarchy + Collapse
Deliver:
- Tree model for fingerprints, managed users, and agents.
- Expand/collapse node behavior.
- Sidebar collapse toggle and persistence.
Exit criteria:
- Tree reflects real hierarchy.
- Node selection updates grid scope and ribbon.
- Collapse/expand works without losing context.
Phase C: Header/Footer Rebuild
Deliver:
- Dense top status ribbon with operational stats and sync timestamp.
- Compact bottom action strip with global and context segments.
- Remove verbose default hints from main surface.
Exit criteria:
- Ribbon and strip match mockup interaction rhythm.
- Information remains readable at target resolution.
Phase D: Filter Menu and Kind Scope UX
Deliver:
- Replace visible checkbox row with menu-driven kind filter.
- Add quick presets (
All,Secrets,Docs,Keys,2FA). - Persist active filter state.
Exit criteria:
- Kind filtering works via menu, hotkey, and palette.
- Current filter summary is always visible in ribbon.
Phase E: Unified Hybrid Search (Lexical + Tags + Semantic)
Deliver:
- Single search surface with mode chips (
Exact,Tags,Semantic). - Blended ranking and score normalization.
- Fallback behavior if semantic index unavailable.
Exit criteria:
- Search returns deterministic merged results.
- Result rows show reason badges (
title,tag,semantic). - No regressions in non-semantic environments.
Phase F: Inspector Board Fidelity Pass
Deliver:
- Normalize board header/body geometry across kinds.
- Align button/action placements with mockup direction.
- Improve notes/tags panel behavior and spacing.
Exit criteria:
- All major kinds pass visual and interaction checklist.
- No board has unresolved high-severity gaps.
Phase G: Sensitive UX Reliability Hardening
Deliver:
- Strengthen reveal/QR feedback states and transitions.
- Add runtime checks for installation/runtime variants.
- Add explicit status and recoverability cues for failures.
Exit criteria:
v/gbehavior is consistently visible and test-covered.- Confirm-required flows stay enforced.
Phase H: Responsive and Density Polish
Deliver:
- Tighten spacing, paddings, and panel proportions.
- Optimize for
2256x1504and smaller sizes. - Preserve scroll usability in all major panes.
Exit criteria:
- No clipping or unusable panes in supported viewports.
- Information density clearly improved over current build.
5) Test and Evidence Plan
- Add/update interaction tests per phase in:
src/tests/test_tui_v2_textual_interactions.pysrc/tests/test_tui_v2_action_matrix.py
- Add targeted tests:
- tree hierarchy navigation and scope changes
- sidebar collapse persistence
- startup no-selection behavior
- filter menu presets and persistence
- hybrid search blending and fallback
- reveal/QR visual state transitions
- responsive compact mode layout integrity
- Evidence capture after each phase:
- screenshot set against
UI_mockups/PNG/*.png - state dump and regression artifact in
artifacts/ui_eval/
6) Priority Order (Immediate)
- Phase A
- Phase B
- Phase C
- Phase D
- Phase G
- Phase H
- Phase E
- Phase F
Rationale:
- Fix context and structure first.
- Stabilize user trust in reveal/QR before visual fine polish.
- Integrate semantic search after core layout/control model is stable.
7) Definition of Done
- Mockup gap audit has no High severity items.
- Critical TUI v2 tests are green in CI gate.
- User acceptance run confirms:
- context-aware inspector
- hierarchical/collapsible left tree
- compact filter menu
- reliable reveal/QR
- dense readable layout at target resolution.
8) Progress Log (2026-03-02 Session)
Completed slices in this session:
- Phase A baseline: startup no longer forces first-row selection; neutral inspector empty state is shown.
- Phase B baseline: left tree now renders hierarchical managed-user/agent sections and supports sidebar collapse (
Ctrl+B+ button). - Phase C baseline: top ribbon and action strip were simplified toward mockup rhythm; top ribbon now includes entry-type stats.
- Phase D baseline: filter controls moved behind menu flow (
f) with presets (all|secrets|docs|keys|2fa), plus multi-kind comma filters. - Phase D persistence: filter state now persists per active profile and restores on profile switch.
- Phase G baseline: sensitive panel now reports explicit states (
HIDDEN,REVEALED,QR,COPIED) and clearer no-selection feedback. - Phase H baseline: density tightened (reduced vertical chrome and panel padding) to increase effective content fit.
- Phase F partial: inspector side panels are context-aware (hidden when no selection; restored on selection).
- Phase B persistence: sidebar collapse/expand state now persists per active profile and restores on profile switch.
- Phase E slice: grid heading now exposes active search mode chips and hotkey mode-cycling (
m) for keyword/hybrid/semantic workflows. - Phase G slice: confirm-required reveal UX now supports direct keyboard double-confirm (
vthenv) with clear expiration guidance, reducing perceived no-op behavior. - Phase B polish: profile tree labels now render cleanly with explicit
| Seed:separators (fixing merged text artifacts in the left sidebar). - Phase B slice: left tree navigation now traverses child nodes (managed/agent) and
profile-tree-opencan open selected child entries directly, not just switch profiles. - Phase F slice: inspector side is now kind-aware; non-sensitive kinds (for example document/note) keep the secret panel hidden and return clear status messages for unsupported reveal/QR actions.
- Phase B polish: active profile branch now renders explicit child group headers (
Managed Users,Agents) for clearer hierarchy scanning. - CLI compatibility guard: added explicit regression tests for
seedpass legacyandseedpass --legacy-tuilaunch paths to prevent fallback command regressions. - Phase H slice: added high-resolution density mode (reduced top/bottom chrome heights and heading heights at large viewports) to improve functional content fit on 2256x1504-class screens.
- Phase H polish: removed extra default vertical whitespace by tightening status and 2FA board top margins.
- Phase F/H reliability slice: unified right-pane mode transitions so entry board, 2FA board, and document editor stay mutually exclusive with synchronized state flags.
- Phase F context guard: opening an entry now auto-closes 2FA board and entry switches are blocked while document edit mode is active to prevent unsaved-context drift.
- Phase H readability slice: dense high-res action strip now uses abbreviated labels to keep bottom command hints visible without clipping at large viewport widths.
- Phase F clarity slice: inspector heading is now context-aware and updates by mode (entry view, document editor, 2FA board) for clearer right-pane state awareness.
Validation status:
- Current focused TUI gate:
50 passed - Broader gate (CLI + TUI focused suites):
102 passed - Verification artifacts captured under
artifacts/ui_eval/audit_20260302_phase*/(latest:audit_20260302_phaseF5).