Files
rpa_vision_v3/docs/BUG_PRECHECK_SPATIAL_BLINDNESS_2026-05-08.md
Dom 626823d327 docs(bug): pré-check OCR spatialement aveugle - dette identifiée
Bug découvert pendant test live du 2026-05-08.
_text_match_fuzzy valide la présence du texte dans le crop (560×560 px)
sans vérifier sa position au point cliqué. Sur onglets serrés (3 px),
valide à tort les clics adjacents.

À fixer post-démo Kerella - Option B préférée
(bboxes EasyOCR + distance).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 22:31:56 +02:00

2.0 KiB
Raw Blame History

Bug — Pré-check OCR spatialement aveugle

Date de découverte

2026-05-08, lors du test live du commit 2e76b44ff (log instrumentation)

Constat

Sur les onglets adjacents (Imagerie / Notes médicales à 3 px d'écart dans la maquette urgences), le pré-check OCR valide à tort des clics sur le mauvais onglet.

Cause technique

La fonction _text_match_fuzzy (resolve_engine.py:2285) vérifie la PRÉSENCE du texte attendu dans le crop OCR (radius_px=280, soit zone 560×560 px) mais pas sa POSITION par rapport au point cliqué.

Le crop englobe plusieurs onglets adjacents → n'importe lequel des onglets matchant valide le clic.

Logs exemples

Trois logs représentatifs du test du 2026-05-08 :

mai 08 22:16:26.977119 [REPLAY] Pre-check OCR ACTIF : 'Examens cliniques' attendu @ (0.2280, 0.2805) via hybrid_text_direct — observed='Al Voice Generator  Bookmarks archivtech com Maquette POC ssier en cours Codage ' is_valid=True (115ms)

mai 08 22:16:33.048260 [REPLAY] Pre-check OCR ACTIF : 'Imagerie' attendu @ (0.2305, 0.2676) via hybrid_text_direct — observed='9 Al Voice Generator_ Bookmarks archivtech.com Maquette POC sier en cours Statis' is_valid=True (86ms)

mai 08 22:16:43.045705 [REPLAY] Pre-check OCR ACTIF : 'Notes médicales' attendu @ (0.2020, 0.2800) via template_matching — observed='18 Al Voice Generator_ Bookmarks archivtech. Urgences Maquette POC Dossier en co' is_valid=True (99ms)

Options de fix

Option A — Réduire radius_px

  • Pro : simple (1 ligne)
  • Con : casse la validation des textes longs ("Synthèse Urgences")

Option B — Bboxes individuelles EasyOCR + vérification distance

  • Pro : robuste, gère textes longs et onglets serrés
  • Con : changement de logique de _text_match_fuzzy, pas tweak

Décision

Reporté à post-démo Kerella. À traiter à froid. Préférence : Option B (plus pérenne).

Commits liés

  • 731b5bcae : réactivation pré-check OCR avec calibrage chirurgical
  • 2e76b44ff : instrumentation log positif qui a révélé le bug