mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-28 16:32:06 +00:00
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]>
231 lines
13 KiB
Markdown
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`.
|