Files
SeedPass/memory-update.md
T
thePR0M3TH3ANandClaude Opus 4.6 6f2b9a6d18 fix(tui-v2): handle non-existent entries and tree nav focus feedback
Opening a non-existent entry now shows "Entry not found" instead of
rendering a broken empty board. Tree navigation commands now give
clear feedback when focus is on wrong pane or sidebar is collapsed.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-02 21:26:30 -05:00

231 lines
13 KiB
Markdown

# Memory Update (2026-03-02)
## TUI v2 mockup parity audit refreshed
- Added a dedicated audit doc: `docs/tui_v2_mockup_gap_audit_2026-03-02.md`.
- Linked the audit from `docs/tui_v2_ui_refresh_plan.md` so future sessions use it as the active parity reference.
## High-impact findings (user-visible)
- Inspector panel currently pre-populates because first entry is auto-selected; this diverges from context-aware mockup behavior.
- Left nav is not yet a true hierarchical tree of fingerprint -> managed-account nodes.
- Layout density and panel proportions still differ from mockup geometry, especially on large displays.
- Reveal/QR pathways exist in code but user runtime still reports non-working `v`/QR behavior in some installs; treat as high-priority runtime validation gap.
## Evidence artifacts to reuse
- Primary runtime evidence: `artifacts/ui_eval/audit_20260302/state_dump.txt`.
- Mockup baseline set: `UI_mockups/PNG/*.png` (all 1854x1080).
## Recommended next implementation slice
1. Remove initial auto-selection and use a neutral inspector state.
2. Implement true left-side hierarchy model.
3. Rework dense header/footer strips to mockup rhythm.
4. Tune spacing/label verbosity for higher effective density before adding new feature surface.
## Plan consolidation (2026-03-02)
- Created `docs/tui_v2_integration_execution_plan_2026-03-02.md` as the consolidated implementation roadmap.
- Captured user-priority requirements: context-aware inspector lifecycle, true fingerprint/managed/agent tree, collapsible sidebar, filter menu replacing always-visible kind toggles, and unified lexical+tag+semantic search.
- Reordered near-term execution toward structure and reliability first (Phases A-C, D, G, H), then semantic integration and final board-fidelity polish.
## Session Update (2026-03-02, evening)
### TUI v2 parity slices completed
- Added per-profile sidebar collapse persistence in `src/seedpass/tui_v2/app.py` (state now restores on `profile-switch` and `profile-tree-open`).
- Added search mode chips to grid heading and keyboard cycling (`m`) for `keyword -> hybrid -> semantic`.
- Improved reveal UX for confirm-required secrets (`seed`, `managed_account`, `ssh`, `pgp`): pressing `v` now arms confirm and pressing `v` again (within 8s) confirms reveal.
- Fixed profile tree label rendering glitch (`fp-aSeed:...`) by normalizing to `| Seed: ...` format.
### Regression coverage added
- Sidebar state restore per profile.
- Search-mode chip rendering + `m` hotkey cycle behavior.
- Managed-account reveal double-confirm keyboard flow.
- Profile-tree seed label formatting check.
### Verification status
- Focused TUI v2 gate is green at `45 passed` for:
- `src/tests/test_tui_v2_textual_interactions.py`
- `src/tests/test_tui_v2_action_matrix.py`
- New UI artifacts captured:
- `artifacts/ui_eval/audit_20260302_phaseB2/`
- `artifacts/ui_eval/audit_20260302_phaseE3/`
- `artifacts/ui_eval/audit_20260302_phaseG2/`
- `artifacts/ui_eval/audit_20260302_phaseB3/`
### Incremental parity progress (2026-03-02 late)
- Left profile tree now supports child-node traversal and open actions for managed/agent rows via `↑/↓/Ctrl+O`.
- Inspector behavior is more context-aware: non-sensitive kinds keep secret panel hidden by default and report clean unsupported-action status for `v`/`g`.
- Tree rendering now includes explicit group headers (`Managed Users`, `Agents`) to match mockup hierarchy clarity.
- Focused TUI gate remains stable at `46 passed` after these slices.
- Added CLI regression tests for legacy launch compatibility (`seedpass legacy`, `seedpass --legacy-tui`) in `src/tests/test_typer_cli.py` to guard installer/runtime fallback behavior.
- Added responsive high-resolution density mode for large viewports (notably 2256x1504 class), reducing chrome heights for brand/ribbon/status/action bars and heading rows to fit more working content.
- Tightened default vertical whitespace by removing extra top margin on status and TOTP board panels.
- Focused TUI gate after density updates: 47 passing tests.
- Added regression check for unsupported QR behavior on non-sensitive kinds (`document`) so `g` returns an explicit status message instead of ambiguous UI behavior.
- Added a unified right-pane mode switch path so document editor and 2FA board transitions remain mutually exclusive and state flags stay synchronized.
- Added regression test covering 2FA board -> document editor -> view transitions.
- Focused TUI gate now at 48 passing tests.
- Added context guard so opening an entry auto-closes 2FA board and blocks entry switching while document editor is active (prevents unsaved context drift).
- Added transition regression test for: 2FA board -> open entry (board closes) -> edit doc -> open other entry (blocked).
- Focused TUI gate now at 49 passing tests.
- Added dense high-res action strip mode with abbreviated global commands to reduce clipping and keep bottom controls readable on large viewports.
- Added regression assertions for dense action-strip activation/deactivation tied to responsive layout thresholds.
- Inspector heading is now context-aware and tracks right-pane mode: selected entry view, document editor, and 2FA board states.
- Added regression coverage for heading transitions across view/edit/2FA modes.
- Focused TUI gate now at 50 passing tests.
- Refined inspector board typography for password/document/TOTP kinds by grouping fields and operations into clearer compact sections (`Login Fields`, `Document Fields`, `2FA Fields`) to reduce visual clutter.
- Captured visual/state evidence in `artifacts/ui_eval/audit_20260302_phaseF6/`.
- Bottom action strip shortcuts are now functional and test-covered via new shift-shortcut actions mapped to palette command prefixes plus reveal action.
- Added focused artifact: `artifacts/ui_eval/audit_20260302_phaseH6/` for bottom action-strip validation.
- Added clickable action-strip routing: clicking top-row shortcut segments now triggers the same actions as keyboard shortcuts.
- Added regression test for action-strip click routing and captured artifact `artifacts/ui_eval/audit_20260302_phaseH7/`.
- Focused TUI gate now at 53 passing tests.
- Refined dense-mode top-left sidebar hierarchy: compact FP/profile/session scope lines plus reduced label noise while preserving tree navigation and status cues.
- Added artifact `artifacts/ui_eval/audit_20260302_phaseH8/` documenting the updated hierarchy.
- Continued board-rhythm parity pass: aligned TOTP field labels (`Period :`, `Digits :`) to match password/document row style and improve scan consistency.
- Added artifacts `audit_20260302_phaseF7` and `audit_20260302_phaseF8` for board layout comparison against mockups.
- Extended dense-mode action verbosity reduction across additional boards (seed/managed, ssh, pgp, nostr) for consistent low-noise inspector language.
- Improved profile-tree depth readability with active-branch counts (`M:x A:y`) and clearer child group connectors/labels.
- Added verification artifact `artifacts/ui_eval/audit_20260302_phaseB6/` for tree hierarchy scan quality.
## Session Update (2026-03-03)
### TUI v2 managed-session + action-strip reliability fixes
- Added managed-session breadcrumb tracking in `src/seedpass/tui_v2/app.py` so left header now shows nested path context:
- `Path: <root-fingerprint> > <managed-fingerprint> > ...`
- Managed session state now tracks nested loads (`managed-load`) with stack semantics and restores the previous layer on each `managed-exit`.
- `managed-load` now normalizes kind tokens (`managed-account`, `managed account`, `managed_account`) to reduce false negatives.
- Action strip row-2 is now clickable (context actions), including:
- `v` reveal
- `g` QR
- `e` edit
- `a` archive
- `6` 2FA board
- `managed-load` / `managed-exit` when managed account is selected
- Added robust kind normalization for context rendering so action hints stay aligned with selected entry kind.
### Regression tests added/updated
- `test_tui2_textual_action_strip_click_routes_to_shortcuts` now validates row-2 click reveal.
- Added `test_tui2_textual_action_strip_context_updates_for_selected_kind` to ensure bottom context row updates by selection.
- Extended `test_tui2_textual_managed_account_session_palette_commands` with nested managed-load + breadcrumb assertions.
### Verification
- Focused and gate suite green:
- `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py`
- Result: `56 passed`.
## Session Update (2026-03-03, Slice 2)
### UI-board density and hierarchy polish
- Dense high-resolution mode now keeps `#grid-heading` at 4 rows instead of 3 to avoid header/divider clipping in large viewports.
- Refined dense top-left header hierarchy to reduce line noise:
- retained explicit `Fingerprint` and `Path`
- consolidated session/profile/managed state into one line
- kept scope line focused on active filters only
### Regression updates
- Updated `test_tui2_textual_hires_density_compacts_vertical_chrome` to assert the new dense grid-heading height (`4`).
### Verification
- Focused TUI v2 gate remains green:
- `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py`
- Result: `56 passed`.
## Session Update (2026-03-03, Slice 3)
### Board geometry parity pass
- Added reusable ASCII card renderer for inspector sections (`_board_card`).
- Password and stored-password boards now render framed `Credentials` and `Quick Actions` blocks.
- Note/document boards now render framed `Content` and `Quick Actions` blocks.
- Increased note/document preview length (120 -> 180 chars) for better mockup-like content emphasis.
### Regression coverage
- Extended note metadata board test to assert card framing.
- Added password board card-section test.
### Verification
- Focused TUI v2 gate:
- `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py`
- Result: `57 passed`.
## Session Update (2026-03-03, Slice 4)
### UI-board density rebalancing
- Added dynamic dense/high-res vertical split:
- idle: `top-work=9fr`, `right=3fr`
- active inspect/edit/2FA: `top-work=8fr`, `right=4fr`
- Added `_refresh_layout_balance()` and invoked it during key state transitions so layout rebalance is state-driven, not resize-driven.
### Regression coverage
- Added `test_tui2_textual_hires_density_rebalances_idle_vs_selected`.
### Verification
- Focused TUI v2 gate:
- `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py`
- Result: `58 passed`.
## Session Update (2026-03-03, Slice 5)
### Action-strip microcopy polish
- Standardized context action wording to verb-first with key hints across entry kinds.
- Preserved managed account session actions while aligning adjacent wording style.
- Expanded row-2 click parser to recognize verb-led labels so copy changes do not break mouse interactions.
### Regression coverage
- Updated action-strip context tests to match polished copy.
### Verification
- Focused TUI v2 gate:
- `poetry run pytest -q src/tests/test_tui_v2_textual_interactions.py src/tests/test_tui_v2_action_matrix.py`
- Result: `58 passed`.
## Session Update (2026-03-03, Slice 6)
### Universal card framing
- Extended `_board_card` to TOTP (Parameters), SSH/PGP/Nostr (Keys), and Seed/Managed (Seed Info) boards.
- All 9 board types now use consistent card-section visual language.
- Updated regression tests for SSH/PGP/Nostr, Seed/Managed, and TOTP boards.
### Verification
- Focused TUI v2 gate: `58 passed`.
### Next
- Capture fresh state dump/screenshots for updated boards.
- Update strict closeout scoreboard (Password/Stored Password/Note now at card parity; remaining Minor Gap items are density/rhythm only).
## Session Update (2026-03-03, Slice 7)
### Board density tightening
- Removed redundant section headers above card frames (saves 2-3 lines per board).
- Removed "Compact: Notes/Tags shown inline." noise from compact mode.
- Capped note preview at 100 chars (was 180) to prevent oversized Content cards.
- Password board now 17 lines (was ~21). All boards similarly tighter.
### Verification
- Focused TUI v2 gate: `58 passed`.
## Session Update (2026-03-03, Slice 8)
### Action strip + hint line tightening
- Normal-mode global row now uses verb-first labels matching context row style.
- Seed/TOTP Actions hints shortened from raw palette commands to user-facing verbs.
- All action hint lines now consistently use human-readable language.
### Verification
- Focused TUI v2 gate: `58 passed`.
## Session Update (2026-03-03, Slice 9)
### Final micro-polish
- `_board_card` now has max_width=72 cap with ellipsis truncation for long rows.
- Nostr action hint capitalized: `QR Private (confirm)`.
- Compact mode global strip verb-first: `Settings (S) Add (A) ...`.
- All three modes (compact/dense/normal) now share consistent verb-first label style.
### Verification
- Focused TUI v2 gate: `58 passed`.
## Session Update (2026-03-03, Slice 10)
### UX bug fixes from interactive walkthrough
- Fixed `open <non-existent-id>` rendering broken empty board (now shows "not found" and clears selection).
- Fixed tree nav commands (`profile-tree-next/prev/open`) silently ignoring when focus is on wrong pane (now shows guidance).
- Added 2 regression tests. Gate: `60 passed`.