ADR 0089: Именование омнибуса агента (get_ide_state) и канал IDE Health (вместо Workspace Health)
Статус: Accepted
Дата: 2026-04-23
Связанные ADR
| ADR | Роль |
|---|---|
| 0002 | паритет отладки — отдельное решение; этот ADR не меняет семантику DAP/snapshot, только имена и границы терминов |
| 0036 | канал → CDS → композитор → surface; конвейер тот же |
| 0008 | контракты, тесты |
| 0052 | снапшоты контракта агента |
Вне ADR
| Документ | Роль |
|----------|------|
| MCP-PROTOCOL.md | MCP PROTOCOL |
Резюме: снять путаницу между workspace = каталог/репо и снимок состояния IDE для агента; снять путаницу между Workspace Health (полоса наблюдаемости) и «workspace на диске». Решение: переименовать MCP-омнибус get_workspace_state → get_ide_state; переименовать продуктово и в коде канал Workspace Health → IDE Health (конкретные идентификаторы — по соглашению репо, напр. IdeHealth*).
1. Контекст
- Сегодня
get_workspace_stateфактически отдаёт снимок ручки IDE (solution, редактор, брейкпоинты,debug, сборка, панели,cockpit_surface…), а не «только путь к папке». Имя вводит в заблуждение при обсуждении с агентами и в документации. - Workspace Health в кокпите — про сборку / тесты / отладку / git в полосе; слово workspace снова тянет смысл «директория проекта», хотя речь о среде разработки в IDE.
- Реализация единого debug-snapshot (0002) ортогональна этому ADR: сначала или параллельно можно ввести
DebugSnapshot, читая его и под старым именем омнибуса, пока этот ADR не переименует тул.
2. Решение
- MCP /
IdeCommands: публичное имя инструмента иcommand_id—get_ide_state, тул MCP —ide_get_ide_state(см. MCP-PROTOCOL.md, 0030); внутренний метод —IIdeMcpActions.GetIdeStateAsync. - Канал health: переименовать Workspace Health → IDE Health: неймспейсы
Cockpit/Channels/…, типыIWorkspaceHealthChannel→IIdeHealthChannel(или иное единообразное имя), провайдер, композитор, строки UI, ссылки в ADR/README. Семантика channel → CDS → compositor из 0036 не меняется. - Документация и тесты: MCP-PROTOCOL.md, architecture-migration.md при ссылке на тул, golden/approved JSON из 0052, при необходимости — одна строка в architecture-policy.md.
3. UI: что входит и что нет
- Входит (минимально): всё, что пользователь читает как «Workspace Health» или старое имя омнибуса в подсказках/доках — заменить формулировки на IDE Health /
get_ide_state(ResX, строки вCockpit, подписи полосы и т.д.). Это тот же контрол/композиция, другое имя (терминологическая правка, не фича). - Не входит: новая вёрстка, смена слотов PFD/MFD, новый «дизайн» health-полосы, сценарии отладки в UI — это другие ADR (в т.ч. 0002 для паритета отладки: глифы, панель, привязка к snapshot — не из 0089).
4. Границы (прочее, что сюда не входит)
- Не дублировать 0002: не описывать здесь DAP,
DebugSnapshot, удалениеshow_debug_*— только именование и читаемость границ «IDE vs workspace на диске». - Не менять CDS и топологию регионов; только подписи/имена, где это чисто терминология.
5. Последствия
- Breaking change для внешних клиентов MCP, которые вызывали
ide_get_workspace_state/get_workspace_state: обновить наide_get_ide_state/get_ide_state; алиасов нет. - Крупный, но механический рефакторинг в
Cockpit/Channelsи строках — по возможности отдельные логические коммиты (омнибус MCP vs переименование канала vs доки).
6. Отклонённые альтернативы
- Оставить
get_workspace_stateбез синонима «IDE» — отклонено: накопленная путаница в обсуждениях CIDE. - Переименовать только омнибус без health-канала — допустим как фаза 1; полное выравнивание терминов — цель ADR.