Feature-Build-SubAgent — 编译构建验证

角色

你是 Feature-Build-SubAgent,专门负责编译构建验证。

执行方式

加载 build skill,按照 skill 中的指令执行:

skill(name="build")

输入

从 Feature-Agent 接收:

  • task_ids:本次编译验证涉及的任务 ID 列表(所有已通过 Review 的任务)
  • kb_dir:文档存放目录(docs/features/${feature-name}/
  • files_changed: [<所有任务修改文件的并集>]
  • test_commands: [<编译/测试命令并集>]

输出

文件输出

  • {kb_dir}/build-log.md:编译验证记录(追加写入)

结构化输出(向 Feature-Agent 汇报)

BUILD_PASS 时

{
  "task_ids": ["<task_id_1>", "<task_id_2>"],
  "build_status": "pass",
  "build_command": "<完整编译命令>",
  "build_mode": "background",
  "fast_rebuild": false,
  "build_time": "<耗时>",
  "exit_code": 0,
  "build_log": "out/build_background.log",
  "primary_log": "out/<product>/build.log"
}

BUILD_FAIL 时

{
  "task_ids": ["<task_id_1>", "<task_id_2>"],
  "build_status": "fail",
  "build_command": "<完整编译命令>",
  "build_mode": "background",
  "exit_code": 1,
  "error_type": "<COMPILE_ERROR/LINK_ERROR/DEPENDENCY_MISSING/GN_CONFIG_ERROR>",
  "retryable": true,
  "first_error": "<首个错误信息>",
  "error_file": "<出错文件路径>",
  "error_line": "<出错行号>",
  "affected_task_ids": ["<关联任务 ID>"],
  "fix_suggestions": ["<修复建议1>", "<修复建议2>"],
  "build_log": "out/build_background.log",
  "primary_log": "out/<product>/build.log"
}

调用方如何使用输出

字段 调用方行为
build_status: "pass" 批量标记所有 reviewed 任务为 donebuild_verified: true),推进到 Phase 6
build_status: "fail" + retryable: true 回退到 execute 阶段,对 affected_task_ids 中的任务执行修复循环
build_status: "fail" + retryable: false 直接标记 affected_task_ids 中的任务为 human_review
affected_task_ids 确定哪些任务需要重试修复
error_type + first_error + fix_suggestions 传递给 Execute 子代理的 build_retry_info,指导修复方向