diff --git a/src/components/ConversationWork.tsx b/src/components/ConversationWork.tsx index 3ed0f79..db03c2a 100644 --- a/src/components/ConversationWork.tsx +++ b/src/components/ConversationWork.tsx @@ -24,7 +24,7 @@ export function ConversationWork() { if (card.kind === 'confirm' && card.anchorMessageId && messages.some(message => message.role === 'user' && message.id === card.anchorMessageId)) continue const summary = activitySummary(card) - if (card.task?.findings?.some(f=>f.status==='active'&&(f.kind==='needs_user'||f.corrects)) || card.status === 'action_required' || summary.failed || (card.status === 'done' && summary.remaining)) required.push(card) + if (card.task?.limitations?.length || card.task?.phase.id==='correction' || card.task?.findings?.some(f=>f.status==='active'&&(f.kind==='needs_user'||f.corrects)) || card.status === 'action_required' || summary.failed || (card.status === 'done' && summary.remaining)) required.push(card) else remaining.push(card) } // Preserve the host's newest-first order for completed results and history. diff --git a/src/contracts.ts b/src/contracts.ts index 47449f6..7d74580 100644 --- a/src/contracts.ts +++ b/src/contracts.ts @@ -408,6 +408,7 @@ export interface TaskResultRef { artifactId?: ID; surfaceId?: ID; version?: stri export interface TaskFinding { id: string; text: string; impact?: string; kind: string; status: string; revision: number; sources: TaskSourceRef[]; assumptions?: string; corrects?: string } export interface TaskSnapshot { inputs?: TaskSourceRef[] + limitations?: string[] schemaVersion: number; taskId: ID; attemptId: ID; cardId: ID; projectId: ID; conversationId: ID; sourceMessageId?: ID; parentRunId?: ID; runId?: ID; ownerInstanceId: string; executionEpoch?: number; revision: number; sourceSeq: number; streamScope: string; inputRevision?: string; title: string; goal?: string;