Files
Geniusia_v2/TASK_2_SUMMARY.md
2026-03-05 00:20:25 +01:00

3.7 KiB
Raw Permalink Blame History

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

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

# 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