c1f043684c0dd45cc4cbf46a2b9c0f2ab9c546c8
docs/25 P2。核实后发现**根因不在研判侧偷懒,而在快照缺数据**: - 扫描侧生成 RW-012 要求 verage > 0 且 amount >= average * 3(risk_scan_service.py:224); - 研判侧 _assess_rw012 只看了年龄、金额、非常用设备,**完全没核均值** —— 于是达不到 3 倍的交易也会被判"证据支持风险"。它自己的建议文本写着"继续核实一年期历史交易均值": 作者知道该看,只是当时确实没有数据可看。 - 原因:扫描侧写进快照的只有 product_id / age / device_id,**没有均值** (对比 RW-003 在 :124 就写了 ratio)。 **两侧一起改**: 1. 扫描侧补写 verage_amount 与 atio(用 ratio 与 RW-003 的快照风格保持一致)。 2. 研判侧据此复核: atio 缺失 → CONTINUE_REVIEW("无法复核 3 倍门槛", 不再顺着"非常用设备"定案); atio < 3 → SUSPECTED_FALSE_POSITIVE;否则走原有逻辑。 3. **顺带修一处除零**:verage == 0 时 mount < 0*3 恒为 False,会一路走到 mount / average 直接崩。改为同时挡住 verage_amount <= 0。 新增 tests/unit/service/test_risk_judgement_rw012.py(3 条):ratio 缺失时不落到风险成立、 ratio < 3 判误报并给出倍数、ratio >= 3 继续往下走。三个用例都停在登录记录判断之前, 不必构造复杂的登录证据。 ruff / mypy(136 文件) / 632 unit+contract / 29 integration 全绿。
Description
番茄炒蛋组
18 MiB
Languages
Python
99.9%