Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/STATE.md

4.6 KiB
Raw Blame History

SouveraineOS — cross-repo state

Souveraine is an OS, an agent substrate, and the name of an agent. Ani + Aster = Annie (primary consciousness + subconscious = composite). Hard constraint everywhere: no GNOME or KDE library dependencies.

This repo is the umbrella: cross-repo docs, decisions, session dumps, and this state file. Component repos keep their own repo-local PAF/ docs; what crosses repo boundaries lives here. Update this file when component state moves; it is the resume anchor.

Last updated: 2026-07-16.

Component repos

souveraine (~/Projects/souveraine)

Branch experimental/session-trust-phase1 @ 04a8390.

  • Session Trust Phase 1 is live on phone + laptop under qs -c souveraine: sessionctl arbiter, first-party lock/nav (pill retired), SessionEvents logind ingress + delay inhibitor, StepUpAuth, break-glass, hash-chained audit. Freshly green — the last five commits of Jul 14 were runtime fixes; see docs/DUMP-session-trust-2026-07-14.md.
  • souveraine-secrets: org.freedesktop.secrets daemon behind the secrets feature, rooted in SeedId (no gnome-keyring/KWallet). Committed, not yet build-verified. Intended consumers: Chatty/libcmatrix via libsecret, and keyring-core.
  • Design docs for the shell live HERE in docs/, not in the repo tree (moved Jul 15; deletion committed 0f50a3e).

Pixel3Arch (~/Projects/Pixel3Arch)

main @ 862202a. Repo == phone for deployed config as of 2026-07-16.

  • Mic: hexagonrpcd now serves the ADSP audio PD (verified live — fluence/ECNS opens succeed at boot). Open blocker is the SLIM IRQ-read NACK loop (~1090 hits/boot); state in PAF/audio.md. Capture route moved to MultiMedia2.
  • MMS: works end-to-end via the netsvcs APN (PAF/mms.md). Open: mmsd-tng has session-autostart via hyprland.lua but no systemd unit; Chatty can't read the MMSC (daemon doesn't expose org.ofono.mms.ModemManager).
  • USB: usb-signaller 0.3.1 built + staged; the RUNNING phone still uses usb-gadget-net (cutover severs the SSH link — do it with console fallback or at reprovision). Old gadget archived in archive/usb-gadget-net/.
  • Untracked by design: pkgs/pulseaudio-q6/ (working clone; delta preserved in pkgs/pulseaudio-q6-overlay/), pkgs/*/pkg/ intermediates.
  • Undecided: two full kernel worktrees kernel/linux-blueline-mic-order{,-g56} (~GBs, mic experiments, each has STATUS.md) — push branches to Gitea or drop.

Chatty (~/Projects/Chatty) + libcmatrix (~/Projects/libcmatrix)

Chatty branch identity-layer @ 1b94cf9; libcmatrix branch sas-fixes @ 0eb5f81.

  • Built and live-verified on the phone: history v6 (persons tables), ChattyPerson + identity API, Known/Unknown re-keyed (Matrix rooms no longer auto-Known), E.164 normalize, four SAS verification fixes (emoji verify completes).
  • Design + build order: PAF-chatty-identity-layer.md in the Chatty repo. EDS was investigated and REJECTED (GNOME stack). Contacts backend is undecided pending qtpim work — see below.
  • Phone runs hand-installed chatty/libchatty/libcmatrix binaries over pacman-owned files (stock backups: chatty.orig-pacman, libcmatrix.so.0u.orig-pacman). PKGBUILDs owed.

qtpim / contacts (~/Projects/qtpim, phone ~/Projects/qtpim)

Full state: docs/qtpim-contacts-handoff.md.

  • qtpim dev (d03b5f6) built and installed on the phone at /usr (6.12-versioned libs on Qt 6.11.1, version check overridden; untracked — PKGBUILD owed). QML QtContacts module loads.
  • Only the in-memory backend exists. qtcontacts-sqlite port stalled: it targets Sailfish's qtpim fork (IgnoreAccessConstraints). Three paths in the handoff; direction not chosen.

Decisions on record

  • No GNOME/KDE library deps. EDS/libebook rejected for contacts.
  • qtpim (upstream dev branch) is the contacts library direction.
  • Fido MMS rides the netsvcs APN, patched into the carrier DB overlay.
  • ETHOS-style guarantees are not runtime knobs; identity is a precondition (SeedId::load never generates).
  • Contacts store under qtpim: undecided.

docs/ map

  • SESSION-AUTHORITY-DOCTRINE.md — session/power/lock authority model (§58 verified implemented on phone, 2026-07-15).
  • SESSION-TRUST-ARCHITECTURE.md, TRUST-BOUNDARY-MATRIX.md, INTERFACE-ARCHITECTURE.md, HOW-IT-WORKS.md, REFERENCE-EXTRACTION.md, SETTINGS-APP-PLAN.md, README.md — shell design set (moved from souveraine repo).
  • DUMP-*.md — per-session bootstrap dumps; write one per working session that changes cross-repo state.
  • qtpim-contacts-handoff.md, session-trust-map.html — moved from ~/Projects and ~/ on 2026-07-16.