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>
This commit is contained in:
2026-06-22 15:30:08 +03:00
parent 7a30ed7a7d
commit 5ba19cde46
6 changed files with 177 additions and 11 deletions
+5 -3
View File
@@ -123,8 +123,9 @@
- Battery-RTC как требование reference-платы (hardware) — либо явный no-RTC план.
- Онлайн-синк: `systemd-timesyncd` (легче) / chrony.
- **GPS как offline-first источник UTC** (NMEA `$GPRMC/$GPZDA` → gpsd → chrony SHM/PPS)
основной фолбэк без сети (принцип #3).
- **GPS как offline-first источник UTC** (NMEA → gpsd → chrony **SHM**, ~десятки–сотни мс; PPS µs
опц., hardware-зависим, см. k-sensors §2) — основной фолбэк без сети (#3). Время может быть валидно
без позиционного фикса (k-sensors §2).
- **Персист last-known-time в `/data`** (`fake-hwclock`) — **периодически + на синке + на graceful
shutdown** (владение → домен B §8), чтобы холодный boot/резкий обрыв не откатывали часы к 1970.
- **Boot-политика:** до любого TLS-egress к LLM часы должны быть «вменяемыми» (gated).
@@ -196,7 +197,8 @@ reference-таргет — first-party**, остальное — порты.
| Быстрый boot (Stage 0/1/2, < 10 c) | **MVP** | architecture §6 | v0 |
| Splash (Stage 0) | **MVP** | — | v0 |
| First-boot provisioning (`/data` init, machine-id) | **MVP (день 1)** | — | v0 |
| **Время** (NTP + GPS-fallback + fake-hwclock) | **MVP** | hardware(GPS), B | v0/v1 |
| Время: NTP (timesyncd) + fake-hwclock персист | **MVP** | B | v0 |
| Время: GPS как offline-first UTC (NMEA→gpsd→chrony) | **MVP** | hardware(GPS), **K** | v1 |
| **Память** (zram + OOM + cgroup-лимиты) | **MVP (день 1)** | — | v0 |
| **Логирование** (journald volatile + критичное в `/data` + pstore) | **MVP (день 1)** | — | v0 |
| eMMC write-minimization | **MVP (день 1)** | — | v0 |