89 lines
1.8 KiB
Markdown
89 lines
1.8 KiB
Markdown
# 一致性报告生成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. 审计载荷包含审核范围。
|
|
|