Skip to content

DAG 拓扑

任务列表

BatchID内容优先级依赖文件预算
0P0ADR:Task-local PR Gate、证据边界、单 OrchestratorP02–3
1A1flow-tdd Advisory Contract + flow-code/tasks/review 更新P0P06–8
1B1Schema v2 类型、完整 migration、read result、DAG validatorP0P06–8
2A2Agent 引用、权限声明静态 Lint、npm pack smokeP0A16–8
2B2criterion + strict/relaxed/bypass 纯 evaluatorP0B14–6
3C1Canonical digest + Vitest adapterP0B25–7
4C2tdd_checkpoint 状态机(内存存储)P0C15–7
5C3单进程 broker、Issue 持久化与冲突暂停P0C26–8
6D1FlowRun/Stage/Task start 真实 server 接入P0B2, C36–8
7D2消费 C2 committed-head regression,幂等 PR create + reviewing 转换P0D1, C26–8
8D3remote head revalidation、rework + coverageP0D26–8
8D4aAgent permission 传递与隔离 Agent shellP0A2, D25–7
9D4b独立 GitHub broker 与最小凭证P0D4a5–7
10E1Task-local merge Gate,解除全局 canMerge() 耦合P0D3, D4b5–7
11E2GitHub Actions required checks 与 Branch Protection 检测P0E15–8
12E3Goal/FlowRun 终态绑定与文档同步P0E26–8

执行顺序

Batch 0 — 架构决策(已完成)

P0:ADR 0008 已创建,确认 Task-local PR Gate、三层约束模型、单 Orchestrator 约束。

Batch 1 — 并行启动(A1 与 B1 无相互依赖)

A1:Advisory 阶段 Skills 协议 — 新增 flow-tdd skill,更新 flow-code/flow-tasks/flow-review 和 agent prompts,建立统一 TDD Advisory 契约。

B1:Schema v2 类型定义 — 定义 AcceptanceCriterionTddPolicyTddEvidenceCoveragePolicy 等全部新类型;实现 v1→v2 迁移器和 DAG validator。

Batch 2 — 基础设施延续(依赖 Batch 1)

A2:Agent 权限声明静态 Lint — AgentEntry 增加正式 permission 字段解析;新增 prompt-lint 规则;npm pack smoke test 确认 flow-tdd skill 随包发布。

B2:纯 Evaluator — 实现判定真值表(Section 4.3),不依赖任何运行时 I/O或存储。

Batch 3–5 — 运行时工具链(串行依赖)

C1:Canonical digest 计算 + Vitest adapter — fixture repo 可通过命令执行并获取测试结果。

C2tdd_checkpoint 状态机 — cycle-start/red/green/abandon 等操作在内存中完整可测。

C3:单进程 broker — 在 C2 内存存储基础上增加 Issue 持久化和冲突检测。

Batch 6–9 — Server 接入与副作用(并行分支)

D1:将 B2 evaluator 和 C3 broker 接入真实 server.ts 入口,实现 flow_task startflow_stage start/complete 等受控操作。

D2:消费 C2 的 committed-head regression 检查,实现 flow_pr create 幂等逻辑和 Task runningreviewing 状态转换。

D3:remote head 对比、rework(behavior/refactor)完整流程、coverage 解析与安全校验。

D4a (并行于 D3):Agent permission 字段解析并传递给 OpenCode config;Worker shell 环境变量清理,ambient credential 检测。

D4b (依赖 D4a):独立 GitHub broker 持有最小凭证,Worker/Reviewer 不获得 GitHub 写 token。

Batch 10–12 — 门禁实现与收尾

E1canMergeTaskPR() 实现,解除对全局 canMerge() 的依赖。必须通过两个依赖 Task 的全链路测试。

E2:CI required checks 与 Branch Protection 检测 — 验证 context/appId/workflow 来源不可由 Worker PR 篡改。

E3:Goal-FlowRun 终态绑定、flow_run finalize 幂等完成、文档同步。

影响文件概览

文件操作任务
docs/adr/2026-07-20-tdd-enforcement-architecture.md新增P0
assets/skills/flow-tdd/SKILL.md新增A1
assets/skills/flow-code/SKILL.md修改A1
assets/skills/flow-tasks/SKILL.md修改A1
assets/skills/flow-review/SKILL.md修改A1
assets/agents/dev-lifecycle.md修改A1
assets/agents/team/backend.md修改A1
assets/agents/team/frontend.md修改A1
test/skills.test.ts修改A1
src/plugin/agents.ts修改A2
src/plugin/prompt-lint.ts修改A2
test/plugin/prompt-lint.test.ts修改A2
assets/agents/team/reviewer.md修改A2
package.json修改A2
src/flowrun/types.ts修改B1, B2
src/flowrun/migration.ts新增B1
src/flowrun/validator.ts修改B1
src/flowrun/index.ts修改B1
test/flowrun/migration.test.ts新增B1
test/flowrun/validator.test.ts修改B1
test/flowrun/fixtures/新增B1, C1
src/flowrun/evaluator.ts新增B2
test/flowrun/evaluator.test.ts新增B2
src/flowrun/digest.ts新增C1
src/flowrun/adapter.ts新增C1
test/flowrun/digest.test.ts新增C1
test/flowrun/adapter.test.ts新增C1
src/plugin/tdd-tool.ts新增C2
src/flowrun/state.ts新增C2
test/plugin/tdd-tool.test.ts新增C2
test/flowrun/state.test.ts新增C2
src/plugin/broker.ts新增C3
src/flowrun/github.ts修改C3
test/plugin/broker.test.ts新增C3
src/plugin/server.ts修改D1
src/plugin/goal.ts修改D1, E3
test/plugin/server-flowrun.test.ts修改D1
src/flowrun/pr.ts新增D2, D3
src/plugin/flow-pr-tool.ts新增D2
src/flowrun/gate.ts修改D2, E1
test/flowrun/pr.test.ts新增D2
test/plugin/flow-pr-tool.test.ts新增D2
src/flowrun/coverage.ts新增D3
test/flowrun/coverage.test.ts新增D3
test/flowrun/pr-rework.test.ts新增D3
src/plugin/shell.ts新增D4a
test/plugin/shell.test.ts新增D4a
src/plugin/github-broker.ts新增D4b
test/plugin/github-broker.test.ts新增D4b
src/flowrun/merge.ts修改E1
test/flowrun/merge.test.ts新增E1
src/flowrun/ci.ts新增E2
test/flowrun/ci.test.ts新增E2
assets/prompts/bootstrap.md修改E3
docs/guides/修改E3

默认切换规则

  • A1 完成后 → 启用 strict + advisory
  • A2、D1–D4b、E1 全部通过后 → 新 Task 默认 enforcement 切换为 runtime
  • E2 仅提升仓库当前 head 的质量约束,不升级 TDD 证明边界