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>
This commit is contained in:
@@ -242,7 +242,7 @@ shturman/
|
||||
`dbus-daemon`) — герметично, параллелизуемо, без root (§9).
|
||||
- Изоляция песочных апов — через прокси (появится с App-Host, v3).
|
||||
|
||||
### 5.2 `ru.shturman.Power` — стаб (B04, домен B §9)
|
||||
### 5.2 `ru.shturman.Power` — стаб v0.1 → **реальный FSM v0.3** (B03/B04, домен B §9)
|
||||
|
||||
- **Имя/путь/интерфейс:** `ru.shturman.Power` · `/ru/shturman/Power` · `ru.shturman.Power1`.
|
||||
- **Методы:**
|
||||
@@ -258,11 +258,13 @@ shturman/
|
||||
- `IgnitionState: s` ∈ `{off, accessory, running}` — **канон** (B §1; E зеркалит, не дублирует)
|
||||
- `Uptime: t` — секунды **монотонных** часов (`CLOCK_MONOTONIC`, B §8)
|
||||
- `PowerSource: s` ∈ `{vehicle_12v, holdup_cap, sleep_rail, low_battery}`
|
||||
- **Стаб-поведение (v0):** старт в `running`/`IgnitionState=running`/`PowerSource=vehicle_12v`;
|
||||
`Uptime` растёт монотонно. **Никаких** методов записи/actuator (#2). Реальная FSM/секвенсинг — v0.3.
|
||||
- **Поведение:** старт в `running`/`IgnitionState=running`/`PowerSource=vehicle_12v`; `Uptime` растёт монотонно.
|
||||
**Никаких** методов записи/actuator (#2). **v0.1 — плоский стаб; v0.3 — реальный `PowerFsm`** (состояния/переходы B03,
|
||||
graceful shutdown подход A, grace-таймер + durable-barrier `sync` на commit/PONR); `power_state`/`ignition`/`source` —
|
||||
проекции FSM. Реальный источник событий (ACC/voltage/thermal через MCU) → v0.4; в v0.3 события кормит dev-mock.
|
||||
- **Dev-mock (feature `dev-mocks`):** доп.интерфейс `ru.shturman.dev.PowerMock1` на том же объекте —
|
||||
«**fake-ACC**» для тестов и будущего v0.3:
|
||||
- `SetAcc(b on)` → меняет state/IgnitionState + эмитит `AccChanged`
|
||||
«**fake-ACC/voltage/thermal**», **кормит входы FSM** (v0.3) для тестов/E2E:
|
||||
- `SetAcc(b on)` → `Event::AccOn`/`AccOff` (FSM) + эмитит `AccChanged`
|
||||
- `SetIgnition(s state)`
|
||||
- `TriggerShutdown(u seconds, s reason)` → эмитит `ShutdownImminent`
|
||||
- `AbortShutdown()` → эмитит `ShutdownAborted`
|
||||
|
||||
Reference in New Issue
Block a user