# toolchain-templates.yaml # §21 §4 steps 模板化 — 按 action_type + business_type 查找 # 占位符 {issue_number}/{brief}/{title}/{pr_number} 等运行时渲染 # --------------------------------------------------------------------------- # issue_assigned(按 Issue label 分 6 路 + infrastructure) # --------------------------------------------------------------------------- issue_assigned: feat: steps: - "理解需求(Issue body)→ 如有不明确在 Issue comment 追问" - "git checkout main && git pull origin main" - "git checkout -b feat/{issue_number}-{brief}" - "编码实现 + 写 UT" - "文档同步:如果本次改动涉及设计变更或接口变更,在同一分支更新 docs/design/ 对应文档。如无需更新,在 action report 中说明「文档无需更新」" - "git add -A && git commit -m '[moz] feat: {title}' && git push origin feat/{issue_number}-{brief}" - "CI 通过后创建 PR(body 含 Closes #{issue_number})" - "等 Review" output_template: | [Action Report] **分支**:feat/{issue_number}-{brief} **PR**:#{pr_number} **改动文件**:{files} **CI**:{ci_status} **文档同步**:{doc_status} impl: steps: - "读设计文档(Issue body 中的路径)→ 理解实现范围" - "git checkout main && git pull origin main" - "git checkout -b impl/{issue_number}-{brief}" - "按设计编码实现 + 写 UT" - "文档同步:如果本次改动涉及设计变更或接口变更,在同一分支更新 docs/design/ 对应文档。如无需更新,在 action report 中说明「文档无需更新」" - "git add -A && git commit -m '[moz] impl: {title}' && git push origin impl/{issue_number}-{brief}" - "CI 通过后创建 PR(body 含 Closes #{issue_number} + 设计文档路径)" - "等 Review" output_template: | [Action Report] **设计文档**:{design_doc} **分支**:impl/{issue_number}-{brief} **PR**:#{pr_number} **改动文件**:{files} **CI**:{ci_status} **文档同步**:{doc_status} bug: steps: - "读 Bug 描述 + 复现步骤(Issue body)" - "定位根因(读代码/日志,不要猜测)" - "git checkout main && git pull origin main" - "git checkout -b fix/{issue_number}-{brief}" - "修复 + 写回归测试" - "文档同步:如修复涉及设计/接口变更,同步更新 docs/design/ 对应文档" - "git add -A && git commit -m '[moz] fix: {title}' && git push origin fix/{issue_number}-{brief}" - "CI 通过后创建 PR(body 含 Closes #{issue_number} + 根因和修复方式)" - "等 Review" output_template: | [Action Report] **根因**:{root_cause} **修复方式**:{fix_approach} **分支**:fix/{issue_number}-{brief} **PR**:#{pr_number} **CI**:{ci_status} **文档同步**:{doc_status} docs: steps: - "读文档目标(Issue body)" - "git checkout main && git pull origin main" - "git checkout -b docs/{issue_number}-{brief}" - "编写文档到 docs/ 对应目录" - "git add -A && git commit -m '[moz] docs: {title}' && git push origin docs/{issue_number}-{brief}" - "创建 PR(body 含 Closes #{issue_number})" - "等 Review" output_template: | [Action Report] **文档路径**:{doc_path} **分支**:docs/{issue_number}-{brief} **PR**:#{pr_number} refactor: steps: - "读重构目标 + 影响范围(Issue body)" - "git checkout main && git pull origin main" - "git checkout -b refactor/{issue_number}-{brief}" - "重构 + 确保现有测试不 break(python3 -m pytest tests/unit/ -q)" - "文档同步:如重构涉及架构变更,同步更新 docs/design/ 对应文档" - "git add -A && git commit -m '[moz] refactor: {title}' && git push origin refactor/{issue_number}-{brief}" - "CI 通过后创建 PR(body 含 Closes #{issue_number} + 重构内容和影响范围)" - "等 Review" output_template: | [Action Report] **重构范围**:{scope} **测试结果**:{test_result} passed **分支**:refactor/{issue_number}-{brief} **PR**:#{pr_number} **CI**:{ci_status} **文档同步**:{doc_status} test: steps: - "读测试目标(Issue body)" - "git checkout main && git pull origin main" - "git checkout -b test/{issue_number}-{brief}" - "编写测试脚本到 tests/ 对应目录" - "运行测试验证(python3 -m pytest {test_file} -v)" - "git add -A && git commit -m '[moz] test: {title}' && git push origin test/{issue_number}-{brief}" - "创建 PR(body 含 Closes #{issue_number})" - "等 Review" output_template: | [Action Report] **测试文件**:{test_file} **测试结果**:{test_result} **分支**:test/{issue_number}-{brief} **PR**:#{pr_number} infrastructure: steps: - "根据 Issue body 中的错误来源和日志片段排查问题" - "修复基础设施问题(CI runner/网络/Gitea/磁盘等)" - "修复后在 Issue 上 comment 说明修复方式和结果" - "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks//comments,comment_type=action_report)" output_template: | [Action Report] **问题**:{problem} **根因**:{root_cause} **修复方式**:{fix} **验证**:{verification} # --------------------------------------------------------------------------- # ci_failure # --------------------------------------------------------------------------- ci_failure: steps: - "查看完整 CI 日志(PR 页面或 Gitea Actions 页面)" - "根据 CI 日志判断失败原因类型:\n a. 代码问题(lint/test 失败)→ 修复失败的测试 → push 到原分支 → CI 自动重跑\n b. 基础设施问题(runner 环境/Python/venv/Gitea/网络故障)→ 在该仓库创建 Issue 指派 jiangwei-infra(label 必须包含 type/infrastructure)" - "文档同步:如修复涉及设计/接口变更,同步更新 docs/design/ 对应文档" - "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks//comments,comment_type=action_report)— 报告中说明判断的原因类型和执行的操作,以及文档是否需要更新" output_template: | [Action Report] **原因类型**:{cause_type} **操作**:{action} **CI 重跑**:{ci_status} **文档同步**:{doc_status} # --------------------------------------------------------------------------- # review_result — APPROVED # --------------------------------------------------------------------------- review_result_approved: steps: - "合并 PR(Gitea API: POST /repos/{repo}/pulls/{pr_number}/merge)" - "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks//comments,comment_type=action_report)" output_template: | [Action Report] **PR #{pr_number}**:merged # --------------------------------------------------------------------------- # review_result — REQUEST_CHANGES # --------------------------------------------------------------------------- review_result_request_changes: steps: - "按审查意见逐条修改代码" - "文档同步:如审查涉及设计/接口变更,同步更新 docs/design/ 对应文档" - "push 到原分支 → CI 自动跑" - "CI 通过后等重新 Review" - "提交 action report(POST http://localhost:8083/api/projects/_toolchain/tasks//comments,comment_type=action_report)— 报告中必须说明文档是否需要更新及处理结果" output_template: | [Action Report] **修改内容**:{changes} **CI**:{ci_status} **文档同步**:{doc_status}