From 626823d3276a92aef8ac4c7c88e2fd26bad1c31a Mon Sep 17 00:00:00 2001 From: Dom Date: Fri, 8 May 2026 22:31:56 +0200 Subject: [PATCH] =?UTF-8?q?docs(bug):=20pr=C3=A9-check=20OCR=20spatialemen?= =?UTF-8?q?t=20aveugle=20-=20dette=20identifi=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- ...G_PRECHECK_SPATIAL_BLINDNESS_2026-05-08.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/BUG_PRECHECK_SPATIAL_BLINDNESS_2026-05-08.md diff --git a/docs/BUG_PRECHECK_SPATIAL_BLINDNESS_2026-05-08.md b/docs/BUG_PRECHECK_SPATIAL_BLINDNESS_2026-05-08.md new file mode 100644 index 000000000..ff5ec75bc --- /dev/null +++ b/docs/BUG_PRECHECK_SPATIAL_BLINDNESS_2026-05-08.md @@ -0,0 +1,40 @@ +# 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