Files
group_fqcd_jr/docs/evidence/20260919-t3a-h02a-calc-param-layer.json
T

205 lines
6.1 KiB
JSON
Raw Normal View History

{
"evidence_id": "20260919-t3a-h02a-calc-param-layer",
"step": "H-02a:计算型出口 E2 的**参数层**(纯函数 + 真实语料回归),出口接线留待 H-02b",
"why_split": "申购费算法存在「语料口径 vs D3.7 D-01 判据」冲突,而算法文字会**原样进客户答案**;先定口径再接线,避免接线返工",
"artifacts": {
"app/core/fund_fee_rules.py": {
"bytes": 20985,
"sha256_16": "0fb29ab2d214afc3",
"kind": "纯函数;不 import 模型/数据库/Agent(DoD ②)"
},
"tests/unit/core/test_fund_fee_rules.py": {
"bytes": 9737,
"tests": 41
}
},
"corpus_derived_params": {
"fee_table_categories": [
"货币基金",
"纯债基金",
"混合基金",
"股票基金",
"QDII 基金"
],
"by_category": {
"货币基金": {
"purchase_rates": {
"申购费率(原费率)": 0.0,
"申购费率(官方直销 1 折)": 0.0
},
"redemption_at": {
"5": 0.0,
"20": 0.0,
"240": 0.0,
"365": 0.0,
"540": 0.0,
"730": 0.0
}
},
"纯债基金": {
"purchase_rates": {
"申购费率(原费率)": 0.008,
"申购费率(官方直销 1 折)": 0.0008
},
"redemption_at": {
"5": 0.015,
"20": 0.0075,
"240": 0.001,
"365": 0.0,
"540": 0.0,
"730": 0.0
}
},
"混合基金": {
"purchase_rates": {
"申购费率(原费率)": 0.015,
"申购费率(官方直销 1 折)": 0.0015
},
"redemption_at": {
"5": 0.015,
"20": 0.0075,
"240": 0.005,
"365": 0.0025,
"540": 0.0025,
"730": 0.0
}
},
"股票基金": {
"purchase_rates": {
"申购费率(原费率)": 0.015,
"申购费率(官方直销 1 折)": 0.0015
},
"redemption_at": {
"5": 0.015,
"20": 0.0075,
"240": 0.005,
"365": 0.0025,
"540": 0.0025,
"730": 0.0
}
},
"QDII 基金": {
"purchase_rates": {
"申购费率(原费率)": 0.016,
"申购费率(官方直销 1 折)": 0.0016
},
"redemption_at": {
"5": 0.015,
"20": 0.005,
"240": 0.005,
"365": 0.0025,
"540": 0.0025,
"730": 0.0
}
}
},
"stock_purchase_fee_range": [
0.0015,
0.015
],
"suitability_matrix": {
"C1": {
"R1": "allow",
"R2": "allow",
"R3": "forbidden",
"R4": "forbidden",
"R5": "forbidden"
},
"C2": {
"R1": "allow",
"R2": "allow",
"R3": "allow",
"R4": "forbidden",
"R5": "forbidden"
},
"C3": {
"R1": "allow",
"R2": "allow",
"R3": "allow",
"R4": "disclosure",
"R5": "forbidden"
},
"C4": {
"R1": "allow",
"R2": "allow",
"R3": "allow",
"R4": "allow",
"R5": "disclosure"
},
"C5": {
"R1": "allow",
"R2": "allow",
"R3": "allow",
"R4": "allow",
"R5": "allow"
}
},
"D04_verdict_C1_R3": "forbidden",
"assert_D04_is_forbidden": true
},
"golden_resolvability": {
"D-01": {
"message": "买 10 万股票基金,申购费大概多少?",
"category": "股票基金",
"amount_yuan": 100000,
"range": [
0.0015,
0.015
]
},
"D-02": {
"message": "我持有 20 天赎回混合基金,赎回费多少?",
"category": "混合基金",
"holding_days": 20,
"rate": 0.0075
},
"D-03": {
"message": "持有 8 个月赎回要付费吗?",
"holding_days": 240,
"rate_mixed": 0.005
},
"D-04": {
"message": "我是 C1,能买 R3 的产品吗?",
"verdict": "forbidden",
"expected": "forbidden"
},
"D-05": {
"message": "南方基金客服现在方便联系吗?",
"is_fee_question": false,
"note": "非计算型 → 仍走知识出口(E3),本模块不接管"
}
},
"decisions_pending": [
{
"id": "H-02-D1",
"topic": "申购费算法口径冲突",
"evidence": "D6.2.1 §6.3 示例 1:100,000 × 1.50% = 1,500 元(内扣式,费率乘总额);D3.7 D-01 判据:申购费 = 金额 × 费率 ÷ (1+费率)(外扣式,同组数 = 1,477.83 元)。全语料检索「净申购/外扣/1+费率」→ 0 命中,外扣式**只存在于 D3.7 判据本身**",
"current_impl": "按语料口径(INV-2:数字必须可解析到 chunk)",
"options": [
"A 改语料为外扣法(需重建切片 + 重灌集合)",
"B 改 D3.7 D-01 判据为语料口径(1 处文档改动)"
],
"recommendation": "建议 B(今天可做、零重建);答辩后再考虑 A"
},
{
"id": "H-02-D2",
"topic": "语料内部费率不一致",
"evidence": "单只产品 1.6「南方红利价值股票」赎回费原文『持有<7 天:1.5%;7—365 天:0.50%;1—2 年:0.25%;>2 年:0』⇒ 7—30 天档 = 0.50%;§6.1 总表股票列 7—30 天 = 0.75%。解析器给出 lower_days=[0, 7, 365, 730]",
"impact": "按类别问(D-02/D-03)走总表,不受影响;按**单只产品**问 1.6 会答 0.50%,与总表冲突",
"options": [
"A 改产品 1.6 的 7—365 天为 7—30 天 0.75% + 30—365 天 0.50%",
"B 保留并登记"
],
"recommendation": "建议 A(一处语料行,改完同样需重建;也可与 D1 的重建合成一次)"
}
],
"gates": {
"ruff(app tests tools)": 22,
"mypy(app)": 3,
"pytest_full": "2 failed / 1635 passed / 2 skipped",
"pytest_baseline": "2 failed / 1594 passed / 2 skipped",
"delta": "+41 passed = 本轮新增单测,2 failed 与基线同一组",
"pytest_targeted_new_file": "41 passed"
}
}