# 一致性报告生成Skill 设计

## 1. Skill 定位

`一致性报告生成Skill` 负责将字段比对结果和混档风险组装成稳定的 `registration_consistency_report`，并生成页面展示、审计和飞书摘要载荷。

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

## 2. 输入

```python
@dataclass
class ConsistencyReportBuildInput:
    context: ConsistencyReviewContext
    compare_results: list[FieldCompareResult]
    mixed_package_warnings: list[dict]
```

## 3. 输出

```python
@dataclass
class ConsistencyReportBuildOutput:
    report: dict
    display_sections: list[dict]
    audit_payload: dict
    feishu_summary_payload: dict
```

## 4. 报告结构

报告必须包含：

1. `report_type`
2. `batch_id`
3. `field_rule_id`
4. `summary`
5. `consistent_fields`
6. `conflict_fields`
7. `manual_review_fields`
8. `mixed_package_warnings`
9. `suggestions`

## 5. 核心方法

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

主入口方法。

### 5.2 `build_summary(compare_results, warnings) -> dict`

生成汇总。

### 5.3 `split_compare_results(compare_results) -> dict`

拆分一致、冲突、待复核字段。

### 5.4 `build_suggestions(conflicts, warnings) -> list[dict]`

生成处理建议。

### 5.5 `build_audit_payload(report, context) -> dict`

生成审计载荷。

## 6. 技术实现

使用技术：

1. dataclass/Pydantic
2. JSONField
3. Audit 服务
4. 页面展示 schema

## 7. 异常处理

1. 报告字段缺失：任务失败。
2. 没有可比对字段：输出空报告。
3. 飞书摘要构建失败：不影响 Web 报告。
4. 审计写入失败：记录系统警告。

## 8. 测试要点

1. 冲突字段进入 `conflict_fields`。
2. 混档风险进入 `mixed_package_warnings`。
3. 汇总数量正确。
4. 审计载荷包含审核范围。

