目标
将 B2 evaluator 和 C3 broker 接入真实 server.ts 入口,实现 FlowRun/Stage/Task 生命周期受控操作。
实现要点
server.ts接入 (src/plugin/server.ts)- 新增 tool handler:
flow_control(op, params)→FlowControlResponse - 支持 op:
run-start,stage-start,stage-complete,task-start run-start:从 Issue body 读取 FlowRun → DAG 验证 → 更新 status → 绑定 GoalFlowRunRefstage-start:验证预置条件(parent issue、Manifest、前置文档)→ 更新 Stage 状态task-start:冻结 policy(Manifest + 迁移)→ 写入 executionBinding → Taskrunning
- 新增 tool handler:
Goal 绑定 (
src/plugin/goal.ts)GoalFlowRunRef新增 metadata 字段flow_run start时原子绑定:未绑定→写入;已绑定同一→幂等;不同→GOAL_FLOW_CONFLICTgoal.complete时读取精确 FlowRun,非completed返回FLOW_RUN_INCOMPLETE
受控操作协议
- 每个 op 先执行无副作用 preflight
- 外部副作用仅在 preflight 通过后发生
- 重复请求按 FlowRun revision、Task 和 head branch 幂等
验收标准
- [ ] server 入口状态迁移测试:planned→running→...完整链路
- [ ]
flow_task start冻结 policy 测试 - [ ] Goal-FlowRun 绑定和解绑测试
- [ ] 错误码路径测试(TASK_NOT_FOUND, INVALID_TRANSITION 等)
Worktree
- 路径:
.worktree/tdd-d1-server/ - 分支:
feat/tdd-d1-server