From 7ef09b96e69060bb5464d2ab54cabbb489b18aa8 Mon Sep 17 00:00:00 2001 From: Brad Harris Date: Thu, 9 Jul 2026 22:06:03 -0600 Subject: [PATCH] Document diff review mode, split pane, and new review MCP tools Co-Authored-By: Claude Opus 4.6 --- .../components/app/docs-sections/agents.tsx | 38 +++++++++++++------ .../components/app/docs-sections/media.tsx | 13 +++++-- .../components/app/docs-sections/tools.tsx | 21 +++++++--- apps/web/src/lib/tips/tips.ts | 16 ++++++++ 4 files changed, 66 insertions(+), 22 deletions(-) diff --git a/apps/web/src/components/app/docs-sections/agents.tsx b/apps/web/src/components/app/docs-sections/agents.tsx index 840e4f2d..589ee6b7 100644 --- a/apps/web/src/components/app/docs-sections/agents.tsx +++ b/apps/web/src/components/app/docs-sections/agents.tsx @@ -186,9 +186,32 @@ export function AgentsContent() {

Select one or more lines in a diff, then click the comment icon to - leave a note for the agent. The comment is injected into the agent's - terminal with the file path and line range so the agent can act on it - immediately. + leave feedback. The primary action is Start a review, + which enters review mode and saves the comment as a draft. Use the + dropdown to pick Chat instead — that sends the + comment directly to the agent's terminal as a one-off message (the + original behavior). +

+

+ In review mode, a bar at the top shows your draft count and a{" "} + Submit review button. Keep adding draft comments + across different files, then submit them all at once with an optional + summary. Each comment becomes a feedback item the agent can see via + its dispatch_review_list_feedback tool. The agent can + reply to individual items, resolve them, or ask clarifying questions — + all visible in the Reviews tab of the media sidebar. +

+ + +
+

Split pane

+

+ Drag an inactive tab (Terminal or{" "} + Changes) onto the left or right drop zone to show + both side by side. A resize handle between the panes lets you adjust + the ratio. Click the unsplit button on the divider to + return to single-tab view. The split layout persists per agent. Split + pane is not available on mobile.

@@ -285,15 +308,6 @@ export function AgentsContent() { which are always archived alongside their parent.

- -
-

Reordering agents

-

- Drag and drop agent cards in the sidebar to reorder them. You can also - focus a card and press Alt+↑ or Alt+↓ to - move it. The custom order is saved per session. -

-
); } diff --git a/apps/web/src/components/app/docs-sections/media.tsx b/apps/web/src/components/app/docs-sections/media.tsx index 021e7399..24e60d4b 100644 --- a/apps/web/src/components/app/docs-sections/media.tsx +++ b/apps/web/src/components/app/docs-sections/media.tsx @@ -97,9 +97,9 @@ export function MediaContent() {

Media sidebar

Click any agent's media count badge (or press{" "} - Mod+Shift+>) to open the sidebar. The sidebar has - three tabs: Pins, Media, and{" "} - Brain. + Mod+Shift+>) to open the sidebar. The sidebar has four + tabs: Pins, Media,{" "} + Brain, and Reviews.

The Pins tab shows values the agent has surfaced via{" "} @@ -110,7 +110,12 @@ export function MediaContent() { with a badge. The Brain tab displays shared-memory objects, lists, and events the agent has written — useful for inspecting job state or inter-agent coordination without calling the - Brain tools yourself. + Brain tools yourself. The Reviews tab shows human + review feedback submitted from the Changes tab — each review has a + status badge (open, partially resolved, or resolved), and you can + expand it to see individual items, threaded messages, diff snapshots, + and resolutions. Click a file path to jump to that location in the + Changes tab.

The sidebar opens in drawer mode by default — diff --git a/apps/web/src/components/app/docs-sections/tools.tsx b/apps/web/src/components/app/docs-sections/tools.tsx index c70bd21b..bce1ea8b 100644 --- a/apps/web/src/components/app/docs-sections/tools.tsx +++ b/apps/web/src/components/app/docs-sections/tools.tsx @@ -171,22 +171,31 @@ export function ToolsContent() { the reviewer exits cleanly

  • - dispatch_launch_agent — launch a new child agent to - work on a subtask (see the Agents section for details) + dispatch_review_list_feedback — list human review + feedback items for this agent, including file paths, statuses, and + thread messages
  • - list_agents — list other agents in the same repo with - their IDs, statuses, and latest activity + dispatch_review_resolve — resolve a review feedback + item as fixed, ignored, or wont_fix
  • - dispatch_send_message — send a message to another - running agent by ID or name; the target can reply the same way + dispatch_review_add_message — reply to a review + feedback thread (ask a clarifying question or explain an approach)
  • dispatch_launch_agent — launch a new agent as a child of the current session with a name, prompt, and optional agent type, worktree settings, full access mode, or template
  • +
  • + list_agents — list other agents in the same repo with + their IDs, statuses, and latest activity +
  • +
  • + dispatch_send_message — send a message to another + running agent by ID or name; the target can reply the same way +
  • get_activity_summary, get_agent_history,{" "} get_feedback_summary — analytics queries over recent diff --git a/apps/web/src/lib/tips/tips.ts b/apps/web/src/lib/tips/tips.ts index 42f7e358..33b60af4 100644 --- a/apps/web/src/lib/tips/tips.ts +++ b/apps/web/src/lib/tips/tips.ts @@ -154,6 +154,22 @@ export const tips: Tip[] = [ since: "0.24.0", surfaces: ["ambient"], }, + { + id: "diff-review", + title: "Diff Review", + body: "Select lines in the Changes tab and submit review comments. The agent can respond, resolve items, or ask questions in threaded conversations.", + docsSection: "agents", + since: "0.27.0", + surfaces: ["ambient"], + }, + { + id: "split-pane", + title: "Split Pane", + body: "Drag the Terminal or Changes tab to the left or right drop zone to view them side by side. Click the split button on the divider to unsplit.", + docsSection: "agents", + since: "0.27.0", + surfaces: ["ambient"], + }, ]; export function getTipById(id: string): Tip | undefined {