From 487d568fdb0383e1720a80cecfeebcc1dfca6266 Mon Sep 17 00:00:00 2001 From: Chinesezjc Date: Tue, 28 Jul 2026 20:25:32 +0800 Subject: [PATCH] docs(gui): planSummary states what an unusable active name actually costs The JSDoc claimed the caller falls back to its own summary when `activeContent` is null. It does not: `summarize()` still returns the count-only text, so the row's `?? model.summary` never runs and only the active-item clause is dropped. --- .../ui-conversation/src/client/toolviews/plan-summary.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/client/ui-conversation/src/client/toolviews/plan-summary.ts b/packages/client/ui-conversation/src/client/toolviews/plan-summary.ts index cb47e7df4c..9c81f008fe 100644 --- a/packages/client/ui-conversation/src/client/toolviews/plan-summary.ts +++ b/packages/client/ui-conversation/src/client/toolviews/plan-summary.ts @@ -38,8 +38,10 @@ export interface PlanSummary { * the first `in_progress` item and counts the remaining active ones, so a * parallel plan reports how many tasks are running rather than naming one and * hiding the others. `activeContent` is null when nothing is in progress, or - * when the first active item carries no usable content — model JSON may, and - * the caller then falls back to its own summary. + * when the first active item carries no usable content — model JSON may. The + * row then renders the counts alone rather than falling back to the generic + * tool summary: the counts are already known to be good, and the active-item + * clause is the only part an unusable name costs. * @param todos - the whole list, in model order. * @returns the done/total counts and the two summary halves. */