| 1 | # CIDE — глоссарий v1 |
| 2 | |
| 3 | **Статус:** living document (2026-07-12) |
| 4 | **Назначение:** единый словарь продукта — чтобы не путать **steer**, **SEDM**, **intent card**, **workline** и cockpit-термины. |
| 5 | |
| 6 | **Норматив:** формулировки привязаны к ADR; при расхождении с кодом — ADR + issue, глоссарий обновляется вслед за ADR. |
| 7 | |
| 8 | **Связь:** [IOP ADR 0121](../adr/0121-intent-oriented-programming-paradigm.md) · [0172 habitat](../adr/0172-conversation-first-habitat.md) · [0173 intent card](../adr/0173-intercom-intent-card-session-decision-capture.md) · [0174 SEDM](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) · [0116 steer](../adr/0116-intercom-session-tree-and-agent-message-steering.md) · KB unified model (agent-notes `kb-cide-sedm-unified-model-v1.md`) |
| 9 | |
| 10 | --- |
| 11 | |
| 12 | ## Как читать |
| 13 | |
| 14 | | Метка | Смысл | |
| 15 | |-------|--------| |
| 16 | | **ADR** | Зафиксировано в Architecture Decision Record | |
| 17 | | **Research** | Эмпирика из papers; не обязует UI один в один | |
| 18 | | **Internal** | Внутренний spine; не обязательно в публичном manifest | |
| 19 | |
| 20 | **Каноническое имя** в коде, ADR и UI — **английское** (столбец «Термин»). Русские алиасы — для разговора и онбординга; см. §0. |
| 21 | |
| 22 | --- |
| 23 | |
| 24 | ## 0. Русские алиасы (операторский язык) |
| 25 | |
| 26 | | Канон (EN) | По-русски | Заметка | |
| 27 | |------------|-----------|---------| |
| 28 | | **Steer** | **Перехват** | «Стоп, не туда» — не передача контроля агенту | |
| 29 | | **Follow-up** | **Уточнение в очередь** | После текущего хода, без прерывания | |
| 30 | | **Continue from here** | **Продолжить отсюда** | Ветвление дерева, не steer | |
| 31 | | **Fork branch** | **Ветка** / форк ветки | Внутри workline | |
| 32 | | **Spin-off** | **Вынос** (в другую workline) | Согласованный перенос диапазона сообщений | |
| 33 | | **Habitat** | **Среда сессии** / habitat | Session graph canvas, не «чат» | |
| 34 | | **Workline** | **Линия работы** | Параллельная тема в одной сессии | |
| 35 | | **Scope strip** | **Полоса контекста** | Workline, ветки, context card | |
| 36 | | **Session graph** | **Граф сессии** | Дерево с `parent_id`; правда сессии | |
| 37 | | **Flat feed** | **Лента ветки** | Проекция одной ветки, не весь граф | |
| 38 | | **Intent card** | **Карточка решения** / карточка намерения | T1, не ADR | |
| 39 | | **Context card** | **Карточка контекста** | T2, «зачем этот файл сейчас» | |
| 40 | | **Intent tag** | **Тег намерения** | Короткий route-hint на workline | |
| 41 | | **SEDM** | **Инженерное принятие решений** | Внутренний spine; аббревиатуру можно не расшифровывать в UI | |
| 42 | | **Perceive** | **Восприятие** / обстановка | Фаза: что делаем, где я | |
| 43 | | **Process** | **Проработка** / анализ | Фаза: альтернативы, риск | |
| 44 | | **Perform** | **Действие** / исполнение | Фаза: steer, код, verify | |
| 45 | | **Evaluate** | **Оценка итога** | Достаточно хорошо? checkpoint | |
| 46 | | **Satisficing** | **Достаточно хорошо** | Не «идеальный» вариант | |
| 47 | | **Tool backpack** | **Рюкзак инструментов** | Прыжки JIRA ↔ CI ↔ chat ↔ diff | |
| 48 | | **Transfer** (harness) | **Делегирование** | Агент с границами — **≠** перехват | |
| 49 | | **Materialization** | **Материализация** (в prompt) | Что из графа попало в `messages[]` | |
| 50 | | **Harness** | **Обвязка агента** / harness | Оркестратор — **≠** habitat | |
| 51 | | **Verification loop** | **Контур верификации** | Синтез → проверка → принятие человеком | |
| 52 | | **Semantic Map** | **Семантическая карта** | Engineer reveal, не default | |
| 53 | | **Correspondence (CRS)** | **Соответствие** док↔код | Drill-down; operator видит Applies | |
| 54 | | **Applies** | **Применимо** (one-liner) | Какие ADR/KB относятся к файлу | |
| 55 | | **Blast radius** | **Радиус поражения** / blast radius | Tao I-9, Q-blast | |
| 56 | | **Checkpoint** | **Чекпоинт** | Export, handoff, KB | |
| 57 | | **Decision record** | **Запись решения** (агент) | `decision_recorded`; findings + card | |
| 58 | | **Stale decision** | **Устаревшее решение** | Код ушёл вперёд; re-verify, не trust | |
| 59 | | **Superseded** | **Заменено** | Как в ADR; новое событие вместо старого | |
| 60 | |
| 61 | --- |
| 62 | |
| 63 | ## 1. Intercom и session graph |
| 64 | |
| 65 | | Термин | Определение | ADR | |
| 66 | |--------|-------------|-----| |
| 67 | | **Intercom** | Канал сессии: диалог оператора и агента, команды, topic/worklines — **не** generic messenger | [0080](../adr/0080-intercom-naming-and-multi-party-channel-model.md) | |
| 68 | | **Forward** | Центральная колонка главного окна; primary work surface = Intercom или редактор | [0021](../adr/0021-pfd-mfd-cockpit-attention-model.md), [0120](../adr/0120-primary-work-surface-intercom-or-editor.md) | |
| 69 | | **Session graph** | Дерево событий/сообщений с `parent_id`, ветками, head — **физическая** модель сессии | [0116](../adr/0116-intercom-session-tree-and-agent-message-steering.md), [0045](../adr/0045-agent-chat-persistence-event-log-and-projections.md) | |
| 70 | | **Habitat** | Session graph canvas в Forward (scope, worklines, tree/timeline) — рабочая память сессии, не «лента чата»; **имя в глоссарии**, не ось `settings.toml` (см. `primary_work_surface`) | [0172](../adr/0172-conversation-first-habitat.md) | |
| 71 | | **Workline** | Параллельная линия работы в одной сессии (индекс тем); свой head в дереве; **не** аналог Cursor New Chat | [0172](../adr/0172-conversation-first-habitat.md), [0072](../adr/0072-chat-topic-cards-intent-melody-keyboard-contract.md) | |
| 72 | | **Topic / topic card** | Продуктовая «нить» с заголовком и summary; может ссылаться на поддерево workline | [0096](../adr/0096-intercom-topic-card-summary-and-product-spine.md) | |
| 73 | | **Spine** | Продуктовая линия «над чем работаем в целом» (chrome-навигация) | [0127](../adr/0127-intercom-spine-and-topic-tabs-chrome-navigation.md) | |
| 74 | | **Scope strip** | Полоса контекста сессии: активная workline, open items, ветки, **context card** (collapsed) | [0172](../adr/0172-conversation-first-habitat.md) | |
| 75 | | **Fork branch** | Новые события как потомки выбранного узла **внутри** workline; история не переписывается | [0116](../adr/0116-intercom-session-tree-and-agent-message-steering.md) | |
| 76 | | **Spin-off** | Перенос диапазона сообщений в **другую** workline (согласованное событие в log) | [0172 §11](../adr/0172-conversation-first-habitat.md) | |
| 77 | | **Rewind / continue from here** | Выбор узла → новые события пишутся от него (ветвление) | [0116](../adr/0116-intercom-session-tree-and-agent-message-steering.md) | |
| 78 | | **Flat feed** | Хронологическая проекция **одной ветки**; не единственная правда сессии | [0170](../adr/0170-intercom-feed-readability-mlp.md), [0172](../adr/0172-conversation-first-habitat.md) | |
| 79 | | **Clarification batch** | Пакет уточняющих вопросов агента; отдельный lifecycle от intent card | [0031](../adr/0031-agent-chat-clarification-batches-and-threading.md) | |
| 80 | |
| 81 | ### Steer, follow-up, continue — не путать |
| 82 | |
| 83 | | Термин | Определение | Это **не** | |
| 84 | |--------|-------------|------------| |
| 85 | | **Steer** (перехват) | Пока агент в `running`: оператор вставляет **новый приоритет**; после текущего tool оставшиеся tools **отменяются**, оркестратор идёт по новому intent | Передача контроля агенту; не «стоп навсегда» | |
| 86 | | **Follow-up** | Сообщение в **очередь**: доставится после завершения **текущего** хода агента; ход **не** прерывается | Steer | |
| 87 | | **Normal / continue** | Обычное сообщение, когда агент не в долгом tool-run | Fork ветки | |
| 88 | | **Continue from here** | Смена **точки ветвления** в дереве (куда пишутся новые события) | Steer во время run | |
| 89 | |
| 90 | Ощущение для оператора: steer ≈ «стоп, не туда, делай X» (с оговоркой: после безопасной точки текущего tool). |
| 91 | |
| 92 | --- |
| 93 | |
| 94 | ## 2. IOP (Intent-Oriented Programming) |
| 95 | |
| 96 | | Термин | Определение | ADR | |
| 97 | |--------|-------------|-----| |
| 98 | | **IOP** | **Дисциплина коммуникации**: именованное намерение, верификация, эпистемический контекст — не замена ООП/кода | [0121](../adr/0121-intent-oriented-programming-paradigm.md) | |
| 99 | | **Intent** | Именованная договорённость о цели/целевом состоянии; носители — Intercom, KB, `command_id`, Melody, slash | [0121](../adr/0121-intent-oriented-programming-paradigm.md) | |
| 100 | | **Intent tag** | Короткий route-hint на workline (MCP/KB); **не** полный rationale | [0172](../adr/0172-conversation-first-habitat.md) | |
| 101 | | **Verification loop** | Синтез → diff/диагностики/тесты → принятие или откат **человеком** | [0121](../adr/0121-intent-oriented-programming-paradigm.md) | |
| 102 | | **Epistemic context** | KB, agent-notes, playbooks — ограничители смысла для агента | [0121](../adr/0121-intent-oriented-programming-paradigm.md) | |
| 103 | | **Intent Melody** | Декларативная привязка интентов к UI и горячим клавишам | [0060](../adr/0060-keyboard-chord-stack-fms-tactical-strategic.md) | |
| 104 | | **Slash / unified command line** | `/…` в composer → тот же `command_id`, что палитра/MCP | [0119](../adr/0119-chat-slash-commands-intercom-surface.md) | |
| 105 | |
| 106 | --- |
| 107 | |
| 108 | ## 3. SEDM (Software Engineering Decision Making) |
| 109 | |
| 110 | | Термин | Определение | ADR / KB | |
| 111 | |--------|-------------|----------| |
| 112 | | **SDM** | Research-имя: Software **Decision** Making — эмпирика из papers | KB `kb-cide-sdm-decision-making-research-v1` | |
| 113 | | **SEDM** | Продуктовый spine: Software **Engineering** Decision Making — цикл инженерного решения в agentic-контуре | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) **Internal** v1 | |
| 114 | | **Perceive** | Фаза: обстановка — workline, файл, зачем сейчас (PAVE; CRDM orientation) | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 115 | | **Process** | Фаза: альтернативы, blast radius, consistency, necessity (CARE) | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 116 | | **Perform** | Фаза: действие — steer, код, verify, checkpoint (TEAM) | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 117 | | **Evaluate** | Фаза: satisficing — достаточно хорошо? mitigate? export? → снова Perceive | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 118 | | **Information need** | Тип вопроса при решении по коду (Tao I-x, Pascarella N-x, CRDM themes) | Research KB | |
| 119 | | **Q-*** | Унифицированные ID вопросов в meta-модели (Q-goal, Q-alt, Q-blast, …) | KB `kb-cide-sedm-unified-model-v1` | |
| 120 | | **Tool backpack** | Фрагментация контекста между issue tracker, CI, chat, diff (CRDM) | Research | |
| 121 | | **Satisficing** | «Достаточно хорошее» решение, не полный оптимум (RPD / CRDM) | Research | |
| 122 | |
| 123 | **IOP vs SEDM:** IOP = *что договариваем и как верифицируем*; SEDM = *как проходим решение по коду по фазам*; UX = производная SEDM × поверхность. |
| 124 | |
| 125 | --- |
| 126 | |
| 127 | ## 4. Артефакты (лестница T0–T4) |
| 128 | |
| 129 | | Tier | Термин | Определение | ADR | |
| 130 | |------|--------|-------------|-----| |
| 131 | | **T0** | Реплика Intercom | Сырое сообщение turn; Perceive без структуры | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 132 | | **T1** | **Intent card** | Сессионное решение: outcome, trigger, considered[], chosen + rationale; event `intent_card_recorded` | [0173](../adr/0173-intercom-intent-card-session-decision-capture.md) | |
| 133 | | **T2** | **Context card** | Perceive-снимок для файла/attach: workline, Applies, path_hint; **не** ADR | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 134 | | **T3** | KB scratch | Handoff, checkpoint, внешняя память (agent-notes) | [0118](../adr/0118-agent-notes-core-2-toml-and-knowledge-path.md) | |
| 135 | | **T4** | **ADR** | Долгоживущий invariant команды; кристалл из кластера T1–T3 | [0155](../adr/0155-documentation-code-correspondence-and-architectural-drift.md) | |
| 136 | |
| 137 | ### Поля intent card (tier A) |
| 138 | |
| 139 | | Поле | Смысл | |
| 140 | |------|--------| |
| 141 | | `outcome` | **Что** должно стать правдой (не путать с goal-only) | |
| 142 | | `trigger` | **Боль / зачем сейчас** | |
| 143 | | `considered[]` | Отвергнутые варианты + `rejected_because` — **обязательно** при фиксации | |
| 144 | | `chosen_approach` | Что выбрали (метка) | |
| 145 | | `selection_rationale` | Почему это, а не others | |
| 146 | | `constraints` | Ограничения коротко | |
| 147 | | `validation_plan` | Как проверим | |
| 148 | |
| 149 | --- |
| 150 | |
| 151 | ## 5. Cockpit, VDS, инструменты |
| 152 | |
| 153 | | Термин | Определение | ADR | |
| 154 | |--------|-------------|-----| |
| 155 | | **PFD** | Primary Flight Display — зона «сейчас» (карта, health, semantic map) | [0021](../adr/0021-pfd-mfd-cockpit-attention-model.md) | |
| 156 | | **MFD** | Multi-Function Display — правая колонка, страницы (терминал, build, CRS, …) | [0021](../adr/0021-pfd-mfd-cockpit-attention-model.md) | |
| 157 | | **Surface** | Слой VDS: оператор читает и действует (Intercom, scope, composer) | [cide-vds-v1.md](cide-vds-v1.md) | |
| 158 | | **Chrome** | Слой VDS: навигация, MFD-рамка, INDEX | [cide-vds-v1.md](cide-vds-v1.md) | |
| 159 | | **Instrument** | Слой VDS: инженерный reveal (SM subgraph, health ladder) — **не** default operator UX | [cide-vds-v1.md](cide-vds-v1.md) | |
| 160 | | **Semantic Map (SM)** | Process engine: subgraph, control flow — operator default = **context card path**, не hero graph | [0039](../adr/0039-workspace-navigation-affordances.md), [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 161 | | **Correspondence (CRS)** | Модель L0–L4 док↔код; operator UI = **Applies** one-liner + drill-down | [0155](../adr/0155-documentation-code-correspondence-and-architectural-drift.md), [0156](../adr/0156-correspondence-mfd-surface-and-reverse-code-anchors.md) | |
| 162 | | **HCI / INDEX** | Гибридный поиск по коду — Perceive orientation | [0105](../adr/0105-hybrid-codebase-index-for-csharp-web.md) | |
| 163 | | **AEE / verify ladder** | Perform: нативная верификация (build, test, roslyn) | [0148](../adr/0148-agent-execution-environment-verification-ladder-and-native-tooling.md) | |
| 164 | | **IDS** | IDE Display System — overlay (палитра, модалки) | [0079](../adr/0079-ide-display-system-ids-overlay-pipeline.md) | |
| 165 | | **CDS** | Channel → compositor → surface для приборов deck | [0036](../adr/0036-cds-channel-compositor-surface-pipeline.md) | |
| 166 | | **MCP** | Протокол инструментов агента в IDE | [0008](../adr/0008-mcp-contracts-and-testable-infrastructure.md) | |
| 167 | |
| 168 | --- |
| 169 | |
| 170 | ## 6. Harness и агент |
| 171 | |
| 172 | | Термин | Определение | ADR | |
| 173 | |--------|-------------|-----| |
| 174 | | **Harness** | Оркестрация агента: prompt, tools, materialization, safety — **≠ habitat** | [0166](../adr/0166-agent-centric-harness-model-comfort-and-pay-per-token-economics.md) | |
| 175 | | **Materialization** | Что из session graph попадает в `messages[]` и system one-liner | [0166](../adr/0166-agent-centric-harness-model-comfort-and-pay-per-token-economics.md), [0172](../adr/0172-conversation-first-habitat.md) | |
| 176 | | **Transfer** (ADM TEAM) | Risk treatment: делегировать агенту **с границами** — **≠ steer** | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md), FAA ADM | |
| 177 | | **`sedm_phase`** | Опциональная метка фазы в meta сессии для bias промпта | [0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md) | |
| 178 | | **`delivery_mode`** | `steer \| follow_up \| normal` в event log | [0116](../adr/0116-intercom-session-tree-and-agent-message-steering.md) | |
| 179 | |
| 180 | --- |
| 181 | |
| 182 | ## 7. Частые путаницы (шпаргалка) |
| 183 | |
| 184 | | Путают | Различие | |
| 185 | |--------|----------| |
| 186 | | Steer ↔ Transfer | Steer = оператор **перехватывает** ход агента; Transfer = **делегирование** агенту в рамках политики | |
| 187 | | Intent ↔ Intent card ↔ Intent tag | Intent = парадигма; **card** = T1 событие; **tag** = короткий route на workline | |
| 188 | | Topic card ↔ Intent card | Topic = контейнер линии; Intent card = **решение** внутри workline | |
| 189 | | Intent card ↔ ADR | Card = сессия/workline; ADR = invariant команды | |
| 190 | | Context card ↔ CRS | T2 = operator Perceive one-liner; CRS = drill-down L0–L4 | |
| 191 | | SDM ↔ SEDM | SDM = research; SEDM = продуктовый spine | |
| 192 | | Habitat ↔ Harness | Habitat = UI/память сессии; Harness = оркестратор агента | |
| 193 | | Session graph ↔ Flat feed | Graph = правда; feed = проекция одной ветки | |
| 194 | | SM default ↔ Context card | Moat = T2 на scope strip; SM = engineer reveal | |
| 195 | |
| 196 | --- |
| 197 | |
| 198 | ## 8. История |
| 199 | |
| 200 | | Дата | Изменение | |
| 201 | |------|-----------| |
| 202 | | 2026-07-12 | v1: консолидация handbook §7, ADR 0121 §4, SEDM/habitat 0172–0174, steer 0116 | |
| 203 | | 2026-07-12 | Habitat: glossary canvas name, не ось `settings.toml` | |
| 204 | |
| 205 | --- |
| 206 | |
| 207 | *Предложения по терминам — PR в `docs/design/cide-glossary-v1.md`; при принятии решения — ссылка из соответствующего ADR.* |
| 208 | |