| 1 | # TECH — принципы (карта канона) |
| 2 | |
| 3 | **Входной связный текст** — [0077](../0077-tech-principles-hub.md) (канон абзацев в [`../snippets/tech/`](../snippets/tech/README.md)). Здесь — **расширенная карта**: таблицы «идея → ADR» без дублирования полных нормативов. Плоский индекс — [../README.md](../README.md); этот файл — [README.md](README.md). |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## Слои, срезы, strangler |
| 8 | |
| 9 | | Идея | Где зафиксировано | |
| 10 | |------|-------------------| |
| 11 | | Слои презентации, срезы фич, роль `MainWindowViewModel` | [0006](../0006-presentation-layers-and-feature-slices.md) | |
| 12 | | Сигналы, связность, backpressure; маршалинг UI | [0007](../0007-signals-coupling-and-ui-backpressure.md), [0004](../0004-ui-thread-marshaling.md) | |
| 13 | | Strangler и когда можно отступать от политики | [0009](../0009-strangler-migration-and-exceptions.md) | |
| 14 | |
| 15 | --- |
| 16 | |
| 17 | ## MCP, git, LSP, тестируемая инфраструктура |
| 18 | |
| 19 | | Идея | Где зафиксировано | |
| 20 | |------|-------------------| |
| 21 | | Контракты MCP, абстракции для процессов/git | [0008](../0008-mcp-contracts-and-testable-infrastructure.md) | |
| 22 | | Общий Git Core для IDE и git-mcp | [0019](../0019-shared-git-core-ide-and-git-mcp.md) | |
| 23 | | LSP: пресеты, командная строка, env по правилам | [0040](../0040-lsp-launch-line-settings-toml-presets-and-environment.md) | |
| 24 | | Операционные команды и схемы | [../../MCP-PROTOCOL.md](../../MCP-PROTOCOL.md) | |
| 25 | |
| 26 | --- |
| 27 | |
| 28 | ## Отладка и осведомлённость |
| 29 | |
| 30 | | Идея | Где зафиксировано | |
| 31 | |------|-------------------| |
| 32 | | Единый слой отладки для человека и агента | [0002](../0002-debug-human-agent-parity.md) | |
| 33 | | Режим Debug отдельно от Power | [0003](../0003-debug-ui-mode-separate-from-power.md) | |
| 34 | | Гипотезы в JSON | [0001](../0001-debug-hypotheses-json-storage.md) | |
| 35 | | Ситуационная осведомлённость (не только нижняя панель) | [0011](../0011-debug-situational-awareness.md) | |
| 36 | |
| 37 | --- |
| 38 | |
| 39 | ## Агент, ACP, транспорт MCP, CLI контракта |
| 40 | |
| 41 | | Идея | Где зафиксировано | |
| 42 | |------|-------------------| |
| 43 | | Внешний агент по ACP; ортогонально MCP IDE | [0016](../0016-agent-client-protocol-external-agent.md) | |
| 44 | | Чат через Cursor ACP: `mcpServers`, паритет с IDE MCP | [0048](../0048-cursor-acp-chat-ide-parity-and-mcp-tool-surface.md) | |
| 45 | | ACP в GUI: MCP IDE в том же процессе (loopback), не второй `CascadeIDE` | [0082](../0082-acp-ide-mcp-loopback-single-process.md) | |
| 46 | | Фасад агента: провайдеры, оркестрация тулов | [0038](../0038-agent-facade-ai-provider-and-tool-orchestration.md) | |
| 47 | | `settings.toml` — `[ai].mode` и вложенные секции (local / acp / mcp_only / cloud) | [0083](../0083-ai-mode-and-nested-settings-toml.md) | |
| 48 | | Правки агента: источник правды — буфер редактора; чат — намерение; присутствие отдельно | [0084](../0084-agent-edits-editor-source-of-truth-presence-channel.md) | |
| 49 | | Видимость рассуждения (слои ответа/трассы/лога), честные лимиты провайдеров | [0020](../0020-agent-reasoning-visibility-and-provider-limits.md) | |
| 50 | | Навигация workspace; MCP `get_code_navigation_context`, пресеты, subgraph | [0039](../0039-workspace-navigation-affordances.md) | |
| 51 | | Агент ↔ Roslyn MCP: ключи в `settings.toml` | [0058](../0058-agent-roslyn-mcp-coupling-settings-toml.md) | |
| 52 | | Профили Roslyn MCP, Manager, тактика / EFB | [0059](../0059-roslyn-mcp-profiles-manager-tactical-strategic-efb.md) | |
| 53 | | Восстановление MCP-транспорта; паритет человек/агент | [0043](../0043-mcp-transport-recovery-human-agent-parity.md) | |
| 54 | | CLI контракта и снапшот-тесты | [0052](../0052-agent-contract-cli-and-snapshot-tests.md) | |
| 55 | |
| 56 | --- |
| 57 | |
| 58 | ## Сборка «только TECH-ADR» в один HTML/PDF |
| 59 | |
| 60 | Из `docs/adr`: |
| 61 | |
| 62 | ```bash |
| 63 | dotnet script build-adr.csx --book adr-book-tech.md |
| 64 | ``` |
| 65 | |
| 66 | Выход: `build/adr-book-tech.md`, `out/html/adr-book-tech.html` и т.д. Подробности — [../build/README.md](../build/README.md). |
| 67 | |