Architecture: How should Vitto chat know what edits are possible for each ...
Documentation for Sessions
🏗️ Architecture: How should Vitto chat know what edits are possible for each ...
Date: 2026-03-10
Time: 18:58:06 UTC
Session: gspace1-199.6
Agent: architecture
Confidence: 91%
Status: ✅ Documented
📋 Decision Context
Question:
How should Vitto chat know what edits are possible for each generated module area?
Task: S199: Vitto contextual editing via .vitto/instructions.json
🎯 Decision Made
Chosen:
Generate .vitto/instructions.json per module with editableAreas and vittoActions. New edit_module_file tool commits changes to GitLab. Studio sends click context to Vitto chat.
Options Considered:
- No contextual awareness (current — Vitto guesses)
- Hardcoded editing rules (brittle, doesn't adapt to module structure)
- Per-module instructions.json + edit tool (chosen — self-documenting modules)
💭 Reasoning
ROOT CAUSE: Vitto has no contextual awareness of generated code structure. When a user clicks a list component and says 'add a filter', Vitto doesn't know what files to edit or what patterns to follow. The .vitto/instructions.json file is generated alongside the module and describes editable areas (model, list, detail, form, service, routes) with specific actions available for each. When the user interacts with a module in Studio, the context is sent to Vitto chat, which loads the instructions and can offer precise suggestions. The edit_module_file tool then commits changes directly to GitLab, closing the loop. This is the groundbreaking feature — every generated module comes with its own editing manual.
📁 Files Involved
APIs/backend-vitto-api/src/app/tools/tool-registry.service.tsAPIs/backend-vitto-api/src/app/module-generation/phases/module-gen-phase.executor.ts
🔗 Related
- Decision ID:
dev_1773169086361_kju4kde - Session: 199
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation