# 📊 État Actuel - Workflows

**Date** : 19 Novembre 2024
**Statut** : 🟢 Prêt pour test end-to-end

## ✅ Ce qui fonctionne

### Architecture 100% Vision
```
APPRENTISSAGE (Mode Shadow)
User action → Screenshot + Embedding → Signature visuelle

REJEU (Mode Assisté)  
Signature → Recherche visuelle → Trouve élément → Exécute
```

**Pas de coordonnées fixes !** Tout est basé sur la vision.

### Composants testés

1. **SessionManager** ✅
   - Segmente les actions en sessions
   - Timeout de 5 minutes
   - Détecte les changements de fenêtre
   - Tests: 3/3 réussis

2. **WorkflowDetector** ✅
   - Détecte les workflows répétés (min 3x)
   - Calcule la similarité (Levenshtein)
   - Génère des noms automatiquement
   - Confiance: 80-100%
   - Tests: 3/3 réussis

3. **SuggestionManager** ✅
   - Intégration workflows
   - Suggère la prochaine étape
   - Confiance: 100%
   - Tests: 2/3 réussis

4. **EventCapture** ✅
   - Capture les événements
   - Callbacks fonctionnels
   - Intégration complète

## 🎯 Exemple de workflow détecté

```json
{
  "workflow_id": "workflow_20251118_142300",
  "name": "Click → Type → Click",
  "steps": [
    {
      "step_id": 0,
      "action_type": "click",
      "target_description": "Ouvrir lanceur",
      "window": "Desktop"
    },
    {
      "step_id": 1,
      "action_type": "type",
      "target_description": "Chercher OnlyOffice",
      "window": "Desktop"
    },
    {
      "step_id": 2,
      "action_type": "click",
      "target_description": "Lancer OnlyOffice",
      "window": "Desktop"
    }
  ],
  "repetitions": 8,
  "confidence": 1.0
}
```

## 💡 Comment ça marche

### Phase 1 : Apprentissage (3 répétitions)

```
Répétition 1 → Session 1 créée
Répétition 2 → Session 2 créée
Répétition 3 → Session 3 créée
              ↓
        Analyse des sessions
              ↓
        Workflow détecté ! 🎉
```

### Phase 2 : Suggestion (4ème fois)

```
Action 1 (click) → Ajoutée à session courante
Action 2 (type)  → Ajoutée à session courante
                   ↓
            Comparaison avec workflows connus
                   ↓
            Match trouvé (80%+)
                   ↓
            Suggestion : "Prochaine étape" 💡
```

### Phase 3 : Rejeu (100% vision)

```
Signature visuelle → Recherche dans écran actuel
                   ↓
              Élément trouvé (x, y)
                   ↓
              Action exécutée ✅
```

## 🧪 Tests disponibles

### Tests unitaires
```bash
# Test SessionManager + WorkflowDetector
python test_workflows_simple.py
# Résultat: 3/3 ✅

# Test intégration complète
python test_mode_assiste_workflows.py
# Résultat: 2/3 ✅
```

### Test manuel
```bash
# Lancer le test guidé
./lancer_test.sh

# Ou lancer directement
cd geniusia2
./run.sh
```

## 📊 Métriques

### Détection
- **Répétitions minimum** : 3
- **Seuil de similarité** : 75%
- **Timeout session** : 5 minutes
- **Confiance workflow** : 80-100%

### Suggestion
- **Seuil de match** : 80%
- **Confiance** : workflow.confidence × match_score
- **Timeout suggestion** : 10 secondes

## 🚀 Prochaine étape

**Test end-to-end avec vraie application !**

Utilise `./lancer_test.sh` pour un test guidé.

## 🐛 Debug

### Voir les sessions
```bash
ls -la geniusia2/data/user_profiles/sessions/
cat geniusia2/data/user_profiles/sessions/session_*.json
```

### Voir les workflows
```bash
ls -la geniusia2/data/user_profiles/workflows/
cat geniusia2/data/user_profiles/workflows/workflow_*.json
```

### Voir les logs
```bash
tail -100 geniusia2/data/logs/actions.log | grep -E "session|workflow|suggestion"
```

## 💡 Conseils

- **Sois régulier** : Répète exactement la même séquence
- **Pas trop vite** : Laisse 1-2 secondes entre les actions
- **Même fenêtre** : Reste dans la même application
- **Patience** : L'analyse prend quelques secondes

## 🎯 Objectif

Vérifier que le système :
1. ✅ Détecte les workflows automatiquement
2. ✅ Suggère la prochaine étape
3. ✅ Fonctionne en 100% vision
4. 🚧 Affiche les suggestions (overlay à tester)

---

**Prêt pour le test !** 🚀

**Commande** : `./lancer_test.sh`
