diff --git a/agents/inbox/2026-08-22-A8-antigravity-deployment-and-doctor.md b/agents/inbox/2026-08-22-A8-antigravity-deployment-and-doctor.md index 65534c0..b23e711 100644 --- a/agents/inbox/2026-08-22-A8-antigravity-deployment-and-doctor.md +++ b/agents/inbox/2026-08-22-A8-antigravity-deployment-and-doctor.md @@ -95,6 +95,38 @@ router/gui_server.py Требуется точное зеркало источника: удалять файлы, которых нет в источнике, исключать `__pycache__`. **Тест:** развернуть, удалить файл из источника, развернуть снова, убедиться, что в цели его нет. +## P0-4bis. Установщик должен различать первую установку и переустановку + +Требование владельца: если программа уже установлена, мастер обязан предлагать **переустановку**, а не повторять сценарий первой установки. + +Сейчас `SetupEngine.IsInstalled` вычисляется (`HermesHubSetup.cs:86`), но **в интерфейсе не используется ни разу**. Мастер всегда показывает одни и те же экраны — «Добро пожаловать в установку» → «Параметры установки» → «Установить», — независимо от того, стоит Hub на машине или нет. + +Требуется: при обнаружении установленной копии первый экран показывает её состояние и предлагает действия. + +``` +Hermes Hub уже установлен + + Установленная версия : 0.1.0 (19.08.2026) + Версия в дистрибутиве: 0.1.1 + + [ Переустановить ] [ Удалить ] [ Отмена ] +``` + +**Переустановка** означает точное зеркало: файлы программы и плагина приводятся в соответствие дистрибутиву, а всё, чего в новой версии нет, — удаляется. Это тот же механизм, что и в P0-4, но вызванный явной кнопкой. + +**Что удаляется:** устаревшие модули, файлы переименованных и перенесённых пакетов, `__pycache__`, скомпилированные остатки прошлых версий. + +**Что обязано сохраниться:** `router_profiles.yaml`, каталоги профилей с авторизацией (`agy_profiles`, `codex_profiles`, `opengo_profiles` и аналогичные), `hub_settings.json`, журналы, состояние роутера и телеметрии. Пользовательские данные лежат отдельно от программных файлов — переустановка их не касается. + +Перед удалением показать, что именно будет удалено, хотя бы количеством файлов. Молча стирать нельзя. + +**Тихий режим:** добавить флаг `/reinstall` с тем же поведением и кодами возврата, что и у остальных режимов. Существующий `/repair` либо привести к этой же семантике, либо явно развести: сейчас он объявлен, но отличие от обычной установки не документировано. + +**Тесты:** +1. В песочнице: развернуть версию A, удалить файл из источника, запустить переустановку версии B — файла в цели нет, остальные соответствуют источнику. +2. Пользовательские данные переживают переустановку: создать профиль с `auth.json`, `router_profiles.yaml` с правкой и `hub_settings.json`, переустановить, убедиться, что всё на месте и не изменилось. +3. Обнаружение установленной копии: при наличии `HermesHub.exe` мастер показывает экран переустановки, при отсутствии — обычный сценарий. + ## P0-5. Команда самопроверки Расширить `print_diagnostics_cli` до проверки, отвечающей на вопрос «работает ли Hub» **без запуска десктопа Hermes**: