diff --git a/src/renderer/components/WorkflowEditor.tsx b/src/renderer/components/WorkflowEditor.tsx
index fc84a21..6bbd4a7 100644
--- a/src/renderer/components/WorkflowEditor.tsx
+++ b/src/renderer/components/WorkflowEditor.tsx
@@ -691,6 +691,9 @@ function WorkflowSettingsPanel({
+
+ Off-thread executes in the background without blocking. Lockstep waits for each step to finish before proceeding.
+
@@ -790,9 +796,14 @@ function WorkflowSettingsPanel({
{/* State Scopes */}
-
- State Scopes
-
+
+
+ State Scopes
+
+
+ Named containers for shared state that persists across workflow steps.
+
+
-
+
-
+
Round Robin
@@ -276,7 +276,7 @@ function GroupChatSettingsPanel({
-
+
{/* Port ID */}
- patchConfig({ portId: v })}
- placeholder="Unique port identifier"
- value={config.portId}
- />
+
+
patchConfig({ portId: v })}
+ placeholder="Unique port identifier"
+ value={config.portId}
+ />
+
+ Unique identifier used to target this port from parent workflows or external callers.
+
+
{/* Request Type */}
diff --git a/src/renderer/components/workflow/WorkflowGraphInspector.tsx b/src/renderer/components/workflow/WorkflowGraphInspector.tsx
index 5b2b5d2..38b427e 100644
--- a/src/renderer/components/workflow/WorkflowGraphInspector.tsx
+++ b/src/renderer/components/workflow/WorkflowGraphInspector.tsx
@@ -155,12 +155,17 @@ function AgentNodeInspector({
}}
value={config.model}
/>
-
patchConfig({ reasoningEffort: value })}
- supportedEfforts={getSupportedReasoningEfforts(model)}
- value={config.reasoningEffort}
- />
+
+
patchConfig({ reasoningEffort: value })}
+ supportedEfforts={getSupportedReasoningEfforts(model)}
+ value={config.reasoningEffort}
+ />
+
+ Controls how much the model reasons before responding. Higher values produce more careful, thorough answers.
+
+
);
@@ -290,27 +295,35 @@ function EdgeInspector({
+
+ Direct connects nodes sequentially. Fan-out splits into parallel branches. Fan-in waits for all branches to complete.
+
{/* Loop controls */}
-
+
+
+
+ Creates an iterative cycle, re-executing the path between these nodes up to a set limit.
+
+
{edge.isLoop && (