mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
- ConcordPrivateChannels (headless, shared with amy): create a Private Channel (key at channel epoch 0 + a bit-less access Role at the bottom of the roster, Armada createChannel), privatise a Public one (next channel epoch, floored at the highest rotation seen on the wire), publicise (flag only), the keep-set / authority for a rotation, the channel-rekey watch window (LOOKAHEAD epochs under the current and the prior root), receive + apply (race-safe: only from the epoch computed). - AccountConcordActions: createConcordChannel(private, accessRoleName), privatize/publicizeConcordChannel, rekeyConcordChannel (reserved key per rotation, every chunk confirmed before adopting), grant/revoke/ban reconcile channel access (Direct Invite limited to the gained channels; a rotation for the lost ones), the Refounding rotates every held Private Channel to its entitled kept set under the PRIOR root, and the revision tick drains channel rekeys and auto-adopts staff catch-ups (judgeCatchUp). - Catch-up hardening (audit): a Direct Invite catch-up only adds missing keys from a staff sender for live Private Channels, and is re-applied to the entry the List holds at write time (ConcordChannelListState.update) instead of a pre-suspend snapshot; every new verb writes the same way. - Session buffers channel-rekey wraps and AUTHs/subscribes their addresses; private history across a rotation reads the older keys the entry carries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PmuzkD5qdqgv6dMeRMoC5N