feat(orbit): Enhance SDLC map graph explorer

What does this MR do and why?

Stacks on !233343 (merged) to ship the SDLC map graph explorer, the 2D/3D rendering utils, and the renderer that lights up orbit_* tool calls inside Duo agentic chat. !233343 (merged) lands first for the shell and Rails wiring, then this MR adds the explorer surface on top.

Together with !233343 (merged), this replaces the original !230181 review.

  • Explorer surface: graph_explorer, graph_canvas, graph_filter_bar, graph_legend, plus updates to the existing explorer panels and node detail overlay
  • 2D/3D split for the canvas: three_graph_2d, three_graph_3d, three_edges_2d, three_edges_3d, three_interaction_2d, three_interaction_3d, with the shared three_* utils refactored to feed both modes
  • Duo agentic chat: new MessageOrbitTool Vue component, registered through duo_agentic_chat_state_manager
  • Cleanup: removes the legacy configuration_page, explorer_graph_toolbar, explorer_hero_banner, explorer_tab_bar, onboarding, schema cards/page, and tool_card, plus their stale specs
  • Tests: 132 jest tests across 12 spec files covering every new and refactored unit

Why ship the frontend fetchGraphStatus call ahead of the Rails endpoint?

The endpoint is blocked on orbit/knowledge-graph#175. The frontend call ships now and short-circuits until the RPC lands; the Rails route follows in a separate MR.

References

How to set up and validate locally

  1. Apply !233343 (merged) first so the shell is in place, then bring up the GKG stack per the local development doc. Enable knowledge_graph and turn Orbit on for at least one root group.

  2. Verify:

Step Expected
Visit /dashboard/orbit SDLC map renders. Network tab shows one batched neighbors call for Group capped at 500 rows
Toggle 2D and 3D Both modes render edges and nodes without console errors
Schema tab → Show in Map on an entity Router pushes ?panel=map&entity=<EntityType> and the explorer auto-runs a search
Double-click a node Neighbor expansion fires with limit: 50
Duo chat with the Orbit agent: "List all merge requests" orbit_query_graph renders via MessageOrbitTool, not the generic tool message

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.

Edited by Michael Angelo Rivera

Merge request reports

Loading