Architecture: How to fix the Command Center Mission Control tab showing OF...

Documentation for Sessions

🏗️ Architecture: How to fix the Command Center Mission Control tab showing OF...

Date: 2026-03-23
Time: 21:40:55 UTC
Session: gspace1-262.2
Agent: angular
Confidence: 92%
Status: ✅ Documented


📋 Decision Context

Question:

How to fix the Command Center Mission Control tab showing OFFLINE?

Task: Fix command center to use real backends


🎯 Decision Made

Chosen:

Dual transport migration: SSE via VittoMonitorService for Vitto engine events (tasks, phases, delegations, checkpoints) + keep existing WebSocket for MCP events (decisions, learning stats, pipeline). Extract 2144-line inline monolith into separate .ts/.html/.scss files. Replace phantom agent panels with real delegation and system agent data.

Options Considered:

  1. Full SSE migration (drop WebSocket entirely, poll for MCP decisions)
  2. Dual transport: SSE for Vitto + WebSocket for MCP (chosen)
  3. WebSocket bridge: forward Vitto SSE events to ai-api WebSocket gateway

💭 Reasoning

Mission Control was built in S60-70 using WebSocket-only architecture where MCP pushed events to command-center.controller.ts. Since then, Vitto became the super-orchestrator and all real events flow through SSE at /engine/events. All other Command tabs (Approvals, Audit, Trust, Costs) successfully use VittoMonitorService SSE. The WebSocket path is dead for engine events but still serves MCP decision pipeline events. Dual transport gives real-time push for both without duplication — each event type has exactly one canonical source.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation