mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-28 16:32:06 +00:00
4.3 KiB
4.3 KiB
Memory Update (2026-03-03)
Architectural Pivot: TUI v3 Scratch Rebuild
- Decision: Shifted development from TUI v2 to TUI v3.
- Rationale: v2 became a monolithic "God Object" (>6,500 lines). v3 uses a modular architecture with separate files for
widgets/andscreens/. - Layout Solution: Moved from "all-in-one-frame" to a Screen-based transition model.
SettingsScreen: Full-screen configuration.MaximizedInspectorScreen: Full-screen focused detail (bound toz).
- Board Architecture: Implemented specialized ASCII boards (e.g.,
TotpBoard,SshBoard) that reactively swap in the inspector based on the selected entry kind.
Technical Insights & Fixes
- Action Strip Hardening: Discovered that Textual widget borders and padding offset click coordinates. Fix: subtract border/padding widths from
event.x/ybefore parsing segments. - Reactive Selection: Used
on_data_table_row_highlightedin v3 to trigger real-time inspector updates. This provides a much smoother feel than requiring a manual "open" command. - Confirmation Logic: Hardened the "double-press" mechanism for high-risk actions (Seeds/Reveal). Replaced subtle status messages with bold "CONFIRMATION REQUIRED" inspector cards.
- Regression Fix: Re-synchronized
test_tui_v2_parity_scenarios.pytests. They previously assumed auto-selection of filtered results, which is no longer the default behavior.
Infrastructure
- Test Centralization: Created
docs/TEST_INVENTORY.md. - Interactive Harness: Created
scripts/interactive_agent_tui_test.pywhich now supports both v2 and v3. It uses dependency injection to mock services, allowing for safe, password-free exploratory testing. - CLI Selector: Updated root command to support
--tui [legacy|v2|v3]and a directtui3command.
Next Steps for Future Sessions
- Implement the
EditScreenin v3. - Port the remaining Nostr Relay management logic to a dedicated v3 board.
- Complete the 1:1 pixel/character parity check against the 9 remaining mockups using the new
Boardclasses.
Audit Addendum (2026-03-03)
- Ran a v3 parity-focused static/runtime audit against v2 behavior contracts.
- Found a critical lock-state issue in v3:
session_lockeddefaults toTrue, but v3 currently exposeslockonly (nounlockaction/command), which blocks reveal/archive/copy flows by default. - Found a critical QR defect in v3:
action_show_qrreferencesrender_qr_asciiwithout a local import/definition intui_v3/app.py. - Found parity gaps where inspector/action hints advertise workflows (
edit,export,sync,load session, etc.) that are not currently wired in v3 keybindings/commands. - Found v3 sensitive payload resolution is incomplete for high-risk kinds (SSH/PGP/Nostr), so copy/reveal behavior is not parity-complete.
- Confirmed the existing interactive harness can run v3, but secure reveal flow assertions currently fail in the script run output, reinforcing parity-blocker status.
Applied Fixes (2026-03-03)
- v3 now includes a local
render_qr_asciihelper intui_v3/app.py, removing the unresolved symbol failure for QR rendering. - v3 command processor now supports
session-statusandunlock <password>, and lock handling routes through dedicated app actions. - Added
action_session_status,action_lock, andaction_unlockin v3 app with graceful service-capability checks. - Set v3 default
session_lockedstate toFalseso primary actions are not blocked at startup in injected-service and preflighted runtime flows. - Fixed sidebar node selection handling so
managed:<id>/agent:<id>opens the referenced entry instead of incorrectly mutatingactive_fingerprint. - Fixed v3 widget lookup scope bugs by switching selection/refresh/palette/board updates from app-root
query_one(...)toself.screen.query_one(...)for screen-mounted widgets. - Added focus-refresh behavior for
EntryDataTableso runtime-added entries appear immediately when the grid gains focus. - Added
src/tests/test_tui_v3_smoke.pycovering:- palette lock/unlock/session-status command path
- profile-tree child node selection semantics (
managed:<id>,agent:<id>) - grid focus refresh behavior for runtime-added entries
- Re-ran interactive harness after fixes; seed reveal confirmation now works end-to-end in v3 walkthrough output.