「活动报告取数三件套」此前在报告/markdown/分析/对比等 7 处手写重复, 唯一深化产物 build_campaign_report_dict 被锁在周期对比私有角落。 升位为 report.py 的 load_campaign_report(session, campaign) 单一出口 (探索线 summarize_campaign_exploration 同口径),并把 8 处 scenario_names 推导式收敛为 ScenarioRepository.name_map() 窄方法。 纯结构重排、零行为变更,572 项测试全绿。 |
||
|---|---|---|
| .. | ||
| rules | ||
| __init__.py | ||
| analysis.py | ||
| campaign_runner.py | ||
| campaign_scheduler.py | ||
| case_verdict.py | ||
| comparison.py | ||
| engine.py | ||
| implicit_rules.py | ||
| judgement.py | ||
| metrics.py | ||
| report_render.py | ||
| report.py | ||
| run_summary.py | ||