## 修复 summary_agent 偶发懒输出导致子智能体结果丢失

### 根因
- `SUMMARY_MODEL=deepseek-v4-flash` 处理超大上下文（3个子智能体全量输出 20k-50k+ tokens）时指令遵循不稳定
- 架构反模式：要求 LLM "逐字重现"已完成的内容 → 应改为直接嵌入

### 核心改动：`agents/review_agent.py`

**新增 3 个辅助函数：**
1. `_is_lazy_summary(text)` — 检测懒输出（<300字 / 托词模式）
2. `_extract_key_findings(text, max_chars=2000)` — 提取子智能体关键摘要
3. `_assemble_report_fallback(...)` — LLM 失败时的模板兜底

**重写 Stage 4 汇总流程：**
- 子智能体原始输出 → 直接嵌入报告第2/3/4节（不经过 LLM，100% 不丢失）
- 仅将关键摘要传给 summary LLM → 生成第1节（概况）、第5节（违规汇总）、第6节（修改建议）
- 校验 LLM 输出 → 若懒输出则用兜底模板
- 流式 yield SSE token 事件保持前端体验不变

**附带更新：**
- `skills/vent-plan-review-summary/SKILL.md` — 更新角色描述，移除"全量输出"铁律
- `.env` — SUMMARY_MODEL 可保持 flash（新架构下上下文大幅减小）

### 不改动
- 前端、子智能体 skills、Word 导出、计算工具 — 全部不动