Forge
markdowndeeb25a2
1# ADR 0023: Канал «готовность окружения» (glance) — отдельно от IDE Health
2
3**Статус:** Accepted (границы решения и отбор сигналов; конкретный UI и типы в коде — по мере реализации)
4**Дата:** 2026-04-11
5## Связанные ADR
6
7| ADR | Роль |
8|-----|------|
9| [0021](0021-pfd-mfd-cockpit-attention-model.md) | PFD / MFD — модель внимания кокпита Cascade IDE |
10| [0022](0022-workspace-health-lexicon.md) | лексикон **IDE Health** — **другой** канал |
11| [0089](0089-ide-omnibus-naming-and-ide-health-channel-rename.md) | переименование канала наблюдаемости |
12
13## Резюме
14
15- Markdown + **Mermaid/PlantUML** — first-class через LSP и workflow.
16- Kroki, export expanded, authoring — **ортогонально** preview ([0069](0069-markdown-preview-tool-surface-and-renderer-decoupling.md)).
17
18### Вне ADR
19
20| Документ | Роль |
21|----------|------|
22| [`environment-readiness-glance-v1.md`](../design/environment-readiness-glance-v1.md) | чертёж readiness glance |
23
24---
25## Контекст
26
271. Пользователю нужен **быстрый осмотр**: подключён ли LSP, доступны ли нужные инструменты, выставлены ли **релевантные** переменные — **без** открытия настроек, если цель не редактирование, а напоминание (периферийное внимание, ADR 0021).
282. Канал **[IDE Health](0022-workspace-health-lexicon.md)** закреплён за **задачей в workspace** (сборка, тесты, отладка, git). Смешивать с ним «всё ли ок с инструментами и средой» — порочит терминологию и UX.
293. Полный дамп переменных окружения процесса **неприемлем** (шум, риск утечки, не отвечает на вопрос «нужное ли для IDE»).
30
31---
32
33## Решение
34
351. Вводится отдельный продуктовый канал **готовность окружения** (рабочее имя в UI: по согласованию; в доках — *environment readiness / glance*). Он **не** использует префиксы `IdeHealth*` в контрактах этого канала и **не** конфигурируется ключами **`ide_health_*`** в TOML режимов — эти ключи относятся к [IDE Health](0022-workspace-health-lexicon.md); размещение readiness задаётся отдельно (пресет, ADR 0021).
362. **Снимок канала** строится только из сигналов, которые IDE **уже использует** или явно должна проверить для своих сценариев (LSP, внешние MCP, выбранный транспорт чата, необходимость `dotnet` и т.д.).
373. **Переменные окружения** на этом канале: **только** имена, которые Cascade IDE **реально читает** для работы фич, либо согласованный минимальный чеклист для документированных сценариев. Не выводить весь `environ`.
384. **Исполняемые файлы:** проверка **необходимых** для IDE инструментов — по явному пути из настроек или через разрешение по **PATH** (Windows) и **PATH** / принятым аналогам на Linux; не «все программы на диске».
395. **Экран настроек** остаётся местом **редактирования**; канал readiness — **осмотр** и короткие подсказки + ссылка «Открыть настройки». Секреты и ключи API на glance **не** показывать в открытом виде (маскировать или не отображать).
406. **Слой представления** (полноэкранная страница во вторичном контуре оболочки — v1 якорь в колонке зоны Mfd; бейджи PFD; команды палитры — без TabControl) задаётся пресетом и ADR 0021 отдельно от полосы IDE Health.
41
42Детализация сигналов v1, состав полей и размещение в UI — в [чертёже](../design/environment-readiness-glance-v1.md).
43
44---
45
46## Последствия
47
48- Новые фичи «показать состояние среды для IDE» развивают **этот** канал и документируют добавляемые имена env/проверки в чертеже или в коде со ссылкой на ADR.
49- Расширение **IDE Health** новыми сегментами про LSP/env **не делается** под видом того же канала — при сомнении см. §Контекст и [0022](0022-workspace-health-lexicon.md).
50
51---
52
53## Открыто
54
55- Имя типов в коде (`EnvironmentReadiness*` или иное) — при первой реализации.
56- Локализация заголовков страницы/карточки.
57
View only · write via MCP/CIDE