08d787d977
- ISO-TP (ISO 15765-2): нативный CAN-OBD требует can-isotp/CAN_ISOTP для multiframe (Mode 03 DTC, Mode 09 VIN), не голый socketcan; адресация 0x7DF/0x7E8..0x7EF - планировщик опроса: бюджет req/s на транспорт (ELM327 half-duplex) + приоритеты PID, round-robin при насыщении; эффективная частота = min(desired, потолок, доля бюджета) - §5a безопасность активного опроса: гейт по движению, предпочтение passive listen-only, fail-safe при аномалиях шины, риск ретрофита; «безобидность» read-запросов условна - §5b отказ/восстановление транспорта: bus-off + restart-ms, ELM327 reconnect, Online=false → unavailable, без зависания (#4) - владение computed: core (состояние/мгновенный расход) vs плагин (trip-производные) - tech-stack: CAN/OBD row + ISO-TP Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Штурман — документация проекта
Открытый русскоязычный программный слой («ОС поверх Linux») для автомобиля: быстрый красивый бортовой интерфейс + голосовой ассистент на русском, который видит данные машины и объясняет их по-человечески. Только чтение CAN, никогда не safety-critical. Лицензия MIT.
Статус: фаза проектирования. Реализация сознательно отложена — сначала
проектируем всё от и до, связно и детально. Этот каталог docs/ — единственный
источник правды по дизайну.
Карта документации
Tier 0 — фундамент
- vision.md — зачем, что, чем НЕ является, моат, стратегия, границы.
- glossary.md — единый словарь терминов.
- principles.md — сквозные принципы и ограничения (правила для всех доменов).
- architecture.md — слои, процессы, шина, карта связей.
- tech-stack.md — канонический технический стек (Rust-first) и крейты.
Tier 1 — сквозные контракты (соединительная ткань)
- contracts/ — IPC, модель данных, plugin-SDK, безопасность, железо.
Инфраструктура разработки
- dev-environment.md — как вести разработку изолированно, с Mac.
Tier 2 — домены
- domains/ — детальные спеки подсистем (A–L) по единому шаблону.
Tier 3 — планирование
- capability-catalog.md — мастер-индекс всех функций (MVP/later + фаза).
- roadmap.md — фазы реализации с зависимостями.
Как мы работаем
Сверху вниз, по одному документу за раз: предложение → правки → фиксация → следующий. Каждый домен потом получит отдельный цикл «спека → план → реализация» (но реализация — позже, не сейчас).