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:
parent
208fe9219a
commit
19475878dd
6 changed files with 36 additions and 58 deletions
72
STATE.md
72
STATE.md
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue