docs(W25): D2.9 手动测试用例按实测重建 + 展示层误删正文真缺陷修复

- D2.9 v1.3→v1.4:46 条金标追加「2026-09-21 实测(出口 · top1)」列与逐条答复原文,
  §3 边界 11 条 / §4 安全 4 条 / §1.3 / §5 指标表实测列刷新,新增 §2.10 场内基金演示线(5 条),
  §3.1 缺口由三个扩为四个(新增 ④ A-06),§3.2 整段重写,§8 新增 D-5 与 DEC-W20-8 细化
- D2.5 §4.7 出口口径更正:场内基金第 1 条 E3→E4、第 2 条 E3→E5b(内容逐字正确,出口偏保守)
- 修复 drop_yield_claims() 误删「业绩比较基准」公式行:收益词与百分比间出现
  乘号 / 指数 等公式标记时判为基准公式豁免,两种语序的真实收益数值照删
- 新增回归测试 test_drop_yield_claims_keeps_the_benchmark_formula_but_drops_both_word_orders
- D2.1 v6.39→v6.40 / D1.1 v1.15→v1.16(新增第二十八轮)/ D1.6 新增 §12 / D4.8 v1.2→v1.3(新增 §11)

实测:46 条金标全部 succeeded,HTTP 非 200 = 0;转人工 5 条(均白名单内);
M-1 46/46、M-4 46/46、M-6 5/46、M-2 28/31、M-2b 15/18、M-3 4/4、M-7/M-8/M-9/M-10 = 0;
pytest 1997 passed / 3 skipped;ruff 零新增告警。
This commit is contained in:
张胜宇
2026-09-21 15:27:18 +08:00
parent 29da85d010
commit 35109af96f
8 changed files with 692 additions and 125 deletions
@@ -1883,6 +1883,26 @@ def test_drop_yield_claims_removes_yield_numbers_but_keeps_the_fee_table() -> No
assert "本产品历史业绩不预示未来表现" in out
def test_drop_yield_claims_keeps_the_benchmark_formula_but_drops_both_word_orders() -> None:
"""`A-06` 回归钉子:业绩比较基准里的 `×60%` 是**权重**,不是收益数值。
实测 2026-09-21(`W25` 全量复跑):`FAQ-0022` 的「答:…」整行同时含「业绩」与
「收益率×60%」,旧判据把整行删掉 —— 客户只收到光秃秃的「问:什么是业绩比较基准?」。
这里把两个方向同时钉死:**公式保留**、**两种语序的真实收益数值照删**。
"""
src = (
"问:什么是业绩比较基准?\n"
"答:业绩比较基准是产品设定的参考收益标准,不是对投资者的收益承诺。"
"例如「沪深300指数收益率×60%+中证全债指数收益率×40%」。实际收益可能高于或低于业绩比较基准。\n"
"近一年收益率 7.60%\n"
"7.60%的近一年收益率在同类中靠前\n"
)
out = customer_service_module.drop_yield_claims(src)
assert "沪深300指数收益率×60%+中证全债指数收益率×40%" in out
assert "不是对投资者的收益承诺" in out
assert "7.60%" not in out
def test_prettify_title_drops_the_doc_name_segment_and_dangling_number() -> None:
long_title = "南方基金管理股份有限公司 公募基金与专户产品手册 · 一、公募基金产品 · 1."
assert customer_service_module.prettify_title(long_title) == "一、公募基金产品"