mission-implement 是 mission SDD 家族中负责构建阶段(build phase)的技能。它把实现过程拆成两个步骤:第一步写会失败的测试套件,第二步写满足该测试的最小实现,每一步都由一个机械门禁收尾。它运行在共享执行器契约之下(.agents/skills/factory-mission/references/executor.md),测试步骤读取 spec.md 并产出 artifact-ref;代码步骤读取该测试产物以及 spec.md 和 plan.md。它在测试套件全绿时停止;验证与收敛归 mission-verify,REVIEW 与 SHIP 归 factory-review 和 factory-deploy。
依赖与安装:需要 factory-mission 技能的共享执行器契约,安装在 .agents/skills/factory-mission/references/executor.md;可用 adlc-cli skills add tikalk/adlc-team-skills --skill factory-mission 安装。
默认流程(不跳过拆分时):
- 先依据 spec.md 写失败测试套件,tests/ 是唯一可写面,源码以只读方式挂载。
- 运行测试——RED 门禁要求在任何实现存在之前至少有一个测试失败。若套件立即通过,说明行为已存在或断言为空:停止并转交对应的 clarify 门禁做规范修正,同时在运行日志记录失败数量。
- 写最小代码,源码是唯一可写面,tests/、spec.md、plan.md 以只读方式挂载。
- 再次运行测试——GREEN 门禁要求全量套件通过后才进入 converge。失败会把失败清单附回代码步骤重试,重试受该任务的代码步骤重试上限约束,且不消耗 converge 熔断器。
跳过拆分的条件:仅当运行声明没有测试面时(tdd: false、仅文档/配置类工作,或交互模式)。自主或受监督模式下含代码的步骤绝不跳过拆分。
步骤契约:test 步骤 phase_type 为 build、output_type 为 artifact-ref,读取 spec.md,产物为 tests/;code 步骤 phase_type 为 build、output_type 为 artifact-ref,读取 test、spec.md、plan.md,产物为 src/。
门禁:RED 门禁在 test 之后,套件在任何实现存在前运行,源码只读挂载,只有至少一个测试失败时才通过;若套件立即通过则门禁失败并转交 clarify 门禁修正规范,而不是进入 code。GREEN 门禁在 code 之后,tests/、spec.md、plan.md 只读挂载,只有全量套件通过才通过;任何失败把失败清单返回代码步骤,受代码步骤重试上限约束,该回环不消耗 converge 熔断器(只有损坏的迭代才消耗)。GREEN 是验证前最后一个机械检查,红套件不会进入 converge。
本地会话处理:未设置 ADLC_RUN_ID 时由人回答门禁。运行暂停在门禁(run_paused,状态为 paused)时,应向该人员询问门禁的问题与选项,然后执行 adlc-cli workflow resume <run_id> --input <verdict_input>=<answer> 继续,不要在无人被询问的情况下以暂停状态结束回合。批准 MR 的门禁之后必须跟有发布步骤:对每个涉及的仓库运行 run-branch.sh 和 open-mr.sh,写入 mr_url(多个时写 mr_urls),之后才是回写步骤,使完成评论链接到真实的 MR。门禁之后没有任何步骤执行其答复,属于计划缺陷,应在开始运行前修复计划。结束回合前,运行必须处于 completed、failed、aborted,或已就某人询问过的门禁处暂停。
边界:不做 worktree(隔离归编排器);不获取、续期或释放运行租约;不写跟踪器(不评论、不加标签、不改状态、不创建 MR/PR);不审批、不合并、不发布。实现前就通过的套件,或无法按原样实现的规范/计划,转交 clarify 门禁修正规范;GREEN 失败把失败清单附回 code 步骤重试,绝不通过弱化测试来使其通过。
适用场景:需要在测试先行契约下把计划变成可运行代码的任务,尤其是自主或受监督模式下的含代码步骤。限制:必须依赖 factory-mission 执行器契约;仅在本地会话且无 ADLC_RUN_ID 时由人回答门禁;不负责验证、审查、发布与合并。