Executive Summary
The branch introduces a first-class agent catalog and agent switching workflow. AO now knows which
agent adapters it supports, which are installed on the machine, and which are currently usable because
they are logged in or otherwise authorized.
The frontend uses this catalog to let users configure worker and orchestrator agents per project.
Unavailable agents remain visible with clear status labels such as Needs auth and
Needs install, so users understand why an agent cannot be selected.
Primary user outcome: users can switch project worker/orchestrator agents without guessing which
CLIs are installed, logged in, or safe to use for orchestrator replacement.
Dashboard Guidance
When no authorized agents are available, the dashboard shows setup guidance before the user has to
open Project Settings.
- If installed agents need login, the message names them.
- If no supported agents are installed, the message asks the user to install and log in.
- The message includes
Reload agents to refresh after external setup.
Example: Log in to Cursor, GitHub Copilot, and opencode, then reload agents.
Safe Orchestrator Replacement
The branch improves the flow for changing a project's orchestrator agent. The system compares the
saved desired agent with the live orchestrator, checks whether the current orchestrator can be
replaced, and handles failed replacement without discarding the old working session too eagerly.
| Scenario |
Behavior |
| Orchestrator agent changes while current orchestrator is active |
Save is blocked until the orchestrator is idle enough to replace safely. |
| New orchestrator starts successfully |
Config is saved and the UI reports that the orchestrator restarted. |
| New orchestrator fails to start |
The previous orchestrator is kept alive and the UI exposes a retry path. |
| Saved config differs from running orchestrator |
Project Settings shows replacement-pending state until retry succeeds. |