Add Orbit foundational chat agent
What does this MR do and why?
Adds the Orbit foundational chat agent, gated behind a new :orbit_foundational_agent feature flag. With the flag on, "Orbit" shows up in the Duo Chat agent picker and the workflow gets Orbit's Knowledge Graph MCP tools injected at runtime.
Two independent feature flags control the rollout:
:orbit_foundational_agent(new): Whether the agent appears in the picker:knowledge_graph(existing): Whether MCP tools get injected and the backend API is reachable
Carved out from !230181. The parent MR bundles the dashboard redesign, the Workhorse routing and the agent registration. This MR extracts just the last piece so it can ship on its own flag.
References
- Parent MR: !230181 (Overhaul Orbit dashboard with agent-first design)
- Feature flag rollout issue: #597629
How to set up and validate locally
-
Enable the flag in the Rails console:
Feature.enable(:orbit_foundational_agent) -
Open GraphiQL at
http://127.0.0.1:3000/-/graphql-explorerand run:{ aiFoundationalChatAgents { nodes { id name reference version } } } -
Confirm
orbit_agentis in the returned nodes (id: "gid://gitlab/Ai::FoundationalChatAgent/orbit_agent-v1",name: "Orbit"). -
Disable the flag (
Feature.disable(:orbit_foundational_agent)) and re-run the query.orbit_agentshould be gone, leaving the other six agents intact. -
To also check the MCP wiring, enable
:knowledge_graphand verify in the Rails console:Ai::DuoWorkflows::McpConfigService .new(User.find_by(username: 'root'), 'fake-token', workflow_definition: 'orbit_agent/v1') .execute .keys # => should include :orbit
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.