AgentEvalTool/.scratch/v0.6/issues/01-campaign-persistence-and-api.md
sinohqb af7e7bf110
Some checks failed
CI / test (push) Failing after 46s
docs(v0.6): add Campaign spec and 5 tracer-bullet tickets
.scratch/v0.6/spec.md:评估活动 v1(静态地基)规格——单对象、可配服务
周期窗口、耐久调度、双主轴周期报告、time_scale 时间倍速。5 张 tracer-
bullet 票(持久化/API → 调度决策+派生 → 耐久回路+恢复 → 双轴报告 →
前端页),依赖边 ①→②→③、②→④、①③④→⑤。
2026-07-30 11:45:13 +08:00

17 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 01 — 活动持久化 + 创建/查询 API
**What to build:** 用户能通过 API 创建一个「评估活动」提交一个绑定单个评测对象的静态活动计划窗口长度、time_scale、若干"在窗口某偏移时刻对某场景跑几次"的计划条目),活动被持久化、状态为"计划中",并能按 id 查询取回完整活动。为后续调度与聚合打好数据地基。
**Blocked by:** 无 — 可立即开始。
**Status:** ready-for-agent
- [ ] 新增评估活动持久化:窗口长度、状态(计划中/进行中/已完成/已取消/失败、time_scale默认 1.0、静态计划JSON 存取,仿现有 cases、目标对象、时间戳
- [ ] 评测运行增加可空的活动归属字段campaign_id非活动派生的手动 Run 该字段为空;不破坏现有 Run 的创建/查询/更新
- [ ] 新增活动仓储,沿用现有仓储的 to_db/from_db 映射与 Session 管理约定
- [ ] Alembic batch mode 迁移SQLite沿用现有迁移链与 render_as_batch 约定;全新库经 init_db 的 create_all 亦能建出新表与新列
- [ ] `POST /api/campaigns` 校验并创建活动(计划非空、对象存在、窗口/倍速合法),返回活动 id 与初始状态
- [ ] `GET /api/campaigns` 列表、`GET /api/campaigns/{id}` 详情(含计划与状态)
- [ ] 活动通过率等汇总口径为空占位,待后续票填充;本票不含调度与派生
- [ ] API 集成测试httpx AsyncClient 同现有 runs 测法):创建→取回一致、非法计划/不存在对象报错、campaign_id 迁移后既有 Run 不受影响