现象
engine 进程重载/重启时发送的 [错过的任务] 通知,会把两类不该报的任务报为"今日已错过":
① weekdays 限定不含当日的周任务(例:周日任务在周二被报错过)
② 当日已正常触发送达的任务
预期
missed 检测应只报"当日 weekdays 匹配、排程时刻已过、且本次未触发"的任务。
复现步骤
- engine.d 中存在带 weekdays 限定的任务(如
weekdays:[0] 周日 11:00)
- 在非该 weekday 的一天(如周二)当天较晚时刻重启/重载 engine
- 观察启动时的
[错过的任务] 通知
实测案例(同一签名两天三次)
- 7/7(周二)11:01 重载 → 报"10:00 GitHub 深度筛选(weekdays:[5])、11:00 每周复盘(weekdays:[0])、11:00 纸面盘对账(weekdays:[6])今日错过"——三者实际都在各自排程日正常跑过(engine-trigger-log 有 7/3 09:59、7/5 10:59、7/4 10:59 的触发记录,需要可提供)
- 7/8(周三)00:00 重载 → 报"22:00 健康快照刷新(weekdays:[0] 周日任务)错过",同时把当天 21:59 已触发送达的 22:00/23:00 任务也报为错过
环境
forge-hub v0.2.0 · macOS 14.6.1 · Bun 1.3.13
fh hub health:hub 正常运行 24 天,通道正常(微信侧的连续失败与本 issue 无关)
备注
hub.log / hub-stderr 中无相关行——[错过的任务] 通知经 MCP engine 通道直达 CC 会话;证据链主要在 engine-data/engine-trigger-log.md(实际触发记录)与收到的通知原文。
猜测(未读源码,仅供参考):missed 扫描在重载时可能未按当日 weekday 过滤 schedule,且未核对本日已触发记录。
现象
engine 进程重载/重启时发送的
[错过的任务]通知,会把两类不该报的任务报为"今日已错过":① weekdays 限定不含当日的周任务(例:周日任务在周二被报错过)
② 当日已正常触发送达的任务
预期
missed 检测应只报"当日 weekdays 匹配、排程时刻已过、且本次未触发"的任务。
复现步骤
weekdays:[0]周日 11:00)[错过的任务]通知实测案例(同一签名两天三次)
环境
forge-hub v0.2.0 · macOS 14.6.1 · Bun 1.3.13
fh hub health:hub 正常运行 24 天,通道正常(微信侧的连续失败与本 issue 无关)备注
hub.log / hub-stderr 中无相关行——
[错过的任务]通知经 MCP engine 通道直达 CC 会话;证据链主要在engine-data/engine-trigger-log.md(实际触发记录)与收到的通知原文。猜测(未读源码,仅供参考):missed 扫描在重载时可能未按当日 weekday 过滤 schedule,且未核对本日已触发记录。