# Session Workflows - 19 Novembre 2024

## 🎯 Objectif
Implémenter la détection de workflows complets pour le Mode Assisté

## ✅ Ce qui a été fait

### 1. Analyse du problème
- Le système actuel détecte des patterns simples (3 clics identiques)
- Besoin de détecter des **workflows complets** (séquences d'actions variées)
- Exemple : Ouvrir OnlyOffice → Nouveau document → Taper texte → Fermer

### 2. Architecture proposée
```
EventCapture
    ↓
SessionManager (segmente les actions en sessions)
    ↓
WorkflowDetector (détecte les workflows répétés)
    ↓
SuggestionManager (suggère les workflows en cours)
    ↓
Overlay (affiche la suggestion)
```

### 3. Composants créés

#### SessionManager
- Segmente les actions en sessions basées sur :
  - Timeout (5 minutes par défaut)
  - Changement de fenêtre
  - Nombre d'actions (max 50)
- Sauvegarde les sessions sur disque
- Callbacks pour notifier les sessions complétées

#### WorkflowDetector
- Compare les sessions pour trouver des similarités
- Utilise la distance de Levenshtein pour comparer les séquences
- Détecte les workflows répétés (min 3 répétitions)
- Calcule un score de confiance
- Génère des noms descriptifs automatiquement

#### Intégration SuggestionManager
- Vérifie d'abord s'il y a un workflow en cours
- Compare les actions courantes avec les workflows connus
- Suggère la prochaine étape si match >= 80%
- Fallback sur la recherche classique par embedding

### 4. Test réalisé
```bash
python test_workflow_detection.py
```

**Résultat** : ✅ Workflow détecté avec 95% de confiance !
```
🎉 WORKFLOW DÉTECTÉ !
   Nom: OnlyOffice - Navigation + Saisie + Finalisation
   Étapes: 7
   Répétitions: 3
   Confiance: 95.00%
```

## ⚠️ Problèmes rencontrés

### Fichiers corrompus
Les fichiers `session_manager.py` et `workflow_detector.py` ont été créés mais sont corrompus.
- Supprimés pour être recréés proprement
- Besoin de les recréer avec une structure simple et claire

### Complexité
- Trop de fichiers de documentation
- Besoin de simplifier pour le MVP

## 🔄 Prochaines étapes

### 1. Recréer les fichiers proprement
- [ ] `geniusia2/core/session_manager.py` (version simple)
- [ ] `geniusia2/core/workflow_detector.py` (version simple)
- [ ] Tester l'intégration complète

### 2. Simplifier pour le MVP
- [x] Nettoyer les fichiers obsolètes (fait !)
- [ ] Garder uniquement l'essentiel
- [ ] Pas de sécurité complexe (cryptage, etc.)

### 3. Tester end-to-end
- [ ] Créer un test simple qui fonctionne
- [ ] Vérifier que l'overlay s'affiche
- [ ] Tester avec une vraie application (OnlyOffice)

## 📝 Notes importantes

### Pour le MVP
- **Pas de cryptage** des logs
- **Pas de sécurité avancée**
- Focus sur la **fonctionnalité de base**
- Garder le code **simple et lisible**

### Architecture simplifiée
```python
# session_manager.py - ~150 lignes
class SessionManager:
    - add_action()
    - _should_start_new_session()
    - _finalize_session()
    - get_recent_sessions()

# workflow_detector.py - ~200 lignes
class WorkflowDetector:
    - analyze_sessions()
    - _group_similar_sessions()
    - _create_workflow()
    - get_workflows()
```

## 🎯 Objectif final
Quand l'utilisateur commence un workflow connu (ex: ouvrir OnlyOffice), l'overlay suggère automatiquement les prochaines étapes !

## 📊 Métriques
- Temps de développement : ~4h
- Lignes de code : ~500
- Tests créés : 2
- Confiance du système : 95%

---

**Statut** : En cours - Fichiers à recréer proprement
**Priorité** : Haute - Fonctionnalité clé du Mode Assisté
