Architecture: How should Vitto handle missing context when generation is r...
Documentation for Sessions
🏗️ Architecture: How should Vitto handle missing context when generation is r...
Date: 2026-03-11
Time: 18:40:40 UTC
Session: gspace1-204.12
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
How should Vitto handle missing context when generation is requested?
Task: Not specified
🎯 Decision Made
Chosen:
Return hard error with explicit tool blocklist telling the LLM to ask the user. Not a soft instruction, not needs_context status — a direct error that says DO NOT call other tools, just ask.
Options Considered:
- Soft instruction (failed — LLM ignored)
- Hard error without blocklist (risky)
- Hard error with explicit tool blocklist (chosen, works)
💭 Reasoning
Three approaches tested in this session: (1) Soft instruction with needs_context status — LLM ignored it and went on a 5-tool investigation spree (query_platform, recall_memory, etc.). (2) Hard error without blocklist — LLM might still try to resolve. (3) Hard error with explicit 'do NOT call query_platform, recall_memory, search_decisions, http_request' — leaves zero ambiguity. The LLM's natural tendency is to be helpful by trying to resolve context itself. Only an explicit blocklist overrides this tendency. This is a general pattern for any tool that needs user input — the error must forbid alternative resolution paths.
📁 Files Involved
APIs/backend-vitto-api/src/app/tools/tool-registry.service.ts
🔗 Related
- Decision ID:
dev_1773254439985_66otcdf - Session: 204
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation