План 5 ч.2: поднял Lima-VM и довёл сквозной E2E до зелёного из чистого yaml (just vm-reset && just e2e — exit 0). Приёмка §9.4 (v0.1 + v0.6 + шагающий скелет). Shell (lib+bin split): - режим --screenshot <path>: headless software-render первого кадра в PNG (Slint software-renderer, без дисплея/композитора, §6); TDD-тест «кадр не пустой + тема отражена», зелёный и на dev-Mac, и в VM (Linux). - shturman-shell.service → oneshot software-render → /run/shturman/frame.png (RemainAfterExit → is-active детерминированно, без хрупкого weston; живой weston-shell — v0.5). just shell-frame — инспекция кадра. E2E (tests/e2e/run.sh, двухфазно pre→reboot→post): - /data+power-safe опции, volatile-tmpfs, first-boot идемпотентность, per-unit active, имена на шине + GetPowerState, fake-ACC SetAcc→AccChanged, первый кадр PNG, base-бюджеты (journald volatile / zram / oomd / fake-hwclock→/data / eMMC-прокси), персист Settings + machine-id every-boot bind после reboot. Провижининг (lima/shturman.yaml) — правки по реальным ошибкам Lima: - build-deps Slint/winit на Linux (libfontconfig1-dev/libxkbcommon-dev/libwayland-dev); - linux-modules-extra (zram/vcan не в vz-ядре); systemd-oomd; rm стокового /etc/fake-hwclock.data (A11); VM-локальный CARGO_TARGET_DIR. Док-синхронизация (спека §13/§8.1/§7.5 + CLAUDE.md): швы реализации, eMMC-порог T=4096 сект, fake-hwclock masked-в-Lima, dev-mock policy не нужен. Перф-вердикт — на RK3588 (в VM — функционально, performance §2). just ci зелёный. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Alexander <akotenev2003@gmail.com>
Штурман
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.