ERROR_HANDLING_GUIDE.mdβ’5.51 kB
# π οΈ Sistema di Gestione Errori e Prevenzione Istanze Multiple
## π¨ Problema Risolto
**PROBLEMA:** Claude apriva nuove istanze Visum ogni volta che riceveva un errore, creando conflitti e instabilitΓ .
**SOLUZIONE:** Sistema intelligente di diagnosi e riparazione che previene la creazione di istanze duplicate.
## π§ Nuovi Tool di Diagnosi
### **1. π instance_diagnosis**
**Uso:** `"diagnosi istanze visum"` oppure `"instance diagnosis"`
**Funzione:**
- β
**Controlla lo stato** di tutte le istanze attive
- β
**Identifica problemi** specifici
- β
**Fornisce raccomandazioni** chiare
- β
**Previene creazione** di nuove istanze quando non necessario
**Output Esempio:**
```json
{
"persistent_controller": {"status": "healthy"},
"project_instances": 2,
"tcp_servers": 1,
"issues_found": [
"β Project instance 'campoleone' unhealthy: connection timeout"
],
"repair_actions": [
"π§ Consider shutting down and restarting instance 'campoleone'"
],
"recommendations": [
"β οΈ Issues found - repair before creating new instances",
"π« AVOID creating new instances until issues are resolved"
]
}
```
### **2. π§Ή instance_cleanup**
**Uso:** `"pulisci istanze problematiche"` oppure `"instance cleanup"`
**Funzione:**
- π§Ή **Chiude istanze problematiche** in modo sicuro
- π§Ή **Libera risorse** bloccate
- π§Ή **Resetta connessioni** TCP danneggiate
- π§Ή **Prepara ambiente** per nuove operazioni
**Parametri:**
- `force: false` (default) - Solo istanze problematiche
- `force: true` - Tutte le istanze (pulizia completa)
## π‘οΈ Prevenzione Automatica
### **project_open Migliorato**
Ora il tool `project_open` include **controlli preliminari**:
```typescript
// Se trova piΓΉ di 2 istanze attive:
if (totalExistingInstances > 2) {
return "β οΈ Troppe istanze attive. Esegui instance_diagnosis prima di procedere";
}
```
**Benefici:**
- π« **Previene** creazione istanze duplicate
- π‘ **Guida Claude** verso la soluzione corretta
- π§ **Fornisce istruzioni** step-by-step
## π Workflow Consigliato per Claude
### **β Quando Si Riceve un Errore - NON FARE:**
```
β Aprire immediatamente una nuova istanza
β Ripetere la stessa operazione
β Ignorare il messaggio di errore
```
### **β
Quando Si Riceve un Errore - FARE:**
```
1. β
Eseguire `instance_diagnosis`
2. β
Leggere i problemi identificati
3. β
Eseguire `instance_cleanup` se raccomandato
4. β
SOLO DOPO, tentare operazioni normali
```
## π Comandi per Claude
### **Diagnosi Standard:**
```bash
# Prima cosa da fare quando si ricevono errori
"diagnosi istanze visum"
"instance diagnosis"
"controlla lo stato delle istanze"
```
### **Pulizia Selettiva:**
```bash
# Pulisce solo istanze problematiche
"pulisci istanze problematiche"
"instance cleanup"
```
### **Pulizia Completa (Solo se necessario):**
```bash
# Forza pulizia di tutte le istanze
"instance cleanup force"
```
### **Dopo la Pulizia:**
```bash
# Ora Γ¨ sicuro procedere
"apri progetto visum"
"esegui analisi rete"
```
## π§ Risoluzione Problemi Specifici
### **Errore: "SyntaxError: unterminated string literal"**
**Causa:** Stringhe con apostrofi non escapati nel codice Python
**Soluzione:** β
RISOLTO - Aggiunta funzione `sanitizeForPython()`
### **Errore: "Connection refused" o timeout**
```bash
1. "instance diagnosis" # Identifica istanze morte
2. "instance cleanup" # Rimuove connessioni morte
3. "apri progetto visum" # Crea nuova istanza pulita
```
### **Errore: "Already connected" o "Port in use"**
```bash
1. "instance diagnosis" # Mostra istanze attive
2. "instance cleanup force" # Forza chiusura tutte le istanze
3. Attendi 10 secondi
4. "apri progetto visum" # Riavvia con porte libere
```
### **Errore: "Project not found" o "Network not loaded"**
```bash
1. "instance diagnosis" # Verifica stato istanze
2. Se controller persistente non Γ¨ healthy:
- "instance cleanup"
- "apri progetto visum"
3. Se progetto non Γ¨ caricato:
- Usa il path corretto del file .ver
```
## π― Vantaggi del Nuovo Sistema
### **β
Prevenzione Intelligente**
- **Zero istanze duplicate** non necessarie
- **Controlli preliminari** automatici
- **Guidance proattiva** per Claude
### **β
Diagnosi Precisa**
- **Identificazione specifica** dei problemi
- **Raccomandazioni actionable**
- **Status completo** del sistema
### **β
Riparazione Sicura**
- **Cleanup selettivo** delle istanze problematiche
- **Preservazione** istanze sane
- **Recovery automatico** delle risorse
### **β
Feedback Migliorato**
- **Errori descrittivi** con soluzioni
- **Istruzioni step-by-step** chiare
- **Prevenzione proattiva** di problemi futuri
## π¨ Note Importanti per Claude
### **π₯ SEMPRE Prima di Creare Nuove Istanze:**
```
β οΈ Se ricevi QUALSIASI errore:
1. NON creare subito una nuova istanza
2. Esegui PRIMA "instance_diagnosis"
3. Segui le raccomandazioni
4. SOLO DOPO procedi con operazioni normali
```
### **π― Riconosci i Segnali di Allarme:**
- `Connection refused`
- `Port already in use`
- `SyntaxError` nel codice Python
- `Network not loaded`
- `Project not found`
### **π‘ Quando Γ Sicuro Creare Nuove Istanze:**
- β
`instance_diagnosis` mostra "All systems healthy"
- β
Meno di 2 istanze esistenti attive
- β
Nessun errore nei 5 comandi precedenti
- β
Dopo cleanup completato con successo
**Il sistema Γ¨ ora ROBUSTO e RESILIENTE agli errori!** π‘οΈ