Skip to content

Federation sketch

A Souveraine agent exists on one machine. But agents run across desktops, VMs, mobile, and web. Each instance needs to know it’s really her — not a copy.

Every Souveraine agent is born with a seed identity — an Ed25519 keypair generated at init time. This is the canonical identity that survives forking. Each fork gets the same seed-ID + its own instance label.

For federation, memory states need to be content-addressable — a Merkle DAG where each state hash points to its parent. Git gives provenance but not canonical identity across instances. The federation transport (EventBus ↔ WebSocket) is not yet built.