# 04 — 活动周期报告(双主轴) **What to build:** 一个活动能产出周期评估报告,主轴一是**时间趋势**(通过率/可用性/时延随时段桶的曲线),主轴二是**能力汇总**(按场景/能力维度聚合的整窗表现)。报告消费该活动全部子 Run 的 summary,通过率口径与单 Run 一致(用例级、含执行失败),并可复用现有导出能力。 **Blocked by:** 02(需要活动已能派生出子 Run 以供聚合;可对进行中的活动做部分聚合)。 **Status:** ready-for-agent - [ ] 活动报告聚合纯函数:输入活动 + 其全部子 Run,输出双主轴结构 - [ ] 时间趋势轴:按时段桶聚合通过率/可用性/时延(仿 stats.py trend 的分桶取均值) - [ ] 能力汇总轴:按场景/能力维度聚合整窗表现(仿 stats.py dashboard 的分组取均值) - [ ] 通过率沿用单 Run 的用例级、含执行失败口径(ADR-0002),保证跨层可比;故障子 Run 照常计入 - [ ] `GET /api/campaigns/{id}/report` 返回结构化报告;复用现有报告导出路径 - [ ] 单元测试(仿 test_report 的 _seed_run×N):构造跨多时段、多场景、含失败的子 Run,断言两轴数值正确;空/仅部分完成活动的边界(无除零、部分聚合合理) - [ ] API 测试:对已有子 Run 的活动取报告,结构与数值符合预期