FN-7185: add PR feedback addressing action

Add a dashboard action that starts an AI pass for actionable pull-request review feedback.

- Add a lifecycle route that validates linked PR tasks, seeds a ce-resolve-pr-feedback steering prompt, returns in-review tasks to active work, and wakes assigned agents when needed.
- Add shared PR feedback gating plus task-card and Review tab buttons with loading states, toasts, styling, docs, and translations.
- Cover the route, API client, task card, and Review tab behavior with regression tests.

Files changed:
 .changeset/fn-7185-address-pr-feedback.md          |   7 +
 docs/dashboard-guide.md                            |   1 +
 packages/dashboard/app/__tests__/api-tasks.test.ts |  12 ++
 packages/dashboard/app/api/legacy.ts               |  11 ++
 packages/dashboard/app/components/TaskCard.css     |   7 +-
 packages/dashboard/app/components/TaskCard.tsx     |  44 +++++-
 .../dashboard/app/components/TaskReviewTab.tsx     |  41 ++++-
 .../app/components/__tests__/TaskCard.test.tsx     | 164 +++++++++++++++++++-
 .../components/__tests__/TaskReviewTab.test.tsx    | 127 ++++++++++++++++
 packages/dashboard/app/utils/prFeedback.ts         |  22 +++
 .../dashboard/src/__tests__/routes-tasks.test.ts   | 165 +++++++++++++++++++++
 .../src/routes/register-task-workflow-routes.ts    |  67 +++++++++
 packages/i18n/locales/en/app.json                  |  10 ++
 packages/i18n/locales/es/app.json                  |  22 ++-
 packages/i18n/locales/fr/app.json                  |  22 ++-
 packages/i18n/locales/ko/app.json                  |  22 ++-
 packages/i18n/locales/zh-CN/app.json               |  22 ++-
 packages/i18n/locales/zh-TW/app.json               |  22 ++-
 18 files changed, 764 insertions(+), 24 deletions(-)

Fusion-Task-Id: FN-7185

Fusion-Task-Lineage: b2e98163-4fc6-45c9-8ace-a14eeb096e10

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
gsxdsm
2026-06-28 02:04:31 -07:00
parent dc54b615d4
commit 9050ee1a42
18 changed files with 764 additions and 24 deletions

View File

@@ -347,6 +347,10 @@ export interface ReviseTaskReviewResponse {
reviewState: NonNullable<TaskDetail["reviewState"]>;
}
export interface AddressPrFeedbackResponse {
task: Task;
}
export interface DuplicateMatch {
id: string;
title: string;
@@ -6517,6 +6521,13 @@ export function reviseTaskReviewItems(taskId: string, selectedItems: SelectedRev
});
}
/** Request an AI pass that addresses open pull-request feedback for the task's primary PR. */
export function addressPrFeedback(taskId: string, projectId?: string): Promise<AddressPrFeedbackResponse> {
return api<AddressPrFeedbackResponse>(withProjectId(`/tasks/${encodeURIComponent(taskId)}/pr/address-feedback`, projectId), {
method: "POST",
});
}
/** Return task to agent - clear assignee and status, move to todo */
export function returnTaskToAgent(taskId: string, projectId?: string): Promise<Task> {
return api<Task>(withProjectId(`/tasks/${encodeURIComponent(taskId)}/return-to-agent`, projectId), {