Files
shturman/docs/contracts
kk0t9 64ef300ef4 docs(plugin-sdk): v2 — ретро-ревью (6 находок)
- версионирование: shturman_api ↔ набор D-Bus-мажоров; хост экспортирует все
  поддерживаемые мажоры параллельно; неподдерж. версия → Error.Unsupported (не тихо)
- IntentHandler: обязательный dispatch-таймаут; крэш/таймаут/NotAvailable →
  деградированный ответ (#4), пайплайн не виснет (#11)
- vehicle_read: per-vehicle Unavailable (Subscribe ок, SignalChanged молчит, плагин
  деградирует); install-ревью предупреждает о неподдерживаемых сигналах
- авторитет манифеста: extension_points.tiles авторитетны, ui_tiles — квота (len ≤ N)
- storage: квота (ENOSPC плагину не системе — бережёт /data), remove чистит, миграция
- lifecycle: discover/install только для сторонних; first-party — в base-образе, без install
- network host-allowlist приведён к best-effort (синхрон с security-privacy)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 01:02:43 +03:00
..

Контракты (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/) — разные вещи, ссылаются друг на друга.