auto-sync: 2026-05-30 21:30:31

This commit is contained in:
cfdaily
2026-05-30 21:30:31 +08:00
parent e7433ebbb7
commit 6ebebe0cf9
+50
View File
@@ -257,6 +257,56 @@ Ticker tick 串行执行,明确顺序避免冲突:
MVP 阶段用 round_count 上限,简单可靠。
### 4.6 任务状态机完整流转
两层 review(司马懿 + 庞统)在状态机中的完整路径:
```
─── Sub Task(执行 Agent)───
pending → claimed → working
▼ Agent 完成 + 三信号检查通过
review
▼ 司马懿 review_dispatch_reviews 确定性路由)
┌── done ──┐
│ │
review 通过 review 不通过 → working(打回重做)
sub task 终态)
─── Parent Task(庞统三问)───
parent 下所有 sub task 终态
▼ _check_round_complete 检测
reviewing(防重复触发)
▼ _spawn_pangtong_review
├── GOAL_ACHIEVED → done(项目完成)
├── 创建新 sub task → working(新一轮执行)
└── 方向偏离 → 调整 goal + working
```
**关键规则**
| 规则 | 说明 |
|------|------|
| sub task 终态 = done / failed / cancelled | 司马懿 review 通过 → done;不通过 → 打回 working |
| 司马懿 review 是 sub task 的必经关卡 | 每个 sub task 完成后必须过司马懿,通过才算 done |
| 庞统 review 是 parent task 的关卡 | 一轮结束后庞统三问,决定继续还是完成 |
| 司马懿 spawn 完成后不再触发 _auto_complete | 审查 Agent(司马懿)的 on_complete 回调直接标 done/failed,不走 _task_auto_complete |
| 庞统 spawn 完成后走 _handle_review_conclusion | 解析 GOAL_ACHIEVED 或继续新一轮 |
**为什么审查 Agent 完成后不再触发 _auto_complete**
`_auto_complete` 的设计意图是检测"执行 Agent 是否真的完成了工作"(三层幻觉门控)。而审查 Agent(司马懿)是被派来 review 的,他的完成意味着 review 本身完成了,不应该再走一遍"检测是否完成 → 标 review → 又派审查 Agent"的循环。
实现方式:`_dispatch_reviews` 在 dispatch 审查 Agent 时,通过 `spawn_full_agent``on_complete` 回调直接标 done/failed,绕过 `_task_auto_complete`
---
## §5. 司马懿 Review 扩展