Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/saf/state.md
2026-08-24 23:24:55 -04:00

3.5 KiB
Raw Blame History

State — what is true right now

The resume anchor. Reach it from INDEX.md. This file is the only page that answers "what is deployed, what is open, where does the next session start". Everything else belongs to its owning section and is reached from the index.

Keep it honest: when component state moves, move it here. Dated history goes to archive/ — it never returns as news.

Last reconciled: 2026-08-24 (ViewTop on x86 session ownership).

Deployed

  • The phone is a normal Arch box: pacman -Syu from the Gitea repo, kernel included. Flash is for the broken boot chain, never for a new kernel. Cold boots only; reboots are Casey's, at the device.
  • Packages by pacman: souveraine, -secrets, -machined, -sessiond, upower-souveraine. Repo [souveraine-aarch64], SigLevel Required.
  • souveraine-viewtop r127 owns the laptop's ViewTop on x86 SDDM entry. SDDM selects it for the next login. The current Hyprland process predates that package, so the first x86 ViewTop login remains unexercised rather than implied by configuration.
  • Device truth at a glance lives in device/README.md's status table.
  • Right sidebar fully owned (2026-08-21, b8e76c4). Calendar, To Do, Pomodoro, Stopwatch, notifications forked from ii-base into our tree. Garden moved from the notification card into the drawer as a fifth tab. Lens events (note_created, synced) emit through notify-send into the notification system. Only toggle dialogs (bluetooth, wifi, nightLight) and three volumeMixer files still borrow from ii.

Open — the next session starts here

  • The shell is keyed to Hyprland's instance signature. Persistent.qml reads HYPRLAND_INSTANCE_SIGNATURE, unset under viewtop, so isNewHyprlandInstance is permanently false — gating lock-on-startup, LockScreen.qml:145/:289 and both Idle.qml files. Fix is two-sided: viewtop exposes an instance id on {"op":"state"}, the shell reads that.
  • Captured card content is streaky / wrong-surface. Frames arrive (hasContent=true, correct size), contents are wrong.
  • viewtop security audit not started. SECURITY-AUDIT.md carries P1P7, the watch list, and three ungated compositor boundaries found 2026-08-03; scope and deliverable unanswered.
  • Cadence work is live and needs device eyes. Reflection and the archivist exist as real agents with their own memory bodies (memory/01-* + identity/02-*); the memory tool's tree: opens all four memfs doors; the archivist has never yet produced a memoir on hardware. CI on souveraine is the gate — see ../docs/tasks/README.md for the owning work record.
  • Memory sync: per-instance branches and resolve_remote are in; merge policy and auto-fetch are next (FEDERATION.md step 3).
  • Schedules are wired across the bus but miss their own files. The sensor watches agents/<id>/schedules; the CLI/tool write under agents/<id>/memory/schedules, manual triggers are not consumed, config is ignored, and names need traversal rejection. Do not use schedules as CI or deployment authority. nervous/01-eventbus.md owns the boundary.

The substrate, one line

souveraine on primary, built by Gitea Actions. Rust tests + clippy -D warnings gate every push. When this file and the code disagree, the code shows what exists — reconcile both.

History

Dated session records live in archive/ (see state-history-2026-08-16.md for the pre-spine era) and ../docs/DUMP-*.md / HANDOFF-*.md. They are evidence, not a second state document.