文件
hyb-oa/.trellis/tasks/07-28-automatic-backup-runtime-identity-failure/implement.md
T

38 行
2.2 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 自动备份运行身份失败实施清单
## 1. Pre-fix
- [x] 确认 daily service 02:30 非零退出且告警类别为 `phase_runtime_identity_failed`。
- [x] 按 runner 的 Compose 选择逻辑确认唯一根因为附件宿主挂载不匹配。
- [x] 确认不是 symlink/realpath/inode 等价,其他五项 runtime identity 通过。
- [x] 确认最近成功恢复点约 11 小时,尚未超过 watchdog/dead-man 窗口。
- [x] 确认 07:10 `phase_stale_check_failed` 由 watchdog 复用同一 runtime identity 检查触发,不是独立的归档损坏结论。
- [x] 运行本地 `bash scripts/qa/run-automatic-backup-contract.sh`(73 项通过)。
## 2. Unit Refresh
- [x] 重新只读解析当前实际附件 mount source并验证安全边界。
- [x] 保存六个自动备份 unit 的 root-only 临时快照。
- [x] 沿用现有 unit 合同,仅替换实际附件宿主目录,调用安装器 `enable`。
- [x] 验证 daily/watchdog/drill timers enabled/active 和六项 runtime identity 全部匹配。
## 3. Recovery Backup
- [x] 手工启动 daily service;记录稳定 phase/result,不输出原始日志。
- [x] 验证新的 last-success 时间、项目/build 身份和 manifest 哈希格式。
- [x] 通过仅在 ARM finalize 成功后写入的 success state 验证新归档闭环;普通 ARM 账号无 archive 读取权限,未扩大权限取证。
- [x] 验证 alert state 为 `PASS_AUTOMATIC_BACKUP_COMPLETE`。
- [x] 用户确认群内只收到一条 `PASS_AUTOMATIC_BACKUP_COMPLETE / healthy` 恢复通知。
- [x] 验证应用健康 timer、备份 watchdog/drill 和 ARM dead-man/receiver 不受影响。
## 4. Cleanup and Governance
- [x] 删除临时 unit 快照;不删除旧目录、旧批次或失败证据。
- [x] 更新部署规约/checklist 的自动备份 unit 漂移门禁。
- [x] 运行 task validate、governance、sensitive、docs audit 和 `git diff --check`;全部无错误,docs audit 仅保留既有 22 项未登记文档 warning。
## 5. Rollback
- unit 刷新或 identity 复检失败:恢复六个 unit 快照并 daemon-reload,不补跑备份。
- 补跑在 paired/offhost phase 失败:保留已纠正 unit,依据安全 phase 诊断继续处理,不回退旧附件目录。