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>
This commit is contained in:
Dom
2026-03-31 14:04:41 +02:00
parent 5e0b53cfd1
commit a7de6a488b
79542 changed files with 6091757 additions and 1 deletions

View File

@@ -0,0 +1,407 @@
# Design Architecture - Fiches #10-15 Excellence Opérationnelle
**Auteur**: Dom, Alice Kiro
**Date**: 15 décembre 2024
**Version**: 1.0
## 🏗️ Architecture Technique Détaillée
### Vue d'Ensemble
```
┌─────────────────────────────────────────────────────────────────┐
│ RPA Vision V3 - Excellence Opérationnelle │
├─────────────────────────────────────────────────────────────────┤
│ Fiches #1-9: Fondations Solides (95% précision) │
│ ✅ Data Contracts ✅ BBOX Geometry ✅ Context Hints │
│ ✅ Stable Imports ✅ Smoke Tests ✅ Sniper Mode │
│ ✅ Form Logic ✅ Terrain Mode ✅ PostConditions │
├─────────────────────────────────────────────────────────────────┤
│ Fiches #10-15: Excellence Opérationnelle (98%+ précision) │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Precision │ │ Environment │ │ Performance │ │
│ │ Metrics Engine │ │ Adapter │ │ Optimizer │ │
│ │ (Fiche #10) │ │ (Fiche #12) │ │ (Fiche #11) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │ │ │ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Predictive │ │ Monitoring │ │ Advanced │ │
│ │ Intelligence │ │ Dashboard │ │ Auto-Healing │ │
│ │ (Fiche #13) │ │ (Fiche #14) │ │ (Fiche #15) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 🔧 Composants Détaillés
### 1. Precision Metrics Engine (Fiche #10)
#### Architecture
```python
core/precision/
__init__.py
metrics_engine.py # Moteur principal collecte métriques
collectors/
__init__.py
resolution_collector.py # Métriques résolution cibles
performance_collector.py # Métriques performance
error_collector.py # Métriques erreurs
storage/
__init__.py
timeseries_store.py # Interface TimeSeries
influxdb_adapter.py # Adapter InfluxDB
prometheus_adapter.py # Adapter Prometheus
models/
__init__.py
metric_models.py # Modèles données métriques
api/
__init__.py
metrics_api.py # API REST métriques
```
#### Intégration TargetResolver
```python
# Extension transparente du TargetResolver existant
class EnhancedTargetResolver(TargetResolver):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.metrics_engine = MetricsEngine()
def resolve(self, target_spec: TargetSpec, screen_state: ScreenState) -> ResolvedTarget:
start_time = time.perf_counter()
# Résolution normale (Fiches #1-9)
result = super().resolve(target_spec, screen_state)
# Collecte métriques (Fiche #10)
duration = time.perf_counter() - start_time
self.metrics_engine.record_resolution(
target_spec=target_spec,
result=result,
duration=duration,
screen_state=screen_state
)
return result
```
---
### 2. Performance Optimizer (Fiche #11)
#### Cache Multi-Niveaux
```python
core/performance/
__init__.py
cache_manager.py # Gestionnaire cache principal
caches/
__init__.py
l1_memory_cache.py # Cache L1 mémoire (LRU)
l2_disk_cache.py # Cache L2 disque (SSD)
l3_embedding_cache.py # Cache L3 embeddings
optimization/
__init__.py
parallel_resolver.py # Résolution parallèle
gpu_optimizer.py # Optimisation GPU
memory_manager.py # Gestion mémoire
benchmarks/
__init__.py
performance_tests.py # Tests performance
```
#### Stratégie Cache
```
L1 Cache (Memory): 100MB, TTL 5min, LRU
├── Résolutions récentes (1000 dernières)
├── Embeddings hot (top 100)
└── Screen states actifs
L2 Cache (SSD): 1GB, TTL 1h, LFU
├── Embeddings fréquents
├── UI patterns appris
└── Calibrations environnement
L3 Cache (Network): 10GB, TTL 24h
├── Modèles pré-calculés
├── Datasets training
└── Backups configurations
```
---
### 3. Environment Adapter (Fiche #12)
#### Détection Multi-Environnements
```python
core/environment/
__init__.py
detector.py # Détection environnement
adapters/
__init__.py
dpi_adapter.py # Adaptation DPI
resolution_adapter.py # Adaptation résolution
theme_adapter.py # Adaptation thème
os_adapter.py # Adaptation OS
calibration/
__init__.py
auto_calibrator.py # Calibration automatique
threshold_optimizer.py # Optimisation seuils
normalization/
__init__.py
coordinate_normalizer.py # Normalisation coordonnées
```
#### Matrice Environnements Supportés
```
┌─────────────┬─────────┬─────────┬─────────┬─────────┐
│ OS │ Windows │ macOS │ Linux │ Mobile │
├─────────────┼─────────┼─────────┼─────────┼─────────┤
│ DPI │ 100-300%│ 100-200%│ 100-200%│ 200-400%│
│ Résolution │ 1024x768│ 1280x800│ 1920x1080│ Variable│
│ │ à 4K │ à 5K │ à 4K │ │
│ Thème │ Light │ Light │ Light │ Auto │
│ │ Dark │ Dark │ Dark │ │
│ Support │ ✅ Full │ ✅ Full │ ✅ Full │ 🔄 Beta │
└─────────────┴─────────┴─────────┴─────────┴─────────┘
```
---
### 4. Predictive Intelligence (Fiche #13)
#### Machine Learning Pipeline
```python
core/intelligence/
__init__.py
learning_engine.py # Moteur apprentissage principal
models/
__init__.py
pattern_learner.py # Apprentissage patterns UI
threshold_optimizer.py # Optimisation seuils
failure_predictor.py # Prédiction échecs
training/
__init__.py
online_trainer.py # Training online
batch_trainer.py # Training batch
evaluation/
__init__.py
ab_tester.py # A/B testing
performance_evaluator.py # Évaluation performance
```
#### Algorithmes ML
```
Pattern Learning:
├── Clustering UI elements (K-means, DBSCAN)
├── Sequence mining workflows (PrefixSpan)
└── Anomaly detection (Isolation Forest)
Threshold Optimization:
├── Bayesian optimization (Gaussian Process)
├── Grid search avec cross-validation
└── Multi-objective optimization (NSGA-II)
Failure Prediction:
├── Classification (Random Forest, XGBoost)
├── Time series forecasting (LSTM)
└── Ensemble methods (Voting, Stacking)
```
---
### 5. Monitoring Dashboard (Fiche #14)
#### Architecture Full-Stack
```
monitoring_dashboard/
├── backend/
│ ├── __init__.py
│ ├── app.py # Flask/FastAPI app
│ ├── api/
│ │ ├── __init__.py
│ │ ├── metrics_api.py # API métriques
│ │ ├── alerts_api.py # API alertes
│ │ └── websocket_api.py # WebSocket temps réel
│ ├── services/
│ │ ├── __init__.py
│ │ ├── alert_service.py # Service alertes
│ │ └── diagnostic_service.py # Service diagnostic
│ └── models/
│ ├── __init__.py
│ └── dashboard_models.py # Modèles dashboard
└── frontend/
├── package.json
├── src/
│ ├── components/
│ │ ├── MetricsChart.tsx # Graphiques métriques
│ │ ├── AlertPanel.tsx # Panel alertes
│ │ └── DiagnosticView.tsx # Vue diagnostic
│ ├── hooks/
│ │ ├── useMetrics.ts # Hook métriques
│ │ └── useWebSocket.ts # Hook WebSocket
│ └── utils/
│ └── chartUtils.ts # Utilitaires graphiques
└── public/
└── index.html
```
#### Interface Utilisateur
```
┌─────────────────────────────────────────────────────────────────┐
│ RPA Vision V3 - Monitoring Dashboard │
├─────────────────────────────────────────────────────────────────┤
│ 📊 Métriques Temps Réel 🚨 Alertes (2) ⚙️ Config │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Précision │ │ Latence P95 │ │ Throughput │ │
│ │ 97.8% ↗️ │ │ 45ms ↘️ │ │ 120 ops/sec ↗️ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 📈 Performance Trends (Last 24h) │ │
│ │ [Graphique temps réel avec métriques clés] │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────┐ ┌─────────────────────────────────────────┐ │
│ │ 🚨 Alertes │ │ 🔍 Diagnostic Automatique │ │
│ │ • High latency │ │ • Cache hit rate low → Increase TTL │ │
│ │ • Memory usage │ │ • GPU utilization → Enable batching │ │
│ └─────────────────┘ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
---
### 6. Advanced Auto-Healing (Fiche #15)
#### Architecture Auto-Healing V2
```python
core/healing_v2/
__init__.py
healing_engine_v2.py # Moteur principal v2
detection/
__init__.py
ui_change_detector.py # Détection changements UI
failure_detector.py # Détection échecs
strategies/
__init__.py
spatial_recovery.py # Récupération spatiale
semantic_recovery.py # Récupération sémantique
learning_recovery.py # Récupération apprentissage
fallback_chain.py # Chaîne fallback
learning/
__init__.py
variant_learner.py # Apprentissage variantes
pattern_repository.py # Repository patterns
integration/
__init__.py
execution_integration.py # Intégration exécution
```
#### Stratégies Récupération
```
Niveau 1: Spatial Recovery (90% succès)
├── Recherche dans voisinage immédiat
├── Ajustement coordonnées relatives
└── Fallback éléments similaires
Niveau 2: Semantic Recovery (70% succès)
├── Recherche par texte alternatif
├── Recherche par rôle sémantique
└── Recherche par contexte visuel
Niveau 3: Learning Recovery (50% succès)
├── Application patterns appris
├── Utilisation variantes connues
└── Adaptation basée historique
Niveau 4: Human Fallback (100% succès)
├── Notification utilisateur
├── Mode assistance guidée
└── Apprentissage nouvelle variante
```
---
## 🔄 Flux d'Intégration
### Workflow Complet
```
1. User Action Request
2. Enhanced Target Resolver (Fiches #1-9 + #10-15)
├── Environment Detection (Fiche #12)
├── Cache Lookup (Fiche #11)
├── Predictive Optimization (Fiche #13)
└── Metrics Collection (Fiche #10)
3. Action Execution (PostConditions Fiche #9)
├── Success → Metrics Update
└── Failure → Auto-Healing (Fiche #15)
4. Real-time Monitoring (Fiche #14)
├── Dashboard Update
├── Alert Evaluation
└── Diagnostic Generation
```
### Points d'Intégration
```python
# 1. TargetResolver Enhancement
class EnhancedTargetResolver(TargetResolver):
def __init__(self):
super().__init__()
self.metrics_engine = MetricsEngine() # Fiche #10
self.cache_manager = CacheManager() # Fiche #11
self.env_adapter = EnvironmentAdapter() # Fiche #12
self.intelligence = PredictiveIntelligence() # Fiche #13
self.healing_engine = HealingEngineV2() # Fiche #15
# 2. ActionExecutor Enhancement
class EnhancedActionExecutor(ActionExecutor):
def __init__(self):
super().__init__()
self.metrics_engine = MetricsEngine() # Fiche #10
self.healing_engine = HealingEngineV2() # Fiche #15
# 3. Dashboard Integration
class MonitoringDashboard: # Fiche #14
def __init__(self):
self.metrics_api = MetricsAPI()
self.alert_service = AlertService()
self.diagnostic_service = DiagnosticService()
```
---
## 📊 Métriques Architecture
### Performance Targets
```
Component | Latency Target | Throughput Target | Memory Target
------------------------|----------------|-------------------|---------------
Metrics Engine | <1ms overhead | 1000+ metrics/sec | <50MB
Cache Manager | <0.5ms P95 | 10000+ ops/sec | <200MB
Environment Adapter | <50ms detect | 100+ envs/sec | <100MB
Predictive Intelligence | <10ms predict | 1000+ preds/sec | <150MB
Dashboard Backend | <50ms API | 100+ users | <100MB
Auto-Healing Engine | <500ms recover | 10+ recoveries/sec| <100MB
```
### Quality Targets
```
Metric | Current | Target | Validation
------------------------|---------|--------|------------
Code Coverage | 90% | 95%+ | pytest-cov
Performance Tests | Manual | Auto | CI/CD pipeline
Security Scan | Manual | Auto | bandit + safety
Documentation Coverage | 80% | 95%+ | sphinx-coverage
```
---
**Status**: ✅ **DESIGN ARCHITECTURE COMPLET**
**Prochaine étape**: Implémentation Fiche #10 - Precision Metrics Engine

View File

@@ -0,0 +1,151 @@
# Fiches #10-15 - Excellence Opérationnelle RPA Vision V3
**Auteur**: Dom, Alice Kiro
**Date**: 15 décembre 2024
**Version**: 1.0
**Statut**: Spécification prête pour implémentation
## 🎯 Vision et Objectifs
### Contexte Actuel ✅
Après le succès des **Fiches #1-9**, le système RPA Vision V3 a atteint :
- **Précision**: 95%+ (vs 60% initial)
- **Robustesse**: Gestion terrain avec OCR errors, text variations
- **Intelligence**: Sniper mode avec scoring multi-critères
- **Adaptabilité**: Postconditions avec retry intelligent et backoff
- **Reproductibilité**: Tests 100% stables avec imports unifiés
### Vision Fiches #10-15 🚀
Transformer RPA Vision V3 d'un système **"intelligent et robuste"** vers un système **"d'excellence opérationnelle"** avec :
1. **🔍 Monitoring Temps Réel** - Observabilité complète des performances
2. **⚡ Performance Optimisée** - Latence <50ms P95, throughput 100+ ops/sec
3. **🛡️ Robustesse Multi-Environnements** - Adaptation automatique DPI/résolution/thème
4. **🧠 Intelligence Prédictive** - Apprentissage continu et optimisation automatique
5. **📊 Dashboard Opérationnel** - Interface monitoring avec alertes intelligentes
6. **🔄 Auto-Healing Avancé** - Récupération automatique et adaptation UI changes
---
## 📋 User Stories Principales
### US-10: Monitoring Temps Réel
**En tant qu'** administrateur système
**Je veux** surveiller les performances RPA en temps réel
**Afin de** détecter et résoudre les problèmes avant impact utilisateur
**Critères d'acceptation**:
- [ ] Métriques collectées avec <1ms overhead
- [ ] Dashboard temps réel avec updates <1s
- [ ] Alertes automatiques sur anomalies
- [ ] Historique 30 jours avec agrégation intelligente
---
### US-11: Performance Sub-50ms
**En tant qu'** utilisateur RPA
**Je veux** des résolutions de cibles ultra-rapides
**Afin d'** avoir une expérience fluide même sur workflows complexes
**Critères d'acceptation**:
- [ ] Latence P95 <50ms pour résolutions simples
- [ ] Latence P95 <200ms pour résolutions composites
- [ ] Throughput >100 résolutions/seconde
- [ ] Cache hit rate >80% après warm-up
---
### US-12: Adaptation Multi-Environnements
**En tant qu'** utilisateur sur différents environnements
**Je veux** que le système s'adapte automatiquement
**Afin de** maintenir la précision sur tous mes écrans/OS
**Critères d'acceptation**:
- [ ] Détection automatique DPI/résolution/thème
- [ ] Calibration automatique des seuils
- [ ] Précision >95% sur 5+ environnements différents
- [ ] Migration transparente entre environnements
---
### US-13: Intelligence Prédictive
**En tant que** système RPA
**Je veux** apprendre continuellement des patterns
**Afin d'** améliorer automatiquement ma précision
**Critères d'acceptation**:
- [ ] Apprentissage automatique des patterns UI
- [ ] Optimisation continue des seuils
- [ ] Prédiction des échecs potentiels
- [ ] Amélioration précision >2% par semaine d'usage
---
### US-14: Dashboard Opérationnel
**En tant qu'** équipe DevOps
**Je veux** un dashboard complet de monitoring
**Afin de** maintenir le système en production
**Critères d'acceptation**:
- [ ] Interface web responsive avec métriques temps réel
- [ ] Alertes intelligentes avec ML anomaly detection
- [ ] Diagnostic automatique avec suggestions
- [ ] Export rapports et intégration monitoring existant
---
### US-15: Auto-Healing Avancé
**En tant qu'** workflow automatisé
**Je veux** me réparer automatiquement quand l'UI change
**Afin de** maintenir la continuité opérationnelle
**Critères d'acceptation**:
- [ ] Détection automatique changements UI
- [ ] Stratégies récupération multi-niveaux
- [ ] Apprentissage des nouvelles variantes UI
- [ ] Taux de récupération >70% des échecs initiaux
---
## 🎯 Objectifs Quantifiés
### Performance Targets
| Métrique | Actuel (Fiches #1-9) | Cible (Fiches #10-15) | Amélioration |
|----------|----------------------|------------------------|--------------|
| **Précision globale** | 95% | 98%+ | +3%+ |
| **Latence P95 simple** | ~100ms | <50ms | 50%+ |
| **Latence P95 composite** | ~400ms | <200ms | 50%+ |
| **Throughput** | ~30 ops/sec | >100 ops/sec | 3x+ |
| **Cache hit rate** | ~60% | >80% | +20%+ |
| **MTTR** | ~30min | <5min | 6x+ |
| **Memory overhead** | Variable | <500MB | Contrôlé |
---
## 🗺️ Roadmap d'Implémentation
### Phase 1: Infrastructure Monitoring (Fiches #10-11)
**Durée**: 2 semaines
**Focus**: Observabilité et performance de base
- **Fiche #10**: Precision Metrics Engine + TimeSeries Storage
- **Fiche #11**: Performance Cache + Baseline Optimization
### Phase 2: Robustesse Multi-Environnements (Fiches #12-13)
**Durée**: 2 semaines
**Focus**: Adaptation automatique et intelligence
- **Fiche #12**: Environment Detection + Coordinate Normalization
- **Fiche #13**: Predictive Intelligence + Continuous Learning
### Phase 3: Excellence Opérationnelle (Fiches #14-15)
**Durée**: 2 semaines
**Focus**: Dashboard et auto-healing avancé
- **Fiche #14**: Monitoring Dashboard + Intelligent Alerting
- **Fiche #15**: Advanced Auto-Healing + Production Readiness
---
**Status**: ✅ **SPÉCIFICATION COMPLÈTE ET PRÊTE**
**Prochaine étape**: Implémentation Fiche #10 - Precision Metrics Engine

View File

@@ -0,0 +1,127 @@
# Tasks Détaillées - Fiches #10-15 Excellence Opérationnelle
**Auteur**: Dom, Alice Kiro
**Date**: 15 décembre 2024
**Version**: 1.0
## 🎯 Vue d'Ensemble
Cette spécification définit 6 fiches majeures pour transformer RPA Vision V3 vers l'excellence opérationnelle, avec monitoring intelligent, performance optimisée, et robustesse multi-environnements.
---
## 📋 Fiche #10: Precision Metrics Engine
**Objectif**: Créer le système de collecte métriques temps réel avec <1ms overhead
**Priorité**: Critique
**Estimation**: 3-4 jours
**Dépendances**: Fiches #1-9 (fondations)
### Patches à Appliquer
#### **Patch A - Modèles Métriques** ✅
Créer `core/precision/models/metric_models.py`
#### **Patch B - Moteur Collecte** ✅
Créer `core/precision/metrics_engine.py`
#### **Patch C - Intégration TargetResolver** ✅
Modifier `core/execution/target_resolver.py`
#### **Patch D - API Métriques** ✅
Créer `core/precision/api/metrics_api.py`
#### **Patch E - Tests Métriques** ✅
Créer `tests/unit/test_precision_metrics.py`
### Critères d'Acceptation
- [ ] Overhead collecte <1ms par résolution
- [ ] Support 1000+ métriques/seconde
- [ ] API REST fonctionnelle
- [ ] Tests unitaires 100% passants
- [ ] Intégration transparente TargetResolver
---
## 📋 Fiche #11: Performance Cache + Optimization
**Objectif**: Cache multi-niveaux avec >80% hit rate et optimisations performance
**Priorité**: Critique
**Estimation**: 4-5 jours
**Dépendances**: Fiche #10 (métriques)
### Critères d'Acceptation
- [ ] Cache hit rate >80% après warm-up
- [ ] Latence cache <0.5ms P95
- [ ] Throughput >100 résolutions/seconde
- [ ] Memory usage <200MB overhead
- [ ] Tests performance automatisés
---
## 📋 Fiche #12: Environment Detection + Adaptation
**Objectif**: Adaptation automatique multi-environnements (DPI/résolution/thème)
**Priorité**: Haute
**Estimation**: 4-5 jours
**Dépendances**: Fiche #10 (métriques), Fiche #11 (cache)
### Critères d'Acceptation
- [ ] Détection environnement <50ms
- [ ] Support 5+ environnements différents
- [ ] Précision >95% cross-environment
- [ ] Calibration automatique convergence <100 échantillons
- [ ] Tests multi-environnements automatisés
---
## 📋 Fiche #13: Predictive Intelligence + Learning
**Objectif**: Apprentissage continu et optimisation prédictive automatique
**Priorité**: Haute
**Estimation**: 5-6 jours
**Dépendances**: Fiches #10-12 (métriques, cache, environnement)
### Critères d'Acceptation
- [ ] Amélioration précision >2% par semaine d'usage
- [ ] Prédiction échecs accuracy >80%
- [ ] Optimisation seuils convergence <1000 échantillons
- [ ] A/B testing automatique statistiquement significatif
- [ ] Learning online <10ms overhead
---
## 📋 Fiche #14: Monitoring Dashboard + Alerting
**Objectif**: Dashboard web temps réel avec alertes intelligentes ML
**Priorité**: Critique
**Estimation**: 5-6 jours
**Dépendances**: Fiches #10-13 (toutes métriques et intelligence)
### Critères d'Acceptation
- [ ] Dashboard responsive temps réel <1s latency
- [ ] Alertes ML accuracy >95%, faux positifs <5%
- [ ] Support 100+ connexions WebSocket simultanées
- [ ] Diagnostic automatique suggestions pertinentes >80%
- [ ] Performance Lighthouse >90
---
## 📋 Fiche #15: Advanced Auto-Healing + Production
**Objectif**: Auto-healing avancé avec >70% recovery rate et production readiness
**Priorité**: Critique
**Estimation**: 5-6 jours
**Dépendances**: Fiches #10-14 (écosystème complet)
### Critères d'Acceptation
- [ ] Recovery rate >70% échecs automatiques
- [ ] Détection UI changes >90% accuracy
- [ ] Latence recovery <500ms
- [ ] Production monitoring complet
- [ ] Security scan 0 vulnérabilités critiques
---
**Status**: ✅ **TASKS DÉTAILLÉES COMPLÈTES**
**Prochaine étape**: Implémentation séquentielle Fiches #10#15