Expand description
Group chat (v0.13.3) — signed member-set model.
A group is a named, creator-signed set of members. Group membership is a
SEPARATE axis from bilateral peer trust: a member’s GroupTier is
group-scoped (Creator / Member / Introduced) and is NOT the bilateral
trust.rs Tier. A peer can be bilaterally UNTRUSTED yet a group Member,
or VERIFIED bilaterally but only INTRODUCED in a group — the two ladders
are intentionally disjoint, and group membership never auto-promotes
bilateral trust.
The creator signs the canonical roster (creator_sig), so a member can pin
INTRODUCED peers on the creator’s vouch even when the creator is offline.
epoch bumps on every roster mutation — it orders revocations (a kick at
epoch N invalidates anything stamped < N).
Persistence: <config>/groups/<id>.json. Transport (group send/tail, the
join code, kick/secure-eject) lives in cli.rs and composes the existing
mesh-broadcast + invite primitives over the member set this module owns.
Structs§
Enums§
- Group
Tier - Group-scoped membership tier. Disjoint from the bilateral
trust.rsTier.
Functions§
- groups_
dir <config>/groups/.- list_
groups - List all persisted groups (skips unparseable files).
- load_
group - Load a group by id.
- resolve_
group - Resolve a group by id OR exact name. Errors if ambiguous/absent.
- save_
group - Persist a group (atomic tmp+rename).