diff --git a/public/images/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.png b/public/images/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.png
new file mode 100644
index 00000000..26318e43
Binary files /dev/null and b/public/images/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.png differ
diff --git a/public/images/docs/agent-playground/guides/build-workflow/set-input-variables.png b/public/images/docs/agent-playground/guides/build-workflow/set-input-variables.png
new file mode 100644
index 00000000..25661501
Binary files /dev/null and b/public/images/docs/agent-playground/guides/build-workflow/set-input-variables.png differ
diff --git a/public/images/docs/agent-playground/guides/create-agent.png b/public/images/docs/agent-playground/guides/create-agent.png
new file mode 100644
index 00000000..d0ca8fc8
Binary files /dev/null and b/public/images/docs/agent-playground/guides/create-agent.png differ
diff --git a/public/images/docs/falcon-ai/guides/chat-with-falcon-ai/open-shortcut-panel.png b/public/images/docs/falcon-ai/guides/chat-with-falcon-ai/open-shortcut-panel.png
index 48947851..9f72fd4d 100644
Binary files a/public/images/docs/falcon-ai/guides/chat-with-falcon-ai/open-shortcut-panel.png and b/public/images/docs/falcon-ai/guides/chat-with-falcon-ai/open-shortcut-panel.png differ
diff --git a/public/images/docs/optimization/guides/run-an-optimization.png b/public/images/docs/optimization/guides/run-an-optimization.png
new file mode 100644
index 00000000..dc5ae3c2
Binary files /dev/null and b/public/images/docs/optimization/guides/run-an-optimization.png differ
diff --git a/src/pages/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.mdx b/src/pages/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.mdx
index e91ac2b5..a13df491 100644
--- a/src/pages/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.mdx
+++ b/src/pages/docs/agent-playground/guides/build-workflow/configure-an-llm-prompt-node.mdx
@@ -13,6 +13,9 @@ This guide picks up once a workflow with an LLM Prompt node already exists on th
Click the LLM Prompt node on the canvas. Its drawer opens with the node's own configuration form.
+
+*The form reads top to bottom: name, version, model, then the messages*
+
## Name the node
**Prompt Name** is required and sits at the top of the form. Typing here sets this node's name: what you type is lowercased, every character other than `a`-`z`, `0`-`9`, and `_` is replaced with an underscore, and leading underscores are stripped.
diff --git a/src/pages/docs/agent-playground/guides/build-workflow/set-input-variables.mdx b/src/pages/docs/agent-playground/guides/build-workflow/set-input-variables.mdx
index 97f13135..a6d2844b 100644
--- a/src/pages/docs/agent-playground/guides/build-workflow/set-input-variables.mdx
+++ b/src/pages/docs/agent-playground/guides/build-workflow/set-input-variables.mdx
@@ -11,11 +11,18 @@ This guide picks up once a workflow with at least one LLM Prompt node already ex
## Open the Variables drawer
-In the builder, click **Add input variables** at the top right of the canvas. The drawer opens headed **Variables**, with the subtext "Define values for your prompt variables". The list comes from your workflow's saved version, so a variable you just added won't show up until the node and the agent are saved.
+In the builder, click **Add input variables** at the top right of the canvas. The drawer opens headed **Variables**, with the subtext "Define values for your prompt variables".
+
+
+*This is the state a run needs: every listed variable carrying a value, none left blank*
+
+
+The list comes from your workflow's **saved** version. A variable you added a moment ago won't appear here until you've saved both the node and the agent, so an empty or short list usually means an unsaved edit rather than a missing variable.
+
## Fill in each variable
-The drawer lists each variable by name, with a field beside it for the value you want this run to use. Give every listed variable a concrete value. If your prompt asks for the invoice text to classify, for example, fill that variable with the actual invoice, such as "Invoice #4521 from Acme Supplies, $2,400 due in 30 days." Only inputs with no incoming connection show up here, since those are [the agent's own inputs](/docs/agent-playground/concepts/understanding-agent-playground#what-isnt-connected-becomes-the-agents-own-input-or-output).
+The drawer lists each variable by name, with the field for its value directly underneath. Give every listed variable a concrete value. If your prompt asks for the invoice text to classify, for example, fill that variable with the actual invoice, such as "Invoice #4521 from Acme Supplies, $2,400 due in 30 days." Only inputs with no incoming connection show up here, since those are [the agent's own inputs](/docs/agent-playground/concepts/understanding-agent-playground#what-isnt-connected-becomes-the-agents-own-input-or-output).
## Save your values
diff --git a/src/pages/docs/agent-playground/guides/create-agent.mdx b/src/pages/docs/agent-playground/guides/create-agent.mdx
index 52bbcf57..401828ba 100644
--- a/src/pages/docs/agent-playground/guides/create-agent.mdx
+++ b/src/pages/docs/agent-playground/guides/create-agent.mdx
@@ -15,6 +15,9 @@ Click **Agents** in the sidebar to see every agent in the workspace. Clicking an
Click **Create Agent** in the top right to start a new one. You land straight on an empty builder canvas for a brand-new agent. That agent already exists as an empty draft the moment the canvas opens.
+
+*An agent you never renamed keeps its generated timestamp name, which is what the **No. of nodes** column is for: it's the only thing in the row that tells you how much is in there*
+
If **Create Agent** or, later, **Delete** looks greyed out, hover it: a tooltip explains why, either `You don't have permission to create agents.` or `You don't have permission to delete agents.`
diff --git a/src/pages/docs/falcon-ai/guides/chat-with-falcon-ai.mdx b/src/pages/docs/falcon-ai/guides/chat-with-falcon-ai.mdx
index 9b8ac6cd..e96508f6 100644
--- a/src/pages/docs/falcon-ai/guides/chat-with-falcon-ai.mdx
+++ b/src/pages/docs/falcon-ai/guides/chat-with-falcon-ai.mdx
@@ -10,12 +10,12 @@ Falcon AI is the AI copilot built into the Future AGI dashboard, reachable from
Click **Falcon AI** in the dashboard's navigation sidebar. It opens the full-page view at `/dashboard/falcon-ai`, with your conversations listed down the left and the chat itself in the center.
-*The full page adds a conversation list; the side panel doesn't*
+*Every conversation you have ever had is one click away in the left rail, which is the full page's whole advantage over the panel*
From anywhere else, press `⌘K` (Mac) or `Ctrl+K` (Windows/Linux), or click the floating button in the bottom-right corner of the page, tooltipped **Falcon AI (⌘K)**. Either opens a panel that slides in from the side, so you can keep the page underneath in view while you ask something.
-
-*The floating button and ⌘K both open the same side panel*
+
+*The chip in the panel's header names the area Falcon AI picked up from the page behind it, which is [Auto](#point-it-at-the-right-context) doing its job*
Opening the full page while the side panel is open closes the panel.
@@ -45,7 +45,7 @@ The second row of chips, the one sitting directly above the input, is a differen
Type your question into the input at the bottom and click **Send**, or press Enter to send and Shift+Enter to add a newline. Send stays inactive until there's something to send, either typed text or [an attached file](#attach-a-file), so an empty input can't be submitted by mistake.
-*Send lights up once there's text or a file attached*
+*Enter sends, so the button is there for the mouse rather than because you need it*
## Point it at the right context
@@ -60,7 +60,7 @@ Falcon AI defaults to Auto, reading the page you're on to work out what you're a
- Prompts
-*Switch off Auto when you're asking about something other than the page you're on*
+*The tick marks what is active, so a glance at the closed control tells you what Falcon AI is about to search*
## Attach a file
@@ -84,22 +84,28 @@ A file over 10 MB is dropped with no message. If an attachment you tried to add
The response streams in as it's generated, and the input stays disabled until it finishes.
-If Falcon AI needs a tool along the way, a card appears in the conversation, starting at "Running...". Collapsed, it shows the tool's name and the first line of what came back. Open it and you get a sentence describing what that tool does, then **Parameters**, **Result**, and **Full output**: **Parameters** is a disclosure of its own, holding the JSON that was sent, and it only appears when the call took arguments; **Result** is the same one-line summary from the collapsed state; **Full output** renders what came back, as a table where the tool returned rows. [Understanding Falcon AI](/docs/falcon-ai/concepts/understanding-falcon-ai) covers how it decides which tool to reach for.
+If Falcon AI needs a tool along the way, a card appears in the conversation, starting at "Running...". Collapsed, it shows the tool's name and the first line of what came back. Open it and a sentence describing what that tool does sits above three parts:
+
+- **Parameters**, the JSON that was sent. It's a disclosure of its own, so it stays shut until you open it, and it's absent entirely when the call took no arguments
+- **Result**, the same one-line summary you saw on the collapsed card
+- **Full output**, what actually came back, rendered as a table where the tool returned rows
+
+[Understanding Falcon AI](/docs/falcon-ai/concepts/understanding-falcon-ai) covers how it decides which tool to reach for.
-*Parameters is collapsed until you open it, and a tool that took no arguments has no Parameters section at all*
+*Full output is where a tool's real answer lives; Result is only ever the first line of it*
If a turn is taking too long, click **Stop**. It cuts the response off where it is and keeps whatever has been written so far, rather than discarding it.
-*Stop ends the turn but leaves the partial answer in the conversation*
+*Stopping keeps every tool card the turn already produced, not just the text it had written*
## Copy or rate an answer
Under each answer sit three icon buttons: **Copy**, which copies the response to your clipboard, and **Good response** or **Bad response**, which record whether it was useful. They carry no labels, so read them by their icons: a pair of pages, a thumbs up, and a thumbs down.
-*Copy, Good response, and Bad response sit under every answer*
+*The row only appears once the answer has finished streaming, so its absence mid-turn isn't a fault*
## Pace and cost
diff --git a/src/pages/docs/falcon-ai/guides/connect-mcp-server.mdx b/src/pages/docs/falcon-ai/guides/connect-mcp-server.mdx
index 05572852..e79ede49 100644
--- a/src/pages/docs/falcon-ai/guides/connect-mcp-server.mdx
+++ b/src/pages/docs/falcon-ai/guides/connect-mcp-server.mdx
@@ -9,12 +9,14 @@ Before you start, make sure you have access to Workspace Settings in your worksp
## Open the Connectors page
-Connectors live on the **Falcon AI Connectors** page, under **Workspace Settings** in Settings. Open Settings, then click **Falcon AI Connectors** in the sidebar to go straight there. Click **Add Connector** to open the form.
+Connectors live on the **Falcon AI Connectors** page, under **Workspace Settings** in Settings. Open Settings, then click **Falcon AI Connectors** in the sidebar to go straight there. Click **Add Connector**, top right, to open the form; on an empty page the **Add your first connector** button in the middle opens the same one.
-*With nothing added yet, the list column reads **No connectors yet** and the pane beside it offers **Add your first connector***
+*Connectors are a workspace setting, so one you add here is available to everyone in the workspace, not just to you*
-You can also get here from inside a conversation. The chat input's **+** menu has a **Connectors** submenu ending in **Manage connectors**, and the Customize panel has a **Connectors** section of its own with an **Add connector** button.
+
+You can also reach this page from inside a conversation: the chat input's **+** menu has a **Connectors** submenu ending in **Manage connectors**, and the Customize panel has a **Connectors** section of its own with an **Add connector** button.
+
## Name it and point it at the server
@@ -49,6 +51,8 @@ With the connector saved and, for OAuth, signed in, select the new connector in
Once the connection is good, click **Discover Tools** (it reads **Discovering...** while it runs) to have the server report what it offers. A successful pass shows something like **Discovered 4 tools.** A failed one shows **Tool discovery failed.**
+Either failure points back at the form rather than at Falcon AI, so click **Edit** and re-check three things: the **Server URL** the server actually listens on, the **Transport** it expects (an older server given Streamable HTTP fails here rather than at save), and, for API Key, that **Header Name** matches what the server looks for and not just the credential in **Header Value**. Save and run **Test Connection** again.
+
## Narrow down the tools
A successful discovery turns every tool it found on, so Falcon AI can already call all of them. The next step is cutting that set back to the ones you actually want, covered in [Choose connector tools](/docs/falcon-ai/guides/choose-connector-tools).
diff --git a/src/pages/docs/optimization/guides/read-optimization-results.mdx b/src/pages/docs/optimization/guides/read-optimization-results.mdx
index f8bd85ea..8b86c513 100644
--- a/src/pages/docs/optimization/guides/read-optimization-results.mdx
+++ b/src/pages/docs/optimization/guides/read-optimization-results.mdx
@@ -23,9 +23,6 @@ Lines that stay bunched around the baseline mean the run plateaued and didn't fi
The trial list is where you compare candidates. Each row is a trial the optimizer generated, labeled Trial 1, Trial 2, and so on, listed in the order they ran; the baseline has no row of its own here, even though it gets its own category on the graph. The list isn't sorted by score; instead, the strongest trial is flagged directly in the **Trial** column.
-
-*The strongest trial is called out without sorting the list*
-
### While the run is going
While a run is **Queue** or **Running**, the detail page shows a stepper for its four steps, onboarding, running the baseline eval, starting trials, and finalizing, and a 'Please wait while we complete the optimization...' loader instead of the graph, result bar, or trial list.
@@ -52,9 +49,6 @@ Click into any trial in the list to see what's behind its score.
The **Prompt** tab shows the trial's full prompt on its own. Turn on **Show Diff** and it puts the baseline prompt and the trial's prompt side by side, with the changed lines highlighted, so you see exactly what the optimizer changed, added, or removed instead of spotting the differences yourself.
-
-*Show Diff highlights what the optimizer changed from the baseline prompt*
-
### Trial Items
The **Trial Items** tab is the row-by-row evidence behind the average. Each row is one dataset row the trial was scored against, showing the input, the output the model produced, and a score for each eval. If the run had more than one eval, this is where you see each eval's score for that specific row.
diff --git a/src/pages/docs/optimization/guides/run-an-optimization.mdx b/src/pages/docs/optimization/guides/run-an-optimization.mdx
index f024911f..4a25f573 100644
--- a/src/pages/docs/optimization/guides/run-an-optimization.mdx
+++ b/src/pages/docs/optimization/guides/run-an-optimization.mdx
@@ -13,6 +13,9 @@ You need a dataset with a column that Run Prompt created, since Choose Column on
Open the dataset that holds the prompt column you want to improve, then go to its **Optimization** tab. The button is **Run Optimization** on an empty tab and **Optimize Prompts** in the grid header once runs exist; either one opens the same **Run Optimization** drawer.
+
+*Optimization is a tab on the dataset, not a section of its own, so a run is always tied to the dataset you opened it from*
+
If the dataset doesn't yet have a column of generated outputs to optimize, the drawer shows a **Run Prompt** button in place of the fields below. Click it, or see [Run Prompt](/docs/dataset/guides/run-a-prompt-on-every-row), then reopen the drawer.
## Fill the run drawer
@@ -27,9 +30,6 @@ For this walkthrough, fill in the fields as follows. The first four are fixed fi
- **Max Metric Calls**: 40, the suggested default; this is the total number of metric evaluations the run can spend
- **Evaluations**: an accordion, not a field you choose from; picking `summary_prompt` loads whatever evals are already attached to that column, and every one of them scores the run. If none are attached, the accordion shows 'No evaluations added' with an **Add Evaluations** button. For this walkthrough, `summary_quality` is already attached to `summary_prompt` and loads in with it
-
-*The Run Optimization drawer with GEPA selected, showing Optimization Objective and Max Metric Calls*
-
Optimization Objective is shared across all six optimizers; the remaining parameter fields change with whichever optimizer is currently selected. See [Optimizers](/docs/optimization/reference/optimizers) for the full field list by optimizer.
An eval is the signal the optimizer improves against: it scores each candidate prompt. See [Understanding Evaluation](/docs/evaluation/concepts/understanding-evaluation) for how evals work. The run needs at least one before it will start; submitting without one is blocked with 'Add evaluations before starting your optimization run'.