diff --git a/apps/api/src/tools/task-board/run-reactions.test.ts b/apps/api/src/tools/task-board/run-reactions.test.ts index 94139a706c..26bf8a3e51 100644 --- a/apps/api/src/tools/task-board/run-reactions.test.ts +++ b/apps/api/src/tools/task-board/run-reactions.test.ts @@ -322,4 +322,11 @@ describe("reactToFailedTaskRun on a card that already moved on", () => { await reactToFailedTaskRun(taskBoard, "thr-1", "org-1", CANON_LANES); expect(calls).toEqual(["retry"]); }); + + it("retries a card mid-work on an org-owned board whose progress column isn't named 'in_progress'", async () => { + const orgLanes = { ...CANON_LANES, progress: "col-doing" }; + const { taskBoard, calls } = fakeBoard("col-doing"); + await reactToFailedTaskRun(taskBoard, "thr-1", "org-1", orgLanes); + expect(calls).toEqual(["retry"]); + }); }); diff --git a/apps/api/src/tools/task-board/run-reactions.ts b/apps/api/src/tools/task-board/run-reactions.ts index 4d30701f84..395af36413 100644 --- a/apps/api/src/tools/task-board/run-reactions.ts +++ b/apps/api/src/tools/task-board/run-reactions.ts @@ -417,7 +417,7 @@ export async function reactToFailedTaskRun( .relabelDeliveredFailure(threadId, orgId, DELIVERED_FAILURE_REASON) .catch(() => {}); } - if (item.status !== "in_progress") continue; + if (item.status !== lanes.progress) continue; // A REVIEWER's run failed, not the author's: the card is In Progress only // because that is where a card under review sits now. Retrying it here // would dispatch a fresh Super Agent run over a PR that is waiting for a