Architecture: Where should Vitto observability/telemetry data live, and ho...
Documentation for Sessions
🏗️ Architecture: Where should Vitto observability/telemetry data live, and ho...
Date: 2026-03-17
Time: 23:14:14 UTC
Session: gspace1-231.6
Agent: angular
Confidence: 91%
Status: ✅ Documented
📋 Decision Context
Question:
Where should Vitto observability/telemetry data live, and how should the system alert executives and developers?
Task: S231.2 in-app observability system
🎯 Decision Made
Chosen:
vitto-mind execution-traces collection (already populated by MindService.recordExecution). Query-only approach: no new instrumentation needed. PerfAlertService dispatches via existing ProactiveDispatcherService to users with roleLevel>=60. Daily digest extended with perf section. Angular dashboard at /operations/system using existing observatory-dashboard pattern.
Options Considered:
- No alternatives documented
💭 Reasoning
execution-traces was already being written after every task — no write amplification needed. gograb-analytics was rejected because it's on a different cluster (gograbspace vs vitto.urgh5aw) requiring a new connection, and the data is Vitto infrastructure telemetry not product analytics. Existing escalation logic in ProactiveMonitorService already filters by roleLevel>=60 — reused exactly. CSS-only waterfall bars chosen over chart libraries to avoid new npm dependencies and match existing observatory styling.
📁 Files Involved
APIs/backend-vitto-api/src/app/mind/vitto-observability.service.tsAPIs/backend-vitto-api/src/app/mind/observability.controller.tsAPIs/backend-vitto-api/src/app/proactive/perf-alert.service.tslibs/libs-ai/gograb-ai-lib/src/lib/components/vitto-traces/vitto-traces.component.ts
🔗 Related
- Decision ID:
dev_1773789253977_rej3j28 - Session: 231
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation