Initial commit

This commit is contained in:
Dom
2026-03-05 00:20:25 +01:00
commit dcd4de9945
1954 changed files with 669380 additions and 0 deletions

119
TASK_2_SUMMARY.md Normal file
View File

@@ -0,0 +1,119 @@
# Task 2: Améliorer SuggestionManager - ✓ COMPLÉTÉ
## Résumé
Le SuggestionManager a été amélioré avec succès pour supporter la détection et la suggestion de workflows en mode assisté.
## Modifications apportées
### Fichier modifié
- `geniusia2/core/suggestion_manager.py`
### Nouvelles méthodes ajoutées
1. **check_workflow_match(session_actions, workflows)**
- Vérifie périodiquement si les actions courantes correspondent à un workflow
- Applique les ajustements de priorité
- Retourne le meilleur match si confiance > 80%
2. **create_workflow_suggestion(workflow_match)**
- Crée une suggestion détaillée avec toutes les étapes restantes
- Inclut un aperçu des 3 prochaines étapes
- Gère le timeout de 10 secondes
3. **_track_workflow_rejection(workflow_id)**
- Enregistre les rejets par workflow
- Ajuste automatiquement la priorité après 3 rejets
- Formule: confiance * (0.9 ^ (rejets // 3))
4. **_track_workflow_acceptance(workflow_id)**
- Récompense les workflows acceptés
- Réduit le compteur de rejets de 2
- Supprime l'ajustement si rejets < 3
5. **_apply_priority_adjustment(match)**
- Applique l'ajustement de priorité au score de confiance
- Maintient la confiance dans [0, 1]
### Modifications existantes
- **__init__**: Ajout du paramètre `workflow_matcher` et initialisation des dictionnaires de tracking
- **accept_suggestion**: Intégration du tracking d'acceptation pour les workflows
- **reject_suggestion**: Intégration du tracking de rejet pour les workflows
- **get_stats**: Ajout des statistiques de rejets et ajustements
## État des données
### Nouveaux attributs de classe
```python
self.workflow_matcher: WorkflowMatcher
self.workflow_rejections: Dict[str, int] # workflow_id -> count
self.workflow_priority_adjustments: Dict[str, float] # workflow_id -> multiplier
```
## Tests
✓ 8/8 tests passés:
- Syntaxe correcte
- Toutes les méthodes présentes
- Imports corrects
- Paramètres __init__ corrects
- Logique de tracking des rejets
- Logique de tracking des acceptations
- Intégration accept/reject
- Couverture des requirements
## Requirements couverts
-**1.4**: Vérification périodique avec check_workflow_match()
-**1.5**: Suggestions détaillées avec create_workflow_suggestion()
-**3.3**: Tracking des rejets et ajustement après 3 rejets
-**3.5**: Filtrage par fenêtre (via WorkflowMatcher)
## Exemple d'utilisation
```python
# Vérifier les matchs périodiquement
match = suggestion_manager.check_workflow_match(session_actions, workflows)
# Créer une suggestion si match trouvé
if match:
suggestion = suggestion_manager.create_workflow_suggestion(match)
# L'utilisateur accepte ou rejette
if user_accepts:
suggestion_manager.accept_suggestion() # Réduit les rejets
else:
suggestion_manager.reject_suggestion() # Incrémente les rejets
```
## Impact sur le système
### Ajustement de priorité
- 0 rejets: confiance × 1.0 (100%)
- 3 rejets: confiance × 0.9 (90%)
- 6 rejets: confiance × 0.81 (81%)
- 9 rejets: confiance × 0.729 (73%)
### Récompenses
- Chaque acceptation réduit le compteur de rejets de 2
- Si rejets < 3, l'ajustement est supprimé
## Prochaines étapes
Le SuggestionManager est maintenant prêt pour:
- **Task 3**: Intégration dans l'Orchestrator
- **Task 4**: Amélioration du GUI Overlay
- **Task 5**: Amélioration du TaskReplayEngine
## Fichiers créés
- `test_suggestion_manager_simple.py`: Tests de validation
- `SUGGESTION_MANAGER_IMPROVEMENTS.md`: Documentation détaillée
- `TASK_2_SUMMARY.md`: Ce résumé
---
**Status**: ✓ COMPLÉTÉ
**Date**: 2025-11-19
**Tests**: 8/8 passés