# =============================================================================
# Agentic QE Fleet 全局配置
# =============================================================================
# 本文件控制 Fleet 的所有行为开关、质量门禁阈值和 Agent 编排策略。
# 修改后下次运行 /qe-fleet 生效，无需重启服务。

fleet:
  name: "Agentic QE Fleet"
  version: "2.1.0"
  description: "17 个专业 AI Agent 组成的自治质量工程舰队（含自动化测试执行）"

# ---------------------------------------------------------------------------
# 战区配置
# ---------------------------------------------------------------------------
# enabled: 是否启用该战区
# auto_confirm: 该战区产物是否自动确认（true=跳过人工确认直接进入下一战区）
#               注意: Monitor 战区默认 auto_confirm=true，因为它的产物是建议性的

battle_zones:
  prepare:
    enabled: true
    auto_confirm: false
    description: "文档解析 + 知识激活"

  analyze:
    enabled: true
    auto_confirm: false
    description: "需求分析 + 冲突检测 + 风险评估"

  design:
    enabled: true
    auto_confirm: false
    description: "测试策略 + 测试点 + 用例 + 测试数据"

  execute:
    enabled: true
    auto_confirm: false
    description: "PC Web (Playwright) + 移动端 (Appium) 自动化测试执行 + 截图报告"
    browsers: ["chromium", "firefox", "webkit"]
    mobile_platforms: ["android", "ios"]
    screenshot_on_failure: true
    screenshot_on_step: false
    timeout_seconds: 120
    retry_on_failure: 1

  review:
    enabled: true
    auto_confirm: false
    description: "用例评审 + 覆盖率审计 + 质量门禁"

  monitor:
    enabled: true
    auto_confirm: true
    description: "执行分析 + 知识沉淀（建议性产出）"

# ---------------------------------------------------------------------------
# 质量门禁
# ---------------------------------------------------------------------------
quality_gate:
  # 最低需求覆盖率（需求条目 → 测试用例追溯比例）
  min_coverage: 0.95

  # 最大允许阻断项（超过则 BLOCKED）
  max_blockers: 0

  # 是否强制要求测试数据构造
  require_data_builder: true

  # 是否强制要求风险评估
  require_risk_assessment: true

  # 评审阻断项自动修复最大重试次数
  auto_fix_max_retries: 3

# ---------------------------------------------------------------------------
# Monitor 战区（知识沉淀回写策略）
# ---------------------------------------------------------------------------
monitor:
  # P0 确认缺陷自动沉淀到知识库（无需人工确认）
  auto_curate_p0: true

  # P1-P3 缺陷默认需人工确认后才沉淀
  auto_curate_p1_p3: false

  # 支持的测试结果格式
  supported_formats:
    - junit        # JUnit XML
    - json         # 自定义 JSON
    - markdown     # 结构化 Markdown 报告

  # 失败模式识别阈值：同一模式出现 N 次以上标记为系统性问题
  pattern_detection_threshold: 3

  # 知识去重相似度阈值 (Jaccard)
  dedup_similarity_threshold: 0.65

# ---------------------------------------------------------------------------
# 输出配置
# ---------------------------------------------------------------------------
output:
  # Excel 导出格式
  excel_format: "yunxiao"    # 云效字段模型

  # 版本快照保留数量
  snapshot_keep: 3

  # export 后是否自动同步正式维护版到 requirements/
  auto_sync_maintained: true

  # 产物编码
  encoding: "utf-8"

# ---------------------------------------------------------------------------
# 冲突检测配置
# ---------------------------------------------------------------------------
conflict_detection:
  # 关联需求相似度阈值 (Jaccard)
  related_similarity_threshold: 0.015

  # 冲突判定相似度阈值 (Jaccard)
  conflict_similarity_threshold: 0.22

  # 最大关联需求数
  max_related_requirements: 5

  # 启用语义级冲突检测 (结合术语解释判断)
  semantic_conflict_detection: true

# ---------------------------------------------------------------------------
# 知识激活配置
# ---------------------------------------------------------------------------
knowledge_activation:
  # 常驻知识（始终激活，不受需求内容影响）
  permanent:
    - "knowledge_base/01_standards/terminology.md"
    - "knowledge_base/01_standards/test_case_template.md"
    - "knowledge_base/01_standards/definition_of_done.md"
    - "knowledge_base/01_standards/review_checklist.md"

  # 关键词匹配规则
  keyword_rules:
    - name: "saas"
      path: "knowledge_base/01_standards/terminology_optional_saas.md"
      keywords:
        - "导购", "分销", "佣金", "企微", "企业微信", "私域"
        - "储值", "礼品卡", "会员储值"

  # 语义匹配最低相似度
  semantic_match_threshold: 0.08
