Files
rpa_vision_v3/.kiro/specs/actionexecutor-workflow-integration/tasks.md
Dom a7de6a488b feat: replay E2E fonctionnel — 25/25 actions, 0 retries, SomEngine via serveur
Validé sur PC Windows (DESKTOP-58D5CAC, 2560x1600) :
- 8 clics résolus visuellement (1 anchor_template, 1 som_text_match, 6 som_vlm)
- Score moyen 0.75, temps moyen 1.6s
- Texte tapé correctement (bonjour, test word, date, email)
- 0 retries, 2 actions non vérifiées (OK)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 14:04:41 +02:00

13 KiB

Plan d'Implémentation - Intégration ActionExecutor/WorkflowPipeline

Auteur : Dom, Alice Kiro
Date : 20 décembre 2024

  • 1. Créer ExecutionEngine - Orchestrateur Central

    • 1.1 Implémenter la classe ExecutionEngine
      • Coordonner WorkflowPipeline, ActionExecutor, TargetResolver
      • Gérer le pipeline d'exécution complet
      • Intégrer la gestion d'erreurs et les métriques
      • Exigences: 1.1, 1.2, 1.3
    • 1.2 Implémenter execute_workflow_step()
      • Pipeline complet : contexte → match → action → exécution → résultat
      • Gestion des cas : no_match, workflow_complete, erreurs
      • Exigences: 1.1, 1.5
    • 1.3 Implémenter _execute_action_integrated()
      • Résolution de cible intégrée si nécessaire
      • Exécution physique avec contexte
      • Capture des métriques de performance
      • Exigences: 1.2, 4.1, 4.2
    • * 1.4 Écrire des tests de propriété pour l'intégration de base
      • Propriété 1: Intégration WorkflowPipeline-ActionExecutor
      • Propriété 2: Ordre de résolution de cible
      • Valide: Exigences 1.1, 1.2
  • 2. Implémenter ExecutionContextManager

    • 2.1 Créer la classe ExecutionContextManager
      • Gestion du cache de contexte par workflow
      • Intégration avec VariableManager et HistoryTracker
      • Exigences: 2.1, 2.2, 2.3
    • 2.2 Implémenter prepare_execution_context()
      • Créer contexte riche avec état, variables, historique
      • Validation de l'intégrité du contexte
      • Exigences: 2.1, 2.2, 2.3
    • 2.3 Implémenter update_context_after_execution()
      • Mise à jour des variables modifiées
      • Ajout à l'historique d'exécution
      • Mise à jour des métriques
      • Exigences: 2.4
    • 2.4 Implémenter _validate_context_integrity()
      • Détection et correction des incohérences
      • Réparation automatique des variables et historique
      • Exigences: 2.5
    • 2.5 Créer ExecutionContext dataclass
      • Tous les champs nécessaires avec métadonnées
      • Méthodes utilitaires pour métriques et flags
      • Exigences: 2.1, 2.2, 2.3
    • * 2.6 Écrire des tests de propriété pour la gestion du contexte
      • Propriété 6: Contexte d'écran disponible
      • Propriété 7: Accès aux variables du workflow
      • Propriété 8: Historique des actions maintenu
      • Propriété 9: Mise à jour du contexte
      • Propriété 10: Détection d'incohérences du contexte
      • Valide: Exigences 2.1, 2.2, 2.3, 2.4, 2.5
  • 3. Implémenter RobustnessEngine

    • 3.1 Créer les stratégies de récupération spécialisées
      • SpatialFallbackStrategy pour TargetNotFoundError
      • SemanticVariantStrategy pour UIElementChangedError
      • UIRefreshStrategy, DynamicAdaptationStrategy, RelearningStrategy
      • Exigences: 3.1, 3.2, 3.3
    • 3.2 Implémenter RobustnessEngine
      • Mapping des erreurs aux stratégies
      • Séquence de récupération avec logging
      • Exigences: 3.1, 3.4, 3.5
    • 3.3 Implémenter handle_execution_error()
      • Classification des erreurs
      • Application séquentielle des stratégies
      • Escalade après échec de toutes les stratégies
      • Exigences: 3.1, 3.4
    • 3.4 Implémenter adapt_to_interface_change()
      • Analyse des changements d'interface
      • Adaptation du contexte et des stratégies
      • Exigences: 3.3
    • * 3.5 Écrire des tests de propriété pour la robustesse
      • Propriété 11: Récupération automatique des échecs temporaires
      • Propriété 12: Stratégies alternatives de résolution
      • Propriété 13: Adaptation dynamique aux changements d'interface
      • Propriété 14: Escalade avec contexte complet
      • Propriété 15: Logging des récupérations réussies
      • Valide: Exigences 3.1, 3.2, 3.3, 3.4, 3.5
  • 4. Implémenter PerformanceOptimizer

    • 4.1 Créer PerformanceOptimizer avec caches
      • LRUCache pour analyses d'interface et exécutions d'actions
      • ROIPriorityManager pour priorisation des zones
      • Exigences: 8.2, 8.3, 8.4
    • 4.2 Implémenter optimize_execution()
      • Vérification du cache pour actions similaires
      • Optimisation de l'analyse d'interface
      • Priorisation des régions d'intérêt
      • Adaptation aux ressources disponibles
      • Exigences: 8.2, 8.3, 8.4, 8.5
    • 4.3 Implémenter _optimize_interface_analysis()
      • Cache d'analyse par signature d'état
      • Réutilisation intelligente des analyses
      • Exigences: 8.2
    • 4.4 Implémenter _adapt_to_resources()
      • Adaptation selon la pression mémoire/CPU
      • Utilisation de l'accélération GPU si disponible
      • Exigences: 8.5
    • * 4.5 Écrire des tests de propriété pour les performances
      • Propriété 35: Réutilisation des analyses d'interface
      • Propriété 36: Optimisation par cache des actions similaires
      • Propriété 37: Priorisation des zones d'intérêt
      • Propriété 38: Adaptation aux ressources limitées
      • Valide: Exigences 8.2, 8.3, 8.4, 8.5
  • 5. Implémenter le système de métriques intégré

    • 5.1 Étendre ExecutionEngine avec capture de métriques
      • Mesure des temps de résolution et d'exécution
      • Calcul des métriques de succès/échec
      • Exigences: 4.1, 4.2, 4.3, 4.4
    • 5.2 Créer MetricsCollector
      • Collection automatique des métriques de performance
      • Agrégation des métriques par workflow et action
      • Exigences: 4.3, 4.4
    • 5.3 Implémenter la génération de rapports
      • Rapport de performance complet par workflow
      • Métriques détaillées par étape
      • Exigences: 4.5
    • * 5.4 Écrire des tests de propriété pour les métriques
      • Propriété 16: Mesure du temps de résolution
      • Propriété 17: Mesure du temps d'exécution
      • Propriété 18: Calcul des métriques de succès
      • Propriété 19: Enregistrement des métriques d'échec
      • Propriété 20: Rapport de performance complet
      • Valide: Exigences 4.1, 4.2, 4.3, 4.4, 4.5
  • 6. Implémenter l'intégration d'apprentissage

    • 6.1 Créer LearningIntegration
      • Enregistrement des paramètres de succès
      • Renforcement des patterns de matching
      • Apprentissage à partir des récupérations
      • Exigences: 5.1, 5.2, 5.3
    • 6.2 Implémenter l'adaptation des modèles
      • Détection des évolutions d'interface
      • Adaptation automatique des modèles de reconnaissance
      • Exigences: 5.4
    • 6.3 Implémenter l'optimisation basée sur les patterns
      • Détection des patterns récurrents
      • Optimisation des stratégies de résolution
      • Exigences: 5.5
    • * 6.4 Écrire des tests de propriété pour l'apprentissage
      • Propriété 21: Enregistrement des paramètres de succès
      • Propriété 22: Renforcement des patterns de matching
      • Propriété 23: Apprentissage à partir des récupérations
      • Propriété 24: Adaptation des modèles aux évolutions d'interface
      • Propriété 25: Optimisation basée sur les patterns récurrents
      • Valide: Exigences 5.1, 5.2, 5.3, 5.4, 5.5
  • 7. Implémenter le système de traçabilité et audit

    • 7.1 Créer AuditTrailManager
      • Création d'enregistrements d'audit détaillés
      • Enregistrement complet des actions et paramètres
      • Exigences: 6.1, 6.2
    • 7.2 Implémenter la documentation du raisonnement
      • Capture des décisions prises par le système
      • Explication du raisonnement pour chaque choix
      • Exigences: 6.3
    • 7.3 Implémenter la capture du contexte d'erreur
      • Contexte complet pour toutes les erreurs
      • Stack traces avec métadonnées d'exécution
      • Exigences: 6.4
    • 7.4 Implémenter la génération de traces complètes
      • Trace complète pour audit de bout en bout
      • Corrélation entre toutes les étapes d'exécution
      • Exigences: 6.5
    • * 7.5 Écrire des tests de propriété pour la traçabilité
      • Propriété 26: Création d'enregistrements d'audit
      • Propriété 27: Enregistrement complet des actions
      • Propriété 28: Documentation du raisonnement
      • Propriété 29: Capture du contexte d'erreur
      • Propriété 30: Trace complète pour audit
      • Valide: Exigences 6.1, 6.2, 6.3, 6.4, 6.5
  • 8. Implémenter le système d'extensibilité

    • 8.1 Créer l'architecture de plugins
      • Interface pour nouveaux types d'actions
      • Système de plugins pour stratégies personnalisées
      • Exigences: 7.1, 7.2
    • 8.2 Implémenter le support des post-conditions personnalisées
      • Framework pour définir des post-conditions spécifiques
      • Validation automatique des post-conditions
      • Exigences: 7.3
    • 8.3 Implémenter le support des métriques personnalisées
      • Framework pour ajouter de nouvelles métriques
      • Intégration avec le système de métriques existant
      • Exigences: 7.4
    • * 8.4 Écrire des tests de propriété pour l'extensibilité
      • Propriété 31: Intégration de nouveaux types d'actions
      • Propriété 32: Support des stratégies personnalisées
      • Propriété 33: Définition de post-conditions personnalisées
      • Propriété 34: Ajout de métriques personnalisées
      • Valide: Exigences 7.1, 7.2, 7.3, 7.4
  • 9. Créer les modèles de données complets

    • 9.1 Implémenter StepExecutionResult
      • Résultat complet avec tous les champs nécessaires
      • Méthodes de classe pour différents types de résultats
      • Exigences: 1.3, 4.5, 6.5
    • 9.2 Implémenter ActionExecutionResult
      • Résultat détaillé d'exécution d'action
      • Métriques et contexte intégrés
      • Exigences: 1.3, 4.2
    • 9.3 Implémenter RecoveryResult et RecoveryAttempt
      • Modèles pour la gestion des récupérations
      • Historique complet des tentatives
      • Exigences: 3.4, 3.5
    • 9.4 Implémenter OptimizedActionPlan
      • Plan d'action optimisé avec cache et adaptations
      • Métadonnées d'optimisation
      • Exigences: 8.2, 8.3, 8.5
    • * 9.5 Écrire des tests de propriété pour les modèles de données
      • Propriété 3: Capture complète des résultats
      • Valide: Exigences 1.3
  • 10. Intégration et tests de bout en bout

    • 10.1 Intégrer ExecutionEngine dans WorkflowPipeline
      • Remplacer la logique d'exécution existante
      • Assurer la compatibilité ascendante
      • Exigences: 1.1, 1.5
    • 10.2 Intégrer avec ActionExecutor existant
      • Étendre ActionExecutor pour supporter le contexte riche
      • Préserver toutes les fonctionnalités existantes
      • Exigences: 1.2, 1.4
    • 10.3 Tests d'intégration de bout en bout
      • Workflows complets avec tous les composants intégrés
      • Scénarios de récupération d'erreurs
      • Tests de performance avec optimisations
      • Toutes les exigences
    • * 10.4 Écrire des tests de propriété pour l'intégration complète
      • Propriété 4: Gestion des échecs d'action
      • Propriété 5: Progression automatique du workflow
      • Valide: Exigences 1.4, 1.5
  • 11. Validation de non-régression

    • 11.1 Valider que toutes les fonctionnalités WorkflowPipeline sont préservées
      • Exécuter tous les tests existants de WorkflowPipeline
      • Vérifier que les contrats d'API sont inchangés
      • Toutes les exigences
    • 11.2 Valider que toutes les fonctionnalités ActionExecutor sont préservées
      • Exécuter tous les tests existants d'ActionExecutor
      • Vérifier la compatibilité avec les actions existantes
      • Toutes les exigences
    • 11.3 Tests de performance comparatifs
      • Benchmarks avant/après intégration
      • Vérifier que les performances sont maintenues ou améliorées
      • Exigences: 8.1, 8.2, 8.3, 8.4, 8.5
    • 11.4 Tests de charge et stress
      • Exécution parallèle de multiples workflows
      • Gestion des ressources sous charge
      • Exigences: 8.5
  • 12. Point de contrôle final - S'assurer que tous les tests passent

    • S'assurer que tous les tests passent, demander à l'utilisateur si des questions se posent.

NOTES IMPORTANTES

Préservation de la Qualité

  • L'intégration doit préserver toutes les fonctionnalités existantes
  • Aucune régression dans WorkflowPipeline ou ActionExecutor
  • Performances maintenues ou améliorées

Architecture Modulaire

  • Chaque composant doit être testable indépendamment
  • Interfaces claires entre tous les composants
  • Extensibilité pour futures améliorations

Robustesse

  • Gestion d'erreurs complète à tous les niveaux
  • Récupération automatique des échecs temporaires
  • Adaptation dynamique aux changements d'interface

Performance

  • Optimisations intelligentes avec cache
  • Réutilisation des analyses coûteuses
  • Adaptation aux ressources disponibles

Observabilité

  • Métriques complètes de performance
  • Traçabilité complète pour audit
  • Apprentissage intégré pour amélioration continue