Diagnostic post-bench E2E (rapport docs/E2E_TEST_RUN_2026-05-08.md) :
1. BUG SILENCIEUX MAJEUR (api_stream.py:4549) — quand le pré-check OCR
rejette, mon code de rejet hier soir met x_pct=None / y_pct=None.
Le log structuré faisait result.get('x_pct', 0):.4f → None:.4f →
TypeError → réponse "analysis_error" qui MASQUE le vrai motif
"rejected_text_mismatch". Conséquence : pendant toute la session
du 7 mai soir, les rejets pré-check ont été silencieusement
transformés en erreurs analyse → cascade locale Léa V1 → clic au pif.
Fix : `(result.get('x_pct') or 0):.4f` traite None | None | 0
uniformément.
2. FLAG ENV pré-check OFF par défaut — le pré-check
_validate_text_at_position introduit hier soir a 2 défauts
identifiés par le bench E2E sur 8 click_anchor :
* radius_px=200 trop petit pour les tabs à 2 tokens (Examens
cliniques, Synthèse Urgences) — OCR voit un crop tronqué
"Maquette POC ler en cours Codage Statistiques" qui n'inclut
pas "Examens" → fuzzy match 1/2 = 50% < seuil 0.60 → REJET.
À radius 300/400 le mot est inclus → match passe.
* min_token_ratio=0.60 trop strict pour cibles 2 tokens.
Solution démo : flag env RPA_ENABLE_TEXT_PRECHECK (défaut "false").
Le pré-check est désactivé par défaut → retour au comportement
stable d'avant-hier (hybrid_text_direct ≥ 0.80 utilisé direct,
exemption drift préservée). Code et fonction _validate_text_at_position
conservés en place pour reprise post-démo après calibrage radius
adaptatif (≈ 0.17 × min(screen_w, screen_h)) et token_ratio descendu
à 0.50.
Pour ré-activer en dev/test : `RPA_ENABLE_TEXT_PRECHECK=true`
dans .env.local ou env du service rpa-streaming.
Inclus aussi :
- docs/E2E_TEST_RUN_2026-05-08.md (rapport agent test E2E ~1700 mots)
- tests/e2e/urgence_aiva_demo_expected.yaml (tolérances re-écrites)
- tests/e2e/fixtures/urgence_aiva_demo/live/*.png (8 fixtures
recapturées headless 1920x1080 pour itérer demain)
- _ocr_inventory.json + _run_resolve_results.json (raw runs)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Documentation RPA Vision V3
📚 Organisation
reference/ - Documents de Référence Architecture
Documents techniques décrivant l'architecture complète du système :
ARCHITECTURE_VISION_COMPLETE.md- Architecture complète en 5 couches (ESSENTIEL)ARCHITECTURE_ENRICHISSEMENTS.md- 8 enrichissements production-readyARCHITECTURE_INDEX.md- Index de navigationENRICHISSEMENTS_RESUME.md- Résumé des enrichissementsSTART_HERE.md- Point de départ pour comprendre l'architectureQUICK_SUMMARY.txt- Résumé rapideSESSION_COMPLETE_22_NOV.md- Session de travail complèteRESUME_CREATION_DOCS.md- Historique de créationCHANGELOG_MVP.md- Changelog du MVP
specs/ - Spécification d'Implémentation
Spécification complète pour l'implémentation :
requirements.md- 15 requirements avec 89 critères d'acceptationdesign.md- Design détaillé avec 20 correctness propertiestasks.md- Plan d'implémentation en 13 phases avec 60+ tâches
Autres Documents
ROADMAP_RPA_100_VISION.md- Vision et roadmap du projet
🎯 Par Où Commencer ?
Pour Comprendre l'Architecture
- Lire :
reference/START_HERE.md - Approfondir :
reference/ARCHITECTURE_VISION_COMPLETE.md - Enrichissements :
reference/ARCHITECTURE_ENRICHISSEMENTS.md
Pour Implémenter
- Requirements :
specs/requirements.md - Design :
specs/design.md - Tasks :
specs/tasks.md
Pour la Vision Globale
- Roadmap :
ROADMAP_RPA_100_VISION.md
🏗️ Architecture en 5 Couches
Couche 0: RawSession
↓
Couche 1: ScreenState (4 niveaux)
↓
Couche 2: UIElement Detection
↓
Couche 3: State Embedding
↓
Couche 4: Workflow Graph
📖 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
Workflow Graph
- WorkflowNode : Template d'état d'écran
- WorkflowEdge : Transition (action) entre nodes
- Learning States : OBSERVATION → COACHING → AUTO_CANDIDATE → AUTO_CONFIRMÉ
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)
🔗 Liens Utiles
- Code source :
../core/ - Tests :
../tests/ - Données :
../data/ - README principal :
../README.md