Files
amethyst/commons
Vitor PamplonaandClaude Opus 5.5 90264a815d fix(marmot): serialize a group's commit preparation
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>
2026-09-28 10:48:29 -04:00
..