SuperAPI AI 工具集

tdd-migration-pipeline

编程与开发

查看项目

更新于 10-15 13:34

技能介绍

TDD Migration Pipeline 是一个仅由编排器(Orchestrator-only)驱动的工作流,用于迁移或重写代码库。它的核心约束是:编排器自身不读取文件、不编写代码、也不做任何验证;它只负责向子智能体(agent)下达指令并传递上下文,并且传递的是路径而非文件内容。其目标是让编排器的上下文窗口在执行过程中保持平坦、不增长。

【用途】 适用于以下场景:将代码库从一种语言或框架迁移到另一种;以 TDD 保证的方式重写某个系统;带行为契约的大规模重构;以及希望编排器上下文零增长的迁移工作。

【核心原则】

  • 编排器零执行:只下达指令和传递上下文。
  • 所有工作由智能体完成:编排器从不读、写、验证。
  • 上下文窗口保持平坦:传递路径,而不是内容。
  • 新代码写入独立目录,绝不修改源目录。

【编排器的约束】

  • 绝不说“让我读取……”或“看一下……”。
  • 只说“Agent X:用 Z 做 Y”。
  • 执行期间上下文不应增长。
  • 所有智能体都必须使用 qlty 和 tldr 技能。

【流水线阶段】 阶段 1:SPEC。指示 spec-agent(使用 scout 或 architect),用 tldr 命令(tldr structure、tldr extract、tldr calls)分析 source_path,产出 spec.md,内容包括所有行为契约(每个函数/类承诺什么)、输入/输出类型、边界情况与不变量、组件之间的依赖关系,写入 {target_dir}/spec.md。

阶段 2:FAILING TESTS。指示 test-agent(使用 arbiter)读取 spec.md,在 {target_dir}/tests/ 中编写失败测试,测试应在实现之前定义预期行为。再指示 review-agent(使用 critic)验证测试是否完整覆盖规格,确保行为覆盖无缺口。

阶段 3:ADVERSARIAL(对抗式,3 次迭代)。指示 premortem-agent(使用 premortem 技能)审查规格与测试,识别失败模式、竞态条件、边界情况;不要提问,直接向规格中添加缓解措施;以每次全新的视角运行 3 遍。关键点:每一遍都应发现新问题,而非重复之前的问题。

阶段 4:PHASED PLAN。指示 planner-agent(使用 architect 或 plan-agent),输入为 spec.md、测试和缓解措施,输出 phased-plan.yaml。要求:按依赖排序的阶段;每个阶段为一个可测试单元;每个阶段有清晰的输入/输出。

阶段 5:BUILD LOOP(逐阶段构建循环)。对 phased-plan.yaml 中的每个阶段:指示 builder-agent(使用 kraken 或 spark)编写使该阶段测试通过的代码,使用 qlty 做质量检查,每次改动后运行测试;指示 review-agent(使用 critic 或 judge)验证实现是否符合规格、检查前序阶段是否出现回归、确认没有破坏性变更。

阶段 6:INTEGRATION VALIDATION。指示 integration-agent(使用 atlas 或 validator)用 tldr 与 reference_repo 做 diff,检查:无竞态条件、无挂起或死锁、相对原版无破坏性变更、所有行为契约均得到保留。输出 validation-report.md。

【调用方式】 调用此工作流时需指定:SOURCE(源代码路径)、TARGET_DIR(迁移代码的新目录)、TARGET_LANG(typescript|python|go|rust 等)、REFERENCE_REPO(用于最终 diff 对比的 URL 或路径)、SKILLS(如 tldr-code、qlty-check 以及领域相关技能)。

【智能体映射】

  • Spec 阶段:研究类,scout 或 architect。
  • Tests 阶段:验证类,arbiter。
  • Review 阶段:审查类,critic 或 judge。
  • Premortem 阶段:审查类,premortem 技能。
  • Plan 阶段:计划类,architect 或 plan-agent。
  • Build 阶段:实现类,kraken(大)或 spark(小)。
  • Integration 阶段:验证类,atlas 或 validator。

【编排示例】 阶段 1:Task(scout):"Analyze /src/old-system using tldr structure and tldr extract. Create spec.md at /migration/spec.md with all behavioral contracts." 阶段 2:Task(arbiter):"Read /migration/spec.md. Write failing tests to /migration/tests/ that define expected behavior.";Task(critic):"Review /migration/spec.md vs /migration/tests/. Report any behavioral gaps." 阶段 3(x3):Task(premortem):"Review /migration/spec.md and /migration/tests/. Identify failure modes. Add mitigations directly to spec. Pass 1/3.",随后以 Pass 2/3、Pass 3/3 重复。 阶段 4:Task(architect):"From /migration/spec.md and /migration/tests/, create /migration/phased-plan.yaml with dependency-ordered phases." 阶段 5(循环):Task(kraken):"Implement phase 1 from /migration/phased-plan.yaml. Code goes in /migration/src/. Run tests after.";Task(critic):"Review /migration/src/ against /migration/spec.md. Check for spec compliance and regressions.",对每个阶段重复。 阶段 6:Task(atlas):"Run full integration tests on /migration/src/. Use tldr to diff against /src/old-system. Output /migration/validation-report.md."

【反模式(禁止)】 把文件读入自己的上下文(“让我看看代码……”);直接编写代码(“我来实现这个函数……”);自己验证任何东西(“看这些测试,我发现……”);修改源目录;跳过对抗式阶段;不先有测试就运行构建。

【成功标准】 所有测试通过;qlty 报告干净;tldr diff 显示无破坏性变更;无竞态条件或挂起;validation-report.md 确认行为等价。

【限制与缺口】 除上述阶段与约束外,关于具体收费、价格、平台、性能指标或确切使用前置条件,原始资料暂未提供。