Architecture: How should Vitto's per-user memory and job mastery system be...

Documentation for Sessions

🏗️ Architecture: How should Vitto's per-user memory and job mastery system be...

Date: 2026-03-10
Time: 01:43:38 UTC
Session: gspace1-196.2
Agent: backend
Confidence: 92%
Status: ✅ Documented


📋 Decision Context

Question:

How should Vitto's per-user memory and job mastery system be architected?

Task: Not specified


🎯 Decision Made

Chosen:

Two-layer architecture: vitto-users database (separate from vitto-mind) with UserDossier (per-user structured knowledge) + JobPlaybook (global composable skill trees). Inspired by Voyager (composable skills), DSPy (self-optimizing strategies), and Digital Employee model (5-tier trust escalation). Self-optimization loop uses cheap LLM calls to rewrite strategies after repeated failures.

Options Considered:

  1. Flat memory system with better caching (incremental improvement)
  2. Single vitto-mind database with new collections (simpler but messy namespace)
  3. External vector DB for all user knowledge (overkill for current scale)

💭 Reasoning

The existing 60-read brute-force pattern for user context was unsustainable. A single structured document per user (dossier) replaces parallel reads with one document fetch + pre-compiled brief. Job mastery adds a learning dimension — Vitto tracks its own competence per job type and adapts behavior based on mastery level. The two-layer design (global playbooks + per-user overlay) mirrors the persona system and enables both institutional learning and personal adaptation. Separate database keeps user intelligence isolated from operational data (different backup schedules, scaling, GDPR).


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation