Commit graph

7 commits

Author SHA1 Message Date
Hermes Team
23e9ac1d6b review(a57): нативный вход через agy принят с исправлениями
Проверено исполнением, а не по отчёту.

Работает. Профиль, где лежит только файл, записанный agy, признаётся
подключённым, и хаб этот файл не переписывает — главный критерий приёмки
выполнен. Поиск терминала честный: перечисляет проверенных кандидатов, а
DISPLAY, WAYLAND_DISPLAY, XAUTHORITY и DBUS_SESSION_BUS_ADDRESS внесены в
список разрешённых переменных, иначе окно терминала не открылось бы. На
сервере владельца найдены x-terminal-emulator, gnome-terminal,
xfce4-terminal, xterm.

Исправлено два дефекта.

1. Почта после входа искалась в google_accounts.json, auth.json и id_token.
   У свежего слота первых двух нет, а antigravity-oauth-token у владельца
   занимает 505 байт — id_token туда не помещается. Последняя попытка
   разбирала токен доступа как JWT, но ya29-токен Google не JWT и claims не
   несёт. Пустая почта отключает проверку двойников, и рост номеров слотов,
   починенный в 9641957, вернулся бы. Теперь почта запрашивается у UserInfo —
   тем же способом, каким её узнаёт браузерный вход. Отказ сети вход не
   роняет: аккаунт подключён, почта Н/Д.

2. В существующем тесте test_seq_token_prevents_stale_refresh_clobber строгая
   проверка была заменена на нестрогую. Прогнал исходную пять раз подряд и в
   полном наборе — проходит. Ослабление было лишним, вернул; добавленную
   исполнителем проверку seq оставил, она по делу.

Не выполнено исполнителем: живая проверка входа на сервере (P0-7.1) — вместо
неё двенадцать модульных тестов. Вход требует участия владельца, поэтому
проверить его сам не могу.

Неточности отчёта: «Release Gate 16/16» — это счёт внутри второго раздела, а
не итог гейта; обращения к UserInfo API в коде не было, оно добавлено здесь.

661 passed, 2 skipped; ruff чисто; релизный гейт пройден.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 14:54:59 +07:00
ochenstarik-ui
3b423ca351 feat(antigravity): нативный вход через agy в терминале (A57)
- Реализован запуск agy в терминале с изолированным HOME (x-terminal-emulator, gnome-terminal, konsole, xfce4-terminal, tilix, alacritty, kitty, terminator, urxvt, foot, xterm / Windows wt, cmd)
- Опрос появления antigravity-oauth-token вместо ожидания процесса терминала
- Защита занятого слота от перезаписи без подтверждения
- Честное извлечение email без выдумывания identity и предотвращение дубликатов слотов
- Сохранён браузерный OAuth в качестве запасного пути
- Добавлены 12 тестов в test_a57_agy_native_login.py, 640 тестов проходят
2026-09-01 14:25:13 +07:00
Hermes Team
b149a6ab73 Finish A28: Subagents and role registry implementation 2026-08-25 19:38:03 +07:00
Hermes Team
ff8776b963 feat(release): close contract audit v1.2, release feed verification, diagnostic CLI, and failover event logging 2026-08-21 10:05:30 +07:00
Hermes Team
2035c1455f feat(state): close contract gaps v1.1, canonical event publishers, and view model enrichment 2026-08-21 08:20:56 +07:00
Hermes Team
83409d5354 style: normalize merged state tests 2026-08-21 00:11:16 +07:00
Hermes Team
86c9189edd feat(state-layer): event-driven quota, seq freshness guards, and state layer stabilization
- Added HubStateStore targeted delta update methods (apply_delta_quota_updated, apply_delta_account_added, apply_delta_account_removed, apply_delta_route_changed)
- Added seq sequence freshness tracking in HubStateStore to drop stale out-of-order responses
- Added trigger_refresh_provider in HermesRefreshScheduler
- Bound multi-bucket quotas to specific model families (Claude vs Gemini) with truthful is_estimated tracking
- Connected OAuth completion to targeted account added events across all providers
- Pinned antigravity_provider package root to repo via __init__.py and added import invariant verification
- Added unit tests in tests/test_state_layer_and_event_driven_quota.py and tests/test_import_invariants.py
- Zero modifications to UI zone files (views, components, theme, wizard, hermes_hub_app.py)
2026-08-20 23:48:36 +07:00