kk0t9 93382d2de6 fix(v0.3): E2E power-safe-блок по реальным ошибкам Lima
- machineid bind (/data/state/machine-id→/etc/machine-id) держит /data busy →
  снимаем bind перед umount; remount через systemctl start (не mount /data — нет fstab).
- restart power/settings после install (повторный just run: иначе крутится старый
  бинарь, start=no-op) + restart power в начале power-safe-блока (чистый FSM Running).
- §3 oneshot-чек: firstboot/machineid валидны в active|inactive (отработал ИЛИ корректно
  пропущен Condition'ом на повторном boot); реальный сбой = failed.
- stage2.target тянет savetime.timer (WantedBy без enable не срабатывал).
Блок power-safe зелёный: N=3 цикла /data цел, abort→ShutdownAborted, power-cut fsck-clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
2026-06-24 23:33:36 +03:00

Штурман

Open-source русскоязычный companion-слой («ОС поверх Linux») для авто на RK3588: быстрый Slint-UI + голосовой RU-ассистент, читающий OBD/CAN только на чтение, + расширяемый Plugin API. Лицензия MIT.

Статус: реализация v0 (фундамент — образ-болванка + dev-харнесс + первый Slint-кадр). Дизайн завершён, источник правды — docs/.

Красные линии (нерушимы)

  • Никогда не safety-critical — двигатель/тормоза/ABS/ESP/руль/подушки; в системе нет actuator-путей.
  • CAN только на чтение — стандартные OBD-II read (Mode 01/03/07/09/0A); запрещены write/actuator/Mode-04/UDS-write.

Документация

  • Точка входа: CLAUDE.md.
  • Дизайн (источник правды): docs/ — архитектура, контракты, домены.
  • План реализации: docs/roadmap.md; спеки вех — docs/specs/.

Быстрый старт (dev)

Разработка ведётся в ARM64 Lima-VM (нативно к таргету RK3588). Команды — через just:

just vm-up      # поднять dev-VM (Lima)        — появляется в Плане 5
just run        # boot → стаб-сервисы на D-Bus → первый Slint-кадр
just ci         # lint + test + deny (локальный гейт)

Сейчас доступно: just build / just test / just lint / just deny (сборка/тесты shturman-common на хосте). Lima-VM и сквозной run/e2e — по мере планов реализации.

Лицензия и контрибьютинг

MIT — см. LICENSE. Контрибьюции — по DCO (git commit -s), см. CONTRIBUTING.md.

Примечание о UI-тулките: Slint для embedded доступен бесплатно под GPL-3.0 → шипимый UI-бинарь прод-образа (v4) будет под GPL-3.0; решение по тулкиту/лицензии осознанно отложено к v4 (см. docs/specs/). Ядро и остальной код — MIT.

S
Description
No description provided
Readme MIT 578 KiB
Languages
Rust 76.1%
Shell 19.6%
Just 4.3%