# 风险规则补齐开发记录

## 目标

补齐预算、申请前置、报销偏差、费用标准、材料完整性类风险规则，让后续 demo 数据可以形成“预算-申请-报销-风控”的闭环。

## 本次范围

- 第一批新增 30 条左右平台 JSON 风险规则。
- 风险规则必须能通过现有 `risk-rules` JSON 规则库同步到规则中心。
- 规则中保留口径引用字段；只有存在真实职级/职务金额分档的费用才引用财务规则表。
- 没有独立财务标准表的费用，引用申请制度、材料完整性、预算执行或费用归类口径。
- 规则中心的适用场景必须来自 `expense_types`，展示为具体费用类型，而不是统一显示通用。
- 预算类规则先预留预算字段和口径，不在本阶段新增预算流水表。

## 规则分类

- 预算类：预算不足、80% 预警、100% 超预算、冻结预算、跨部门预算、跨季度预算。
- 申请前置类：大额费用无申请，推广/培训/会务/软件/办公采购/招待无事前申请。
- 申请报销偏差类：金额超申请、超 10%、科目不一致、部门不一致、周期不一致、重复报销。
- 费用标准类：差旅、通信等真实标准；其他费用不伪造职级限额。
- 费用归类类：固定资产伪装为办公用品等科目错配风险。
- 材料完整性类：合同、方案、验收、签到、参与人、客户说明等材料缺失。

## 风险规则扩展字段

- `finance_rule_code`：可指向真实财务规则表，也可指向申请/预算/材料/归类制度口径。
- `finance_rule_sheet`：真实表时记录工作表名称，制度口径时记录口径名称。
- `business_stage`
- `expense_types`：用于意图识别后的费用类型匹配，也是规则中心适用场景的来源。
- `budget_required`

## 验证方式

- `AgentFoundationRiskRuleMixin` 能同步新增 JSON 规则。
- 新增规则不被识别为自然语言生成草稿并跳过。
- 规则资产的 `config_json` 能保留口径引用字段，且不指向已删除的口径型财务规则表。
- 规则资产的 `scenario_json` 能从 `expense_types` 生成具体费用场景。
- 至少验证预算类、申请前置类、费用标准类、材料完整性类各有规则同步成功。
