mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
`MlsGroupManager` names `nostrGroupId` 147 times, stages Marmot's `group-lifecycle-v1` disband commits, and enforces MIP-01's "only admins may update group extensions". It is Marmot's binding layer, not the RFC 9420 engine, and every consumer outside quartz already says so: MarmotManager, MarmotInboundProcessor, MarmotOutboundProcessor, MarmotBenchmarks. `MlsGroupStateStore` and `MarmotMessageStore` go with it -- both are keyed on the hex Nostr group id from MIP-01's `h` tag, and nothing in the engine references either. That removes 2 of the engine's 10 `marmot/` imports without needing an interface: the two that were Marmot's, in code that was Marmot's. Names are unchanged on purpose. The package path already says whose manager this is, and renaming four classes would churn 22 files across five modules for clarity the path gives for free. After this the engine has no manager at all, so there is nothing for `MlsGroupManager` to be confused with. `:quartz:jvmTest` 5074, unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012BfD4txdnsaPRXmNXbup9n