6.9 KiB
6.9 KiB
Hermes Hub — Final Release Candidate Audit & Review Request (v0.1.1)
Date: 2026-08-20
Target Candidate: v0.1.1
Base Commit: 42dfe2c → Head Commit: (Clean working tree)
Reviewer: Claude (Роль «Ревьюер»)
Status: ALL RELEASE BLOCKERS CLOSED & LIVE VERIFIED (FEATURE FREEZE ACTIVE)
1. Summary of Verified Fixes
| Requirement | Implementation & Changes | Verification Status |
|---|---|---|
1. Canonical Installer (HermesHubSetup.cs -> HermesHubSetup.exe) |
Updated HermesHubSetup.cs to version 0.1.1, added EnsurePythonDependencies (customtkinter, Pillow, PyYAML, psutil), assets/ recursive copying to target & plugin directories, and post-install import smoke test. Recompiled via build_installer.ps1 to dist/HermesHubSetup.exe. |
[LIVE VERIFIED] ✅ |
| 2. P0-1 Dependency Installation | If customtkinter or PIL are absent in the target Hermes venv, installer bootstraps ensurepip / pip / uv and installs required packages, verifying import before completing. |
[LIVE VERIFIED] ✅ |
| 3. Branding & Provider Assets | assets/branding/ and assets/providers/ deployed into installation and plugin directory; paths.get_branding_dir() and paths.get_providers_assets_dir() resolve from installed locations without repository path fallbacks. |
[LIVE VERIFIED] ✅ |
| 4. Post-Install Import Smoke Test | Executes python.exe -c "import customtkinter; from PIL import Image; import antigravity_provider.router.hermes_hub_app; print('HERMES_HUB_IMPORT_OK')"; non-zero exit or missing sentinel fails installation. |
[LIVE VERIFIED] ✅ |
| 5. Clean Live Install Test | Executed HermesHubSetup.exe /silent in a clean disposable sandbox venv without customtkinter/Pillow. Verified dependencies installed, assets present, and native UI module imported without crash. |
[LIVE VERIFIED] ✅ |
| 6. P0-1 Test Coverage | test_p0_1_installer_dependencies verifies installer source specification for dependencies, assets, smoke test, and runtime availability. |
[UNIT VERIFIED] ✅ |
| 7. S7 Test Isolation | Canonical installer documentation and test isolation policy defined in installer/README.md; unit tests isolated from Registry / Start Menu. |
[UNIT VERIFIED] ✅ |
| 8. M1 Dev URL Bypass Closure | is_allowed_update_host(..., allow_dev_local=False) in production path. Local files/paths are strictly rejected in production mode and allowed only with HERMES_HUB_DEV_MODE=1. |
[UNIT VERIFIED] ✅ |
| 9. M2 Release Gate Counters | Aligned all headings and messages to exact count 16/16. |
[UNIT VERIFIED] ✅ |
| 10. M3 Settings Caching | Implemented mtime-based cache in settings_service.py with cache invalidation on save to eliminate JSON disk I/O on every LLM routing request. |
[UNIT VERIFIED] ✅ |
| 11. Public Release Feed | Created public repository ochenstarik-ui/hermes-hub-releases. Published update_manifest.json returning HTTP 200 without BOM. |
[LIVE VERIFIED] ✅ |
2. Mandatory Evidence (A–J)
A. Canonical Installer Binary
- Source:
installer/HermesHubSetup.cs - Binary:
dist/HermesHubSetup.exe(SHA256:1D41B9D669952CE9B409675C3A9FDDF317197341645016456B134E1BCA1BA97F) - Compiler: Microsoft (R) Visual C# Compiler (csc.exe) via
installer/build_installer.ps1.
B & C. Clean Sandbox Venv Pre/Post Install
- Pre-Install Check:
PASS: customtkinter is absent as expected PASS: PIL is absent as expected - Installer Execution:
Running HermesHubSetup.exe /silent on sandbox without customtkinter/pillow... Installer ExitCode: 0 - Post-Install Verification:
PASS: customtkinter successfully installed: 6.0.0 PASS: Pillow successfully installed: ...\site-packages\PIL\Image.py PASS: PyYAML successfully installed PASS: Hermes Hub App successfully imported!
D & E. Assets & App Loading from Installed Path
Logo 1024: True
App Icon: True
Antigravity icon: True
OpenAI icon: True
OpenCode icon: True
Hermes Hub App Module loaded successfully: ...\plugins\antigravity-provider\src\antigravity_provider\router\hermes_hub_app.py
F & G. Production vs Dev Mode Updater Host Allowlist
- Production Mode (No Dev Env):
file:///C:/local/update.zip->REJECT(False)C:\local\update.zip->REJECT(False)https://evil-server.com/malicious_update.zip->REJECT(False)
- Development Mode (
HERMES_HUB_DEV_MODE=1):file:///C:/local/update.zip->ALLOW(True)C:\local\update.zip->ALLOW(True)http://localhost:8000/manifest.json->ALLOW(True)https://evil-server.com/malicious_update.zip->REJECT(False)
H. Public Release Feed HTTP 200
URL: https://raw.githubusercontent.com/ochenstarik-ui/hermes-hub-releases/main/update_manifest.json
HTTP Status: 200
Product: Hermes Hub Version: 0.1.1
I. Pytest Suite Exact Output
============================= test session starts =============================
platform win32 -- Python 3.11.16, pytest-9.1.1, pluggy-1.6.0
rootdir: E:\Agent projects\hermes-hub
configfile: pyproject.toml
testpaths: tests
plugins: anyio-4.12.1
collected 58 items / 3 deselected / 55 selected
====================== 55 passed, 3 deselected in 8.14s =======================
J. Release Gate Verification Exact Output
======================================================================
Hermes Hub — Release Gate Verification Suite (Target: v0.1.1)
======================================================================
Running 1. Version Consistency ([UNIT VERIFIED])...
[UNIT VERIFIED] Version 0.1.1 is consistent across all manifests
Running 2. P0 Release Blockers (16/16) ([UNIT VERIFIED])...
[UNIT VERIFIED] 16/16 P0 release blockers & regression checks verified
Running 3. Auto-Updater & Rollback ([INTEGRATION VERIFIED])...
[INTEGRATION VERIFIED] Auto-updater, SHA-256 verification, and rollback verified
Running 4. Full Offline Pytest Suite ([INTEGRATION VERIFIED])...
[INTEGRATION VERIFIED] All unit and integration tests passed offline
Running 5. Zero Hardcoded Developer Paths ([STATIC VERIFIED])...
[STATIC VERIFIED] Zero hardcoded developer paths in src/
Running 6. Zero Credentials & AST Secret Scan ([SECURITY VERIFIED])...
[SECURITY VERIFIED] Zero secret files, live tokens, or obfuscated secret assignments in src/
Running 7. Public Production Update Feed ([LIVE STATUS])...
[LIVE STATUS] Public update manifest live at https://raw.githubusercontent.com/ochenstarik-ui/hermes-hub-releases/main/update_manifest.json (v0.1.1)
======================================================================
[RELEASE GATE: PASSED] All criteria verified. Ready for Candidate v0.1.1
======================================================================