Hermes Switch UI — Conductor Architecture

UI surfaces, data flow, and backend connections for the Conductor orchestration page

UI SURFACES (cyan) BACKEND DATA (emerald) CONDUCTOR TOP BAR · ConductorTopBar live missions · elapsed · workers active · tok used refresh · theme controls · breadcrumb: Switch UI › Conductor NOW-PLAYING STRIP · NowPlayingStrip plan ✓ route ▶ execute review report binds to focused mission · falls back to first live DAG CANVAS · MissionCanvas Mission flow · view: flow | org T1 · ORCHESTRATOR HERMES T2 · DOMAIN HEAD NEO T2 · DOMAIN HEAD TRINITY T2 · DOMAIN HEAD MORPHEUS T3 · SPECIALIST worker-a T3 · SPECIALIST worker-b T3 · SPECIALIST worker-c static SVG · live DAG rendering coming in a follow-up · flow / org view toggle WORKER LANES · WorkerLanes worker-a worker-b worker-c LAUNCH WIZARD · LaunchWizard (modal) workflow picker → select definition → LaunchWizard steps → POST /api/conductor/missions triggered by "New Mission" button in MissionRail DETAIL DRAWER · MissionDetailDrawer (slide-in) status · phase · worker assignments · triggered by clicking a mission card in the rail MISSION RAIL · MissionRail live done error Mission Alpha phase: execute · 3 workers started 14m ago Mission Beta phase: plan · queued waiting Mission Gamma done · report ready 2h ago + New Mission opens workflow picker modal API ENDPOINT /api/conductor/missions GET · polled by useConductorMissions() no capability gate · empty on missing endpoint API ENDPOINT /api/conductor/mission/$id GET · detail for selected mission MissionDetailDrawer · abort via POST API ENDPOINT /api/conductor/state GET · top bar stats (useConductorState) live missions · workers · elapsed · tokens WORKFLOW DEFINITIONS useWorkflowDefinitions() same source as Workflows page populates LaunchWizard workflow picker CLIENT STATE (Zustand) useConductorUIStore focused mission · filter tab (live/done/error) canvas view (flow | org) · picker open flag poll Color key cyan — UI surface / component emerald — backend API endpoint violet — shared definitions amber — Zustand client state Note: no capability gate Conductor loads unconditionally. Empty list if endpoint missing.

UI Surfaces

  • ConductorTopBar — stats header strip
  • NowPlayingStrip — phase progress (plan → report)
  • MissionCanvas — static DAG SVG (flow / org views)
  • WorkerLanes — per-worker progress bars
  • MissionRail — right sidebar, mission list + filters
  • MissionDetailDrawer — slide-in mission detail
  • LaunchWizard — modal for new mission creation

Backend Endpoints

  • GET /api/conductor/missions — mission list
  • GET /api/conductor/mission/$id — mission detail
  • POST /api/conductor/missions/$id/abort — abort mission
  • GET /api/conductor/state — top bar stats
  • GET /api/conductor/workers — worker lane data
  • • No capability gate — page always renders

State & Data

  • useConductorUIStore — focused mission, filter, canvas view
  • useConductorMissions() — polls missions endpoint
  • useConductorState() — polls state endpoint for top bar
  • useWorkflowDefinitions() — workflow picker source
  • • DAG is static reference illustration (live coming later)