Последний домен. Offline-first навигация: OSM-карты (MapLibre GL Native),
оффлайн-роутинг (Valhalla), turn-by-turn, поиск/POI, связка с ассистентом.
Не safety/ADAS (#1). Фаза v4. Многоагентный adversarial-ревью: 28 находок,
24 подтверждены (default-refute), все применены.
Ключевое из ревью:
- stale нав-промпт под звонком (проигрался бы ПОСЛЕ поворота) → продюсер I снимает заявку по окну релевантности; H остаётся контент-агностичным.
- Нет секции отказ-путей → добавлена (no-route/geocoder-fail/битые-тайлы/ENOSPC, симметрично J/H/L).
- Маршрут через границу регионов / назначение в нескачанном регионе → детект покрытия + предложение докачать / маршрут до края.
- reroute-шторм в urban-canyon → детект схода с гистерезисом + HDOP/FixQuality-гейт; dead_reckoning трактуется как нет-фикса.
- Якорь RDS-TMC G §7 → H §7 (FM-радио живёт в медиа-тракте H, не в сетевом G).
- MapLibre Native = BSD-2-Clause (не BSD-3); ODbL-атрибуция (#12); единицы км/мили из локали (data-model §4, #10).
- Интент «домой» разведён: D §6 = домашний экран (v1), навигация-домой = Nav-интент (v4).
- Добавлены секции Зависимости и last-parked (K §2/L §5 ждали); Boot-Stage 2; speed-limit — пассивный бейдж, не предупреждение (#1).
Кросс-док: d-assistant §6 («домой» = домашний экран; навигация-домой → Nav v4).
(architecture §3/§6 уже содержат Nav; a-base apps-storage уже покрывает нав-PII.)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 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>
- спека домена 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>