mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
commitAndPublish checked canPrepareLocalCommit and then staged and recorded its obligation with nothing in between stopping a second caller. The auto-commit of a member's leave runs from ingest while the user may be committing a rename or an add; both could pass the check and stage two commits from one epoch, forking the group. (Two racing leave commits were measured identical and harmless, 20/20; a leave racing a rename is not.) A per-group Mutex now covers check -> stage -> prepare; the publish itself stays outside it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>