播报链路修复(Prime 完成通知 → 验收 → Telegram 播报)

架构

watchdog job 2f9f284289f7(no_agent, 每分钟)检测 ✅ Prime 任务完成 → 落盘 /mnt/d/hermes/cron/output/2f9f284289f7/<ts>.md(通知+验收包)→ 验收 job 860cf76120b5(LLM)的 prerun gate acceptance_gate.py 输出未验收事件 + {"wakeAgent": true} → LLM 验收播报 → deliver=origin(Telegram 5671991810)+ attach_to_session(mirror 进主会话)。

2026-08-12 修复(必达)

  • 旧问题: LLM 验收单次 30-60 分钟(无时间盒,deepseek 每 call 40-440s)+ gate 单事件唤醒 → 中间事件饿死(08-02-40 任务3/14 从未处理)+ 播报延迟小时级。
  • 修法: ① gate 批量唤醒(BATCH_MAX=6,一次输出所有未验收事件)② Job B prompt 时间盒(每事件≤2抽查、工具≤6次、总时长≤8分钟、汇总一条播报)③ 一次性补播 job 清堆积。
  • 验证: 补播 09:30:01 delivered+mirrored(15 分钟);模拟事件隔离测试通过。
  • 教训: cron LLM job”看似停跑”先查 agent.log 的 already running — skipping(长运行阻塞);executions.db 不权威;投递链路(delivered+mirrored)本身可靠。

运维速查

  • 手动跑 gate: python3 /mnt/d/hermes/hsdesign_work/prime_setup/acceptance_gate.py --debug(会标记事件,慎用)
  • 去重 state: /home/sozo/.prime_acceptance_state.json(—baseline-done 首次基线)
  • 播报必达兜底: 一次性 no_agent job 输出文本→deliver=origin(不依赖 LLM 速度)

2026-08-12 13:28 检测侧三信号升级(验收通过)

  • 升级prime_complete_watch.py 三信号检测——① 终态 ②「任务完成:」穿插报告 ③ 报告文件落盘——补上穿插任务与仅落盘报告不漏检的缺口;升级自动入基线不重播历史
  • 验证:py_compile ✅ + 脚本含”任务完成”(16 处)+ reportFiles 逻辑 ✅;agent.log 实证 13:28:49 / 13:34:54 两次 delivered+mirrored 到 telegram:5671991810(真实 E2E)
  • 报告:NOTIFY_FIX_REPORT.md(system-ops 会话 0b251c7212b5);acceptance_gate.py 未动(投递侧沿用 09:39 gate 批量唤醒 + LLM 时间盒)
  • ⚠️ 状态文件路径有 HOME 差异(非阻断)——建议写死路径消除;观察 1-2 天穿插任务播报稳定性