docs(详细设计): 新增法规完整性检查设计
This commit is contained in:
115
docs/详细设计/skill/完整性报告生成Skill.md
Normal file
115
docs/详细设计/skill/完整性报告生成Skill.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# 完整性报告生成Skill 设计
|
||||
|
||||
## 1. Skill 定位
|
||||
|
||||
`完整性报告生成Skill` 负责把完整性检查链路中的规则判定结果、风险映射结果和法规证据组装成稳定的 `registration_completeness_report`。
|
||||
|
||||
英文实现标识建议使用 `CompletenessReportBuildSkill`。
|
||||
|
||||
本 Skill 不重新判定缺失,不重新检索证据,只负责报告结构、展示摘要和审计载荷生成。
|
||||
|
||||
## 2. 输入
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class CompletenessReportBuildInput:
|
||||
execution_context: CompletenessExecutionContext
|
||||
item_results: list[CompletenessItemResult]
|
||||
evidence_refs: list[EvidenceRef]
|
||||
pass_status: str
|
||||
highest_risk_level: str
|
||||
```
|
||||
|
||||
## 3. 输出
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class CompletenessReportBuildOutput:
|
||||
report: dict
|
||||
display_sections: list[dict]
|
||||
audit_payload: dict
|
||||
feishu_summary_payload: dict
|
||||
```
|
||||
|
||||
## 4. 报告结构
|
||||
|
||||
报告必须包含:
|
||||
|
||||
1. `report_type`
|
||||
2. `batch_id`
|
||||
3. `workflow_type`
|
||||
4. `rule_package_id`
|
||||
5. `rule_version`
|
||||
6. `chapter_scope`
|
||||
7. `summary`
|
||||
8. `matched_items`
|
||||
9. `missing_items`
|
||||
10. `misplaced_items`
|
||||
11. `manual_review_items`
|
||||
12. `evidence_refs`
|
||||
13. `suggestions`
|
||||
|
||||
## 5. 核心方法
|
||||
|
||||
### 5.1 `run(input) -> CompletenessReportBuildOutput`
|
||||
|
||||
主入口方法。
|
||||
|
||||
### 5.2 `build_summary(item_results) -> dict`
|
||||
|
||||
汇总:
|
||||
|
||||
1. 要求项数量。
|
||||
2. 已提供数量。
|
||||
3. 缺失数量。
|
||||
4. 疑似提供数量。
|
||||
5. 错放数量。
|
||||
6. 待复核数量。
|
||||
7. 最高风险等级。
|
||||
8. 是否通过。
|
||||
|
||||
### 5.3 `split_item_results(item_results) -> dict`
|
||||
|
||||
按状态拆分明细。
|
||||
|
||||
### 5.4 `attach_evidence(item_results, evidence_refs) -> list[dict]`
|
||||
|
||||
把法规证据挂到对应要求项。
|
||||
|
||||
### 5.5 `build_display_sections(report) -> list[dict]`
|
||||
|
||||
生成页面展示区块。
|
||||
|
||||
### 5.6 `build_audit_payload(report, context) -> dict`
|
||||
|
||||
生成审计载荷。
|
||||
|
||||
### 5.7 `build_feishu_summary_payload(report) -> dict`
|
||||
|
||||
生成飞书摘要载荷,供后续飞书通知步骤复用。
|
||||
|
||||
## 6. 技术实现
|
||||
|
||||
使用技术:
|
||||
|
||||
1. Pydantic/dataclass
|
||||
2. JSONField
|
||||
3. Django Audit 服务层
|
||||
4. 结构化消息模板
|
||||
|
||||
## 7. 异常处理
|
||||
|
||||
1. 报告字段缺失:构建失败并写入失败审计。
|
||||
2. 证据为空:正常输出,标记证据缺失。
|
||||
3. 明细为空:输出空检查结果。
|
||||
4. 风险等级缺失:按 `low` 处理,并记录规则警告。
|
||||
|
||||
## 8. 测试要点
|
||||
|
||||
1. 输出 schema 字段稳定。
|
||||
2. 缺失项进入 `missing_items`。
|
||||
3. 错放项进入 `misplaced_items`。
|
||||
4. 待复核项进入 `manual_review_items`。
|
||||
5. 审计载荷包含规则版本和输入范围。
|
||||
6. 飞书摘要载荷不包含敏感信息。
|
||||
|
||||
Reference in New Issue
Block a user