mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-30 17:32:04 +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
87 lines
4.1 KiB
Markdown
87 lines
4.1 KiB
Markdown
# TUI v2 Parity Checklist
|
|
|
|
> **Legacy (Python implementation).** This document describes the Python version, which retires to `legacy/` after the TypeScript cutover ([PR #989](https://github.com/PR0M3TH3AN/SeedPass/pull/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.
|
|
|
|
Status: Parity-complete on `beta` (updated 2026-03-02).
|
|
|
|
This checklist tracks readiness to switch default interactive mode from legacy TUI to `seedpass tui2`.
|
|
|
|
## Scope
|
|
|
|
- Legacy baseline: current default `seedpass` interactive path.
|
|
- Candidate: `seedpass tui2` (Textual).
|
|
- Non-goal for cutover: replacing CLI/API behavior.
|
|
|
|
## Current Parity
|
|
|
|
| Area | Legacy TUI | TUI v2 | Notes |
|
|
|---|---|---|---|
|
|
| Entry list/search | Yes | Yes | Includes kind filter and search. |
|
|
| Entry detail view | Yes | Yes | Large document content preview is truncated for performance. |
|
|
| Archive/restore | Yes | Yes | Keyboard and command palette paths. |
|
|
| Document editing | Partial | Yes | Save/cancel flow in editor panel. |
|
|
| Graph links list | Limited | Yes | Dedicated links panel. |
|
|
| Link add/remove | Limited | Yes | Via command palette commands. |
|
|
| Neighbor traversal | No | Yes | Link cursor + open target entry. |
|
|
| Command discoverability | Menu-driven | Yes | Keybind hints, compact `?` overlay, palette `help`, and full `help-commands` reference. |
|
|
| Full legacy workflow coverage | Yes | Yes | Closed with parity matrix completion + bug-bash evidence (2026-03-02). |
|
|
|
|
## Phase 4 Deliverables
|
|
|
|
- [x] Feature parity checklist document.
|
|
- [x] First UX/perf pass for large vaults.
|
|
- paginated entry list rendering (`p`/`n`, `page-*` palette commands)
|
|
- document content preview truncation in detail panel
|
|
- [x] Error messaging and recovery flow review.
|
|
- unified failure status messaging
|
|
- retry shortcut (`x`) and palette `retry` command
|
|
- [x] Cutover decision memo (`seedpass` default switch timing).
|
|
|
|
## Risks Remaining
|
|
|
|
- Incomplete parity for legacy-only interactive operations not yet mapped into TUI v2.
|
|
- Textual runtime/version behavior can vary by environment.
|
|
- Large-vault validation is bounded to deterministic pagination/preview checks and should be expanded with full end-to-end sync workloads.
|
|
|
|
## Validation Checklist Before Cutover
|
|
|
|
- [x] Define and run deterministic parity scenarios across entry kinds.
|
|
- `src/tests/test_tui_v2_parity_scenarios.py`
|
|
- [x] Add Textual interaction tests for list/search/edit/link/pagination flows.
|
|
- `src/tests/test_tui_v2_textual_interactions.py` (skips when `textual` is unavailable).
|
|
- [x] Add non-UI unit tests for TUI v2 helper logic.
|
|
- `src/tests/test_tui_v2_helpers.py` covers command parsing, pagination, and detail truncation.
|
|
- [x] Verify large vault behavior with realistic data volume in CI-like environment.
|
|
- `src/tests/test_tui_v2_large_vault_validation.py`
|
|
- standard: `10,000` rows, stress: `50,000` rows (`--stress`)
|
|
- [x] Confirm help text and docs match shipped keybindings and palette commands.
|
|
- Updated `seedpass tui2 --help`, capabilities hints, and docs discoverability commands.
|
|
|
|
## Ongoing Tracking
|
|
|
|
- Active parity continuation and checkoff queue:
|
|
- `docs/tui_v2_parity_backlog.md`
|
|
|
|
## Parity Closure Evidence (2026-03-02)
|
|
|
|
- Legacy interactive bug-bash harness:
|
|
- `python scripts/ai_tui_agent_test.py --scenario extended --verbose`
|
|
- Result: `PASS`
|
|
- Report: `artifacts/agent_tui_test/20260302T135526Z/report.json`
|
|
- Textual TUI v2 bug-bash harness:
|
|
- `python scripts/ai_tui2_agent_test.py --scenario extended --verbose`
|
|
- Result: `PASS`
|
|
- Report: `artifacts/agent_tui2_test/20260302T135526Z/report.json`
|
|
- Parity matrix status:
|
|
- `docs/tui_v2_legacy_parity_matrix.md` now marks mapped legacy actions as implemented.
|
|
|
|
## Phase E Closure Notes
|
|
|
|
- CI smoke now explicitly validates `seedpass tui2 --check` output shape:
|
|
- `scripts/tui2_check_smoke.sh` (called from `scripts/run_ci_tests.sh`)
|
|
- `.github/workflows/tests.yml` (`poetry run seedpass tui2 --check`)
|
|
- Legacy fallback paths remain intentionally available during hardening:
|
|
- `seedpass --legacy-tui`
|
|
- `seedpass legacy`
|
|
- `seedpass tui2 --fallback-legacy`
|