/** * 风险模型配置实体(Req 2, 4, 11, 14)。 * * 三层结构:RiskModel → Dimension → Indicator → ScoringRule,外加 Redline 红线集合。 * 指标体系以结构化配置存储,Scoring_Engine 读取任意合法配置即可完成评分(配置驱动)。 */ import type { BusinessType, Industry, RiskLevel, Weight } from './common.js'; /** * 评分项(Scoring_Rule):定义某一 Risk_Level 的判定标准(Req 11.3)。 * 合法 Indicator 须覆盖 Risk_Level 1 至 5 全部级别。 */ export interface ScoringRule { /** 该评分项对应的风险等级(1 至 5)。 */ level: RiskLevel; /** 等级标签,如"低风险"。 */ label: string; /** 判定标准描述。 */ description: string; } /** * 风险指标(Indicator,Req 11.1, 11.3)。可增删、启停、调权。 */ export interface Indicator { /** 指标唯一标识(在所属 Dimension 内稳定)。 */ id: string; /** 指标名称。 */ name: string; /** 指标权重,取值 0 至 100;同级启用项归一化后之和为 100%。 */ weight: Weight; /** 启用状态;停用保留配置但不计分(Req 11.1, 4.4)。 */ enabled: boolean; /** 评分规则,覆盖 Risk_Level 1-5(长度应为 5,Req 11.3)。 */ scoringRules: ScoringRule[]; /** 证据要求描述:判定 Risk_Level 所需证据。 */ evidenceRequired: string; /** 追问话术:信息缺口时向评估者提出的问题文案。 */ askPrompt: string; } /** * 风险维度(Dimension,Req 11.1)。可增删、启停、调权。 */ export interface Dimension { /** 维度唯一标识。 */ id: string; /** 维度名称,如"客户风险"。 */ name: string; /** 维度权重,取值 0 至 100;同级启用项归一化后之和为 100%。 */ weight: Weight; /** 启用状态;停用保留配置但不计分(Req 11.1, 4.4)。 */ enabled: boolean; /** 维度下的指标集合。 */ indicators: Indicator[]; } /** * 红线规则(Redline,Req 6, 11.4)。命中即触发一票否决,独立于分值通道。 */ export interface Redline { /** 红线唯一标识(Req 11.4,标识重复非法)。 */ id: string; /** 触发条件(独立于 Risk_Score / Risk_Grade)。 */ triggerCondition: string; /** 一票否决后果说明。 */ consequence: string; /** 启用状态。 */ enabled: boolean; } /** * 风险模型(RiskModel,Req 2.3)。Template 实例化后的运行时快照。 */ export interface RiskModel { /** 模型唯一标识。 */ id: string; /** 模型名称。 */ name: string; /** 适用业务类型。 */ businessType: BusinessType; /** 风险维度集合。 */ dimensions: Dimension[]; /** 红线规则集合。 */ redlines: Redline[]; } /** * 风险模型模板(Template,Req 2.1-2.7)。按业务类型与行业组织,支持继承。 */ export interface Template { /** 模板唯一标识。 */ id: string; /** 模板名称。 */ name: string; /** 适用业务类型。 */ businessType: BusinessType; /** 适用行业。 */ industry: Industry; /** 父模板标识;用于继承。环引用或继承层级 > 5 非法(Req 2.5, 2.7)。 */ parentTemplateId?: string; /** 是否为该业务类型的默认模板(Req 2.2)。 */ isDefault: boolean; /** 模板承载的风险模型配置(维度/指标/权重/评分规则/红线)。 */ riskModelConfig: RiskModelConfig; } /** * 模板承载的风险模型配置主体。 * 与 RiskModel 结构一致,但作为可继承/可覆盖的配置存在(尚未实例化为本次评估快照)。 */ export interface RiskModelConfig { /** 模型名称。 */ name: string; /** 适用业务类型。 */ businessType: BusinessType; /** 风险维度集合。 */ dimensions: Dimension[]; /** 红线规则集合。 */ redlines: Redline[]; }