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
|
5ba19cde46
|
docs(domain K): v2 после adversarial-ревью (18 находок) + кросс-док
- GPS-скорость: zero-clamp <~2-3 км/ч (на стоянке Doppler-шум, не ноль) — distraction v1
получал бы ложный on; FixQuality многоуровневый (no_fix/2d/3d/augmented/dead_reckoning
+ HDOP/sats); dead_reckoning не валиден для distraction/Nav; валидность времени ≠ позиции
- приватность локации: эфемерна (без трека в v1), audit-log, исключена из LLM-промпта,
while-in-use грант, on-device
- антенна (внешняя/активная), TTFF cold/warm-start, окно без GPS на старте поездки;
питание GPS в sleep/battery-cutoff (обесточивание+cold-start по умолчанию)
- резистивная ADC-лесенка руля: контракт window-table + кондиционирование + collision-drop
+ темп-дрейф; транспорт ввода = uinput/evdev (не Shell-D-Bus, иначе surface-апы не покрыты);
гейтинг руль-действий в distraction
- IMU опционален/не гарантирован → dashcam (J) = непрерывный ring-buffer, не на g-sensor
- точность времени SHM (~десятки-сотни мс), PPS опц./hardware-gated; Nav «фаза 2»→v4
- кросс-док: a-base §7/§14 (SHM, split time-row + K-dep), hardware §4 (антенна/1PPS),
domains/README (K-cell без TPMS/климата), ipc Location (enum), c-shell §7/§9/§11
(clamped speed, uinput-ввод, закрыт Location-вопрос)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-22 15:30:08 +03:00 |
|
kk0t9
|
c66ccf08ea
|
docs: ретро-ревью pass-2 остаточные (data-model/plugin-sdk/hardware/C)
- data-model: структура DTC-кода исправлена (буква + 2-битная категория + 3 hex, не
«4 hex»; P0/P2 generic, P1/P3000-33FF производитель); module_voltage путь →
Vehicle.OBD.ControlModuleVoltage (был неверный LowVoltageBattery)
- plugin-sdk: пример id → dev.example.* (ru.shturman.* зарезервирован); i18n строк
манифеста (per-locale, ru обязателен); ui_screens capability + гейт RegisterScreen
- hardware: камера «фаза 2» → v2; требования к MCU-копилоту (обновляемость прошивки,
fail-safe при его отказе, позиция в цепочке доверия)
- tech-stack: карты «фаза 2» → v4 (нормализация фазовой номенклатуры)
- C-shell: день/ночь v0 = время, GPS-восход v1 (был конфликт фаз); ui_screens-гейтинг
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-21 01:30:00 +03:00 |
|
kk0t9
|
d9209987e4
|
docs(hardware): v2 — ретро-ревью (8 находок)
- ELM327 = software-дисциплина (полноценный CAN-узел, может TX); физический read-only
инвариант только на нативном CAN в silent-режиме (уточнить architecture/sec-privacy §1)
- конверт входа по ISO 7637-2/16750-2: 9-16В, cold-crank ~6В, jump-start 24В, load-dump TVS
(вместо размытого «40+В»); under-voltage brown-out + гистерезис → graceful shutdown
- hold-up как числовой контракт (ток×hold-time×дератинг −40°C/старение) + load-shedding
- §1a тепловой/механический конверт + темп-класс (industrial/AEC-Q100) + cold-start + охлаждение
- детект ACC кондиционированный: debounce + crank-приоритет (нет ложного shutdown на старте)
- контракт задней камеры (CVBS, reverse-сигнал, latency-бюджет #11, fail-safe), CAN front-end
(трансивер/заземление/ESD/backfeed pin16), тир носителей /data (eMMC прод / SD dev)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-21 00:58:10 +03:00 |
|
kk0t9
|
231a64300d
|
docs(domain A): v2 после adversarial-ревью (24 находки) + кросс-док
Существенная переработка base-system по итогам multi-agent ревью:
- A/B-единица = весь boot-юнит (kernel+dtb+initramfs+rootfs) на слот; загрузчик вне A/B
- bootcount/bootlimit + mark-good (Shell-кадр) — иначе откат не срабатывает
- overlay upper/work на tmpfs; персист только через /data
- ФС /data: f2fs(рек)/ext4 + power-safe mount + durable-write (fsync/rename)
- at-rest шифрование /data (fscrypt, eFuse-bound, v4)
- watchdog: SoC+MCU разведены, вооружён в boot-окне, единственный владелец
- boot-порядок исправлен под architecture §6 (splash в Stage 0, ядро в Stage 1)
- secure boot = OTP-eFuse необратим + key-mgmt (не «мягкий переключатель»)
- НОВОЕ: время (RTC/NTP/GPS, TLS-gating), память (zram/OOM/cgroup), логи
(journald volatile + критичное в /data + pstore), first-boot, factory-reset, локаль
- OTA: A=механизм/подпись, L=канал; verified-boot в бюджете boot; SD-тир; образ v0≠v4
Кросс-док: roadmap (образ v4 = флешируемый релиз), hardware (тепло/eMMC ✅ резолв),
security-privacy (at-rest шифрование как открытый→направлен в A §3).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-20 21:12:35 +03:00 |
|
kk0t9
|
fb27d8d2fe
|
docs: завершить Tier 1 (контракты) + ревью-фикс red-line CAN
- security-privacy: изоляция, capabilities, гейтинг по каналам, приватность/152-ФЗ;
first-party = вшит в подписанный образ; рисковые комбинации (vehicle_read+network)
- plugin-sdk: манифест, точки расширения, коллизия интентов, host-allowlist
- hardware: RK3588, power-safe, периферия, HAL/BSP портирование
- ВАЖНО: уточнён red-line CAN (принцип #2 + hardware §4): «чтение» = без
управляющих/actuator/write-передач; диагностические OBD read-запросы допустимы
(иначе не прочитать DTC); listen-only — только пассивный сниффинг
- + автозащита питания, тепло, износ eMMC; кросс-доковые аннотации
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-20 20:28:52 +03:00 |
|