ADR 0008: Стабильные контракты MCP и тестируемая инфраструктура¶
Статус: Accepted · Implemented
Дата: 2026-04-02
Связанные ADR¶
Вне ADR¶
| Документ | Роль |
|---|---|
| MCP-PROTOCOL.md | MCP PROTOCOL |
Снимок реализации¶
| Элемент | Значение |
|---|---|
| — | IIdeMcpActions, исполнитель MCP, контракты в MCP-PROTOCOL |
Контекст¶
Агент взаимодействует с IDE через MCP. Внутри приложения нужны предсказуемые границы: иначе тулы дублируют бизнес-правила, а git/процессы невозможно подменить в тестах.
Решение¶
MCP¶
Контракты агента (IIdeMcpActions, DTO) — стабильные; изменения сознательно и с версионированием контракта там, где это принято в репо.
Реализация MCP делегирует в сервисы и ViewModels без дублирования одних и тех же бизнес-правил в каждом обработчике тула.
Внешний мир¶
Git, Process, длительные операции — за абстракцией, которую в тестах можно подменить (интерфейс или internal + InternalsVisibleTo — по ситуации).
Последствия¶
Новые тулы добавляются с опорой на существующие сервисы; тяжёлая логика не копируется в слой диспетчера MCP-команд.
Отклонённые альтернативы¶
- Делать каждый тул самодостаточным с прямым доступом к файловой системе и процессам — отклонено как неподдерживаемое при росте числа команд.