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

67 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.