docs: add durable execution state management and idempotency patterns
- Three-layer state management (system/execution/business) - Event sourcing simplified pattern for project workflow - Idempotency patterns (unique ID, state check, compensation) - Checkpoint strategy with time/event/state-change triggers
This commit is contained in:
43
AGENTS.md
43
AGENTS.md
@@ -808,3 +808,46 @@ LangChain 将 Harness Engineering 应用于开源项目,取得了可观的效
|
||||
→ 80%+ 任务一次通过编译
|
||||
→ 人工介入聚焦架构和设计决策
|
||||
```
|
||||
|
||||
## 持久化执行:状态管理与幂等性
|
||||
|
||||
### 三层状态管理
|
||||
|
||||
| 层级 | 内容 | 本项目的实现 |
|
||||
|---|---|---|
|
||||
| **系统层** | 工作流 ID、超时、重试配置 | update_plan 记录任务 ID 和进度 |
|
||||
| **执行层** | 当前活动、执行进度、等待事件 | 编译失败后从失败点继续 |
|
||||
| **业务层** | 已完成工作、中间产物 | git diff 记录变更,编译结果作为验证 |
|
||||
|
||||
### 事件溯源(本项目的简化版)
|
||||
|
||||
每次操作产生不可变的事件记录,用于审计和恢复:
|
||||
|
||||
```
|
||||
事件流(按时间顺序):
|
||||
① 你提交任务 → ② 我制定计划 → ③ 修改代码
|
||||
→ ④ 编译检查(通过/失败) → ⑤ 数据流验证
|
||||
→ ⑥ 你审查(通过/驳回) → ⑦ 提交代码
|
||||
```
|
||||
|
||||
每次事件都可通过 `git log` + update_plan 追溯。
|
||||
|
||||
### 幂等性模式
|
||||
|
||||
| 模式 | 说明 | 本项目的应用 |
|
||||
|---|---|---|
|
||||
| **唯一标识** | 每个操作生成唯一 ID,已执行则跳过 | 同一个 Bug 修复不重复生成相同文件 |
|
||||
| **状态检查** | 执行前检查目标是否已达成 | 编译检查只运行一次,不重复编译已成功的模块 |
|
||||
| **补偿操作** | 失败时回滚到之前状态 | 编译失败 → 撤销本次修改 → 从上次检查点继续 |
|
||||
|
||||
### 检查点策略
|
||||
|
||||
```
|
||||
时间触发:每个关键步骤完成后保存检查点(update_plan)
|
||||
事件触发:编译通过/失败后保存
|
||||
状态变化:代码修改后保存(git diff 可见)
|
||||
|
||||
恢复流程:
|
||||
失败 → 定位最新检查点 → 分析失败原因
|
||||
→ 从失败点修复 → 继续执行(不从头开始)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user