feat(FN-3282): add durable review addressing snapshots

This merge adds two substantial features: a rooms and chat sidebar system (FN-3806) with a new `CreateRoomModal` and enriched `ChatView`, wired through plugin routes and a new `listTasksModifiedSince` core API; and a durable review addressing workflow (FN-3282) that persists snapshots, renders addre

Fusion-Task-Id: FN-3282
This commit is contained in:
Fusion
2026-05-09 02:32:38 -07:00
committed by gsxdsm
parent 301038effd
commit fff18ea313
9 changed files with 360 additions and 109 deletions

View File

@@ -1832,9 +1832,34 @@ export function registerTaskWorkflowRoutes(ctx: ApiRoutesContext, deps: TaskWork
});
const steeringText = ["Selected review feedback to address", modeSummary, ...steeringItems].join("\n");
const priorAddressingById = new Map(task.reviewState.addressing.map((record) => [record.itemId, record] as const));
const nextAddressing = [
...task.reviewState.addressing.filter((record) => !selectedSet.has(record.itemId)),
...selectedItems.map((item: SelectedReviewItem) => ({ itemId: item.id, status: "queued" as const, selectedAt: now })),
...selectedItems.map((item: SelectedReviewItem) => {
const existing = priorAddressingById.get(item.id);
return {
itemId: item.id,
status: "queued" as const,
selectedAt: now,
startedAt: undefined,
completedAt: undefined,
error: undefined,
stale: false,
snapshot: {
itemId: item.id,
sourceMode: task.reviewState?.source ?? "pull-request",
source: item.source,
summary: item.summary,
body: item.body,
authorLogin: item.author,
filePath: item.filePath,
lineNumber: item.lineNumber,
threadId: item.threadId,
url: item.url,
},
...(existing ? { startedAt: existing.startedAt, completedAt: existing.completedAt } : {}),
};
}),
];
const reviewState = {