From f39d9555d8b1a4b36666584b2a1d88656e667d2e Mon Sep 17 00:00:00 2001 From: cfdaily Date: Sun, 24 May 2026 19:59:25 +0800 Subject: [PATCH] auto-sync: 2026-05-24 19:59:25 --- src/daemon/dispatcher.py | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/daemon/dispatcher.py b/src/daemon/dispatcher.py index 0f338a5..3e890d6 100644 --- a/src/daemon/dispatcher.py +++ b/src/daemon/dispatcher.py @@ -221,14 +221,12 @@ class Dispatcher: # 先 release counter if _counter: _counter.release(aid) - # 再自动标 done/failed(幻觉门控) - if outcome in ("completed", "agent_failed"): - try: - _dispatcher._mail_auto_complete(_task_id, aid, _mail_db, _must_haves) - except Exception as e: - logger.error("Mail %s: on_complete error: %s", _task_id, e) - else: - logger.info("Mail %s: on_complete outcome=%s, skip auto-done", _task_id, outcome) + # 自动标 done/failed(幻觉门控) + # 不管 outcome 是什么,都检查是否有回复 + try: + _dispatcher._mail_auto_complete(_task_id, aid, _mail_db, _must_haves) + except Exception as e: + logger.error("Mail %s: on_complete error: %s", _task_id, e) on_complete = _mail_on_complete else: on_complete = ( @@ -510,13 +508,10 @@ class Dispatcher: def _mail_oc_legacy(aid, outcome): if _ct: _ct.release(aid) - if outcome in ("completed", "agent_failed"): - try: - _disp._mail_auto_complete(_t_id, aid, _m_db, _m_mh) - except Exception as e: - logger.error("Mail %s: legacy on_complete error: %s", _t_id, e) - else: - logger.info("Mail %s: legacy on_complete outcome=%s, skip auto-done", _t_id, outcome) + try: + _disp._mail_auto_complete(_t_id, aid, _m_db, _m_mh) + except Exception as e: + logger.error("Mail %s: legacy on_complete error: %s", _t_id, e) on_complete_legacy = _mail_oc_legacy else: on_complete_legacy = (