## 诊断流程样例 ### 场景 每日英语 i+1 阅读任务被定时触发,日志中出现 session,但用户没有收到报告,目标 Markdown 文件也没有出现。 ### 输入 | 输入 | 示例 | | --- | --- | | session_id | `019e4d32-5a84-7a13-9b1f-a8c274cef662` | | cwd | `~` | | message counts | user=1, assistant=0, event=1 | | report target | `~/Library/Mobile Documents/com~apple~CloudDocs/odyssey/0 收集箱/每日英语i+1阅读/2026-05-22 每日英语i+1阅读.md` | ### 检查步骤 1. 聚合 session 消息:发现 `assistant_message_count=0`,标记为零输出会话。 2. 从 prompt 中解析 Report target。 3. 在本机文件系统检查目标文件是否存在。 4. 如果文件存在,继续检查大小、mtime、标题或日期;如果不存在,直接判为未完成。 5. 写入诊断结果,供 Night Gym 汇总页展示。 ### 失败输出示例 ```json { "session_id": "019e4d32-5a84-7a13-9b1f-a8c274cef662", "status": "failed", "signals": ["assistant_message_count_zero", "report_target_missing"], "target_path": "~/Library/Mobile Documents/com~apple~CloudDocs/odyssey/0 收集箱/每日英语i+1阅读/2026-05-22 每日英语i+1阅读.md", "suggested_action": "re-run scheduled task or inspect scheduler/runtime startup logs" } ``` ### 成功判定 | 条件 | 判定 | | --- | --- | | assistant 输出存在 | 通过 | | 目标文件存在且非空 | 通过 | | 文件 mtime 晚于任务开始时间 | 通过 | | 以上都不满足 | 失败,需要告警 |