AgentEvalTool/.scratch/v0.6/issues/02-scheduler-decision-and-run-spawn.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

15 lines
1.5 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.

# 02 — 调度决策纯函数 + 派生子 Run
**What to build:** 给定一个活动的静态计划和"当前活动时钟位置",一个纯函数能算出此刻应派生哪些子 Run以及活动是否已到窗口终点。据此实际派生普通 Run——每个子 Run 复用现有单次评测的执行路径、带上活动归属,跑完后其结果照常入库。这一票让"活动能真的按计划生出评测"成立,但不含自动循环(由测试或手动推进时钟驱动)。
**Blocked by:** 01需要活动持久化与 campaign_id 归属字段)。
**Status:** ready-for-agent
- [ ] 纯函数:输入活动计划 + 活动时钟位置(由真实经过时间 × time_scale 映射到窗口偏移),输出"到点应派生的计划条目"与"是否已达窗口终点";不触碰任何判定/报告口径
- [ ] time_scale 只影响"何时到点",正式线 1.0=真实墙钟、开发线可压缩;判定与结果口径与倍速无关
- [ ] 据纯函数结果派生普通 Run复用现有评测执行入口existing_run 路径),子 Run 携带 campaign_idtriggered_by 体现活动来源
- [ ] 幂等:同一计划条目在同一到点不重复派生(推进进度可追踪)
- [ ] 纯函数单元测试(仿 test_orphan_runs 的纯 db_session 风格):注入不同时钟/倍速覆盖"未到点/到点/多条同时到点/已达终点"矩阵
- [ ] 集成测试:手动推进时钟驱动一个压缩倍速活动,断言派生出的子 Run 数量、归属、场景与计划一致;子 Run 跑完后结果与 summary 正常入库