Watch
1
0
Fork
You've already forked souveraine
0
souveraine/surfaces/quickshell
Repository files (latest commit first)
Filename Latest commit message Latest commit date
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