Глоссарий проекта. Одно понятие — одно слово. Слова из колонки Avoid не
использовать ни в коде, ни в доках, ни в обсуждениях. Решения записаны в
docs/adr/, метод — в docs/philosophy.md.
Vault: Личное хранилище памяти пользователя — markdown-файлы в отдельном приватном git-репозитории. Avoid: база, хранилище памяти, knowledge base
Card (карточка):
Типизированная единица памяти в vault/cards/ с frontmatter по schema.json.
Avoid: заметка, запись, документ
Compiled Truth: Актуальное значение карточки: frontmatter плюс верхнее описание. То, что считается правдой сейчас, в отличие от истории изменений. Avoid: current value, действующая правда
History:
Append-only секция ## History карточки. Пишется только кодом; модель не может
вложить в неё выдуманный архив.
Avoid: лог карточки, архив
CORE:
Always-on память: vault/CORE.md, не длиннее 1200 знаков, инжектится в каждый
ход.
Avoid: системный промпт (это не он), ядро
PERSONA:
Стиль общения агента: vault/PERSONA.md, не длиннее 800 знаков, инжектится в
каждый ход.
Avoid: характер, персонаж
MOC:
Индекс тем vault (vault/MOC.md), регенерируется ночью.
Avoid: оглавление, каталог
Rollup: Ночная сборка памяти силами модели: сырой день превращается в карточки и саммари по цепочке daily → weekly → monthly → yearly. Avoid: consolidation, консолидация, DAG, диаризация (диаризация — название способности модели в philosophy.md, не процесса)
Brain: Детерминированный ночной уход за vault (бывший «memory doctor»): enforce, health, decay, MOC, коммит. Без модели. Avoid: memory doctor, доктор памяти
Harness:
Тонкая программа-обвязка вокруг модели: eve плюс минимальный слой интеграции.
Определение и границы — в docs/philosophy.md.
Avoid: фреймворк, платформа
Bridge (мост):
Отдельный процесс long-polling Telegram → localhost POST в eve. Живёт в
scripts/poller/, работает даже когда агент занят или завис.
Avoid: poller, поллер, transport
Turn (ход): Одна обработка входящего сообщения агентом, от приёма до ответа. Avoid: run (это eve workflow run — внутренняя сущность), job
Doctor:
iva doctor — диагностика и починка инсталляции. Только про установку, не про
память.
Avoid: использовать слово для ухода за памятью (это Brain)
Skill:
Markdown-процедура агента (agent/skills/ — ядровые, custom layer —
пользовательские). Кодирует «как делать», конкретику подставляет вызов.
Содержимое плагина или ядра, а не единица поставки.
Avoid: расширение
Plugin (плагин):
Папка формата Agent Plugins: plugin.json, skills/, mcp.json и наш код под
sh.iva/ (eve Extension, сервисы). Единица расширения Ивы. Ставится командой
iva plugin add из Marketplace, git-источника или локальной папки в
data/custom/plugins/ (ADR-0008, ADR-0009).
Avoid: расширение (как термин), addon, модуль
Marketplace (маркетплейс):
JSON-список плагинов в git-репо (.agents/plugins/marketplace.json, конвенция
Codex): имя → источник. У Ивы один по умолчанию, владелец добавляет свои. Не
реестр: без центра и модерации.
Avoid: реестр, registry, стор, каталог
MCP proxy (прокси): Сервис Ивы, который держит stdio MCP-сервер плагина и отдаёт его агенту по streamable-http на loopback с bearer. Один сервис на один сервер. Avoid: мост, bridge (это Telegram-поллер), gateway
Plugin service (сервис плагина):
Долгоживущий процесс плагина, объявленный в sh.iva/services/<svc>/service.json:
Ива поднимает его юнитом iva-plugin-<name>-<svc>.service и сообщает выданный порт
через IVA_SERVICE_PORT. Своего протокола Ива ему не задаёт — этим он и отличается
от MCP proxy.
Avoid: демон, воркер, sidecar
Trace (трейс):
Журнал событий хода в data/trace/: eve-события через хук плюс швы Ивы
(Bridge, Inbound pipeline, Gate, Outbox). Пишет ядро; читают вьюер плагина
trace и iva trace. Один ход = цепочка событий с общим turn.
Avoid: лог (это журнал сервиса), телеметрия, OTel-трасса (внутренность eve)
Schedule:
Внутрипроцессный cron eve (agent/schedules/). Systemd-таймеры и
systemd-run — отдельные механизмы, зовутся своими именами.
Avoid: cron (без уточнения какой)
Authored tree:
Поставляемое ядро агента — дерево agent/, которое eve открывает по
file discovery. Обновляется релизами.
Avoid: core (перегружено), исходники агента
Custom layer:
Пользовательский оверлей data/custom/agent/**, переживающий обновления.
Сюда же ставятся плагины.
Avoid: authored layer, кастомизация (как термин)
Release: Опубликованная версия проекта: semver-тег и запись в CHANGELOG. Только патч-инкременты; минор и мажор объявляет владелец. Avoid: версия (без уточнения)
Version (каталог версии):
Неизменяемый каталог установки ~/iva/versions/<ver>-<sha12>/ в апдейтере v2.
Активную версию выбирает симлинк current; откат — переброс симлинка.
Avoid: билд, инсталляция
Update branch:
Git-ветка, с которой iva update берёт код.
Avoid: канал обновления, update channel (channel зарезервирован за eve)
Notice (уведомление): Всё, что Iva шлёт сама, без хода пользователя. Видов ровно два: Report и Alert. Avoid: notification, пуш, рассылка
Reminder (напоминание):
Разовое сообщение по явной просьбе пользователя. Systemd-таймер вызывает iva remind,
агент судит и формулирует, код доставляет. Не Report и не Alert: это прямое исполнение
просьбы, и тумблеры Notice его не выключают.
Avoid: notification, напоминалка, alarm
Report (отчёт):
Плановая сводка по расписанию: ночные отчёты памяти, утренний дайджест.
Выключается тумблером в /menu → Уведомления и по умолчанию выключен.
Avoid: digest как общее слово (дайджест — один конкретный Report)
Alert (алерт): Notice о проблеме или требуемом действии: алерты brain, предложение обновиться. Не выключается, поэтому обязан говорить, что делать, и не повторяться чаще раза в неделю на одну проблему (ADR-0007). Avoid: offer/оффер как имя Notice, warning, ошибка (ошибка — исход операции)
Gate: Только про security: inbound-гейт (санитайзер входа) и outbound-гейт (сканер всего, что уходит в чат: ответ модели через Outbox и служебные реплики с runtime-контентом). Авторизация — это allowlist и bearer, не gate. Правила фенсов в карточках — контракт write_card, не gate. Avoid: gate для auth, CI и человеческих чекпойнтов
Allowlist:
TELEGRAM_ALLOWED_USER_IDS — перечень Telegram-пользователей, которым агент
отвечает. Пустой список = не отвечает никому.
Avoid: whitelist
Channel:
Транспортный адаптер eve (agent/channels/). Другие смыслы запрещены: ветка
обновления — Update branch, тип чата Telegram — называть явно.
Avoid: channel для веток, чатов и «каналов данных»
Inbound pipeline (входной пайплайн):
Единственный вход внутрь (agent/lib/telegram-inbound.ts): из сырого апдейта
Telegram получается ход модели или ничего. Внутри — allowlist, решение о
диспатче, запись в Vault, медиа, inbound-Gate и сборка контекста хода. Зеркало
Outbox: наружу — Outbox, внутрь — inbound pipeline.
Avoid: парсер апдейтов, обработчик входящих
Outbox:
Единственный шов наружу (agent/lib/outbox.ts): через него проходит всё, что
агент говорит в Telegram, и внутри него живёт outbound-гейт. Служебные реплики
самого канала (статус, ack) — не Outbox, но гейт они проходят там же.
Avoid: outbox для очереди сообщений и папки «исходящие»