# 04 — 正式线自动链（分析完成 → 对比生成）

**What to build:** `execute_campaign_analysis` 成功落 completed 后，活动为正式线且存在自动基线（含 completed 分析）→ 自动 enqueue 对比生成（`triggered_by=auto`）；加速线、无自动基线、无分析模型均静默跳过，不影响分析任务本身。注意：analysis 模块与 comparison 模块互相依赖（对比复用 `resolve_analysis_model`），用函数内延迟导入避免循环 import。

**Blocked by:** 02（生成入口）

**Status:** done

- [x] 分析完成后自动链：正式线 + 自动基线 → spy 断言 enqueue（`triggered_by=auto`）
- [x] 加速线 / 无自动基线 / 无模型三分支静默跳过
- [x] 自动链异常不冒泡（警告日志），分析结果不受影响
- [x] `pytest` + `ruff` 全绿
