# Fix: Mode Assist non activé via CLI

**Date**: 2025-11-19  
**Problème**: Le mode Assist n'était pas activé même avec `--mode assist`  
**Cause**: Pas de gestion des arguments CLI dans main.py  
**Statut**: ✓ CORRIGÉ

---

## 🐛 Problème Identifié

### Symptômes
- Lancement avec `python3 geniusia2/main.py --mode assist --headless`
- Captures d'écran effectuées ✓
- Workflows sauvegardés ✓
- **MAIS** aucune suggestion n'apparaît ✗

### Cause Racine

Le fichier `main.py` n'avait **aucune gestion des arguments CLI**.

```python
# Avant (main.py)
def main():
    app = RPAVisionApp()
    app.run()  # ← Pas d'arguments !
```

Le mode par défaut dans `LearningManager` est `"shadow"` :

```python
# learning_manager.py
self.mode = "shadow"  # Mode initial
```

Donc même en passant `--mode assist`, le système restait en mode shadow.

### Vérification dans les Logs

```bash
tail geniusia2/data/logs/logs_2025-11-19.json
```

Aucune trace de :
- `workflow_match_found`
- `workflow_suggestion_created`
- `check_for_suggestions` appelé

Car `check_for_suggestions()` vérifie :

```python
def check_for_suggestions(self):
    mode = self.learning_manager.get_mode()
    
    if mode != "assist":  # ← Sortie immédiate si pas en mode assist
        return
```

---

## ✅ Solution Implémentée

### 1. Ajout de argparse dans main()

```python
def main():
    import argparse
    
    parser = argparse.ArgumentParser(description='RPA Vision V2')
    parser.add_argument(
        '--mode',
        type=str,
        choices=['shadow', 'assist', 'auto'],
        default='shadow',
        help='Mode opérationnel'
    )
    parser.add_argument(
        '--headless',
        action='store_true',
        help='Lancer sans GUI'
    )
    
    args = parser.parse_args()
    
    app = RPAVisionApp()
    app.run(mode=args.mode, headless=args.headless)
```

### 2. Modification de app.run()

```python
def run(self, mode='shadow', headless=False):
    # Initialiser
    self.initialize()
    
    # Définir le mode
    if self.learning_manager:
        self.learning_manager.mode = mode  # ← Définir le mode !
        self.logger.log_action({
            "action": "mode_set",
            "mode": mode
        })
    
    if headless:
        # Sans GUI
        self.orchestrator.run()
    else:
        # Avec GUI
        self.setup_gui()
        # ...
```

---

## 🧪 Test de la Correction

### Avant
```bash
python3 geniusia2/main.py --mode assist --headless
# Résultat: Mode shadow (pas de suggestions)
```

### Après
```bash
python3 geniusia2/main.py --mode assist --headless
# Résultat: Mode assist activé ✓
# Logs: "mode_set": "assist"
# Suggestions devraient apparaître
```

### Vérification dans les Logs

```bash
tail -f geniusia2/data/logs/logs_*.json | grep mode
```

Tu devrais voir :
```json
{"action": "mode_set", "mode": "assist", "headless": true}
```

---

## 📝 Modes Disponibles

| Mode | Description | Usage |
|------|-------------|-------|
| `shadow` | Observation seule | Apprentissage passif |
| `assist` | Suggestions avec validation | **Mode Assisté** ✓ |
| `auto` | Automatique | Exécution sans validation |

---

## 🚀 Utilisation

### Mode Assist avec GUI
```bash
python3 geniusia2/main.py --mode assist
```

### Mode Assist sans GUI (tests)
```bash
python3 geniusia2/main.py --mode assist --headless
```

### Mode Shadow (défaut)
```bash
python3 geniusia2/main.py
# ou
python3 geniusia2/main.py --mode shadow
```

---

## ✅ Checklist de Vérification

Après le fix, vérifie que :

- [ ] L'argument `--mode assist` est reconnu
- [ ] Le mode est loggé au démarrage
- [ ] `check_for_suggestions()` est appelé
- [ ] Les workflows sont détectés
- [ ] Les suggestions sont créées

### Commandes de Vérification

```bash
# 1. Lancer en mode assist
python3 geniusia2/main.py --mode assist --headless

# 2. Dans un autre terminal, suivre les logs
tail -f geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | grep -E "mode|workflow|suggestion"

# 3. Faire des actions dans la Calculatrice
gnome-calculator &

# 4. Observer les logs
```

---

## 🎯 Impact

### Avant le Fix
- ✗ Mode Assist inutilisable via CLI
- ✗ Impossible de tester sans GUI
- ✗ Toujours en mode shadow

### Après le Fix
- ✓ Mode Assist fonctionnel
- ✓ Tests headless possibles
- ✓ Tous les modes accessibles

---

## 📚 Fichiers Modifiés

- `geniusia2/main.py` - Ajout argparse et gestion du mode

---

## 🔄 Prochaines Étapes

Maintenant que le mode est correctement défini :

1. **Re-tester** avec `--mode assist`
2. **Vérifier** les logs pour les workflow_match
3. **Observer** les suggestions
4. **Documenter** les résultats dans le rapport de test

---

**Fix appliqué**: 2025-11-19  
**Testé**: À tester  
**Statut**: ✓ Prêt pour validation
