feat(workflows): drop the patterns list and model delegation flow

Neither panel drove a decision: the detected-pattern ranking restated what
the orchestration DAG already shows, and the delegation flow's main→subagent
model pairing is visible in the per-session drill-in. Removes both components
and their i18n blocks, promotes the error-propagation map to full width, and
renumbers the remaining sections 4-7.
This commit is contained in:
2026-09-08 11:10:32 +07:00
parent 47a8726e27
commit fe45644b31
6 changed files with 46 additions and 1353 deletions
+13 -37
View File
@@ -3,10 +3,11 @@
* @description Workflows page. Opens on this dashboard's OWN pipelines — per-node
* pass rates across every lane, and which skills/plugins actually get used — then
* the Claude Code orchestration analytics: headline stats, Workflow-tool runs, the
* spawning DAG, patterns, model delegation, error propagation, session complexity,
* compaction impact and the per-session drill-in. Issue #6 dropped the agent
* collaboration network and the subagent effectiveness scorecards as too
* specialized to act on; the tool-execution Sankey followed for the same reason.
* spawning DAG, error propagation, session complexity, compaction impact and the
* per-session drill-in. Issue #6 dropped the agent collaboration network and the
* subagent effectiveness scorecards as too specialized to act on; the
* tool-execution Sankey, the detected-patterns list and the model delegation flow
* followed for the same reason.
* @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
*/
/* =============================================================================
@@ -35,8 +36,6 @@
* - `../components/workflows/SkillUsagePanel`
* - `../components/workflows/WorkflowRunsPanel`
* - `../components/workflows/OrchestrationDAG`
* - `../components/workflows/WorkflowPatterns`
* - `../components/workflows/ModelDelegationFlow`
* - `../components/workflows/ErrorPropagationMap`
* - `../components/workflows/SessionComplexityScatter`
* - `../components/workflows/CompactionImpact`
@@ -80,8 +79,6 @@ import type { WorkflowData, WSMessage } from "../lib/types";
import { WorkflowStats } from "../components/workflows/WorkflowStats";
import { OrchestrationDAG } from "../components/workflows/OrchestrationDAG";
import { WorkflowPatterns } from "../components/workflows/WorkflowPatterns";
import { ModelDelegationFlow } from "../components/workflows/ModelDelegationFlow";
import { ErrorPropagationMap } from "../components/workflows/ErrorPropagationMap";
import { SessionComplexityScatter } from "../components/workflows/SessionComplexityScatter";
import { CompactionImpact } from "../components/workflows/CompactionImpact";
@@ -264,41 +261,20 @@ export function Workflows() {
)}
</Section>
{/* Section 4: Workflow Patterns */}
{/* Section 4: Error Propagation */}
<Section
number={4}
title={t("patterns.title")}
subtitle={t("patterns.subtitle")}
infoKey="patterns"
title={t("errorPropagation.title")}
subtitle={t("errorPropagation.subtitle")}
infoKey="errorPropagation"
>
<WorkflowPatterns data={data.patterns} onPatternClick={() => {}} />
<ErrorPropagationMap data={data.errorPropagation} />
</Section>
{/* Section 5 + 6: Two Column */}
<div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
<Section
number={5}
title={t("modelDelegation.title")}
subtitle={t("modelDelegation.subtitle")}
infoKey="modelDelegation"
>
<ModelDelegationFlow data={data.modelDelegation} />
</Section>
<Section
number={6}
title={t("errorPropagation.title")}
subtitle={t("errorPropagation.subtitle")}
infoKey="errorPropagation"
>
<ErrorPropagationMap data={data.errorPropagation} />
</Section>
</div>
{/* Section 7 + 8: Two Column */}
<div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
<Section
number={7}
title={t("complexity.title")}
subtitle={t("complexity.subtitle")}
infoKey="complexity"
@@ -307,7 +283,7 @@ export function Workflows() {
</Section>
<Section
number={8}
number={6}
title={t("compaction.title")}
subtitle={t("compaction.subtitle")}
infoKey="compaction"
@@ -316,9 +292,9 @@ export function Workflows() {
</Section>
</div>
{/* Section 9: Session Drill-In */}
{/* Section 7: Session Drill-In */}
<Section
number={9}
number={7}
title={t("drillIn.title")}
subtitle={t("drillIn.subtitle")}
infoKey="drillIn"
@@ -10808,7 +10808,7 @@ exports[`screen snapshots > Workflows 1`] = `
<h2
class="text-sm font-semibold text-fg-primary"
>
Detected Workflow Patterns
Error Propagation Map
</h2>
<button
aria-expanded="false"
@@ -10844,56 +10844,48 @@ exports[`screen snapshots > Workflows 1`] = `
</div>
<span
class="hidden lg:block flex-shrink-0 max-w-[20rem] xl:max-w-sm truncate text-right text-[11px] text-fg-muted"
title="Common agent orchestration sequences"
title="Where errors cluster in agent hierarchy depth"
>
Common agent orchestration sequences
Where errors cluster in agent hierarchy depth
</span>
</div>
<div
class="card p-4 flex-1"
>
<div
class="card p-5"
class="flex flex-col items-center justify-center py-16 gap-3"
>
<h2
class="text-sm font-semibold text-fg-secondary uppercase tracking-wider mb-4"
>
Workflow Patterns
</h2>
<div
class="flex flex-col items-center justify-center py-12 text-center"
class="w-12 h-12 rounded-full bg-status-success/10 border border-status-success/20 flex items-center justify-center"
>
<div
class="w-10 h-10 rounded-xl bg-surface-4 flex items-center justify-center mb-3"
<svg
fill="none"
height="24"
stroke="#10b981"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
>
<svg
class="lucide lucide-zap w-5 h-5 text-fg-muted"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"
/>
</svg>
</div>
<p
class="text-sm font-medium text-fg-secondary"
>
No patterns detected yet
</p>
<p
class="text-xs text-fg-muted mt-1"
>
Patterns appear once multiple sessions share the same agent sequence.
</p>
<path
d="M22 11.08V12a10 10 0 1 1-5.93-9.14"
/>
<polyline
points="22 4 12 14.01 9 11.01"
/>
</svg>
</div>
<span
class="text-sm text-status-success font-medium"
>
No errors recorded
</span>
<span
class="text-xs text-fg-muted"
>
All sessions completed successfully
</span>
</div>
</div>
</div>
@@ -10914,198 +10906,6 @@ exports[`screen snapshots > Workflows 1`] = `
>
5
</span>
<h2
class="text-sm font-semibold text-fg-primary"
>
Model Delegation Flow
</h2>
<button
aria-expanded="false"
aria-label="What this shows"
class="flex items-center justify-center rounded-full p-0.5 -m-0.5 text-fg-muted hover:text-fg-secondary transition-colors focus:outline-none focus:ring-1 focus:ring-accent/40"
type="button"
>
<svg
class="lucide lucide-info w-3.5 h-3.5"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</div>
<span
class="hidden lg:block flex-shrink-0 max-w-[20rem] xl:max-w-sm truncate text-right text-[11px] text-fg-muted"
title="How models route through agent hierarchies"
>
How models route through agent hierarchies
</span>
</div>
<div
class="card p-4 flex-1"
>
<div
class="flex flex-col items-center justify-center py-16 gap-3 text-fg-muted"
>
<svg
aria-hidden="true"
fill="none"
height="40"
stroke="currentColor"
stroke-width="1.5"
viewBox="0 0 24 24"
width="40"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 8v4M12 16h.01"
/>
</svg>
<span
class="text-sm"
>
No model delegation data available
</span>
</div>
</div>
</div>
<div
class="flex flex-col h-full"
>
<div
class="flex items-center justify-between gap-4 mb-3"
>
<div
class="flex items-center gap-2.5 min-w-0"
>
<span
class="w-5 h-5 rounded-md bg-accent/15 text-accent text-[11px] font-bold flex items-center justify-center flex-shrink-0"
>
6
</span>
<h2
class="text-sm font-semibold text-fg-primary"
>
Error Propagation Map
</h2>
<button
aria-expanded="false"
aria-label="What this shows"
class="flex items-center justify-center rounded-full p-0.5 -m-0.5 text-fg-muted hover:text-fg-secondary transition-colors focus:outline-none focus:ring-1 focus:ring-accent/40"
type="button"
>
<svg
class="lucide lucide-info w-3.5 h-3.5"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</div>
<span
class="hidden lg:block flex-shrink-0 max-w-[20rem] xl:max-w-sm truncate text-right text-[11px] text-fg-muted"
title="Where errors cluster in agent hierarchy depth"
>
Where errors cluster in agent hierarchy depth
</span>
</div>
<div
class="card p-4 flex-1"
>
<div
class="flex flex-col items-center justify-center py-16 gap-3"
>
<div
class="w-12 h-12 rounded-full bg-status-success/10 border border-status-success/20 flex items-center justify-center"
>
<svg
fill="none"
height="24"
stroke="#10b981"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
>
<path
d="M22 11.08V12a10 10 0 1 1-5.93-9.14"
/>
<polyline
points="22 4 12 14.01 9 11.01"
/>
</svg>
</div>
<span
class="text-sm text-status-success font-medium"
>
No errors recorded
</span>
<span
class="text-xs text-fg-muted"
>
All sessions completed successfully
</span>
</div>
</div>
</div>
</div>
<div
class="grid grid-cols-1 lg:grid-cols-2 gap-6"
>
<div
class="flex flex-col h-full"
>
<div
class="flex items-center justify-between gap-4 mb-3"
>
<div
class="flex items-center gap-2.5 min-w-0"
>
<span
class="w-5 h-5 rounded-md bg-accent/15 text-accent text-[11px] font-bold flex items-center justify-center flex-shrink-0"
>
7
</span>
<h2
class="text-sm font-semibold text-fg-primary"
>
@@ -11208,7 +11008,7 @@ exports[`screen snapshots > Workflows 1`] = `
<span
class="w-5 h-5 rounded-md bg-accent/15 text-accent text-[11px] font-bold flex items-center justify-center flex-shrink-0"
>
8
6
</span>
<h2
class="text-sm font-semibold text-fg-primary"
@@ -11303,7 +11103,7 @@ exports[`screen snapshots > Workflows 1`] = `
<span
class="w-5 h-5 rounded-md bg-accent/15 text-accent text-[11px] font-bold flex items-center justify-center flex-shrink-0"
>
9
7
</span>
<h2
class="text-sm font-semibold text-fg-primary"