Codex Genocs Saga:把多步骤事务写成状态和补偿测试
EnglishCodex 安装步骤
- 打开固定版本的 GitHub 原文,从该版本保留 `.codex/skills/saga-writer/` 整个目录。将它放入目标项目的 `.agents/skills/saga-writer/`。
- 在目标项目中打开 Codex,输入 `$saga-writer` 并给出本页示例里的任务和所需输出。
中文摘要
为 Genocs 的分布式流程定义步骤、状态和失败补偿,结合 NServiceBus、MongoDB 状态与 Reqnroll 场景做本地设计。
SKILL.md 中文导读
可复现示例
输入 `$saga-writer`,为虚构的图书预约流程设计两个本地步骤。第二步失败时,请写出解除预约和回到初始状态的断言。工作步骤
- 列出状态、进入条件、消息以及每一步失败后的补偿。
- 用 Mermaid 表达转换,再写可验证的 Reqnroll 成功和失败场景。
验收方法
状态图与测试可追踪每个输入、成功状态和失败补偿,不依赖线上服务执行。
GitHub 原文 · 更新日期
适用环境
Codex 与 genocs-library 工作副本,准备已有 saga 约定与本地测试依赖。示例使用合成流程。
常见问题
为什么先列补偿动作?
每个步骤的失败都会影响已完成的状态。提前记录补偿与预期终态,便于写回归用例。