ADR 0002: Единый слой состояния отладки для человека и агента¶
Статус: Accepted
Дата: 2026-04-02 (ретроспектива; содержание зафиксировано ранее в debug-human-agent-parity-v1.md)
Связанные ADR¶
Вне ADR¶
| Документ | Роль |
|---|---|
| architecture-policy.md | отладка |
| MCP-PROTOCOL.md | MCP PROTOCOL |
Контекст¶
Агент может управлять отладкой через MCP, а пользователь — через UI IDE. Если брейкпоинты, останов, стек и переменные расходятся между внешним контуром и тем, что видит человек, совместная отладка становится ненадёжной.
Решение¶
Один источник правды по состоянию отладки внутри CascadeIDE:
- Брейкпоинты согласованы с глифами редактора и с тем, что отражают тулы вроде
ide_set_breakpointи показ списка точек. - Останов: текущая строка и подсветка в редакторе согласованы с MCP (
ide_get_debug_snapshot,ide_debug_stack_trace, состояние панели отладки). - Стек и переменные: UI панели отладки и данные для агента через MCP (
ide_debug_stack_trace,ide_debug_variables,ide_get_debug_snapshot) исходят из одной сессии и одной модели, а не из двух несинхронизированных процессов.
Внешний отладчик (netcoredbg, DAP) остаётся движком; состояние для человека и MCP проходит через слой IDE.
Последствия¶
- Реализация тянет за собой явный слой (например сессия DAP в IDE), а не раздельные обходы.
- Документ debug-human-agent-parity-v1.md остаётся каноническим описанием цели; этот ADR фиксирует решение в формате ADR.
Отклонённые альтернативы¶
- Два независимых контура без синхронизации — отклонено как противоречащее цели продукта.