SHIPQ · DHF · CONTROLLED RECOVERY

写坏不可怕。
失控地继续写,才可怕。

Google Docs canary 已经产生副作用、结构断言却失败时,DHF 如何让系统停住、恢复事实、重新取得授权,再回到可信完成。

锁定→小范围写入→失败即停→原生回滚→修复并重授权→全量回读
价值语言的位置:SAFE 与 TRUST 是贯穿全程的指导原则,不是独立的发展阶段。
CHART 01

六拍时间线:先记顺序

事故发生在第二拍;真正决定系统是否可信的是第三拍有没有停住。

01 PRE-MUTATION

锁定现场

Manifest 固定 source、document、heading、revision、digest;Owner 确认具体快照。

02 CANARY WRITE

小范围写入

内容已进入 Docs,结构断言失败;保存永久 mismatch receipt。

03 FAIL-CLOSED

停止扩散

冻结剩余文档,禁止盲重试;失败事实原样保留。

04 ROLLBACK

回到原版本

Owner 用原生历史恢复;Agent 只读核验 content 与 styles。

05 HARDEN + REAUTH

修复并重授权

本地修复、测试、新 HEAD、新 manifest、新 digest、新确认。

06 FINAL STATE

可信完成

3 文档 / 4 H1 成功;2 个零变化不写;full readback。

危险直觉

“只是样式不对,再跑一次。”

STOP
DHF 反应

先冻结、恢复并证明恢复,再谈新的执行权。

CHART 02

角色泳道:决定权 ≠ 执行权

把授权责任与机械执行拆开,避免把 Agent 的能力误当成 Owner 的许可。

ROLE / STAGE
01 LOCK
02 CANARY
03 FREEZE
04 RESTORE
05 RE-GATE
06 COMPLETE
OWNER
请求同步确认 digest
确认 canary单次放行
手动恢复版本历史
重授权新 digest
接受续行
AGENT
生成 manifest
编排 + 回读
立即停止保留 receipt
独立回读content + styles
修复 + 测试
汇总证据
WRITER
分阶段写入返回 mismatch
不得重试
等待新授权
逐文档执行
DOCS API
提供 revision
副作用已发生
原生恢复
新 revision
full readback
CHART 03

状态机:恢复不是成功

恢复只把系统带回可重新决策的可信现场;再次写入还需要新授权。

PREPAREDmanifest ready
AUTHORIZEDrevision bound
MUTATEDremote changed
MISMATCHstructure bad
FROZENretry denied
RESTOREDnative version
VERIFIEDindependent read
REPAIREDnew HEAD
REAUTHORIZEDnew digest
SUCCEEDEDfull readback
MISMATCH ─X→ RETRY错误不授权重复副作用。
RESTORED ─X→ EXECUTE恢复不等于新写权限。
OLD DIGEST ─X→ WRITE现场一变,旧确认失效。
CHART 04

SAFE 停点矩阵

SAFE 不另占一个阶段;它是穿过每次状态变化的四条检查线。

SSpecification|完成是什么
AAuthorization|谁允许推进
FFacts|现场事实是什么
EError recovery|失败如何收敛
时刻S · 规范A · 授权F · 事实E · 恢复门禁
写入前目标、区段、结构 DoD确认 digest + revisionHEAD / source / live revision预定义 rollback四者成立才可写
结构失败断言明确违约旧确认不覆盖重试永久 mismatch receipt冻结并保全证据STOP
回滚后恢复 pre-mutationOwner 执行恢复独立 content + styles 回读确认无残留仍不可写
再次执行新 writer + manifest确认新 digest新 HEAD / revision / tests失败协议仍有效可重新 canary
最终收口3 写入 / 2 no-writeOwner 接受续行receipt-v3 full readback0 unrolled writes可信完成
CHART 05

同一个错误,两种业务后果

差别不是有没有 bug,而是错误会不会扩散、恢复是否可证。

失控路径

  1. 直接重跑同一写入
  2. 继续剩余文档,扩大影响面
  3. 把恢复当成新写权限
  4. 复用旧 digest / revision
  5. 最后靠人工猜测现场

受控路径

  1. 保存 receipt,冻结动作
  2. Owner 原生恢复
  3. Agent 独立回读
  4. 新 HEAD / manifest / digest
  5. 重授权 + full readback
MEMORY CORE

四条铁律

它们是贯穿案例的指导原则,不是额外阶段。

01

失败先停,不盲重试

远端已变更时,重复命令可能叠加损害。

02

恢复证据,不等于写入许可

“已恢复”只关闭旧事故。

03

现场一变,旧确认即失效

HEAD、digest、revision 变化都要重新确认。

04

成功以全量回读收口

API 200 不够;要 full readback 与终局记录。

停住影响面 · 回到真实现场 · 重新取得推进权 · 用回读证明完成
RECALL TEST

遮答案,30 秒自测

能回答四题,就记住了受控恢复的骨架。

Q1 · 结构断言失败后第一动作?

停止后续文档并保留永久失败 receipt;不是重试。

Q2 · Owner 回滚后为什么仍不能写?

恢复只证明回到可信旧状态,不构成新授权。

Q3 · 什么会让旧授权失效?

HEAD、manifest/digest、目标 revision 的变化。

Q4 · 最终成功靠什么证明?

receipt-v3、full readback、3 written / 2 no-write / 0 unrolled writes。