From 4ea379ca2e08b56a590e35b328de4fb4d74e2b6d Mon Sep 17 00:00:00 2001 From: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com> Date: Sun, 2 Aug 2026 21:50:20 +0530 Subject: [PATCH] fix(gateway): timed-out turn abandonment is an explicit hard stop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _abandon_timed_out_gateway_turn landed on main (eb4772ec2) after this PR's base and still used the soft interrupt(). Every other inactivity- timeout surface in this change (cron, gateway executor poll, delegate children) treats a timeout as an explicit stop that may cancel a protected compression summary — widen the same fix to this sibling. --- gateway/run.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gateway/run.py b/gateway/run.py index 5698c98716..adb867f80d 100644 --- a/gateway/run.py +++ b/gateway/run.py @@ -2780,9 +2780,9 @@ def _abandon_timed_out_gateway_turn( timeout_fired.set() agent = agent_holder[0] if agent_holder else None - if agent is not None and hasattr(agent, "interrupt"): + if agent is not None: try: - agent.interrupt(_INTERRUPT_REASON_TIMEOUT) + request_hard_interrupt(agent, _INTERRUPT_REASON_TIMEOUT) except Exception: logger.debug("Timed-out agent interrupt failed", exc_info=True)