From cc503ea72571f443b897b1b7388bf64d40a6d44f Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Wed, 13 May 2026 14:11:02 -0400 Subject: [PATCH] fix: gsd-debug-session-manager uses stale Task() dispatcher (#3462) * fix(debug): use Agent dispatcher in session manager * chore(changeset): set pr field for #3462 --- .changeset/eager-lynx-munch.md | 5 +++++ agents/gsd-debug-session-manager.md | 2 +- tests/debug-session-management.test.cjs | 7 ++++++- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .changeset/eager-lynx-munch.md diff --git a/.changeset/eager-lynx-munch.md b/.changeset/eager-lynx-munch.md new file mode 100644 index 000000000..fb7c7f608 --- /dev/null +++ b/.changeset/eager-lynx-munch.md @@ -0,0 +1,5 @@ +--- +type: Fixed +pr: 3462 +--- +**`/gsd-debug` session manager now dispatches via `Agent()`** — stale `Task()` invocation no longer collapses debugger work into inline execution. diff --git a/agents/gsd-debug-session-manager.md b/agents/gsd-debug-session-manager.md index 986d00f2a..645c87b07 100644 --- a/agents/gsd-debug-session-manager.md +++ b/agents/gsd-debug-session-manager.md @@ -83,7 +83,7 @@ goal: {goal} ``` ``` -Task( +Agent( prompt=filled_prompt, subagent_type="gsd-debugger", model="{debugger_model}", diff --git a/tests/debug-session-management.test.cjs b/tests/debug-session-management.test.cjs index d646df6ff..f900793c8 100644 --- a/tests/debug-session-management.test.cjs +++ b/tests/debug-session-management.test.cjs @@ -161,10 +161,15 @@ describe('debug skill dispatch and sub-orchestrator (#2148, #2151)', () => { test('gsd-debug-session-manager agent exists with correct tools', () => { const content = fs.readFileSync(path.join(process.cwd(), 'agents', 'gsd-debug-session-manager.md'), 'utf8'); - assert.ok(content.includes('Task'), 'gsd-debug-session-manager missing Task tool'); + assert.ok(content.includes('Agent'), 'gsd-debug-session-manager missing Agent tool'); assert.ok(content.includes('AskUserQuestion'), 'gsd-debug-session-manager missing AskUserQuestion tool'); }); + test('gsd-debug-session-manager spawns debugger with Agent() dispatcher', () => { + const content = fs.readFileSync(path.join(process.cwd(), 'agents', 'gsd-debug-session-manager.md'), 'utf8'); + assert.ok(content.includes('\nAgent('), 'session manager must dispatch debugger with Agent('); + }); + test('gsd-debug-session-manager uses DATA_START/DATA_END for checkpoint responses', () => { const content = fs.readFileSync(path.join(process.cwd(), 'agents', 'gsd-debug-session-manager.md'), 'utf8'); assert.ok(content.includes('DATA_START') && content.includes('DATA_END'),