Commit Graph
40 Commits
Author SHA1 Message Date
thePR0M3TH3AN f6d7785803 Handle pip-audit advisory alias in CI workflows 2026-02-25 21:18:41 -05:00
thePR0M3TH3AN b24247dce5 Fix CI bootstrap by switching tests workflow cache to pip 2026-02-25 21:15:55 -05:00
thePR0M3TH3AN 88c1974ac6 Harden TUI recovery paths and add release integrity gates 2026-02-25 19:18:54 -05:00
thePR0M3TH3AN d83e16baf3 update 2026-02-25 17:30:25 -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 979ba6f678 fix: use bash for pip-audit step 2025-08-06 17:36:27 -04:00
thePR0M3TH3AN 54314cc5b3 ci: treat pip-audit findings as warnings 2025-08-06 17:14:19 -04:00
thePR0M3TH3AN fd419fb943 chore: add poetry and CI tests 2025-08-06 17:06:28 -04:00
thePR0M3TH3AN 68eaa34d76 Add dependency scanning and optional dependency checks 2025-08-05 21:04:50 -04:00
thePR0M3TH3AN 2c44f51fc4 ci: add secret scanning 2025-08-03 10:27:13 -04:00
thePR0M3TH3AN 6f885bd65e Use hashed requirements lock 2025-08-03 10:08:50 -04:00
thePR0M3TH3AN 5acd1d489d chore: add dependency auditing 2025-08-03 08:32:57 -04:00
thePR0M3TH3AN 715952fba6 Ignore ecdsa advisory 2025-07-30 15:25:47 -04:00
thePR0M3TH3AN 160a8fac51 CI: run desktop GUI tests 2025-07-19 19:11:59 -04:00
thePR0M3TH3AN 615be7d325 Add Briefcase build workflow and update README 2025-07-18 18:01:05 -04:00
thePR0M3TH3AN b88a93df29 Add CI test script and update workflow 2025-07-16 15:57:33 -04:00
thePR0M3TH3AN 3bfbda03b4 Fix stress args step on Windows 2025-07-05 12:19:45 -04:00
thePR0M3TH3AN ba2b0e4ace Add security tooling and password length test 2025-07-01 16:44:18 -04:00
thePR0M3TH3AN f7e05a3bc8 Remove mutation tests from CI 2025-07-01 16:32:05 -04:00
thePR0M3TH3AN d3264d231c speed up mutmut 2025-07-01 16:09:08 -04:00
thePR0M3TH3AN bfd83c818d Fix mutmut usage in CI 2025-07-01 15:55:04 -04:00
thePR0M3TH3AN 9ec12bf19f Add mutation testing and contract test 2025-07-01 15:47:29 -04:00
thePR0M3TH3AN 1d580819e7 Enable parallel and stress testing 2025-07-01 15:37:52 -04:00
thePR0M3TH3AN a83679f00e Add real Nostr integration test 2025-07-01 14:27:57 -04:00
thePR0M3TH3AN 5cd7d264f1 Fix Windows tests and add ClientPool fallback 2025-06-29 21:43:33 -04:00
thePR0M3TH3AN b4055209fb CI: avoid python 3.11 on windows 2025-06-29 20:38:44 -04:00
thePR0M3TH3AN 7653e12ad5 Pin Windows Python version 2025-06-29 20:26:14 -04:00
thePR0M3TH3AN a388e9cc77 Add MSYS2 bin to PATH on Windows 2025-06-29 20:15:00 -04:00
thePR0M3TH3AN 47169157bb Fix Windows build setup 2025-06-29 19:52:50 -04:00
thePR0M3TH3AN 1cbcf6f546 Fix MSYS2 secp256k1 package 2025-06-29 19:44:27 -04:00
thePR0M3TH3AN 5654caed35 Fix Windows toolchain package 2025-06-29 19:32:29 -04:00
thePR0M3TH3AN eec7da1c28 Fix Windows build with msys2 secp256k1 2025-06-29 19:15:53 -04:00
thePR0M3TH3AN 37d6547ecc Fix artifact naming per OS 2025-06-29 19:00:52 -04:00
thePR0M3TH3AN df2a776a0a Fix gitattributes and install build tools for CI 2025-06-29 18:00:04 -04:00
thePR0M3TH3AN c02f8d9c10 Use portalocker for cross-platform locking 2025-06-29 17:44:32 -04:00
thePR0M3TH3AN 49c71254fa Update artifact action 2025-06-29 15:39:37 -04:00
thePR0M3TH3AN e7c6dc4732 Update CI workflow for coverage 2025-06-29 15:34:35 -04:00
thePR0M3TH3AN 786f2c2bc5 Add coverage to CI workflow 2025-06-29 15:20:05 -04:00
thePR0M3TH3AN 1a68c1782f Add config and NostrClient tests 2025-06-28 22:10:41 -04:00
thePR0M3TH3AN 15f2dc7a98 docs: clarify install and add CI 2025-06-28 20:25:35 -04:00