76596408e1
- dtc_count диапазон 0..255 → 0..127 (поле 7-битное) - добавлено runtime-поле quality (valid/stale/unavailable) + max_age, ортогонально статической availability (синхрон с ipc GetSignal/SignalChanged) - §3: детект Mode 03/07/0A через trial-read (нет support-bitmask); пустой PID 0x00 не каскадит «всё Unavailable»; MVP (mil_on + Mode 03) не зависит от пробинга - убран ложный ярлык «SI» (km/h, rpm, °C — не СИ) → «канонический набор единиц» - module_voltage: отметка, что property в ipc = ModuleVoltage 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/) — разные вещи, ссылаются друг на друга.