Prototype atomic install recovery (T-103)

This commit is contained in:
ila
2026-07-16 16:32:58 +08:00
parent 0ffeff63e1
commit 9da72caa01
10 changed files with 1075 additions and 11 deletions
+14
View File
@@ -131,6 +131,20 @@ T-102 Phase 1 原型进一步固定:
记录实际安装的软件 ID、版本、架构、channel 和文件清单;与 `current/`、`staging/`、`backup/` 同级存放于 `apps/<id>/`。
### 2.5 安装切换事务(Phase 1 原型)
`apps/<id>/install-transaction.json` 用于断电恢复:
```json
{
"schema_version": 1,
"phase": "staging_activated",
"had_current": true
}
```
phase 只允许:`prepared`、`current_backed_up`、`staging_activated`、`rollback_required`、`committed`。日志使用临时文件 + 同目录 backup 原子替换;恢复时同时检查日志与 current/staging/backup 实际状态。未完成健康检查的 current 不视为可信:有旧版时恢复 backup,首次安装则撤销 current。
## 3. 许可证(服务端签发 → 本地离线验证)
```json