kk0t9
1eaa0b8896
docs(domain L): v2 — облако/компаньон (Companion+OTA-канал+телеметрия), после adversarial-ревью (21 находка) + кросс-док
...
Новый домен L: device-Companion-сервис + моб.приложение + опц.self-hostable облако.
Облако опционально, local-first, никогда не управляет машиной. Многоагентный
adversarial-ревью: 30 находок, 21 подтверждена (default-refute), все применены.
Ключевое из ревью:
- OTA untrusted-host неполон без anti-rollback → добавлена монотонность security-version (downgrade/replay-защита); подпись ≠ свежесть. Зеркально в a-base §5.
- fscrypt-ключ eFuse-bound непереносим → честно: cross-device restore требует отдельного backup-ключа (открыто); убрана ложная «ключ у пользователя».
- DOWNLOAD(L) ≠ APPLY(A): разведены фазы; download-fail-safe (ENOSPC/resume/отбраковка битого до RAUC) симметрично J/H.
- Time-gate (a-base §7): холодный boot 1970 → TLS «not yet valid» — OTA/sync/телеметрия ждут вменяемых часов.
- Captive-portal (G): egress только при State==online, не на portal/limited.
- Телеметрия: consent/буфер стираются на factory-reset (инвариант «после reset все opt-in выкл»); не ретроспективна; отзыв → дроп буфера; облако: retention+удаление (152-ФЗ).
- Поездки — из trip-плагина (app-storage), не из core E.
- dashcam-бэкап: отдельный носитель + consent-гейт J §4.
- Staged-rollout halt-петля + парадокс с opt-in телеметрией; push-доставка; модель аккаунта (recovery/multi-vehicle/multi-user); version-skew моб↔головблок — зафиксированы.
Кросс-док: a-base §5 (anti-rollback + Журнал), §12 (telemetry-consent в wipe);
architecture §3 (Companion first-party) + §5 (ребро Companion→Connectivity).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 13:55:40 +03:00
kk0t9
fb4e585152
docs(domain G): v2 — связь/телефон (Connectivity+Phone), после adversarial-ревью (15 находок) + кросс-док
...
Новый домен G: Connectivity-core (WiFi/LTE/tethering + BT-адаптер/паринг) +
Phone-ап (HFP-звонки/контакты). Многоагентный adversarial-ревью: 24 находки,
15 подтверждено (default-refute; tech-измерение — 0, техника устояла), все применены.
Ключевое из ревью:
- BT-шов резолвнут двунаправленно: владелец BlueZ — Connectivity-core (G §3 ↔ H §6/§15 ✅ ).
- Граница голоса: только HFP спаренного телефона; встроенный модем — data-only (VoLTE/eCall вне скоупа).
- SIM PIN/PUK-флоу (sim_locked/no_sim) + captive-portal детект (portal/limited, не ложный online) — модем v1.
- Connectivity поднимается на Stage 2 (синхр. с architecture §6).
- Мультипаринг: ровно один active-телефон для HFP/PBAP (Dial/CallStateChanged однозначны).
- SCO-loss mid-call → CallState=audio_lost + снятие роли phone_call → H раскорчивает медиа (не залипает).
- Входящий-оверлей не перекрывает реверс-вид (z-order overlay-слота → C); tethering-петля AP+tether запрещена.
- PBAP-синк фоновый; отказ-пути паринга/no_service симметрично J/H.
Кросс-док: H §6/§15 (BlueZ ✅ ) + якоря D §147/§148→§10; architecture §3 (Connectivity+BT)
/§6 (Stage 2); ipc §3 (Type+tether, State enum, CallState=audio_lost); security-privacy §7
(контакты/журнал/SMS local-first); hardware §4 (Bluetooth); tech-stack (NM/MM/BlueZ);
C §11 (z-order overlay).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 19:08:52 +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
d112f5397d
docs(C-shell + кросс-док): ретро-ревью (6 находок) + синхронизация
...
C-shell v2:
- GPS-скорость для distraction — домен K (ru.shturman.Location), не E (E это OBD, v2);
E — уточнение OBD-скорости в v2 + быстрый статус машины
- механизм поверхности: Wayland slot-протокол ru.shturman.shell_slot + slot-token,
не «handle по D-Bus»
- fail-safe distraction при потере/устаревании скорости (консервативный дефолт,
гистерезис, арбитраж GPS/OBD)
- контракт статус-бара: network «unknown» до Connectivity; часы — до синка времени
Кросс-док:
- architecture §1 (ELM327-оговорка к «физическому» read-only), §5 (положение/GPS из
Location/K, не Vehicle-Data), §7 (Perm-Broker = грантодатель, статика — прокси+sandbox),
§8 (surface через Wayland slot-протокол)
- ipc Shell.RegisterScreen → slot_token
- dev-environment: cage → smithay/weston в журнале и списке пакетов
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 01:06:05 +03:00
kk0t9
3d13bb5827
docs: tech-stack + контракты ipc/data-model (+ ревью-фиксы)
...
- tech-stack: Rust-first (один прод-рантайм; Python — dev-only), полный стек, крейты
- architecture: ассистент Python→Rust для консистентности; boot-порядок
(Broker+App-Host до Shell); потолок частоты сигналов ~10–20 Гц
- contracts/ipc: реестр D-Bus (сервисы ядра/апов, соглашения, портал-брокеринг)
+ открытые вопросы из self-review
- contracts/data-model: VSS-aligned каталог сигналов, OBD-PID маппинг, DTC-модель;
добавлен MIL-статус (PID 0x01) для killer-фичи, состояние машины, расход-estimate
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 20:01:36 +03:00
kk0t9
9e685edd02
docs: заложить фундамент проектирования Штурмана
...
Каркас документации + содержательный фундамент (фаза проектирования,
реализация отложена):
- vision: видение, позиционирование, границы (вариант B, 2 красные линии)
- principles: 13 сквозных принципов (red lines, offline-first, power-safe…)
- architecture: тонкое ядро + SDK, planes, lifecycle, песочница, хостинг UI,
карта связей + журнал из 6 решений
- dev-environment: разработка с Mac (Lima/ARM64, vcan, Vehicle Simulator)
- индексы contracts/ и domains/ (+ единый шаблон домена, заделы по камерам)
- заготовки glossary, capability-catalog, roadmap
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 19:28:16 +03:00