diff --git a/HANDOFF.md b/HANDOFF.md index 9f09b08..101d264 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -75,12 +75,21 @@ evidence, proposed fixes, and acceptance criteria. ## Current state (as of this handoff) -- 58 tests in `tests/`, ruff clean, CI = lint + pytest (py3.10/3.12) on push/PR. +- **56 tests** in `tests/test_core.py`, ruff clean, CI = lint + pytest (py3.10/3.12). +- `main` = `13d6b91` (PR #15 merged). No unpushed commits. +- **Completed items:** #2 (spawn-test, PR #11), #3 (backup restore UI, PR #14), + #4 (stale-file protection, PR #15). +- **Next item:** #1r — secret-in-args warning badge (remainder of item 1). + `is_secret_key` / `_is_secret_value` / `redact_args` already in `bcc_core.py`. + Scope: a non-blocking warning badge when a secret-shaped value sits in `args` + instead of `env` (safer pattern). See issue #1 on Gitea for acceptance criteria. - Recent features you should know exist: lenient JSON repair (`repair_json_text`, `parse_pasted_json_verbose`, `repair_config_file` + RepairDialog), ArgsEdit numbered gutter + `split_suspicious_args`, resizable splitters with QSettings persistence, secret masking, Claude Code profile at `~/.claude.json` (settings.json only as "legacy" when it holds - parked servers). + parked servers), backup restore UI (RestoreDialog, `list_backups`, + `backup_diff`, `restore_backup`), stale-file protection (StaleDialog, + `config_mtime`, `external_change_summary`). - GUI can't be smoke-tested in CI; note in each PR whether you ran `python bcc.py` locally and what you checked.