Commit Graph

4 Commits

Author SHA1 Message Date
kk0t9 b9500356b0 docs(v0.3): синхронизация швов power-safe + статус
Двунаправленные швы (спека v0.3 §10) после реализации Плана 7:
- domain B: banner «Реализация (v0.3)» (B01–B07, VM-модель abort/PONR=stop+umount+remount);
  §12 — MCU/supercap (B08/B09) → v0.4.
- ipc.md §3: Power оживлён из FSM (не mock); Sleep/Wake/RequestSleep зарезервированы.
- foundation §5.2: «Power-стаб» → реальный PowerFsm (проекции state/ignition/source из FSM);
  dev-mock кормит входы FSM.
- CLAUDE.md: статус v0.3 ГОТОВО; «Следующее» → v0.5 shell / v0.4 MCU-thermal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
2026-06-25 00:21:10 +03:00
kk0t9 3fd9b42bb0 docs(tails): закрыть кросс-док хвосты (a-base/b/dev-env/J/hardware) + наполнить glossary
Закрыты накопленные мелкие хвосты из ревью F/J/H/G:
- Stage-нормализация: Stage-0/1/2 → Stage 0/1/2 по 6 докам (a/b/f/h/j/hardware); каноническая запись Stage 0/1/2 в glossary.
- a-base §8: видео-пайплайн (DMABUF камер / VPU dashcam) внесён в OOM-порядок — задняя защищена (Stage 1), dashcam/surround throttleable.
- a-base §12: dashcam-медиа (отдельный носитель) + контакты/журнал (G) в список factory-reset wipe.
- b §12: grace-hold резолвнут  — J запросчик (J §7), B владелец/арбитр (§4 шаг 2, §7).
- dev-environment: моки fake-камера (J)/аудио (H)/BT-телефон (G) + plugin-host-харнесс; just-цели plugin-dev-run/sideload.
- J §3/§11/§13 + hardware §4: сигнал реверса  GPIO фонаря з.х. (выбранный дефолт); CAN-gear отложен (нет gear-сигнала в E).
- glossary.md: наполнен (~55 терминов в 7 областях: машина/CAN, платформа/IPC, ассистент/аудио, питание/boot, хранилище/OTA, связь/телефон, безопасность).

Tier-3 capability-catalog + roadmap не трогаются — зависят от доменов I+L.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 12:46:36 +03:00
kk0t9 77d9a5a0ee docs(domain H): v2 — медиа/аудио + арбитр ducking, после adversarial-ревью (20 находок) + кросс-док
Новый домен H (медиа/аудио). Ядро — сквозной арбитр аудио (политика
фокуса/ducking поверх PipeWire, role-based), плюс медиаплеер (локальное/BT
A2DP/AVRCP/радио/стриминг). Многоагентный adversarial-ревью: 24 находки,
20 подтверждено (default-refute), все применены.

Ключевое из ревью:
- symphonia НЕ декодирует Opus → отдельный audiopus (libopus, BSD).
- AEC: module-echo-cancel (≠ filter-chain) в audio-plane, не в ассистенте — резолв D §147.
- media.role (арбитраж) vs media.category (Playback/Capture) разведены.
- Кнопки громкости мультируля — uinput→Wayland-input (C/K), не интенты ассистента.
- Crash-safe по двум осям (source: жизнь ноды + проактивный cork по NameOwnerChanged/watchdog; sink: пересчёт при возврате output).
- intra-role media-фокус (один media-продюсер), гистерезис фокуса (анти-pumping), duck = относит. аттенюатор.
- boot аудио-плоскости на Stage 1; отказ-пути плеера (битый файл/обрыв A2DP/ENOSPC/underrun); resume без авто-старта.

Кросс-док: D §147 AEC→; tech-stack (symphonia/audiopus/module-echo-cancel);
hardware §4 (amp-mute-GPIO + FM-тюнер + откр. вопросы); B §4 (amp-mute перед
cut); architecture §9 (аудио-арбитр → H); domains/README (строка H).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 18:08:36 +03:00
kk0t9 7a30ed7a7d docs(domain B): v2 после adversarial-ревью (22 находки) + кросс-док
Существенная переработка 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>
2026-06-21 01:53:57 +03:00