Architecture: How should Vitto learn user communication style and adapt pe...

Documentation for Sessions

🏗️ Architecture: How should Vitto learn user communication style and adapt pe...

Date: 2026-03-27
Time: 19:45:57 UTC
Session: gspace1-277.5
Agent: angular
Confidence: 90%
Status: ✅ Documented


📋 Decision Context

Question:

How should Vitto learn user communication style and adapt persona parameters?

Task: S277.4: Implement Adaptive Persona Learning


🎯 Decision Made

Chosen:

Heuristic-based CommunicationSignalExtractor (no LLM) + EMA-updated dossier profile + 8 rule-based adaptation paths in DossierPersonaAdapter + data-driven language injection in system prompt

Options Considered:

  1. LLM-based signal extraction (accurate but slow/expensive)
  2. Manual user preference form (no automatic learning)
  3. Full persona swap instead of individual trait adjustment

💭 Reasoning

LLM-based extraction would add latency and cost to every message. Regex heuristics for language/formality/verbosity/emoji are ~90% accurate and run in <1ms. Exponential moving average (alpha=0.1) prevents sudden preference flips. 8 declarative rules are maintainable and testable. Suppression logic (2 rejections = 30-day suppress) prevents nagging. Language injection in prompt section 2 (stable per session) maximizes LLM cache hits.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation