Forge

docs/ / design/playbook-solution-warmup-v1.md · branch develop

Playbook: solution warm-up v1

ADR: 0141

Что прогревается при open solution

Id Когда Где кэш
bracket.active_file Сразу (P0) BracketMemberCompletionProvider in-memory
hci.poke Сразу (отдельно) HCI SQLite + observer → symbol sidecar
intercom.feed_anchors После HCI Chips в ленте (in-memory)
intercom.bracket + roslyn_l1 (open tabs) После P1, параллельно ≤N Bracket + IntercomAttachmentRoslynWorkspaceCache

Настройки

TOML [solution_warmup] в settings.toml (см. defaults-settings.toml).

show_background_status_on_pfd (по умолчанию true) — мастер-выключатель полосы warm-up/HCI.

Размещение по зонам — instrument workspace_background_status_v1 (alias background_status) в [display.instruments] (ADR 0050, оверлей-слоты, не pfd_primary):

Ключ Зона
pfd_status_strip колонка PFD (над картой / обозревателем)
forward_status_strip Forward (над чатом / редактором)

Значения: background_status (показать) или none (скрыть в этой зоне). По умолчанию в defaults-settings.toml — обе зоны background_status. Текст: «Indexing…» / «Warming…»; после успеха полоса скрывается (мин. ~400 ms); при ошибке — caution, клик → HCI.

Для агента

  • UI не ждёт Ready — только lazy/debounce fallback.
  • Смена solution отменяет предыдущий прогон (Cancelled).
  • Symbol sidecar при in-proc HCI не вызывать ScheduleRebuildAfterHybridIndex (observer 0.1.2+); fallback только если HCI выключен.
View only · write via MCP/CIDE