build_campaign_timeline flattens a campaign's child Runs into offset-sorted
per-Run entries (distinct from the report's 12-bucket aggregation), reusing a
shared _run_window_offset口径 so both views place a run identically. Exposes
GET /campaigns/{id}/timeline and the api.ts type/call. (v0.6 ticket 06)
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| auth.py | ||
| campaigns.py | ||
| files.py | ||
| model_configs.py | ||
| proxy.py | ||
| reports.py | ||
| runs.py | ||
| scenarios.py | ||
| stats.py | ||
| targets.py | ||