统一生成失败的可重放结算
生成流程内部错误统一先写 pending ledger,再更新公开草稿、staging revision 与终态账本。 增加 pending 写入后故障注入恢复回归。 补齐公开草稿、staging 与终态账本之间三个持久化切点测试。 同步更新失败结算技术合同与共享决策记录。
This commit is contained in:
@@ -92,7 +92,7 @@
|
||||
|
||||
- 生成失败时,公开 generation 记录必须在同一草稿 revision 链路中落为 `failed` 或 `reconciliation-required`,不得留下持久化的 `generation-running` 幽灵任务。
|
||||
- 客户端处理生成失败时必须调用宿主的权威失败结算接口并携带 `expectedDraftRevision`;结算返回 revision 冲突或失败时保持失败/对账阻断态,不得把画布静默恢复为 clean editing。无私有账本的早期失败只允许由后端原子移除公开占位并返回 `not-started`,已进入候选或正式提交终态的结果返回 `already-terminal`,等待重新打开对账。
|
||||
- 权威失败结算先将私有 ledger 写为 `failure-settlement-pending` 或 `reconciliation-settlement-pending`,再幂等更新公开草稿与 staging revision,最后发布 `failed` 或 `reconciliation-required`。任一持久化边界中断后,启动恢复必须在解析生成服务凭据前完成 pending 结算;公开草稿已写入时不得重复推进 revision。
|
||||
- 权威失败结算与生成流程内部错误统一先将私有 ledger 写为 `failure-settlement-pending` 或 `reconciliation-settlement-pending`,再幂等更新公开草稿与 staging revision,最后发布 `failed` 或 `reconciliation-required`,任何路径都不得先发布终态 ledger。任一持久化边界中断后,启动恢复必须在解析生成服务凭据前完成 pending 结算;公开草稿或 staging revision 已写入时不得重复推进。
|
||||
- 候选成功回包不得整体 hydrate 覆盖生成期间的本地未 autosave 状态;必须以当前 runtime 的图层、viewport、背景、selection 和 history 为基线,只合并权威候选图层、预览地址与 generation 记录,并用一次带 CAS 的草稿保存确认候选。
|
||||
- 候选生成必须先幂等落盘候选媒体、候选图层和公开记录,回读成功后才能推进私有 ledger 的 `candidate-ready` 终态;两次写入之间中断时,恢复必须可重放。
|
||||
- 失败归档使用 `archive-pending` 中间态:先记录归档意图,再删除草稿公开记录,最后发布 `archived`;任一边界中断都必须在重启后收敛且保持幂等。
|
||||
|
||||
Reference in New Issue
Block a user