Merge antigravity/contract-stability (A13)
Принято, проверено исполнением. Устойчивость набора — главный пункт и он закрыт по-настоящему: общий корень Tk на сессию вместо шести отдельных ctk.CTk(). Десять полных прогонов подряд дали 316 passed, 2 skipped и НОЛЬ ошибок. До правки каждый прогон давал до семи ошибок, кочующих между файлами, из-за чего настоящую поломку приходилось искать перепроверкой в изоляции. Раздел контракта о границе Hub и Hermes написан: что Hub получает на каждом вызове (с явным указанием, что роли среди этого нет), чего не видит, чем управляет и чем не управляет. Варианты связывания профилей поданы таблицей с оценкой трудоёмкости: 3-4 дня, 8-12 дней, 4-5 дней. Ни один не реализован без решения владельца, как и требовалось. Исправлено при слиянии: в документе оказалось 11 символов BEL (0x07) на месте буквы "a" — последовательности вида \agy-05 были разобраны как escape. Пострадали 19 идентификаторов: antigravity -> ntigravity, agy-05 -> gy-05, ag-w2 -> g-w2. Контракт читают оба исполнителя, битые имена в нём недопустимы. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e6ad500a43
commit
6ad546db0d
1 changed files with 8 additions and 8 deletions
|
|
@ -296,17 +296,17 @@ Accessible at `HubSnapshot.metrics["host"]`:
|
|||
Hub и Hermes используют разные множества профилей и настроек. Чтобы интерфейс корректно отображал происходящее и не вводил пользователя в заблуждение, важно понимать границу между ними.
|
||||
|
||||
### 10.1 Что Hub получает от Hermes на каждом вызове
|
||||
При вызове ntigravity_llm_execution (через middleware) Hub фактически получает от Hermes только следующие данные:
|
||||
При вызове antigravity_llm_execution (через middleware) Hub фактически получает от Hermes только следующие данные:
|
||||
- ask_id
|
||||
- urn_id
|
||||
- pi_request_id
|
||||
- api_request_id
|
||||
- session_id
|
||||
- platform
|
||||
- model
|
||||
- provider
|
||||
- ase_url
|
||||
- pi_mode
|
||||
- pi_call_count
|
||||
- api_mode
|
||||
- api_call_count
|
||||
-
|
||||
equest (payload: список сообщений, temperature и т.д.)
|
||||
|
||||
|
|
@ -314,13 +314,13 @@ equest (payload: список сообщений, temperature и т.д.)
|
|||
|
||||
### 10.2 Чего Hub не видит
|
||||
Hub не имеет доступа к внутреннему контексту Hermes. В частности, Hub не видит:
|
||||
- Профиль Hermes, которым выполняется текущий вызов (например, gy-05, worker-fast, deepseek и др.).
|
||||
- Профиль Hermes, которым выполняется текущий вызов (например, agy-05, worker-fast, deepseek и др.).
|
||||
- Настройки конфигурации задач (delegate_task, max_concurrent_children и т.д.).
|
||||
- Состав и иерархию субагентов Hermes.
|
||||
|
||||
### 10.3 Чем Hub управляет
|
||||
Hub является независимой системой и полностью управляет:
|
||||
- Собственными профилями (например, g-w1, g-orch-fallback, codex-orch, opengo-*, claude-*, grok-*).
|
||||
- Собственными профилями (например, ag-w1, ag-orch-fallback, codex-orch, opengo-*, claude-*, grok-*).
|
||||
- Цепочками отказоустойчивости (failover), привязанными к его собственным профилям.
|
||||
- Квотами и авторизацией своих аккаунтов.
|
||||
|
||||
|
|
@ -331,13 +331,13 @@ Hub **не управляет ничем** из перечисленного в
|
|||
|
||||
## 11. Варианты связывания профилей Hub и Hermes
|
||||
|
||||
Поскольку один и тот же аккаунт пользователя может существовать в двух системах под разными именами (например, gy-05 в Hermes и g-w2 в Hub), существуют следующие варианты их связывания. **Внимание:** ни один из вариантов не должен реализовываться без явного решения владельца продукта.
|
||||
Поскольку один и тот же аккаунт пользователя может существовать в двух системах под разными именами (например, agy-05 в Hermes и ag-w2 в Hub), существуют следующие варианты их связывания. **Внимание:** ни один из вариантов не должен реализовываться без явного решения владельца продукта.
|
||||
|
||||
| Вариант | Что становится возможным | Что ломается / Риски | Объем работы |
|
||||
|---|---|---|---|
|
||||
| **1. Сопоставление по идентичности аккаунта (email)** | Автоматическое связывание большинства профилей без ручной настройки. | Профили без email (например, worker-fast, deepseek, API-ключи OpenCode) не могут быть сопоставлены. Надежность зависит от гарантий Hermes по предоставлению идентичности. | ~3–4 дня. Требует извлечения identity на стороне Hermes и передачи в Hub. |
|
||||
| **2. Чтение профилей Hermes (Single Source of Truth)** | Единый источник истины: Hub перестает вести свой список профилей и полностью отражает конфигурацию Hermes. | Теряются сущности, специфичные для Hub: цепочки отказоустойчивости (failover chains), распределение ролей Hub. Квоты сложнее привязывать к профилям. | ~8–12 дней. Требует глубокого рефакторинга конфигурации и движка роутинга Hub. |
|
||||
| **3. Явная таблица соответствия (Profile Mapping Table)** | Полный контроль и предсказуемость. Владелец может вручную связать любой профиль Hermes (например, gy-05) с профилем Hub (g-w2). | Требует ручной настройки от пользователя в UI Hub. | ~4–5 дней. Требует добавления конфигурации hermes_profile_map в
|
||||
| **3. Явная таблица соответствия (Profile Mapping Table)** | Полный контроль и предсказуемость. Владелец может вручную связать любой профиль Hermes (например, agy-05) с профилем Hub (ag-w2). | Требует ручной настройки от пользователя в UI Hub. | ~4–5 дней. Требует добавления конфигурации hermes_profile_map в
|
||||
outer_profiles.yaml и поддержки в UI. |
|
||||
|
||||
**Рекомендация:**
|
||||
|
|
|
|||
Loading…
Reference in a new issue