mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 16:14:40 +00:00
ConcordModeration builds the Control Plane editions for defining a role, granting roles to a member, and banning/unbanning — each a kind-3308 edition, plaintext-sealed and wrapped on the Control Plane. It chains the next version onto the entity's current head (version+1, prevHash=head.hash) and unions the banlist, taking the community's current editions as input. Authority is enforced at fold time by the AuthorityResolver, not here: a round- trip test confirms an owner can define an Admin role, grant it (member gains BAN), ban/unban (version chaining heals), and that a grant forged by a non-outranking troll is dropped by the fold. - ConcordActions.controlEditions opens control wraps into editions - ConcordCommunitySession exposes controlEditions()/controlPlaneKey() so edits chain onto live state - Account.grantConcordRole / banConcordMember / unbanConcordMember publish the edition with an instant local echo (the session refolds it) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CzJ2Cwo8tg4oZq43oRa3ig