| 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 | |
| 27 | 1. Пользователю нужен **быстрый осмотр**: подключён ли LSP, доступны ли нужные инструменты, выставлены ли **релевантные** переменные — **без** открытия настроек, если цель не редактирование, а напоминание (периферийное внимание, ADR 0021). |
| 28 | 2. Канал **[IDE Health](0022-workspace-health-lexicon.md)** закреплён за **задачей в workspace** (сборка, тесты, отладка, git). Смешивать с ним «всё ли ок с инструментами и средой» — порочит терминологию и UX. |
| 29 | 3. Полный дамп переменных окружения процесса **неприемлем** (шум, риск утечки, не отвечает на вопрос «нужное ли для IDE»). |
| 30 | |
| 31 | --- |
| 32 | |
| 33 | ## Решение |
| 34 | |
| 35 | 1. Вводится отдельный продуктовый канал **готовность окружения** (рабочее имя в UI: по согласованию; в доках — *environment readiness / glance*). Он **не** использует префиксы `IdeHealth*` в контрактах этого канала и **не** конфигурируется ключами **`ide_health_*`** в TOML режимов — эти ключи относятся к [IDE Health](0022-workspace-health-lexicon.md); размещение readiness задаётся отдельно (пресет, ADR 0021). |
| 36 | 2. **Снимок канала** строится только из сигналов, которые IDE **уже использует** или явно должна проверить для своих сценариев (LSP, внешние MCP, выбранный транспорт чата, необходимость `dotnet` и т.д.). |
| 37 | 3. **Переменные окружения** на этом канале: **только** имена, которые Cascade IDE **реально читает** для работы фич, либо согласованный минимальный чеклист для документированных сценариев. Не выводить весь `environ`. |
| 38 | 4. **Исполняемые файлы:** проверка **необходимых** для IDE инструментов — по явному пути из настроек или через разрешение по **PATH** (Windows) и **PATH** / принятым аналогам на Linux; не «все программы на диске». |
| 39 | 5. **Экран настроек** остаётся местом **редактирования**; канал readiness — **осмотр** и короткие подсказки + ссылка «Открыть настройки». Секреты и ключи API на glance **не** показывать в открытом виде (маскировать или не отображать). |
| 40 | 6. **Слой представления** (полноэкранная страница во вторичном контуре оболочки — 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 | |