Add generate_campaign_report: a pure aggregator over a campaign's child Runs
producing a time-trend axis (Runs bucketed by service-window position) and a
capability-summary axis (grouped by scenario), each carrying pass_rate /
availability / latency. pass_rate keeps the single-Run case-level meaning and
counts execution failures as 0.0 (ADR-0002); time_scale only places Runs into
window-time buckets and never alters any figure. Engine summary now records
avg_latency_ms to feed the latency axis.
Expose GET /api/campaigns/{id}/report (structured) and .../report/markdown
(reusing the existing Markdown export path). Adds "可用性/Availability" to the
domain glossary.
|
||
|---|---|---|
| .. | ||
| agents | ||
| channels | ||
| config | ||
| evaluation | ||
| model_protocols | ||
| scenarios | ||
| services | ||
| storage | ||
| utils | ||
| web | ||
| __init__.py | ||
| model_gateway.py | ||
| models.py | ||
| version.py | ||