d7a74578dc
- Reorganize flat files into core/ templates/ examples/ scripts/ with VERSION - Deduplicate: single-source state machine, three-round policy, acceptance signals - Abstract orchestration in closed-loop.md with manual mode; move Orca commands to orca-adapter.md - Add tasks.schema.json + validate_tasks.py (jsonschema or builtin rules, no hard deps) - Add filled examples, concurrency write rule, kitVersion tracking; unify to Chinese Co-authored-by: Cursor <cursoragent@cursor.com>
3.7 KiB
3.7 KiB
闭环流程(稳定核心,编排无关)
本文件定义与具体编排工具无关的协作闭环。运行时调度可以用 Orca(见 orca-adapter.md),也可以手动跑(见下方「手动模式」)。
原则:调度消息只是运行时载体,所有结论都必须回写到 tasks.yaml(事实源),不要把消息当最终记录。
编排抽象
无论用什么工具,闭环都由这几个能力组成:
| 抽象动作 | 含义 | Orca 实现 | 手动实现 |
|---|---|---|---|
prepare(task) |
把任务和验收标准写进 tasks.yaml |
同左 | 同左 |
dispatch(task, worker) |
把任务连同上下文交给 Developer | orca orchestration dispatch |
复制 prompt 到 Developer 终端/会话 |
wait() |
等待 worker_done / escalation / decision_gate |
orca orchestration check --wait |
人工等待 Developer 回报 |
retest(task) |
Coordinator 独立黑盒复测 | 同左 | 同左 |
writeback(task, result) |
把复测结果写回 tasks.yaml |
同左 | 同左 |
派发用的 prompt 见 prompt-templates.md。状态流转见 roles-and-permissions.md §「任务状态机」。
标准闭环
Product/Test 发现或读取 open 任务
-> prepare:写/补全 tasks.yaml 验收标准
-> dispatch 给 Developer Worker
-> wait:worker_done / escalation / decision_gate
-> retest:Coordinator 构建并独立复测
-> 通过:writeback verified
-> 失败:writeback failed_retest,追加证据,最多再派发两轮
-> 累计三轮失败:writeback leftover,继续下一个任务
一次派发只修一个明确问题(细则见 optimization-method.md §「每轮派发只修一个明确问题」)。
手动模式(无 Orca)
没有编排工具时,闭环不变,只是 dispatch / wait 由人工承担:
- Coordinator 在
tasks.yaml写好任务和验收标准。 - 用
prompt-templates.md的初始派发模板生成 prompt,手动发给 Developer(另一个会话/终端/人)。 - Developer 完成后按 worker_done 模板回报(可直接贴回 Coordinator 会话)。
- Coordinator 独立复测,回写
tasks.yaml。 - 失败则用「复测失败再派发模板」继续,最多三轮。
手动模式下同样遵守:worker_done 不等于完成、只有 Coordinator 写 tasks.yaml、三轮失败留档。
worker_done 后复测(编排无关)
即使 worker_done 写了"全部通过",Coordinator 仍必须独立复测:
git status --short
<test_commands>
curl -s <base_url>/health-or-summary
浏览器复测建议记录:
BASE_URL:
page:
steps:
expected:
actual:
snapshot evidence:
服务与 worktree 对齐(防假通过/假失败)
复测前记录运行环境:
pwd
git rev-parse --abbrev-ref HEAD
git rev-parse --short HEAD
serverPid:
serverCommand:
BASE_URL:
frontendDir:
worktreePath:
如果开发在 <dev_worktree> 修复,但服务跑的是另一个 worktree,必须停止并重启正确服务后再测。长跑服务或静态前端尤其要确认加载的是最新构建产物。
结果回写
回写 tasks.yaml 时按状态填写(字段结构见 templates/tasks.schema.json):
# 通过
status: verified
resolution:
verifiedAt: "<timestamp>"
evidence:
verification: "<commands passed>"
browser: "<snapshot or API evidence>"
# 失败但未满三轮
status: failed_retest
dispatch:
rounds:
- round: 1
result: failed
evidence: "<latest evidence>"
# 累计三轮失败
status: leftover
resolution:
leftoverReason: "failed after 3 supervised developer rounds"
evidence:
final: "<latest failing evidence>"