67 lines
3.5 KiB
Markdown
67 lines
3.5 KiB
Markdown
# 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 P1–P7,
|
||
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.
|