Introduce the 评估活动 (Campaign) aggregate above Run: a single-target, service-cycle window driving a static plan. Adds Campaign/CampaignPlanEntry models, CampaignDB table, nullable eval_runs.campaign_id, CampaignRepository, Alembic migration, and POST/GET /api/campaigns with validation. Ticket 01 of v0.6; no scheduling or child-run spawning yet (ADR-0003 v1). |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| auth.py | ||
| campaigns.py | ||
| files.py | ||
| model_configs.py | ||
| proxy.py | ||
| reports.py | ||
| runs.py | ||
| scenarios.py | ||
| stats.py | ||
| targets.py | ||