9
25 分钟
Docs 0.94.0-alpha.1 (Draft)

Reality Transaction 与回滚

学习目标:写出带 accept / abort / rollback 的完整事务。

transaction
accept
abort
rollback
snapshot

一个完整事务的骨架

transaction fix_login_timeout by agent {
  target "修复登录超时问题"
  affects object auth_service, object session_store
  allow paths ["src/auth/**"]
  deny paths ["infra/**", "src/billing/**"]

  provider vcs capability [read, write, revert]

  robust { ... }
  evidence require { ... }

  accept when ci.tests_passed and reviewer_approval.present
  abort when deny_paths.touched or regression_risk >= 0.3
  rollback to snapshot pre_change
}

回滚边界必须提前声明

rollback 描述的是可撤回的范围,不是"撤销一切"。 真正不可逆的部分要显式承认:

reversible none reason "跨行转账在受理后不可撤回"

这不是缺陷,而是让不可逆性进入审查视野。

理解检查

rollback 的正确理解是?

项目任务

选择一个你熟悉的业务动作(发货、扣款、部署、发布公告),写出它的 transaction 骨架,至少包含 target、affects、accept、abort、rollback 五项。

下一课