Keep critical coverage and correction notices in conversation work

Why: A folded auxiliary panel must not hide material limits or withdrawn conclusions.

Evidence: SELF 213 frontend tests, type checks, knip ratchet, and bundle build pass.

Impact: Prioritizes existing task cards without opening files or changing focus.

Refs: fast-slow-u2-u3 Task 5
This commit is contained in:
2026-10-13 02:36:57 +00:00
parent 54fe339e65
commit 8be95c8807
2 changed files with 2 additions and 1 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ export function ConversationWork() {
if (card.kind === 'confirm' && card.anchorMessageId if (card.kind === 'confirm' && card.anchorMessageId
&& messages.some(message => message.role === 'user' && message.id === card.anchorMessageId)) continue && messages.some(message => message.role === 'user' && message.id === card.anchorMessageId)) continue
const summary = activitySummary(card) 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) else remaining.push(card)
} }
// Preserve the host's newest-first order for completed results and history. // Preserve the host's newest-first order for completed results and history.
+1
View File
@@ -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 TaskFinding { id: string; text: string; impact?: string; kind: string; status: string; revision: number; sources: TaskSourceRef[]; assumptions?: string; corrects?: string }
export interface TaskSnapshot { export interface TaskSnapshot {
inputs?: TaskSourceRef[] inputs?: TaskSourceRef[]
limitations?: string[]
schemaVersion: number; taskId: ID; attemptId: ID; cardId: ID; projectId: ID; conversationId: ID; schemaVersion: number; taskId: ID; attemptId: ID; cardId: ID; projectId: ID; conversationId: ID;
sourceMessageId?: ID; parentRunId?: ID; runId?: ID; ownerInstanceId: string; executionEpoch?: number; sourceMessageId?: ID; parentRunId?: ID; runId?: ID; ownerInstanceId: string; executionEpoch?: number;
revision: number; sourceSeq: number; streamScope: string; inputRevision?: string; title: string; goal?: string; revision: number; sourceSeq: number; streamScope: string; inputRevision?: string; title: string; goal?: string;