Dom 7cc03f6f10 fix: no_screen_change strict → pause supervisée pour apprentissage
Rectification de la branche C introduite dans a21f1ea9f.

## Ce qui était faux

a21f1ea9f faisait :
  strict + no_screen_change → retry × 3 → status=error → queue vidée

C'est le réflexe d'un RPA classique qui se casse la figure quand ça
rate. Ce n'est PAS la philosophie Léa.

Dom m'a rappelé que j'avais oublié ma propre vision documentée dans
project_lea_apprentissage_plan.md et feedback_not_a_click_box.md :
*"Quand elle dit qu'elle n'a pas trouvé X, elle demande montre-moi.
C'est à ce moment qu'il faudrait passer en mode apprentissage."*

## Ce qui est correct maintenant

  strict + no_screen_change
    → status = "paused_need_help"
    → failed_action stocké (target, screenshot, method, score, reason)
    → pause_message demandant l'intervention humaine
    → queue intacte (l'action reste en tête, prête à être relancée)
    → log_replay_failure pour l'apprentissage futur
    → l'agent reçoit replay_paused=True dans /replay/next et s'arrête
    → l'humain corrige physiquement sur la machine cible
    → le replay reprend via /replay/{replay_id}/resume

Redirection vers le mécanisme paused_need_help qui existe déjà pour le
cas target_not_found. Zéro nouveau code de pause, juste une 2ème entrée
dans ce mécanisme.

Le comportement legacy (success_strict=False) reste inchangé : on
log un warning et on continue, comportement tolérant pour les actions
non-critiques.

## Lesson apprises

1. Toujours relire les fichiers mémoire pertinents AVANT d'implémenter
   une branche de gestion d'erreur (nouvelle règle dans
   feedback_reread_before_code.md)
2. Un échec Léa n'est jamais un "stop avec error" — c'est un moment
   pédagogique (nouvelle règle dans feedback_failure_is_learning.md)
3. Ne pas s'auto-presser quand Dom n'a jamais demandé d'aller vite

## Tests

- 56 tests E2E + Phase0 passent, 0 régression
- Comportement vérifié par inspection du code : pause_message formé
  correctement, queue préservée, log_replay_failure appelé

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 09:27:45 +02:00

RPA Vision V3 - 100% Vision-Based Workflow Automation

📊 Status

🚀 PRODUCTION-READY - Phase 12 Complete (77% System Completion)

Latest Update: 14 Décembre 2024

  • 10/13 Phases Complétées - Système mature et fonctionnel
  • Performance Exceptionnelle - 500-6250x plus rapide que requis
  • Architecture Entreprise - 148k+ lignes, 19 modules, 6 specs complètes
  • Innovations Techniques - Self-healing, Multi-modal, GPU management
  • 📊 Audit Complet - Rapport détaillé

Quick Test: bash test_clip.sh

🎯 Vision

RPA basé sur la compréhension sémantique des interfaces, pas sur des coordonnées de clics.

Le système apprend des workflows en observant l'utilisateur et les automatise de manière robuste grâce à une architecture en 5 couches.

🏗️ Architecture en 5 Couches

RawSession (Couche 0)
    ↓
ScreenState (Couche 1) - 4 niveaux d'abstraction
    ↓
UIElement Detection (Couche 2) - Types + Rôles sémantiques
    ↓
State Embedding (Couche 3) - Fusion multi-modale
    ↓
Workflow Graph (Couche 4) - Nodes + Edges + Learning States

📁 Structure

rpa_vision_v3/
├── core/
│   ├── models/          # Couches 0-4 : Structures de données
│   ├── capture/         # Couche 0 : Capture événements + screenshots
│   ├── detection/       # Couche 2 : Détection UI sémantique
│   ├── embedding/       # Couche 3 : Fusion multi-modale + FAISS
│   ├── graph/           # Couche 4 : Construction + Matching + Exécution
│   └── persistence/     # Sauvegarde/Chargement
├── data/
│   ├── sessions/        # RawSessions
│   ├── screen_states/   # ScreenStates
│   ├── embeddings/      # Vecteurs .npy
│   ├── faiss_index/     # Index FAISS
│   └── workflows/       # Workflow Graphs
└── tests/               # Tests unitaires + intégration

🚀 Démarrage Rapide

Installation

# 1. Installer Ollama
curl -fsSL https://ollama.ai/install.sh | sh  # Linux
# ou
brew install ollama  # macOS

# 2. Démarrer Ollama
ollama serve

# 3. Télécharger le modèle VLM
ollama pull qwen3-vl:8b

# 4. Installer dépendances Python
pip install -r requirements.txt

Test Rapide

# Diagnostic système
python3 rpa_vision_v3/examples/diagnostic_vlm.py

# Test de détection
./rpa_vision_v3/test_quick.sh

Utilisation - Détection UI

from rpa_vision_v3.core.detection import create_detector

# Créer le détecteur
detector = create_detector()

# Détecter les éléments UI
elements = detector.detect("screenshot.png")

# Utiliser les résultats
for elem in elements:
    print(f"{elem.type:15s} | {elem.role:20s} | {elem.label}")

Utilisation - Workflow (Phase 4 - À venir)

from rpa_vision_v3.core.models import RawSession, ScreenState, Workflow
from rpa_vision_v3.core.graph import GraphBuilder, NodeMatcher

# 1. Capturer une session
session = RawSession(...)
# ... capturer événements et screenshots

# 2. Construire workflow automatiquement
builder = GraphBuilder(...)
workflow = builder.build_from_session(session)

# 3. Matcher état actuel
matcher = NodeMatcher(...)
current_state = ScreenState(...)
match = matcher.match(current_state, workflow)

# 4. Exécuter action
if match:
    edge = workflow.get_outgoing_edges(match.node.node_id)[0]
    executor.execute_edge(edge, current_state)

📚 Documentation

Guides Principaux

  • Quick Start : QUICK_START.md - Démarrage rapide
  • Prochaines Étapes : NEXT_STEPS.md - Roadmap et Phase 4
  • Phase 3 Complète : PHASE3_COMPLETE.md - Résumé Phase 3

Documentation Technique

  • Spec complète : .kiro/specs/workflow-graph-implementation/
  • Architecture : docs/reference/ARCHITECTURE_VISION_COMPLETE.md
  • Détection Hybride : HYBRID_DETECTION_SUMMARY.md
  • Intégration Ollama : docs/OLLAMA_INTEGRATION.md

🎓 Concepts Clés

RPA 100% Vision

  • Pas de coordonnées (x, y) fixes
  • Rôles sémantiques (primary_action, form_input, etc.)
  • Matching par similarité visuelle et textuelle
  • Robuste aux changements d'UI

Apprentissage Progressif

OBSERVATION (5+ exécutions)
    ↓
COACHING (10+ assistances, succès >90%)
    ↓
AUTO_CANDIDATE (20+ exécutions, succès >95%)
    ↓
AUTO_CONFIRMÉ (validation utilisateur)

State Embedding

Fusion multi-modale :

  • 50% Image (screenshot complet)
  • 30% Texte (texte détecté)
  • 10% Titre (fenêtre)
  • 10% UI (éléments détectés)

🧪 Tests

# Tests unitaires
pytest tests/unit/

# Tests d'intégration
pytest tests/integration/

# Tests de performance
pytest tests/performance/ --benchmark-only

📈 Roadmap - 77% Complété (10/13 Phases)

Phases Complétées

  • Phase 1-2 : Fondations + Embeddings FAISS
  • Phase 4-6 : Détection UI + Workflow Graphs + Action Execution
  • Phase 7-8 : Learning System + Training System
  • Phase 10-12 : GPU Management + Performance + Monitoring

🎯 Phases Restantes

  • Phase 3 : Checkpoint Final (tests storage)
  • Phase 9 : Visual Workflow Builder (90% → 100%)
  • Phase 13 : Tests End-to-End + Documentation finale

🚀 Composants Production-Ready

  • Agent V0 : Capture cross-platform + Encryption
  • Server API : Processing pipeline + Web dashboard
  • Analytics System : Monitoring + Insights + Reporting
  • Self-Healing : Automatic adaptation + Recovery

🤝 Contribution

Voir .kiro/specs/workflow-graph-implementation/tasks.md pour les tâches en cours.

📄 Licence

Propriétaire - Tous droits réservés

Description
No description provided
Readme 665 MiB
Languages
Python 82.6%
TypeScript 11.8%
HTML 2.7%
Shell 1.2%
CSS 1.1%
Other 0.4%