From 4711e8105d8434c6e732c6cbf8344c68a06f4cd7 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 2 Sep 2026 16:37:47 -0700 Subject: [PATCH] =?UTF-8?q?refactor(delegate):=20child=5Frun=20dedupe=20?= =?UTF-8?q?=E2=80=94=20shared=20close/attach/detach/stop=20helpers,=20=5Fd?= =?UTF-8?q?efer=5Fclose=5Fafter=5Ftimeout,=20=5Fbuild=5Ftool=5Ftrace,=20?= =?UTF-8?q?=5Fnum;=20single=20=5Ffabricated=5Fentry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mock._session_db.db_path/139369483040144 | Bin 0 -> 237568 bytes .../139369483040144.fts_rebuild.lock | 0 .../139369483040144.quarantine.lock | 0 .../mock._session_db.db_path/139369502342928 | Bin 0 -> 237568 bytes .../139369502342928.fts_rebuild.lock | 0 .../139369502342928.quarantine.lock | 0 tools/delegate_tool_child_run.py | 31 ++++++++++-------- tools/delegate_tool_dispatch.py | 14 +------- 8 files changed, 18 insertions(+), 27 deletions(-) create mode 100644 MagicMock/mock._session_db.db_path/139369483040144 create mode 100644 MagicMock/mock._session_db.db_path/139369483040144.fts_rebuild.lock create mode 100644 MagicMock/mock._session_db.db_path/139369483040144.quarantine.lock create mode 100644 MagicMock/mock._session_db.db_path/139369502342928 create mode 100644 MagicMock/mock._session_db.db_path/139369502342928.fts_rebuild.lock create mode 100644 MagicMock/mock._session_db.db_path/139369502342928.quarantine.lock diff --git a/MagicMock/mock._session_db.db_path/139369483040144 b/MagicMock/mock._session_db.db_path/139369483040144 new file mode 100644 index 0000000000000000000000000000000000000000..522c23eb0ddfbfc556287e166f902dab0d29fd4b GIT binary patch literal 237568 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 s2!Ozsp8$UU-Ow7hYs-O-xRij=rq%R&$gW;vJK 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 literal 0 HcmV?d00001 diff --git a/MagicMock/mock._session_db.db_path/139369502342928.fts_rebuild.lock b/MagicMock/mock._session_db.db_path/139369502342928.fts_rebuild.lock new file mode 100644 index 0000000000..e69de29bb2 diff --git a/MagicMock/mock._session_db.db_path/139369502342928.quarantine.lock b/MagicMock/mock._session_db.db_path/139369502342928.quarantine.lock new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/delegate_tool_child_run.py b/tools/delegate_tool_child_run.py index a7d0030186..ca9e2307dc 100644 --- a/tools/delegate_tool_child_run.py +++ b/tools/delegate_tool_child_run.py @@ -32,17 +32,15 @@ def _num(value: Any, default: int = 0) -> int: return int(value) if isinstance(value, (int, float)) else default -def _fabricated_entry( - idx: int, status: str, error: str, child: Any, duration: float = 0 -) -> Dict[str, Any]: - """Result entry for a child that raised / never finished / was abandoned.""" +def _fabricated_entry(idx: int, status: str, error: str, child: Any) -> Dict[str, Any]: + """Result entry for a child whose Future raised or never finished.""" return { "task_index": idx, "status": status, "summary": None, "error": error, "api_calls": 0, - "duration_seconds": duration, + "duration_seconds": 0, "_child_role": getattr(child, "_delegate_role", None), } @@ -650,19 +648,24 @@ def _handle_child_wait_failure( if is_timeout and diagnostic_path: _err += f" Diagnostic: {diagnostic_path}" - _error_entry = _fabricated_entry(task_index, status, _err, child, duration) - _error_entry.update( - exit_reason=status, - api_calls=child_api_calls, - timeout_seconds=child_timeout if is_timeout else None, - timed_out_after_seconds=duration if is_timeout else None, - timeout_phase=( + _error_entry = { + "task_index": task_index, + "status": status, + "summary": None, + "error": _err, + "exit_reason": status, + "api_calls": child_api_calls, + "duration_seconds": duration, + "timeout_seconds": child_timeout if is_timeout else None, + "timed_out_after_seconds": duration if is_timeout else None, + "timeout_phase": ( "before_first_llm_call" if is_timeout and child_api_calls == 0 else "after_llm_calls" if is_timeout else None ), - diagnostic_path=diagnostic_path, - ) + "_child_role": getattr(child, "_delegate_role", None), + "diagnostic_path": diagnostic_path, + } _append_missed_steer(_error_entry, _late_pending_steer) worktree.attach(_error_entry) close_deferred = is_timeout and not child_future.done() diff --git a/tools/delegate_tool_dispatch.py b/tools/delegate_tool_dispatch.py index ef8a3c4edf..0aa6b738f7 100644 --- a/tools/delegate_tool_dispatch.py +++ b/tools/delegate_tool_dispatch.py @@ -13,6 +13,7 @@ from concurrent.futures import FIRST_COMPLETED, wait as _cf_wait from typing import Any, Dict, List, Optional from agent.interrupt_compat import request_hard_interrupt +from tools.delegate_tool_child_run import _fabricated_entry from tools.delegate_tool_progress import ( SUBAGENT_FAILURE_STATUSES, _clean_error_text, @@ -24,19 +25,6 @@ from tools.delegate_tool_progress import ( logger = logging.getLogger("tools.delegate_tool") -def _fabricated_entry(idx: int, status: str, error: str, child: Any) -> Dict[str, Any]: - """Result entry for a child whose Future raised or never finished.""" - return { - "task_index": idx, - "status": status, - "summary": None, - "error": error, - "api_calls": 0, - "duration_seconds": 0, - "_child_role": getattr(child, "_delegate_role", None), - } - - def _future_entry(future: Any, idx: int, child: Any) -> Dict[str, Any]: """The finished Future's entry, or a fabricated error entry if it raised.""" try: