docs(tails): закрыть кросс-док хвосты (a-base/b/dev-env/J/hardware) + наполнить glossary

Закрыты накопленные мелкие хвосты из ревью F/J/H/G:
- Stage-нормализация: Stage-0/1/2 → Stage 0/1/2 по 6 докам (a/b/f/h/j/hardware); каноническая запись Stage 0/1/2 в glossary.
- a-base §8: видео-пайплайн (DMABUF камер / VPU dashcam) внесён в OOM-порядок — задняя защищена (Stage 1), dashcam/surround throttleable.
- a-base §12: dashcam-медиа (отдельный носитель) + контакты/журнал (G) в список factory-reset wipe.
- b §12: grace-hold резолвнут  — J запросчик (J §7), B владелец/арбитр (§4 шаг 2, §7).
- dev-environment: моки fake-камера (J)/аудио (H)/BT-телефон (G) + plugin-host-харнесс; just-цели plugin-dev-run/sideload.
- J §3/§11/§13 + hardware §4: сигнал реверса  GPIO фонаря з.х. (выбранный дефолт); CAN-gear отложен (нет gear-сигнала в E).
- glossary.md: наполнен (~55 терминов в 7 областях: машина/CAN, платформа/IPC, ассистент/аудио, питание/boot, хранилище/OTA, связь/телефон, безопасность).

Tier-3 capability-catalog + roadmap не трогаются — зависят от доменов I+L.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 12:46:36 +03:00
parent fb4e585152
commit 3fd9b42bb0
8 changed files with 132 additions and 43 deletions
+101 -20
View File
@@ -1,27 +1,108 @@
# Глоссарий
> Единый словарь Штурмана: один термин — одна строка. Пополняем по мере того как
> термины появляются в других документах, чтобы говорить на одном языке.
> Единый словарь Штурмана: один термин — одна строка. Канонические определения,
> чтобы все документы и контрибьюторы говорили на одном языке. Пополняем по мере
> появления новых терминов.
Статус: **заготовка** (TODO наполнить определения).
Статус: **v1 (наполнен).** Сгруппировано по областям; ссылки — на канонический документ-владелец.
---
## Машина, CAN, диагностика
| Термин | Определение |
|--------|-------------|
| OBD-II | TODO |
| PID | TODO |
| DTC | TODO |
| CAN / SocketCAN / vcan | TODO |
| ELM327 | TODO |
| VSS (Vehicle Signal Specification) | TODO |
| ECU | TODO |
| AUTOSAR | TODO |
| AGL (Automotive Grade Linux) | TODO |
| D-Bus | TODO |
| Capability (манифест плагина) | TODO |
| Intent (ассистента) | TODO |
| Wake-word / VAD / STT / TTS | TODO |
| Driver memory (`.md` контекст водителя) | TODO |
| ACC (сигнал зажигания) | TODO |
| HAL / board support | TODO |
| **OBD-II** | Стандартный диагностический интерфейс авто (разъём + протоколы). Штурман читает PID/DTC — только read-запросы. |
| **PID** | Parameter ID — код запрашиваемого параметра OBD-II (скорость, обороты, температуры…). |
| **DTC** | Diagnostic Trouble Code — код неисправности (напр. `P0420`). Читается, НЕ сбрасывается (#2). |
| **CAN** | Controller Area Network — шина данных авто. **SocketCAN** — Linux-стек CAN; **vcan** — виртуальный CAN для dev-тестов. |
| **listen-only** | Пассивный приём CAN в silent-режиме: ноль TX, без ACK. Строжайшая форма read-only (hardware §4). |
| **Mode 01/03/07/09** | Стандартные read-режимы OBD-II (текущие данные / DTC / pending / vehicle-info). **Mode 04** (сброс DTC) и UDS-write — запрещены (#2). |
| **ELM327** | Популярный OBD-адаптер; полноценный CAN-узел → read-only держится software-дисциплиной (hardware §4). |
| **VSS** | Vehicle Signal Specification — таксономия сигналов машины (модель данных E / data-model). |
| **DBC** | Формат описания CAN-сообщений; per-vehicle маппинг сигналов (data-model §7, часть BSP). |
| **ECU** | Electronic Control Unit — блок управления узлом авто. Штурман с управляющими ECU не интегрируется (#1). |
| **AUTOSAR** | Отраслевой стандарт ПО для ECU. «Занятая клетка», в которую Штурман сознательно НЕ идёт (vision). |
| **AGL** | Automotive Grade Linux — тяжёлая OEM-ориентированная авто-ОС; Штурман легче и нишев под афтемаркет. |
> TODO: дополнить список и заполнить определения по ходу проработки документов.
## Платформа, IPC, UI
| Термин | Определение |
|--------|-------------|
| **D-Bus** | Шина control-plane: команды/события/свойства. НЕ для медиа-потоков (те — PipeWire/Wayland). |
| **Control plane / data plane** | D-Bus (управление) vs PipeWire/Wayland/V4L2 (высокополосные аудио/видео/графика). |
| **PipeWire** | Медиа-сервер аудио/видео (data-plane). **WirePlumber** — его сессионный менеджер и политика (ducking). |
| **Wayland** | Протокол композитинга. Shell = кастомный композитор на **smithay** (Rust); `cage` не годится (single-app). |
| **Slint** | Rust-native декларативный GPU-ускоренный UI-тулкит (рендер тайлов/экранов). |
| **Слот-модель** | Слоты Shell (home-грид / полноэкран / оверлей / статус-бар); ап вкладывает декларативный элемент **или** Wayland-поверхность (architecture §8, C §4). |
| **Capability** | Заявленное в манифесте плагина право на ресурс (`vehicle_read`, `network`, `audio_out`…); гейтится на своём канале (security-privacy §3). |
| **Intent** | Голосовая команда ассистента; плагины регистрируют intent-фразы + `IntentHandler` (D §6, plugin-sdk §4). |
| **Perm-Broker** | Единый грантодатель/портал разрешений: политика + runtime-гранты (architecture §7). |
| **App-Host** | Запускает/супервизит/песочит апы и плагины; настраивает прокси+sandbox из манифеста. |
| **bubblewrap** | Песочница апов/плагинов: namespaces, seccomp, минимальный FS-вид. |
| **Прокси (dbus-proxy / портал)** | Фильтрующий per-app D-Bus-прокси (грубая изоляция по сервису/методу); тонкую авторизацию делает сам сервис по `sender`. |
| **Манифест** | YAML-декларация плагина: `id`, capabilities, точки расширения (plugin-sdk §2). |
| **first-party / 3rd-party** | Наши апы в подписанном base-образе (auto-grant) vs сторонние в `/data` (install-ревью + sandbox). |
## Ассистент и аудио
| Термин | Определение |
|--------|-------------|
| **Wake-word** | Слово-активатор («Штурман»); движок openWakeWord (Apache-2.0). |
| **VAD / STT / TTS** | Voice Activity Detection (Silero) / распознавание речи (Vosk·Silero, офлайн) / синтез речи (Silero, офлайн). |
| **AEC** | Эхоподавление (`module-echo-cancel` / WebRTC APM): убирает свой TTS/медиа-выход из микрофона (H §4). |
| **ducking** | Временное понижение/пауза менее приоритетного звука; политика ролей поверх PipeWire (H §3). |
| **`media.role`** | Тег use-case PipeWire-потока (`media`/`phone_call`/`assistant_tts`/`nav_guidance`/`alert`) — основа арбитража аудио. |
| **Vehicle-context injection** | Подмешивание live-снимка данных машины в системный промпт ассистента — killer-фича (D §4). |
| **Driver memory** | Локальные `.md` о водителе/привычках/машине; не уходят в облако без явного согласия (D §7). |
| **RU-LLM** | Российские облачные LLM (GigaChat / YandexGPT), данные в РФ (152-ФЗ). |
| **provider-agnostic** | Сменный бэкенд за единым интерфейсом с авто-fallback (принцип #8). |
## Питание и загрузка
| Термин | Определение |
|--------|-------------|
| **ACC** | Сигнал зажигания (accessory). **IgnitionState** (off/accessory/running) — каноническое lifecycle-состояние, владелец B. |
| **Stage 0 / 1 / 2** | Фазы быстрого boot: **Stage 0** = загрузчик→splash (+ранний путь задней камеры); **Stage 1** (~3–5 c) = ядро-минимум→Shell первый кадр; **Stage 2** = фоновый прогрев (Vehicle-Data/Assistant/Media/Nav/Connectivity). architecture §6. |
| **MCU-копилот** | Маленький always-on МК: детект ACC, hold-up-секвенсинг, watchdog, sleep/wake (рек., hardware §3). |
| **hold-up** | Буфер энергии (supercap) на graceful shutdown при резком пропадании 12 В. |
| **power-safe** | Гарантия от corruption при резком обесточивании: RO-rootfs + atomic-write + graceful shutdown (A+B вместе, #5). |
| **load-shedding** | Сброс тяжёлых потребителей (усилитель/модем/подсветка) при power-loss → hold-up кормит только SoC+хранилище. |
| **PONR** | Point-of-no-return — момент unmount, после которого shutdown необратим (abort недоступен). |
| **watchdog** | Аппаратный таймер ребута зависшей системы (SoC-WDT + независимый MCU-backstop). |
## Хранилище, образ, OTA
| Термин | Определение |
|--------|-------------|
| **RK3588** | Целевой SoC-класс (816 ГБ, mainline-Linux, Panfrost GPU) — это же класс реальных автоголов. |
| **read-only rootfs + overlay** | Неизменяемая корневая ФС + volatile-tmpfs overlay; запись только в `/data` (power-safe, #5). |
| **`/data`** | Журналируемый RW-раздел; единственный писатель — Settings/State (durable-write контракт, A §3). |
| **A/B-слоты** | Два загружаемых юнита (kernel+dtb+initramfs+rootfs) для атомарного OTA с откатом. |
| **RAUC** | Инструмент атомарных подписанных A/B-обновлений (механизм/подпись — A, канал доставки — L). |
| **OTA** | Over-the-air обновления: signed bundle, bootcount + mark-good, rollback (v4). |
| **fscrypt** | At-rest шифрование чувствительных поддеревьев `/data` (память, токены, контакты, dashcam), eFuse-bound (v4). |
| **zram / OOM** | Сжатый swap в RAM (swap-на-flash запрещён) / out-of-memory-политика (защита Stage 1 critical set, A §8). |
| **secure boot** | Verified boot; якорь доверия — хэш ключа в OTP/eFuse, необратим (v4). |
| **BSP / HAL** | Board-support package / hardware abstraction layer — порт на другое железо/авто (DT + HAL-конфиг + DBC). |
## Связь и телефон
| Термин | Определение |
|--------|-------------|
| **BlueZ** | Linux BT-стек; адаптер/паринг — владелец Connectivity-core (G §3). GPL-демон через D-Bus (#12). |
| **ModemManager / NetworkManager** | Демоны модема (LTE/SIM) / сети (WiFi); обёртка — Connectivity-core. GPL-демоны через D-Bus. |
| **HFP** | Hands-Free Profile — BT-звонки (Phone-ап, роль `phone_call` в арбитре H). |
| **A2DP / AVRCP** | BT-аудио-стриминг (sink) / метаданные+транспорт — медиа (Media-ап, H §6). |
| **PBAP / MAP** | BT-доступ к контактам+журналу / сообщениям; local-first, 152-ФЗ (G §5). |
| **tethering** | Интернет от телефона (BT-PAN / WiFi-hotspot). **captive portal** — публичный WiFi с авторизацией (не «ложный online», G §2). |
## Безопасность и приватность
| Термин | Определение |
|--------|-------------|
| **152-ФЗ** | Российский закон о персональных данных: local-first, данные в РФ, явное отзываемое согласие. |
| **audit-log** | Нормативный локальный журнал доступа к чувствительному + cloud-egress (владелец A §9, просмотр — UI C). |
| **DMABUF / V4L2** | Zero-copy буфер GPU/видео (capture→encode/composite) / Linux video capture API. |
| **dashcam / surround** | Видеорегистратор (ring-buffer, fscrypt, отдельный носитель) / круговой обзор (композит N камер) — домен J. |
| **parktronic** | Парктроник: дистанция (CAN или не-CAN датчик) для оверлея/предупреждения поверх видео-вида. |