diff --git a/src/daemon/dispatcher.py b/src/daemon/dispatcher.py index 2ad8943..5351dbc 100644 --- a/src/daemon/dispatcher.py +++ b/src/daemon/dispatcher.py @@ -243,9 +243,8 @@ class Dispatcher: } except AgentBusyError: # v2.7.2: agent 被 counter 占用或冷却中 - # v2.7.3: Mail spawn 失败时回退 working → pending - if is_mail and db_path: - self._mail_revert_to_pending(task.id, db_path) + # v2.7.3: on_checks_passed 在 check 通过后才标 working, + # 所以 AgentBusyError 时 working 未被标记,无需回退 self._record_routing(task, decision, "skipped", "Agent busy", _routing_db) return { "level": level.value, @@ -255,9 +254,6 @@ class Dispatcher: "reason": "Agent busy (concurrent limit or cooling down)", } except Exception as e: - # v2.7.3: Mail spawn 异常时也回退 working → pending - if is_mail and db_path: - self._mail_revert_to_pending(task.id, db_path) self._record_routing(task, decision, "error", str(e), _routing_db) return { "level": level.value,