Skip to content

Correct agent harness and launcher lists in Plans docs - #42

Open
tpavlu wants to merge 2 commits into
mainfrom
docs/agent-lists
Open

Correct agent harness and launcher lists in Plans docs#42
tpavlu wants to merge 2 commits into
mainfrom
docs/agent-lists

Conversation

@tpavlu

@tpavlu tpavlu commented Aug 12, 2026

Copy link
Copy Markdown

What changed and why

Three docs pages restate, by hand, two lists that have exactly one source of truth in the product: the LaunchAgent harness enum and the agent launcher order. Both restatements had drifted. multi-agent.mdx was missing the conductor-cloud harness everywhere it should appear and described the repo/branch/model overrides as Cursor-only; integrations/overview.mdx and getting-started/your-first-plan.mdx listed different, incomplete sets of launchers, both omitting Claude Code Desktop and neither mentioning Orchestrate, which is the first entry in the Launch Agent menu. This PR makes all three pages match the code, documents SendMessage's fromAgentId parameter, and stops your-first-plan.mdx from keeping its own copy of the launcher list.

Verified

All claims checked in ref-tools/ref:

  • Harness enumplan-app/server/src/utils/factoryToolHandlers.ts, LaunchAgent inputSchema.harness: ['cursor', 'devin', 'ref-thread', 'warp-oz', 'conductor-cloud']; handleLaunchAgent re-validates the same five values.
  • repo / branch / model — same file: repo is described as "Repository override (Cursor / Conductor Cloud). When omitted, Cursor falls back to the user's configured repository (settings.cursor.repository); Conductor falls back to its configured project"; branch and model are both "(for Cursor / Conductor Cloud)". Fallbacks confirmed in plan-app/server/src/services/agentLaunchService.ts (Cursor spreads repo over settings.cursor.repository) and plan-app/server/src/services/conductorLauncher.ts (createWorkspace uses overrides?.projectId ?? settings.projectId).
  • Conductor Cloud needs an API keyagentLaunchService.ts throws Conductor API key not configured when settings.conductorCloud?.apiKey is absent, alongside the equivalent Cursor/Devin/Warp OZ checks.
  • Conductor works in a workspace, no PR trackingconductorLauncher.ts creates a workspace then a session; agentService.ts syncs prUrl for Cursor (data.prUrl), Devin (data.pull_request.url) and Warp OZ (PULL_REQUEST artifact) only, so the PR-URL claim in the harness selection guide is scoped to those three.
  • SendMessage.fromAgentIdfactoryToolHandlers.ts: optional, described as "Always pass your own agent ID here (yourAgentId). Defaults to current agent only in agent-scoped MCP sessions"; handleSendMessage rejects a mismatching fromAgentId in agent-scoped sessions. The tool description also carries "Do NOT send a message to acknowledge receipt of another agent's message. Do not acknowledge an acknowledgement", now a bullet in the messaging rules.
  • Launcher list and orderplan-app/shared/agentLauncherOrder.ts AGENT_LAUNCHER_ORDER: orchestrate, cursor-cloud, claude-web, codex-cloud, devin, warp-oz, conductor-cloud, cursor-local, codex-desktop, claude-code-desktop, conductor, factory, windsurf, zed, github-copilot, copy-clipboard.
  • Which of those are webhook launchersplan-app/client/src/types/readState.ts WEBHOOK_DESTINATIONS: claude-code-web, codex-cloud, cursor-local, copy-paste, codex-desktop, claude-code-desktop, conductor, factory, windsurf, zed, github-copilot — exactly the eleven rows in the launcher table.
  • Display namesplan-app/client/src/utils/agentLauncherDisplay.tsx (Cursor Desktop, not "Cursor Local"; Codex Cloud / Codex Desktop; Copy to clipboard, not "Copy & Paste"; Claude Code Desktop).
  • Deep links vs copy-and-openplan-app/client/src/utils/desktopAgentDeeplink.ts builds cursor://, codex://, claude://code/new, conductor://, factory-desktop://, windsurf://cascade, zed://agent, and vscode://github.copilot-chat/chat?mode=agent URLs with the prompt embedded; CopyAndOpenLaunchPanel.tsx copies the prompt and opens claude.ai/code or chatgpt.com/codex.
  • Orchestrate — first entry in AGENT_LAUNCHER_ORDER; plan-app/client/src/components/Header.tsx keeps it visible regardless of the user's enabled agents ("Orchestrate is always available; it is not user-toggleable"). Delegates come from plan-app/client/src/utils/orchestrate.tsx ORCHESTRATE_DELEGATES (Cursor Cloud, Devin, Warp OZ, Conductor Cloud); buildKickoffPrompt emits "Review every PR against the plan before sign-off" / "Do not merge; leave merging to a human", with review defaulting on (orchestrator?.reviewPrs !== false) and merge defaulting off and gated on a GitHub PAT (OrchestrateLaunchPanel.tsx disables the merge checkbox without one).

Unverified / omitted

  • Conductor Cloud opening PRs. The harness table and selection guide say Conductor Cloud writes code in a Conductor workspace and stop there. Ref never receives a PR URL for Conductor sessions, so nothing PR-shaped is claimed for that harness even though the Conductor Cloud integration page discusses PRs.
  • Conductor's default project requirement in the LaunchAgent requirements list. The launch path only hard-fails on a missing API key, so the requirements list names the API key only.
  • repo accepting either a git URL or a project id for Conductor Cloud. True in the launch path, but too narrow a detail for the parameter bullet; left for the Conductor Cloud integration page.
  • Out of scope, worth a follow-up: plans/workflows/overview.mdx still names only "(Cursor, Devin)" as implementation harnesses, and your-first-plan.mdx's agent-setup tabs have no Conductor Cloud tab despite it being an API-key cloud agent. Neither file was in this change's scope.
  • Structural note: the durable fix for this class of drift is one canonical list. This PR takes the cheap half of that — integrations/overview.mdx now owns the launcher list and your-first-plan.mdx links to it instead of repeating it. The harness list is still restated on plans/install/index.mdx and plans/workflows/multi-agent.mdx; consolidating those would mean restructuring the install page, so it is left alone.

Conflicts

docs.json was not touched, so no navigation conflicts with sibling PRs. plans/workflows/orchestrate.mdx does not exist on main, so multi-agent.mdx does not link to it; a sibling PR adding that page may want to link it from multi-agent.mdx and from the new Orchestrate section in plans/integrations/overview.mdx.


Generated by Claude Code

tj-ref added 2 commits August 12, 2026 01:27
Word-level pass toward simplified technical English. Swaps requires/required
and previous for their plainer equivalents on lines this PR introduced.
No technical content or product names changed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants