Architecture: How to redesign the Observatory: merge, keep separate, or su...

Documentation for Sessions

🏗️ Architecture: How to redesign the Observatory: merge, keep separate, or su...

Date: 2026-03-04
Time: 21:22:09 UTC
Session: gspace1-176.4
Agent: angular
Confidence: 92%
Status: ✅ Documented


📋 Decision Context

Question:

How to redesign the Observatory: merge, keep separate, or surgical fix? What should happen to dead/unwired code?

Task: Observatory redesign planning and implementation plan


🎯 Decision Made

Chosen:

Surgical enhancement: keep both /observatory and /vitto/observatory but unify them to render the same 9-tab ObservatoryPanelComponent. Wire all unwired code (GoGrabObservatoryComponent, createObservatoryPlugin, OrchestrationClientService signals, VittoMonitorComponent features) to their intended homes instead of deleting. Add LLM cost persistence (MongoDB), unified alert pipeline, and 3 new MCP self-monitoring actions (stats.alerts, stats.costs, intelligence.trust).

Options Considered:

  1. Approach A: Surgical Fix (keep both surfaces, fix bugs, wire code)
  2. Approach B: Full Consolidation (merge into single /observatory)
  3. Approach C: API-First Rebuild (new data layer, then replace frontend)

💭 Reasoning

  1. The two surfaces serve different user journeys (real-time ops vs administrative governance) — merging routes would destroy this distinction. Instead, unify the SHELL component so both URLs render the same 9-tab view. 2. Dead code was built intentionally by previous sessions — GoGrabObservatoryComponent (S104.2 for host app embedding), createObservatoryPlugin (S149 for chat integration), OrchestrationClientService signals (for WS event visualization). Deleting loses intent; wiring fulfills it. 3. LLM costs in-memory only is a liability — MongoDB persistence with 90-day TTL and aggregation pipelines. 4. MCP convergence: Vitto as super-agent must self-monitor — every observatory visualization maps to an MCP tool action. 5. Backend split (ai-api + vitto-api) stays unchanged — too risky to refactor in this session, frontend abstracts it.

📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation