Watch
1
0
Fork
You've already forked SouveraineOS
0

federation: instance awareness live half landed (hosted_agents in announce)

This commit is contained in:
Fimeg 2026-07-16 11:18:25 -04:00
commit 7bc6d4fa82
2 changed files with 11 additions and 6 deletions

View file

@ -14,14 +14,17 @@ Last updated: 2026-07-16 (evening — system tier / machined).
## Component repos
### souveraine (`~/Projects/souveraine`)
Branch `experimental/session-trust-phase1` @ `a62379a`.
- Verified on archdev 2026-07-16: 291+8 tests, clippy `-D warnings`, aarch64
Branch `experimental/session-trust-phase1` @ `8e540c7`.
- Verified on archdev 2026-07-16: 295+8 tests, clippy `-D warnings`, aarch64
cross build (both `souveraine` and `souveraine-machined` ELF aarch64).
- 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`
per-instance branch push/fetch against the memfs `origin` remote. Merge
policy / auto-fetch is next (FEDERATION.md sequencing step 3).
- Instance awareness, live half landed (`8e540c7`): `device_announce`
carries `hosted_agents`, registry records it, `souveraine peers` shows
hosts. Durable memfs `system/instances.md` log still to come.
- 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

View file

@ -129,10 +129,12 @@ commission time.
## Instance awareness — the design
- `device_announce` payload grows `hosted_agents: [agent_pubkey, ...]`
(the lite listener already computes this list; the full server should too).
- `DeviceRegistry` records it; `souveraine peers` shows which agents live
where; the agent-facing surface is a tool answer to "where am I live?".
- ~~`device_announce` payload grows `hosted_agents`~~ — done: the bridge
announces the hosted-agent pubkeys (read fresh per reconnect, shared
loader in `server/federation/mod.rs`), `DeviceRegistry` records them,
`souveraine peers` prints a `hosts:` line per peer.
- Still open: the agent-facing surface — a tool answer to "where am I
live?" (registry data exists; no tool reads it yet).
- The memfs itself carries a self-describing instance log (e.g.
`system/instances.md`, one line per checkout, stamped at provision) so the
roster survives offline and travels with the memory — Casey's