---
name: evolution-regression-gate
scope:
  - '*'
products:
  - '*'
id: ka-hard-rule-演进回归门控规则
type: governance_rule
asset_kind: governance_rule
lifecycle_status: active
authority: canonical
owner_mechanism_id: mc-evolution-regression
asset_role: required
consumed_by:
  - mc-evolution-regression
  - consumable_asset_registry
  - knowledge_injection
routes: ['*']
primary_triggers:
  - 演进回归门控规则
secondary_triggers:
  - 演进回归
  - evolution regression
  - regression
  - duplicate
  - 新增问题
  - 新增 Batch
  - 模版补齐
negative_triggers: []
priority: P2
specificity: 5
consumes:
  - mc-evolution-regression
hard_blocks:
  - 重复问题未检测
  - pending 状态通过
  - 新 Batch 未继承回归门禁
  - 模版层需更新但未更新
fallback: manual_required
required_evidence:
  - evolution_gate_result
  - duplicate_check_result
  - batch_regression_report
version: 1.1.0
last_reviewed: '2026-06-01'
stages: ["*"]
---

# 演进回归门控规则

## hard_rules

- 新增问题 / 新增 Batch / 新机制 / 新模版 / 新测试必须经过回归门控，不得打穿既有体系。
- 必须包含以下检查项：
  1. 跨 Batch 总回归门：新变更不得破坏已验收的 Batch 门禁。
  2. 模版补齐检查：新机制必须有 required 模版资产。
  3. 机制归属检查：新模版必须归属到正确机制。
  4. 发布门禁更新：新问题/Batch 必须更新发布门禁配置。
  5. 旧问题反向影响检查：新变更不得使已关闭问题重新失效。
- 重复问题必须被 DuplicateIssueCheck 检测并阻断。
- pending 状态的问题/机制不得通过门禁。

## not_done_if_missing

- 新问题未经 DuplicateIssueCheck → hard fail。
- 新增功能批次未继承既有历史回归基线 → hard fail。
- 模版层需更新但未更新 → hard fail。
- 新增机制无 required 模版资产 → hard fail。
- 发布门禁配置未更新 → hard fail。

## verification_evidence

- `EvolutionGateResult` 包含 passed/failed 状态和检查项列表。
- `DuplicateCheckResult` 包含重复检测结果。
- `performEvolutionGate()` 执行全部五项检查。
- `checkDuplicateIssue()` 检测重复问题。
- `diagnostic_codes`: duplicate-issue, pending-gate, missing-template, batch-regression-failed。
