From 37a4adfceaa335f5f2fd6c2ccdb6ec9e232e1313 Mon Sep 17 00:00:00 2001 From: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com> Date: Thu, 30 Jul 2026 15:16:47 -0700 Subject: [PATCH] perf(task): defer subagent launch setup --- packages/coding-agent/CHANGELOG.md | 4 +++ packages/coding-agent/src/task/executor.ts | 32 ++++++++++++---------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 25c809467..547ba4700 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Changed + +- Moved subagent model-registry refresh and session-file opening off the launch critical path. Registry refresh now runs in the background while model resolution uses the registry's static/provider lookup, and `SessionManager.open` starts before prewalk/output-schema/session-option assembly so session creation waits only at its actual input boundary. + ## [17.2.1] - 2026-07-30 ### Added diff --git a/packages/coding-agent/src/task/executor.ts b/packages/coding-agent/src/task/executor.ts index 695c5bd23..da949cc17 100644 --- a/packages/coding-agent/src/task/executor.ts +++ b/packages/coding-agent/src/task/executor.ts @@ -2604,7 +2604,12 @@ export async function runSubprocess(options: ExecutorOptions): Promise { + logger.warn("Subagent model registry refresh failed", { + id, + error: err instanceof Error ? err.message : String(err), + }); + }); } else { logger.debug("runSubagent: reusing parent modelRegistry; skipping refresh"); } @@ -2719,19 +2724,12 @@ export async function runSubprocess(options: ExecutorOptions): Promise