Commit Graph
67 Commits
Author SHA1 Message Date
thePR0M3TH3AN 882cd060fa Fix Python 3.10 compatibility for UTC timezone usage 2026-02-25 21:26:32 -05:00
thePR0M3TH3AN 88c1974ac6 Harden TUI recovery paths and add release integrity gates 2026-02-25 19:18:54 -05:00
thePR0M3TH3AN 03958106e1 Add agent mode, hardened TUI harness, coverage gates, and cross-platform installer smoke CI
This commit delivers four related improvements focused on reliability and automation while preserving existing human/TUI workflows.

1) Agent-first CLI mode (additive)
- Added new `seedpass agent` command group (`src/seedpass/cli/agent.py`) and wired it into CLI root.
- Implemented non-interactive profile bootstrap: `seedpass agent init` with `--seed|--seed-file|--generate-seed` and password env injection (`--password-env`).
- Added policy management commands: `agent policy-show` and `agent policy-set` with allow/deny kind controls.
- Added JSON-based secret retrieval: `seedpass -f <fingerprint> agent get <query> --ttl <sec>` with lease metadata and policy enforcement.
- Kept regular human mode fully available; no behavioral changes to interactive TUI entrypoint.

2) TUI agent harness deepening and stabilization
- Refactored harness into scenario profiles: `core`, `extended`, `stress` with `--scenario` selection.
- Added deterministic seeded stress campaigns: `--stress-cycles`, `--stress-seed`.
- Added scenario-specific required coverage keys and report metadata.
- Added post-condition assertions in extended scenario (archive/restore consistency, lock/unlock retrieval recovery).
- Hardened prompt matching for output variants and fail-fast behavior on non-zero SeedPass exit codes.
- Added harness unit tests for helper logic and control flow.

3) Critical module coverage gate tooling
- Added `scripts/check_critical_coverage.py` to enforce per-module thresholds from coverage JSON and report uncovered functions.
- Added override controls (`--threshold`, `--no-default-thresholds`) and optional JSON result output.
- Integrated coverage JSON generation into CI helper script and optional gate execution via `CRITICAL_COVERAGE_GATE=1`.
- Tuned default thresholds using full-suite baseline and increased strictness:
  - `src/main.py >= 50%`
  - `src/seedpass/core/manager.py >= 60%`
  - `src/seedpass/core/encryption.py >= 80%`
  - `src/seedpass/core/migrations.py >= 90%`
- Added tests for coverage gate parser/analysis logic and targeted manager worker path tests.

4) Installer validation framework for beta/main
- Added cross-platform installer smoke scripts:
  - `scripts/installer_smoke_unix.sh`
  - `scripts/installer_smoke_windows.ps1`
- Added GitHub Actions workflow `.github/workflows/installer-smoke.yml` with:
  - reduced PR matrix
  - full scheduled/manual matrix across OS/branch/mode
  - per-job log capture and artifact uploads for failure triage
- Added installer testing documentation and linked from README.

Additional housekeeping
- Added `.venv/` to `.gitignore`.
- Updated docs for new harness scenarios, seeded stress mode, post-condition metadata, coverage gate usage, and installer testing workflow.
2026-02-23 15:47:59 -05:00
thePR0M3TH3AN dd7290e83b Add robust AI TUI harness, docs roadmap, and lock/unlock fix 2026-02-23 14:35:40 -05:00
thePR0M3TH3AN 428efd02b4 Add GUI extras for platform backends 2025-08-21 16:18:32 -04:00
thePR0M3TH3AN ca533a3518 feat: add installer mode flag 2025-08-21 15:45:58 -04:00
thePR0M3TH3AN 505cf1a950 feat: track nostr account index per seed 2025-08-20 22:15:35 -04:00
thePR0M3TH3AN af4eb72385 Default to GUI install with opt-out flag 2025-08-18 17:50:18 -04:00
thePR0M3TH3AN 5194adf145 Check CLI import after installation 2025-08-18 17:02:23 -04:00
thePR0M3TH3AN 1232630dba feat: expand install dependencies 2025-08-18 15:56:29 -04:00
thePR0M3TH3AN b4238791aa chore: harden installer script 2025-08-16 11:30:48 -04:00
thePR0M3TH3AN 8737905e93 feat: make GUI install optional on Windows 2025-08-07 13:10:11 -04:00
thePR0M3TH3AN 171f92167e feat: add optional GUI install flag 2025-08-07 12:05:12 -04:00
thePR0M3TH3AN 00edb44442 feat: make GUI dependencies optional 2025-08-07 10:51:13 -04:00
thePR0M3TH3AN 68eaa34d76 Add dependency scanning and optional dependency checks 2025-08-05 21:04:50 -04:00
thePR0M3TH3AN 6f885bd65e Use hashed requirements lock 2025-08-03 10:08:50 -04:00
thePR0M3TH3AN 5423c41b06 Include fingerprint salt in password key derivation 2025-08-03 09:37:59 -04:00
thePR0M3TH3AN ccca399b09 docs: clarify manual clipboard dependencies 2025-08-03 08:12:25 -04:00
thePR0M3TH3AN 4ccdd2b3df feat(install): auto install gtk deps 2025-07-31 21:42:28 -04:00
thePR0M3TH3AN 365a098d70 Update Linux dependencies in install script 2025-07-31 12:21:59 -04:00
thePR0M3TH3AN 160a8fac51 CI: run desktop GUI tests 2025-07-19 19:11:59 -04:00
thePR0M3TH3AN bdf6a038c2 Enhance install scripts to warn about stale executables 2025-07-19 15:17:16 -04:00
thePR0M3TH3AN c80495eca6 fix linux dependencies 2025-07-19 14:21:24 -04:00
thePR0M3TH3AN a01e0f0037 fix: install missing deps for pygobject 2025-07-19 14:11:34 -04:00
thePR0M3TH3AN 04862bce48 install: ensure cairo installed 2025-07-19 13:43:49 -04:00
thePR0M3TH3AN d7df6679bd Install toga-winforms backend on Windows 2025-07-19 13:09:31 -04:00
thePR0M3TH3AN ad3f1bc80c Add platform-specific Toga installation 2025-07-19 13:00:35 -04:00
thePR0M3TH3AN c23b2e4913 Refactor password manager modules 2025-07-17 19:21:10 -04:00
thePR0M3TH3AN f7eaf2897f Add vendor dependencies script 2025-07-17 08:39:22 -04:00
thePR0M3TH3AN 479c034573 fix windows ci hangs 2025-07-16 17:50:08 -04:00
thePR0M3TH3AN 0741744f99 Handle missing timeout in CI script 2025-07-16 16:06:21 -04:00
thePR0M3TH3AN b88a93df29 Add CI test script and update workflow 2025-07-16 15:57:33 -04:00
thePR0M3TH3AN 1c2bb84e75 Update test profile generator with new entry types 2025-07-14 09:54:00 -04:00
thePR0M3TH3AN 11d78a98c9 docs: clarify test profile location 2025-07-13 20:47:26 -04:00
thePR0M3TH3AN 79488b4373 Fix KDF iteration config in test profile script 2025-07-13 18:58:59 -04:00
thePR0M3TH3AN 80c67905ae Allow passing ConfigManager to NostrClient 2025-07-13 15:57:31 -04:00
thePR0M3TH3AN fc56ec169f docs: describe launching TUI 2025-07-11 12:41:31 -04:00
thePR0M3TH3AN 29b06d5b40 Fix CLI launcher and module entry 2025-07-11 11:24:24 -04:00
thePR0M3TH3AN 8d64a94d83 Handle rm failure in uninstall 2025-07-11 10:41:33 -04:00
thePR0M3TH3AN fb27d49ad7 enhance uninstall script to clean old executables 2025-07-11 10:28:48 -04:00
thePR0M3TH3AN a32bfd4523 Add uninstall scripts for all platforms 2025-07-11 09:37:07 -04:00
thePR0M3TH3AN 2609064016 Clarify CLI reinstall steps 2025-07-10 22:47:23 -04:00
thePR0M3TH3AN fd1db2cdde Update installer scripts and docs for Typer CLI 2025-07-10 22:09:49 -04:00
thePR0M3TH3AN 6985734cad feat(windows): improve build tools detection 2025-07-06 21:38:48 -04:00
thePR0M3TH3AN dcd7cc8329 Improve Windows installer fallback for Python 3.13 2025-07-06 21:28:04 -04:00
thePR0M3TH3AN 13ed4914db Improve Windows installer Python detection 2025-07-06 21:16:35 -04:00
thePR0M3TH3AN c8a4f67651 Merge branch 'main' into codex/update-install-scripts-to-check-for-python 2025-07-06 20:45:41 -04:00
thePR0M3TH3AN 5882d6b1d5 Improve Python detection in Windows installer 2025-07-06 20:29:01 -04:00
thePR0M3TH3AN 81640d7205 feat(installer): auto-install python on Windows 2025-07-06 20:20:11 -04:00
thePR0M3TH3AN c2f6971b86 Isolate test profiles 2025-07-06 18:57:18 -04:00