AgentEvalTool/backend/agenteval/evaluation
sinohqb 2b6cab6cb2 feat(comparison): unify read model and validation for period comparison
周期对比读模型升位为单一出口(load_comparison_view),GET/POST/markdown
三处调用点统一走同一 view 投影,消除「取数三件套」重复。校验逻辑收敛到
validate_comparison_request,router 捕获映射 400,执行器捕获落 failed 行,
校验顺序权威不再漂移。

- 新增 load_comparison_view:无行返回 status=none + auto_baseline,有行
  返回完整 comparison dict(含 model_name 标签)+ metric_diff
- 新增 validate_comparison_request:活动终态 → 模型 → 基线 → 分析,违
  规抛 ComparisonError
- execute_campaign_comparison 内联校验替换为 validate_comparison_request
  调用,catch ComparisonError 落 failed 行
- router 三处迁移:GET /comparison、POST /comparison、markdown 导出
- 删除 build_comparison_payload(已吸收进 load_comparison_view)
- 8 个新测试覆盖读模型三态 + 校验五错
2026-08-04 10:49:14 +08:00
..
rules feat(models): add centralized model configuration 2026-07-17 20:02:43 +08:00
__init__.py v0.2.0-dev: 文件管理 + 页面布局统一 + 6 个 bug 修复 2026-07-16 15:25:22 +08:00
analysis.py refactor(tasks): route LLM background tasks through TaskRegistry 2026-08-04 09:58:20 +08:00
campaign_runner.py refactor(repository): narrow atomic updates for patrol/cancel/scheduler writes 2026-08-04 03:39:42 +08:00
campaign_scheduler.py refactor(campaign): move tick decisions into the pure scheduler seam 2026-07-31 02:20:14 +08:00
case_verdict.py refactor(verdict): unify read path on authoritative case_outcomes 2026-07-31 14:11:58 +08:00
comparison.py feat(comparison): unify read model and validation for period comparison 2026-08-04 10:49:14 +08:00
engine.py refactor(engine): thin _run_case and _save_rule_results 2026-07-31 14:59:50 +08:00
implicit_rules.py refactor(engine): thin _run_case and _save_rule_results 2026-07-31 14:59:50 +08:00
judgement.py refactor(judgement): converge case-pass decision into one deep module 2026-07-29 19:45:02 +08:00
metrics.py refactor(metrics): type Run summary and converge cross-run aggregation 2026-07-31 01:57:56 +08:00
report_render.py feat(exploration): findings flow into report, analysis and export 2026-08-03 19:16:33 +08:00
report.py refactor(report): unify campaign report loading behind one read model 2026-08-04 03:30:29 +08:00
run_summary.py refactor(engine): extract build_run_summary pure seam 2026-07-31 14:20:51 +08:00