3.9 KiB
3.9 KiB
Независимый аудит релиза Hermes Hub
Дата: 2026-08-20
Репозиторий: https://github.com/ochenstarik-ui/hermes-hub
Проверенная ревизия: origin/main @ 5ccfd48
Текущая заявленная версия: 0.1.0
Целевая версия релиза: 0.1.1
1. Сводка результатов аудита
Независимый аудит выявил ряд критических архитектурных и прикладных несоответствий, требующих обязательного исправления (Release Gate Blockers):
P0 (Блокеры релиза — 9 пунктов)
- P0-1 (customtkinter / Pillow imports): На чистой системе без установленных в venv пакетов
customtkinter/Pillowприложение аварийно завершается без внятного сообщения. - P0-2 (ProfileAuthManager.get_profile_dir signature): Несогласованность сигнатуры метода
get_profile_dir(provider, profile_idvsprofile_id). - P0-3 (Missing
import jsonin wizard): Вadd_account_wizard.pyотсутствуетimport json, что приводит к падению при попытке сохранить API-ключ для Codex / OpenCode Go. - P0-4 (AutoAssigner.auto_assign_all): UI вызывает несуществующий метод
AutoAssigner.auto_assign_all(), вызывая ошибкуAttributeError. - P0-5 (Antigravity failover & error handling):
agy_generateвозвращает текст ошибки провайдера как обычный успешный ответ модели (choices[0].message.content), из-за чего RouterEngine не распознаёт ошибку квоты и не выполняет failover. - P0-6 (OAuth session status handling): Неунифицированные статусы OAuth сессий приводят к зависанию визарда на 120 секунд вместо немедленной реакции на ошибку.
- P0-7 (assign_role button handler): Кнопка «Назначить» не имела реального диалога и обработчика назначения роли с сохранением в конфигурацию.
- P0-8 (Wizard role application): Выбранная на 4 шаге визарда роль не применялась к реальной конфигурации роутера.
- P0-9 (Fake API validation): В визарде присутствовала заглушка «успешно проверено» без реальной валидации ключа и обнаружения моделей.
2. Категории P1 / P2 / P3
- P1 (Архитектурная корректность): Изоляция тестов через
HERMES_HOME(tmp_path), офлайн pytest по умолчанию, background health snapshot, in-place UI обновления, разделение здоровья профиля и моделей, TTL сессионной привязки, блокировкаrouter_state.json, изоляция переменных окружения subprocess, санитизация логов, удаление мертвого FastAPI веб-стека. - P2 (Дистрибуция и надежность): Канонический инсталлятор, проверка совместимости версий Hermes (
compatibility.json), ресурсная иконка в .exe, Single Instance mutex,startup.log. - P3 (Автообновления и CI/CD): GitHub Actions CI, встроенный
HermesHubUpdaterс верификацией SHA-256, поддержка отката (rollback), E2E dogfood update testv0.1.1 -> v0.1.2, скриптscripts/release_gate.py.