# 混档风险识别Skill 设计

## 1. Skill 定位

`混档风险识别Skill` 负责基于一致性核查结果识别疑似跨产品、跨批次或错误资料混入风险。

英文实现标识建议使用 `MixedPackageRiskDetectSkill`。

## 2. 输入

```python
@dataclass
class MixedPackageRiskDetectInput:
    compare_results: list[FieldCompareResult]
    scope_documents: list[DocumentFact]
```

## 3. 输出

```python
@dataclass
class MixedPackageRiskDetectOutput:
    mixed_package_warnings: list[dict]
    highest_risk_level: str
```

## 4. 识别规则

1. 产品名称冲突：高风险。
2. 检测靶标冲突：高风险。
3. 产品名称和检测靶标指向不同产品：高风险。
4. 申请人名称冲突：高风险或待复核。
5. 相同文档角色出现多份不同产品文件：中风险。

## 5. 核心方法

### 5.1 `run(input) -> MixedPackageRiskDetectOutput`

主入口方法。

### 5.2 `detect_product_name_conflict(results) -> dict | None`

识别产品名称冲突。

### 5.3 `detect_target_conflict(results) -> dict | None`

识别检测靶标冲突。

### 5.4 `classify_warning_risk(warning) -> str`

映射风险等级。

## 6. 技术实现

使用技术：

1. 字段比对结果
2. 文档角色规则
3. 风险映射 YAML

## 7. 异常处理

1. 缺少产品名称字段：不输出混档结论，标记待复核。
2. 只有单来源：不输出混档结论。
3. 字段已冲突但来源不明：标记待人工确认。

## 8. 测试要点

1. 产品名称冲突输出高风险。
2. 检测靶标冲突输出高风险。
3. 单来源不输出混档风险。
4. 缺少核心字段时输出待复核。

