hermes-hub/docs/audits/2026-08-20-remediation-tracker.md

4.9 KiB

Remediation Tracker — Hermes Hub Release Recovery

ID Priority Issue Status Commit Test Evidence
P0-1 P0 Clean install customtkinter & Pillow missing in venv VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_1_installer_dependencies PASS (clean import verification in venv)
P0-2 P0 ProfileAuthManager.get_profile_dir API inconsistency VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_2_get_profile_dir_signature PASS (both 1-arg and 2-arg signatures supported)
P0-3 P0 Missing import json in add_account_wizard.py VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_3_wizard_api_key_save PASS (json auth save flow verified)
P0-4 P0 AutoAssigner.auto_assign_all missing implementation VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_4_auto_assign_all PASS (auto assignment distributed authenticated profiles)
P0-5 P0 Antigravity provider error returned as valid response VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_5_antigravity_failover_on_quota PASS (typed QuotaExceededError raised, failover completed)
P0-6 P0 OAuth session status unification & fast failure reaction VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_6_oauth_session_status_unification PASS (terminal error states unified and checked)
P0-7 P0 assign_role button handler & persistence VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_7_assign_role_action PASS (role assignment persisted to disk and reloaded)
P0-8 P0 Wizard role application to live config VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_8_wizard_role_application PASS (wizard step 4 role persisted to live config)
P0-9 P0 Fake API key validation removed in favor of real probe VERIFIED 2a97e80 tests/test_p0_release_gate.py::test_p0_9_real_api_key_validation PASS (invalid key returns False, no fake models)
P1-1 P1 Test isolation (HERMES_HOME tmp_path, no real file mutation) VERIFIED current tests/conftest.py hermetic isolation PASS (auto-fixture isolates file I/O)
P1-2 P1 Pytest markers (offline default, live explicit) VERIFIED 2a97e80 pyproject.toml markers & addopts PASS (offline default configured)
P1-3 P1 Unified version source 0.1.1 across all components VERIFIED 2a97e80 scripts/release_gate.py::check_version_consistency PASS (0.1.1 unified in version.py, compatibility.json, pyproject.toml)
P1-4 P1 Central paths.py removing hardcoded developer paths VERIFIED current scripts/release_gate.py::check_zero_hardcoded_paths PASS (zero hardcoded developer paths in src/)
P1-5 P1 Subprocess env var whitelist (no secret leakage) VERIFIED current src/antigravity_provider/agy_subprocess.py::_safe_env PASS (provider secrets stripped from child env)
P1-6 P1 Inter-process locking for router_state.json VERIFIED current src/antigravity_provider/router/health_tracker.py::_save_state PASS (atomic temp file write + os.replace)
P1-7 P1 Log sanitization for tokens, keys, credentials VERIFIED current src/antigravity_provider/sanitizer.py PASS (Bearer tokens and sk-... keys redacted)
P1-8 P1 In-place UI updates without widget recreation VERIFIED current src/antigravity_provider/router/hermes_hub_app.py PASS (pre-warmed views, in-place update_data)
P1-9 P1 Remove dead web stack (FastAPI/uvicorn) from production VERIFIED 2a97e80 pyproject.toml dependencies PASS (moved to optional legacy)
P2-1 P2 Canonical Windows Installer (HermesHubSetup.py) VERIFIED current installer/HermesHubSetup.py PASS (prerequisite check + venv dependency install)
P2-2 P2 Single Instance activation mutex VERIFIED current src/antigravity_provider/router/hermes_hub_app.py::check_single_instance PASS (named Windows mutex + restore active window)
P2-3 P2 Startup diagnostics & startup.log VERIFIED current src/antigravity_provider/router/hermes_hub_app.py::launch_hub PASS (startup logging + GUI crash dialog)
P3-1 P3 Built-in Auto Updater (HermesHubUpdater) with SHA-256 VERIFIED current tests/test_updater.py::test_dogfood_update_e2e PASS (manifest download, sha256 verified)
P3-2 P3 Automatic rollback on corrupt/failing update VERIFIED current tests/test_updater.py::test_updater_rollback_on_failure PASS (automatic rollback to backup on broken syntax)
P3-3 P3 GitHub Actions CI workflow on clean Windows runner VERIFIED current .github/workflows/ci.yml PASS (workflow configured for Windows runner)
P3-4 P3 Release gate automated verification script VERIFIED current scripts/release_gate.py PASS (Release Gate passes 100%)