mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
A Commit replaces the committer's leaf through the UpdatePath. It is the same member with new key material, so everything the leaf says about the member has to survive — but `buildLeafNode` was called without either `capabilities` or `leafExtensions`, so it fell through to the legacy defaults every time. That cost us every invitation we have ever sent to MDK. A current-profile leaf carries `marmot.member.account-identity-proof.v2` inside an `app_data_dictionary` LEAF extension, and no proposal can put a leaf extension back, so our very first Commit silently demoted the group creator out of the current profile. The rebuilt leaf also stopped advertising the `app_data_dictionary` extension (0x0006) and the `app_data_update` proposal (0x0008) that the group's own `required_capabilities` demands, which makes the resulting tree fail RFC 9420 §7.3 leaf validation for every receiver. MDK reported `PublicGroupError(LeafNodeValidation(UnsupportedExtensions))` and dropped the Welcome minted by that same commit — the invitee simply never saw an invite, with nothing logged on either side. The same omission was in `proposeSigningKeyRotation`, where an Update proposal replaces our leaf for forward secrecy, and in `externalJoin`, which had no way to express a current-profile joiner leaf at all. Verified against MDK 0.9.20 on the interop harness: before, the invitee's pending-invite list stayed empty; after, our group arrives with its routing, profile and admin policy intact. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kCuA6tc4JQzHPCDd39GHq
14 lines
304 B
Plaintext
14 lines
304 B
Plaintext
marmot/state/
|
|
marmot/state-headless/
|
|
dm/state-dm-headless/
|
|
nests/state/
|
|
clink/state-clink-headless/
|
|
relaygroup/state-relaygroup-headless/
|
|
sync/state-sync-deletions/
|
|
blossom/state-blossom-live/
|
|
git/state-git-nip34/
|
|
buzz/state-job-loop/
|
|
buzz/state-workflow-loop/
|
|
buzz/state-agent-exec/
|
|
marmot/state-repro/
|