ef1807e350
近五个提交连续翻转了多条前端契约,但只追加了 decision-log。专题文档是这些 条目自己声明的「关联文档」,其中仍写着旧契约,按它做验收会把当前正确行为 判成缺陷。 更正:请求快照写入占位并 flush 布局 → 账本写本机、布局只留 marker;strict layout save 预算与 revision ACK 前 POST 为零 → 通道已删除,改 best-effort, 并写明服务端要求占位此前已持久化否则 409、客户端无法证明只能提高概率; 窗口从快照写入起算 → 从 POST 发出时刻起算;POST 前必须取得保存成功确认 → 保存失败不再让 POST 为零;未收口 operation 不可删除、durable operation 不得被普通删除路径清理 → 任何状态可删且不弹确认。 新增不变式:标记与账本寿命必须对齐,收口态不写标记也不判无效;账本读不到 时只有未收口占位收口成可删除失败态;恢复必须覆盖孤儿账本,孤儿走一次确定性 的读、不按 reconcileUntil 短路。 「普通按钮不得创建第二个 operation」保留为已知缺口而非静默删除:该保证只由 existingOperation 闸提供,而它只扫内存 dialog 列表,占位可删之后删掉再从源图 发起会产生第二个 identity。文档如实描述现状并标注闭合方向,代码侧未修。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>