Forge
markdowndeeb25a2
1# Вертикальный срез: зоны внимания + capabilities (проверка)
2
3**Статус:** процедура v1.
4**Связь:** [attention-zone-panel-playbook-v1](attention-zone-panel-playbook-v1.md), [ADR 0025](../adr/0025-sdk-attention-zones-and-capabilities.md).
5
6## Что проверяем
7
8Сквозная цепочка: **`UiChromeCapabilitiesModule`** регистрирует поверхность **Solution Explorer** с парой `PrimaryAttentionZoneId` = `pfd` и `HostAttentionPanelId` = `solution_explorer` → при **`BuildMap()`** проверка **`CapabilityAttentionConsistency`** не находит рассинхрона → в **JSON-дампе** capability-map видны оба поля.
9
10## Автоматическая проверка
11
12В репозитории:
13
14```text
15dotnet test CascadeIDE.Tests/CascadeIDE.Tests.csproj -c Debug --filter "FullyQualifiedName~VerticalSliceAttentionCapabilitiesTests"
16```
17
18Тест **`VerticalSliceAttentionCapabilitiesTests`** поднимает тот же дескриптор через модуль и реестр.
19
20## Ручная проверка в IDE
21
221. Собрать и запустить CascadeIDE (`Debug`).
232. Выполнить команду **Dump capabilities map to file** (категория Debug/Diagnostics; capability `docs.markdown.dump_capabilities`).
243. В выводе/логе посмотреть путь к файлу `capabilities-*.json` в каталоге настроек → `diagnostics\`.
254. Открыть JSON и найти объект в **`uiSurfaces`** с **`id`**: `ui.chrome.surface.solution_explorer`.
265. Убедиться:
27 - **`primaryAttentionZoneId`** = `pfd`
28 - **`hostAttentionPanelId`** = `solution_explorer`
296. (Опционально) В окне **Вывод** отладчика при старте/дампе не должно быть строк `CapabilityAttentionConsistency:` с этой поверхностью (при корректной паре их нет).
30
31## Негативный сценарий (по желанию)
32
33Временно выставить в `UiChromeCapabilitiesModule` для той же поверхности `PrimaryAttentionZoneId = mfd` при неизменном `HostAttentionPanelId` → при следующем **`BuildMap()`** в Debug появится предупреждение о несовпадении → вернуть `pfd`.
34
View only · write via MCP/CIDE