- AEC (эхоподавление, loopback-ref из PipeWire) добавлен в пайплайн — нужен для
wake-word во время воспроизведения и barge-in (был полностью пропущен)
- auto-fallback: v1 = online degradation UX, офлайн-фолбэк (llama.cpp) = v3 (раньше
фолбэкать в v1 было некуда); offline-first (#3) в v1 частично, полный — v3
- инференс: ONNX (Silero) + Vosk через нативный Kaldi (не «всё через ONNX»)
- vehicle-context: контракт инъектора — только quality=valid, гейт по состоянию машины,
ассистент декларирует vehicle_read через прокси; деградация на простых авто
- wake-word по состояниям питания (не безусловно always-on, риск разряда; Stage 2; гейт Power/B)
- distraction: owner Shell §7, скорость K(GPS v1)/E(OBD v2); журнал wake-word/mic
- кросс-док: tech-stack (Porcupine отвергнут), principles #3 (фазировка офлайн-диалога)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
C-shell v2:
- GPS-скорость для distraction — домен K (ru.shturman.Location), не E (E это OBD, v2);
E — уточнение OBD-скорости в v2 + быстрый статус машины
- механизм поверхности: Wayland slot-протокол ru.shturman.shell_slot + slot-token,
не «handle по D-Bus»
- fail-safe distraction при потере/устаревании скорости (консервативный дефолт,
гистерезис, арбитраж GPS/OBD)
- контракт статус-бара: network «unknown» до Connectivity; часы — до синка времени
Кросс-док:
- architecture §1 (ELM327-оговорка к «физическому» read-only), §5 (положение/GPS из
Location/K, не Vehicle-Data), §7 (Perm-Broker = грантодатель, статика — прокси+sandbox),
§8 (surface через Wayland slot-протокол)
- ipc Shell.RegisterScreen → slot_token
- dev-environment: cage → smithay/weston в журнале и списке пакетов
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- спека домена C: композитор, слот-модель, декларативный UI-DSL (резолв вопроса),
тема, driver-distraction, интеграция ассистента, ввод
- КОРРЕКЦИЯ: shell = кастомный multi-client композитор на smithay (Rust); cage
(single-app kiosk) не годится для мульти-поверхностной слот-модели → правка
в tech-stack и dev-environment
- ревью-де-риск v0: shell стартует как Slint-ап без внешних поверхностей, полный
smithay-композитор — с первым surface-апом
- ревью-фазинг: статус машины в статус-баре → v2; distraction по GPS-скорости в v1
(раньше OBD); день/ночь v0 по времени/GPS; настройки растут с фичами
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- спека домена D: пайплайн (wake→VAD→STT→router→[локальные/LLM]→TTS, ONNX Runtime),
функции (MVP/later), vehicle-context injection (killer), provider-agnostic LLM,
интенты, память о водителе (.md), приватность
- ревью: openWakeWord вместо проприетарного Porcupine (принцип #12); мягкая
деградация при нестабильной сети до офлайн-фолбэка; креды LLM — свои у пользователя;
+ контекст-размер, офлайн-STT в шуме, function-calling, обучение wake-word
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>