Fimeg
b4b30b124d
Unified device state machine + security hardening
sessiond:
- device_state.rs: 8-state unified device state machine with legal
transition table, sensor evidence model (proximity/accel/light/touch),
confidence scoring, cross-sensor disagreement detection, and forensic
logging with full state snapshots at every decision point.
- protocol.rs: extended with DeviceState, SensorInput, and ForensicLog
IPC requests. SensorSource/SensorValue types for proximity, accel,
light, touch.
- server.rs: DeviceStateMachine integrated into Daemon struct. Handlers
for DeviceState (full state query), SensorInput (sensor evidence +
Observed transitions), ForensicLog (recent entries query).
- lock.rs: Failed attempt counter on PIN surface (advisory, PAM owns
lockout policy). Rendered as red digit glyphs below PIN dots.
- draw.rs: Attempt counter rendering + test.
- auth.rs: PAM config docs reference.
- mod.rs: device_state module added.
shell:
- IdleCoordinator.qml: Legal transition table with runtime enforcement.
setState() refuses illegal transitions with warning. returnActive()
explicitly only allows Dimmed/Waking.
- GlobalStates.qml: Write authority comments on every property (// WRITER:).
- SessionAudit.qml: SHA-256 replaces MD5 for hash chain. Forensic event
wiring (device-state-transition, device-error, sensor-input, wake-event).
logDeviceError/logSensorInput/logWakeEvent functions for QML callers.
Design doc: SouveraineOS/docs/DEVICE-STATE-MACHINE.md (separate repo).
Tests: 22 passing (was 7). Full lifecycle test exercises Active → Dimmed →
Locked → Observed → DozeLight → DozeDeep → Suspending → Asleep → Locked
with 23 forensic entries.
|
2026-07-24 16:29:04 -04:00 |
| .. |
|
assets/keyboard
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
ii-base
|
fix: speech prefetch flag, agent identity on restore, workspace selector
|
2026-07-23 16:47:00 -04:00 |
|
ii-phone
|
quickshell: pin shared ii base and phone overlay
|
2026-07-21 18:55:02 -04:00 |
|
modules
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
panelFamilies
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
scripts/wallpaper
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
services
|
Unified device state machine + security hardening
|
2026-07-24 16:29:04 -04:00 |
|
deploy.sh
|
fix: speech prefetch flag, agent identity on restore, workspace selector
|
2026-07-23 16:47:00 -04:00 |
|
GlobalStates.qml
|
Unified device state machine + security hardening
|
2026-07-24 16:29:04 -04:00 |
|
II-BASE.md
|
quickshell: pin shared ii base and phone overlay
|
2026-07-21 18:55:02 -04:00 |
|
ii-base.pin
|
quickshell: pin shared ii base and phone overlay
|
2026-07-21 18:55:02 -04:00 |
|
qmldir
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
settings-launch.sh
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
settings.qml
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
SettingsWindow.qml
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
shell.qml
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |
|
souveraine-settings.desktop
|
shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work
|
2026-07-22 22:18:20 -04:00 |