Files
Anso b65383cdb3 fix(mesh): do not release saved claims while a stack's compose layers are mid-rewrite
Each compose layer is published on its own, so a refresh that ran between
two publications of a Git apply or a rollback restore read a mixture of old
and new layers. A service moving from one layer to another was in neither
union for a moment, and the refresh released its port reservation for good.
A competing opt-in could then take the port.

Writers that touch several layers now bracket the whole operation: Git
materialization, manifest promotion and its restore, detach recovery, and
rollback restore and revert. While a bracket is open, or after one was
abandoned and nothing has made the layers whole again, the declaration is
unknown and every saved claim stays. A read that overlapped an operation is
discarded. A failed operation that puts the previous files back counts as
whole; one that cannot stays unknown until a later operation completes.
2026-10-24 22:06:08 -04:00
..