第 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 五项。
延伸阅读