Architecture: How should Vitto's real-time internal processes be made visi...
Documentation for Sessions
🏗️ Architecture: How should Vitto's real-time internal processes be made visi...
Date: 2026-03-12
Time: 16:37:53 UTC
Session: gspace1-208.3
Agent: backend
Confidence: 90%
Status: ✅ Documented
📋 Decision Context
Question:
How should Vitto's real-time internal processes be made visible to users and admins?
Task: S208: Metacognition + App Reorganization
🎯 Decision Made
Chosen:
Two new SSE-driven views: /vitto/conscience (user-specific inner monologue filtered by userId) and /vitto/introspection (admin-only global god-view). Backend VittoNarrativeService emits events at key decision points (context assembly, dossier loading, skill selection, trust evaluation, queue changes). Privacy-filtered SSE endpoint at /engine/events/conscience/:userId.
Options Considered:
- A: WebSocket-based real-time views (bidirectional)
- B: SSE-based views with centralized VittoNarrativeService
- C: HTTP polling like existing thought-trace (5s interval)
- D: Extend Command Center WebSocket to include narrative events
💭 Reasoning
Before making Vitto smarter (Intelligence v2 spec), we need to see how he thinks. The conscience/introspection split mirrors human metacognition: conscience is self-awareness (what Vitto knows about YOU), introspection is system awareness (what's happening globally). SSE chosen over WebSocket because: (1) existing VittoMonitorService already uses SSE pattern, (2) conscience/introspection are read-only streams — no bidirectional communication needed, (3) EventSource is simpler than Socket.IO for unidirectional data. The VittoNarrativeService is centralized to avoid injecting the SSE subject into every service (which would create circular deps).
📁 Files Involved
APIs/backend-vitto-api/src/app/engine/vitto-narrative.service.tsAPIs/backend-vitto-api/src/app/types/vitto.types.tsAPIs/backend-vitto-api/src/app/engine/vitto.controller.tslibs/libs-ai/vitto-hub/src/lib/components/conscience/vitto-conscience.component.tslibs/libs-ai/vitto-hub/src/lib/components/introspection/vitto-introspection.component.ts
🔗 Related
- Decision ID:
dev_1773333473840_nwanl9m - Session: 208
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation