From 1e0823a0fc577abc383d82434da5efcd7104076d Mon Sep 17 00:00:00 2001 From: Gujiassh Date: Fri, 13 Mar 2026 01:25:13 +0900 Subject: [PATCH] fix(delegate-task): report the real background task id Keep background task metadata aligned with the background_output contract so callers do not pass a session id where the task manager expects a background task id. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- src/tools/delegate-task/background-task.test.ts | 4 ++-- src/tools/delegate-task/background-task.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tools/delegate-task/background-task.test.ts b/src/tools/delegate-task/background-task.test.ts index f6ff49cb0..7b631f659 100644 --- a/src/tools/delegate-task/background-task.test.ts +++ b/src/tools/delegate-task/background-task.test.ts @@ -102,7 +102,7 @@ describeFn("executeBackgroundTask output/session metadata compatibility", () => //#then - output and metadata should include canonical session linkage expectFn(result).toContain("") expectFn(result).toContain("session_id: ses_sub_123") - expectFn(result).toContain("task_id: ses_sub_123") + expectFn(result).toContain("task_id: bg_resolved") expectFn(result).toContain("background_task_id: bg_resolved") expectFn(result).toContain("Background Task ID: bg_resolved") expectFn(metadataCalls).toHaveLength(1) @@ -150,7 +150,7 @@ describeFn("executeBackgroundTask output/session metadata compatibility", () => //#then - late session id still propagates to task metadata contract expectFn(result).toContain("session_id: ses_late_123") - expectFn(result).toContain("task_id: ses_late_123") + expectFn(result).toContain("task_id: bg_late") expectFn(result).toContain("background_task_id: bg_late") expectFn(metadataCalls).toHaveLength(1) expectFn(metadataCalls[0].metadata.sessionId).toBe("ses_late_123") diff --git a/src/tools/delegate-task/background-task.ts b/src/tools/delegate-task/background-task.ts index 1e0d2a697..04e0b1cb4 100644 --- a/src/tools/delegate-task/background-task.ts +++ b/src/tools/delegate-task/background-task.ts @@ -82,7 +82,7 @@ export async function executeBackgroundTask( } const taskMetadataBlock = sessionId - ? `\n\n\nsession_id: ${sessionId}\ntask_id: ${sessionId}\nbackground_task_id: ${task.id}\n` + ? `\n\n\nsession_id: ${sessionId}\ntask_id: ${task.id}\nbackground_task_id: ${task.id}\n` : "" return `Background task launched.