planner: specialists mode → single agent (backend + UI polish)
ci / gates (push) Successful in 6s
ci / frontend (push) Successful in 24s
ci / rust (push) Successful in 3m54s
ci / e2e (push) Has been skipped
ci / publish (push) Successful in 2m40s

The frontend already renamed the "Specialists" tab to "Agent" and
rewrote the intro to ask for one specialist, but the backend
prompt was still telling Opus to propose "2 or 3 domain
specialists". Two-facing message got confusing outputs.

- SPECIALISTS_NOTE now says "SINGLE agent … `members` MUST contain
  EXACTLY ONE entry … topology_kind='flat' … team_name reads like
  a personal handle." Removes the ambiguity.
- TEAM_NOTE range aligned to "4 to 6 agents" (matches the UI hint
  and intro).
- Frontend right-panel now reads "PROPOSED AGENT" for specialists
  mode (was "PROPOSED TEAM") and pluralization matches the count
  ("1 agent" vs "3 agents"). Build button switches to "Build agent"
  in that mode.
This commit is contained in:
Omar Sobh
2026-07-08 15:04:00 -07:00
parent f0a2bd8a86
commit 92e923e585
2 changed files with 13 additions and 7 deletions
+6 -4
View File
@@ -61,10 +61,12 @@ pub struct PlannerChatRequest {
pub topology_kind: Option<String>,
}
const SPECIALISTS_NOTE: &str = "\n\nMODE: Specialists. Propose a TIGHTLY-SCOPED group of 2 or 3 DOMAIN \
SPECIALISTS with high-quality, focused system_prompts. Each member's brain_query MUST be a concrete domain \
brain keyword (e.g. 'rust-2024', 'react-native', 'pentest-web', 'db-ops'). Prefer depth over breadth.";
const TEAM_NOTE: &str = "\n\nMODE: Team. Propose a balanced team of 4 to 8 agents that covers the goal \
const SPECIALISTS_NOTE: &str = "\n\nMODE: Agent — SINGLE agent. The `members` array MUST contain EXACTLY ONE \
entry: a tightly-scoped domain specialist with a high-quality, focused system_prompt. Do NOT propose two, do NOT \
propose a team, do NOT include a coordinator. The member's brain_query MUST be a concrete domain brain keyword \
(e.g. 'rust-2024', 'react-native', 'pentest-web', 'db-ops'). `topology_kind` for a single agent is 'flat'. \
`team_name` should read like a personal handle for the agent, not a group name.";
const TEAM_NOTE: &str = "\n\nMODE: Team. Propose a balanced team of 4 to 6 agents that covers the goal \
end-to-end — a coordinator plus complementary roles. Bias toward roles that will actually be exercised each \
iteration; do not pad. Each member's brain_query should be a keyword the brain registry can resolve.";
const SCHEDULED_NOTE: &str = "\n\nMODE: Scheduled. Propose a team (28 agents is typical) and INCLUDE a \