575b4c2baa32bb859fcf4660301c0d93c0069235
你说得对:C ≥ R 是风控的口径,客服要走政策原文的矩阵。 上一轮我复核后说"两边一致、无需改动"是错的 —— 我只对比了政策文本与 SuitabilityService,漏了第三个东西:客服自己的知识库。POL-AST-012 就是第十二条矩阵 原文,而客服为 C1-C5 补的「能买什么产品」问答答案直接取自该矩阵(docs/24 第二节)。 于是同一个客服 Agent 对同一个问题给出相反答案: 问"C1 能买什么产品" → 知识检索答 R1、R2 可买(矩阵口径) 问"C1 能买这只 R2 吗" → 适当性出口答不能购买(严格 C ≥ R) 政策冲突的精确位置也不是"矩阵 vs 硬匹配",而是第十四条**第 1 款与它自己的第 2、3 款** 矛盾:第 2 款说"低于一个等级以上"才拒绝(C1→R2 只低 1 级,够不上"以上"),第 3 款禁止 C1 买 R3+、C2 买 R4+(R2 不在禁止列表)。矩阵与第 2、3 款三方一致,孤立的是第 1 款。 改动: - suitability_service.py 新增 MATRIX_ALLOWED / MATRIX_NEEDS_DISCLOSURE,_decide 由 "C < R 即拒绝"改为按矩阵:C1→R2、C2→R3 直接可买;C3→R4、C4→R5 走第十五条豁免档 (reason_code=SUITABLE_WITH_DISCLOSURE,强制揭示 + 确认 + 录音);低两级及以上仍拒绝。 - 客服话术分档:越级档不再说"在您的风险承受能力范围内" —— 那句只对 C ≥ R 成立, 用在 C1 买 R2 上会让客户以为自己的测评本来就覆盖这只产品。 - 风控侧不动,保留 C ≥ R:它要发现的是"越级成交且留痕不全",这个差异是有意保留的。 测试:新增逐格对照政策原文的 25 格矩阵用例、豁免档用例、话术分档用例(+29)。 docs/25 第七节 #1 与 docs/24 第七节同步更正,包括写明我上一轮那个结论错在哪。 门禁:ruff 干净 / mypy 137 文件 / 693 unit+contract / 33 integration。
Description
番茄炒蛋组
18 MiB
Languages
Python
99.9%