fix(execution): 修复看门狗对 pending 执行的时区误杀 (UTC vs 本地时钟)
- 根因:Execution.created_at 由 datetime.utcnow 写入 (UTC),但 watchdog_scan_once 此前统一用 datetime.now() (本地时区) 相减,导致在 UTC+8 环境下未设置 start_time 的 pending 执行 age 虚高 8 小时,新创建执行在 25-60 秒内被误杀标记为 failed。
- 修复:按字段实际口径自适应基准时间——无 start_time 时用 datetime.utcnow() 比较 created_at;有 start_time 时用 datetime.now() 比较。
- 单测:补充 test_pending_no_start_time_fresh_utc_not_marked 与 test_pending_no_start_time_stale_utc_marks_failed 2 条回归用例,watchdog 测试 11/11 全过。
- 文档:HANDOFF_UI自动化.md 归档会话 58 看板用例 5/5 回归收尾与看门狗误杀排查记录。
Co-Authored-By:
Claude Code <noreply@anthropic.com>
正在显示
请
注册
或者
登录
后发表评论