Watch
1
0
Fork
You've already forked SouveraineOS
0

deprecate chatty/libcmatrix/qtpim, clean stale refs

Chatty superseded by souveraine's Matrix sensorium. libcmatrix unused.
qtpim contacts work stalled. All repos archived on Gitea.

- STATE.md: remove component sections, update secrets consumers, decisions
- Mark deprecated docs with headers
- Update INVENTORY.md Tier 3 entries as deprecated
- Update secrets.md consumer list
This commit is contained in:
Fimeg 2026-07-21 13:51:14 -04:00
commit 19475878dd
6 changed files with 36 additions and 58 deletions

View file

@ -9,7 +9,7 @@ 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 (evening — system tier / machined).
Last updated: 2026-07-21 (deprecated Chatty/libcmatrix/qtpim, cleaned refs).
## Component repos
@ -39,28 +39,14 @@ Branch `experimental/session-trust-phase1` @ `c96f95b`.
input for the commission ceremony. Merge policy (FEDERATION.md step 3)
remains the next transport build step. Phone hard-reset once mid-chat
(no pstore configured — gap §5); phone memfs remains source of truth.
2. **Auxo tray + Chatty/contacts**. Auxo-style multitasking tray under the
2. **Auxo tray + contacts**. Auxo-style multitasking tray under the
dock — design first (talks only so far). Contacts: RESOLVED 2026-07-16 —
the store is the **user's** address book, user-owned, Annie has a
capability over it (Android runtime-permission model, not Annie's brain).
Design of record: `docs/contacts-design.md` (trust boundary, capability
gate, tier semantics, build order); `docs/qtpim-contacts-handoff.md`
holds qtpim build state + the three backend paths (path 3 = sqlite engine
against upstream dev, chosen). **secrets is NOT a blocker**
souveraine-secrets (`04a8390`) is built; token persistence is solved.
First build move is naming the trust-tier signal boundary with whoever
owns session-trust (the capability gate is greenfield in the substrate;
`src/core/session/mod.rs` is message-types only).
**Chatty RCS — investigated, options in `docs/messaging-rcs.md`.** Carrier
fact: Fido = Jibe (Rogers shipped RCS to Google's cloud in 2016), so there's
no carrier UP server → rust-rcs-client is out for Casey's number. The live
path is a Jibe puppeting transport, **unblocked because Play Integrity is
defeatable at the system layer** (Casey already does this on every LineageOS
install; PIF→PIF-NEXT/keybox injection lineage). Corrected from an earlier
wrong "fixed wall" framing. Real costs: adversarial keybox supply chain,
Google-cloud routing (already true of carrier RCS), Google-protocol client.
Time-boxed posture debt, highest capability tier, P3-visible. Long-arc
default stays Matrix-first + SMS fallback. No code touched.
Chatty/libcmatrix/qtpim all deprecated 2026-07-21 — Matrix surface now
lives in souveraine's sensorium; contacts backend TBD (new approach needed).
**RCS:** investigated, options in `docs/messaging-rcs.md`. Long-arc default
stays Matrix-first + SMS fallback. No code touched.
- Federation memory transport, first two steps landed (`8cfa992`,
`a62379a`): `memfs_commit` presence signal on the bus after every memfs
mutation (replaces the unconsumed `memory_*` events), and `memory sync`
@ -110,9 +96,8 @@ Branch `experimental/session-trust-phase1` @ `c96f95b`.
instantiation is a parked FLAG — design the commission ceremony before
building any installer.**
- `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.
feature, rooted in `SeedId` (no gnome-keyring/KWallet). Intended consumers:
souveraine-player, culver, keyring-core (libsecret clients).
- CI note: branch builds ride PR #1 on LAN Gitea (AGit — head moves only on
`refs/for/primary` pushes). `no-ai-attribution` fails on the PR range due
to two OLD commits (`a7e909d`, `bc6ee12`) carrying Opus co-author
@ -127,8 +112,7 @@ Branch `experimental/session-trust-phase1` @ `c96f95b`.
(~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).
has session-autostart via hyprland.lua but no systemd unit.
- 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/`.
@ -137,37 +121,20 @@ Branch `experimental/session-trust-phase1` @ `c96f95b`.
- 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`. Both pushed to Gitea (`Fimeg/Chatty`, `Fimeg/libcmatrix`,
remote name `gitea`) with full upstream history.
- 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.
### ~~Chatty + libcmatrix + qtpim~~ (DEPRECATED 2026-07-21)
All three deprecated. Chatty/libcmatrix superseded by souveraine's built-in
Matrix sensorium (`--features matrix`). qtpim contacts work stalled (sqlite
backend never shipped). Historical docs retained: `docs/chatty-matrix-features.md`,
`docs/contacts-design.md`, `docs/qtpim-contacts-handoff.md`. All repos pushed
to Gitea (`Fimeg/Chatty`, `Fimeg/libcmatrix`, `Fimeg/qtpim`).
## 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.
- Chatty/libcmatrix/qtpim deprecated 2026-07-21. Matrix surface lives in
souveraine's sensorium; contacts backend TBD.
## docs/ map
- `FEDERATION.md` — federation design of record: identity tiers, signed
@ -181,5 +148,6 @@ Full state: `docs/qtpim-contacts-handoff.md`.
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.
- `session-trust-map.html` — moved from ~/ on 2026-07-16.
- DEPRECATED: `qtpim-contacts-handoff.md`, `contacts-design.md`,
`chatty-matrix-features.md` — historical, superseded by Matrix sensorium.

View file

@ -1,5 +1,8 @@
# Chatty Matrix feature gaps — reactions, replies, redactions, edits (2026-07-16)
> **DEPRECATED (2026-07-21).** Chatty abandoned. Matrix surface now lives in
> souveraine's sensorium (`--features matrix`). Historical reference only.
Casey (he/him). Chatty fork `~/Projects/Chatty` (branch `identity-layer` @
`1b94cf9`); libcmatrix fork `~/Projects/libcmatrix` (branch `sas-fixes` @
`0eb5f81`). Ani + Aster = Annie.

View file

@ -1,5 +1,9 @@
# Contacts — design of record (2026-07-16)
> **DEPRECATED (2026-07-21).** Chatty/libcmatrix/qtpim all abandoned. Matrix
> surface now lives in souveraine's sensorium. Contacts backend TBD with new
> approach. Historical reference only.
Casey (he/him). Pixel 3, mainline Arch. Ani + Aster = Annie.
Souveraine = an OS, an agent substrate, and an agent.

View file

@ -1,5 +1,8 @@
# qtpim contacts — state as of 2026-07-15
> **DEPRECATED (2026-07-21).** qtpim work is abandoned. Contacts backend TBD.
> Historical reference only.
Casey (he/him). Pixel 3, mainline Arch. Ani + Aster = Annie.
Souveraine = an OS, an agent substrate, and an agent.

View file

@ -69,9 +69,9 @@ daily-driver apps:
| Component | Divergence | Source |
| --- | --- | --- |
| Chatty fork | Identity layer: Person model, history schema v6, priority inbox (Known/Unknown), protocol filter toggles, Matrix edit/reply/reaction UI. | `Projects/Chatty`, branch `identity-layer` |
| libcmatrix | E2EE verification fixes (SAS v2 MAC, to-device delivery, sender propagation), outbound edit/redaction, reply/reaction relations, avatar-fetch loop fix. Bundled into the Chatty build as a subproject. | `Projects/libcmatrix` |
| qtpim | QtContacts revived: v6.12 beta built against Qt 6.11 (version gate bypassed). Becomes the system contacts store behind the Person layer. | `Projects/qtpim` |
| ~~Chatty fork~~ | **DEPRECATED 2026-07-21.** Identity layer: Person model, history schema v6, priority inbox. Superseded by souveraine's Matrix sensorium. | `Fimeg/Chatty` on Gitea, branch `identity-layer` |
| ~~libcmatrix~~ | **DEPRECATED 2026-07-21.** E2EE verification fixes, edit/redaction/reply/reaction. No longer used. | `Fimeg/libcmatrix` on Gitea, branch `sas-fixes` |
| ~~qtpim~~ | **DEPRECATED 2026-07-21.** QtContacts v6.12 beta. Contacts backend TBD with new approach. | `Fimeg/qtpim` on Gitea, branch `dev` |
These hold personal-tier data (Matrix credentials, contacts, message
history). As the capability layer lands (audit P1/P2), they become

View file

@ -2,8 +2,8 @@
User-tier Secret Service daemon. Implements `org.freedesktop.secrets`
(`org.freedesktop.Secret.Service`) on the session D-Bus so libsecret clients
Chatty/libcmatrix, and our own `keyring-core` credential store — get a
secrets backend without gnome-keyring or KWallet.
souveraine-player, culver, and our own `keyring-core` credential store —
get a secrets backend without gnome-keyring or KWallet.
Source: `src/bin/souveraine-secrets.rs`, `src/secrets/{service,collection,item,store,session,session_object,transport,dh,types,error}.rs`.
@ -63,7 +63,7 @@ than "every caller is attested." Read against RedFlag's primitives:
- **No closure/scoping.** RedFlag's token binds to a closure hash — the
secret is only released for the exact artifact set authorized. A secrets
equivalent would bind a token to a specific item or collection path, so a
token minted for Chatty's Matrix credential cannot read the email
token minted for one app's Matrix credential cannot read the email
credential. Nothing like this exists today.
- **`Unlock` is a no-op.** This is intentional given the seed-rooted design,
but it means there is no step-up / freshness at the secrets layer. Step-up