修改摘要

Agent: programmer (programmer)
Confidence: 80%
Cost: $0.7080
Duration: 2m 19s
Task ID: 08ac2732-b794-4492-b40b-f6de232b08c1


修改摘要

問題

pipelineRunId 從未被賦值給 pipeline task,導致 !task.pipelineRunId guard 永遠為 true,pipeline task 完成時 worker-scheduler 和 pipeline-engine 都會處理 HANDOFF,造成下游 agent 被 dispatch 兩次。

修改(2 個檔案,commit 9b0f7c2

src/agents/worker-scheduler.ts:

  • L225: 在 enqueueTask() opts 型別中新增 pipelineRunId?: string
  • L259: 在 task 物件建立時賦值 pipelineRunId: opts?.pipelineRunId

src/agents/pipeline-engine.ts:

  • L735: enqueueTask() 呼叫改為 enqueueTask(stage.agentName, prompt, 7, { pipelineRunId: run.id })

驗證

  • tsgo --noEmit: 通過,零錯誤
  • 現有呼叫點向後相容(pipelineRunId 是 optional,不傳則 undefined

—HANDOFF—
TO: reviewer
INTENT: handoff
ARTIFACT_TYPE: code-change
SUMMARY: 修復 pipelineRunId guard 無效導致 HANDOFF 雙重 dispatch 的 bug