fix: reserve cold loads across repair

This commit is contained in:
_Kerman
2026-07-23 20:58:20 +08:00
parent 816907ba2d
commit 4e5166828b
10 changed files with 79 additions and 15 deletions

View File

@@ -920,6 +920,8 @@ abstract append(id: SessionId, events: readonly SessionEvent[]): Promise<void>
* versions and corruption in the committed prefix reject. Implementations
* MUST NOT crash-repair an identity still bound to a live Session: a balanced
* live log may return as a durable snapshot, while an open live turn rejects.
* A coordinator-backed cold load reserves the identity across storage awaits,
* so concurrent publication of a same-id live Session rejects.
* @param id - the persisted session to reload.
* @returns the header and a log ending on a balanced `turn/end`.
*/