# Bug 修复 Schema
# 用于快速定位和修复 Bug 的工件流

name: bug-fix
description: 系统化定位和修复 Bug

apply:
  requires:
    - tasks

artifacts:
  - id: proposal
    name: Bug 描述
    description: 描述 Bug 现象和复现步骤
    requires: []
    template: proposal.md
    instruction: |
      记录 Bug 信息：
      - Bug 标题
      - 复现步骤（Step 1, 2, 3...）
      - 预期行为
      - 实际行为
      - 环境信息
      - 影响范围
    output: proposal.md

  - id: analysis
    name: 根因分析
    description: 分析 Bug 根因
    requires: [proposal]
    template: analysis.md
    instruction: |
      根因分析（4 阶段）：
      1. 调查 — 收集日志、堆栈、复现
      2. 模式分析 — 识别错误模式
      3. 假设 — 提出根因假设
      4. 验证 — 验证假设正确性
    output: analysis.md

  - id: fix-plan
    name: 修复计划
    description: 制定修复方案
    requires: [analysis]
    template: fix-plan.md
    instruction: |
      修复方案：
      - 修复策略（热修复/正常修复/重构修复）
      - 修改文件列表
      - 回归测试计划
    output: fix-plan.md

  - id: tasks
    name: 修复任务
    description: 修复步骤拆分
    requires: [fix-plan]
    template: tasks.md
    instruction: |
      修复任务拆分：
      1. 编写失败测试（复现 Bug）
      2. 修复代码
      3. 验证测试通过
      4. 回归测试
      5. 更新文档
    output: tasks.md

  - id: regression-test
    name: 回归测试
    description: 定义修复后的回归验证用例
    requires: [tasks]
    template: regression-test.md
    instruction: |
      定义回归测试用例：
      1. 复现测试 — 验证 Bug 已被修复
      2. 边界测试 — 验证相关边界条件
      3. 影响范围测试 — 验证修改未引入新问题
      4. 性能回归 — 确认无性能退化
    output: regression-test.md
