docs(详细设计): 新增风险预警设计
This commit is contained in:
70
docs/详细设计/skill/准入判定Skill.md
Normal file
70
docs/详细设计/skill/准入判定Skill.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# 准入判定Skill 设计
|
||||
|
||||
## 1. Skill 定位
|
||||
|
||||
`准入判定Skill` 负责根据风险项、人工复核项和准入规则计算最终是否通过。
|
||||
|
||||
英文实现标识建议使用 `AdmissionDecisionSkill`。
|
||||
|
||||
## 2. 输入
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class AdmissionDecisionInput:
|
||||
risk_items: list[RiskItem]
|
||||
manual_review_items: list[dict]
|
||||
admission_rules: dict
|
||||
```
|
||||
|
||||
## 3. 输出
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class AdmissionDecisionOutput:
|
||||
pass_status: str
|
||||
highest_risk_level: str
|
||||
decision_reason: str
|
||||
score_detail: dict
|
||||
```
|
||||
|
||||
## 4. 判定规则
|
||||
|
||||
1. 任一高风险:不通过。
|
||||
2. 多个中风险:待整改后复核。
|
||||
3. 只有低风险:条件通过。
|
||||
4. 有人工复核项:待复核。
|
||||
5. 无风险:通过。
|
||||
|
||||
## 5. 核心方法
|
||||
|
||||
### 5.1 `run(input) -> AdmissionDecisionOutput`
|
||||
|
||||
主入口方法。
|
||||
|
||||
### 5.2 `calculate_highest_level(risk_items) -> str`
|
||||
|
||||
计算最高风险等级。
|
||||
|
||||
### 5.3 `calculate_status(risk_items, manual_review_items, rules) -> str`
|
||||
|
||||
计算准入状态。
|
||||
|
||||
### 5.4 `build_decision_reason(status, risk_items) -> str`
|
||||
|
||||
生成判定理由。
|
||||
|
||||
## 6. 技术实现
|
||||
|
||||
使用技术:
|
||||
|
||||
1. 风险等级枚举
|
||||
2. 准入规则 YAML
|
||||
3. Python 规则判断
|
||||
|
||||
## 7. 测试要点
|
||||
|
||||
1. 高风险导致失败。
|
||||
2. 中风险过多导致复核。
|
||||
3. 低风险条件通过。
|
||||
4. 无风险通过。
|
||||
|
||||
Reference in New Issue
Block a user