fix(dashboard): idle Revising badge explains it is queued for a planning slot

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-07-31 15:59:18 -07:00
parent 37d891e879
commit 08a4e418f7
2 changed files with 23 additions and 1 deletions

View File

@@ -0,0 +1,7 @@
---
"@runfusion/fusion": patch
---
summary: An idle Revising card now explains it is waiting for a planning slot.
category: fix
dev: needs-replan is a durable waiting state, not a live session; the TaskCard status badge gains a tooltip when no agent is active, mirroring QUEUED TO PLAN's disambiguation. Label copy (FN-8493 "Revising") unchanged.

View File

@@ -3548,7 +3548,22 @@ function TaskCardComponent({
"tasks.awaitingApprovalTitle",
"This plan needs your approval before implementation can start.",
)
: undefined
/*
FNXC:TaskStatusBadge 2026-07-31-23:20:
`needs-replan` is a durable WAITING state (the graph's replan signal), not a live
session — the actual revise run surfaces as "planning" once triage re-admits it.
Operators read "Revising" as activity and counted it against the concurrency
panel ("five planning badges, four running agents"); mirror QUEUED TO PLAN's
disambiguation as a tooltip so the label (FN-8493 copy) stays untouched while an
idle Revising card explains itself. Gated on !isAgentActive so a genuinely
running revise cycle keeps no misleading "waiting" text.
*/
: task.status === "needs-replan" && !isAgentActive
? t(
"tasks.needsReplanQueuedTitle",
"Waiting to revise the plan — the revision starts when a planning slot frees up.",
)
: undefined
}
aria-label={isTransientPlannerActive ? t("tasks.statusPlanning", "Planning") : undefined}
data-testid={isAwaitingApproval ? `card-awaiting-approval-${task.id}` : undefined}