7a30ed7a7d
Существенная переработка power-lifecycle: - детект running по НАПРЯЖЕНИЮ бортсети (~14В генератор vs ~12.4В покой), не RPM (v2); Power.IgnitionState — единственный канон lifecycle-состояния - триггер shutdown ≠ rate-of-change: ACC-off / under-voltage-held / thermal-trip; cold-crank до ~6В — НОРМА (ride-through), не индикатор обрыва - SoC↔MCU shutdown-протокол специфицирован СЕЙЧАС: hold-up-таймер + heartbeat + safe-to-cut + fail-safe при потере линка (обе стороны); MCU — fail-safe-авторитет - abort при re-power до PONR (ShutdownAborted); shutting-down разбит abortable/committed - НОВОЕ: thermal shutdown (триггер/гистерезис/UX); ordered teardown (E закрывает ISO-TP); таблица MCU-vs-supercap; battery deep-discharge cutoff; монотонные часы для таймеров; первый boot без времени; периодическое сохранение времени - watchdog по фазам (runtime + shutdown RebootWatchdogSec/MCU-дедлайн + boot-окно); v0=SoC+MCU+reboot, bootcount=v4 - фазы: MCU HW fail-safe-таймер = v0 (не v1); save-time = v0 - кросс-док: security-privacy (mic power-gated), ipc Power (enum/reason/ShutdownAborted), e/data-model (engine_running не дублирует IgnitionState), a-base §7 (периодич. save) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Контракты (Tier 1) — соединительная ткань
Сквозные интерфейсы, которыми домены связаны друг с другом. «Связи» проекта живут здесь. Каждый контракт — отдельный документ; создаём по мере наполнения.
Статус: индекс. Документы наполняем после фундамента (architecture + principles).
| Документ | Назначение |
|---|---|
ipc.md |
D-Bus сервисы, интерфейсы, схемы сообщений: кто что публикует/слушает. |
data-model.md |
VSS-подобная таксономия сигналов машины + общие типы данных. |
plugin-sdk.md |
API расширения: манифест, capability-модель, точки расширения (экраны, тайлы, интенты, доступ к данным). Рантайм плагинов — домен F. |
security-privacy.md |
Sandboxing плагинов, модель разрешений, обработка данных, 152-ФЗ. |
hardware.md |
Целевой таргет (RK3588), топология питания, периферия + HAL/board-support API для портирования на другое железо/авто. |
Важный нюанс: plugin-SDK (API, тут) и домен F «Plugin host» (рантайм, sandbox, дистрибуция — в domains/) — разные вещи, ссылаются друг на друга.