From 2e76b44ff3a07bd4dc20aaab25b8ded82daa94bd Mon Sep 17 00:00:00 2001 From: Dom Date: Fri, 8 May 2026 22:23:32 +0200 Subject: [PATCH] =?UTF-8?q?feat(observability):=20log=20positif=20pr=C3=A9?= =?UTF-8?q?-check=20OCR=20pour=20tra=C3=A7abilit=C3=A9=20runtime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avant : succès silencieux (seul rejet loggé) Après : log INFO à chaque appel avec by_text, position, méthode, observed, is_valid, latence Permet de valider en runtime que le pré-check OCR tourne bien sur les résolutions resolved=True (cf commit 731b5bcae). Co-Authored-By: Claude Opus 4.7 (1M context) --- agent_v0/server_v1/api_stream.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/agent_v0/server_v1/api_stream.py b/agent_v0/server_v1/api_stream.py index 9f8894983..7903f1fcc 100644 --- a/agent_v0/server_v1/api_stream.py +++ b/agent_v0/server_v1/api_stream.py @@ -4541,6 +4541,17 @@ async def resolve_target(request: ResolveTargetRequest): effective_w, effective_h, ) + logger.info( + "[REPLAY] Pre-check OCR ACTIF : '%s' attendu @ (%.4f, %.4f) " + "via %s — observed='%s' is_valid=%s (%.0fms)", + _by_text[:40], + float(result.get("x_pct", 0) or 0), + float(result.get("y_pct", 0) or 0), + result.get("method", "?"), + _observed[:80], + _is_valid, + _ocr_ms, + ) if not _is_valid: logger.warning( "[REPLAY] Pre-check OCR REJET : '%s' attendu @ (%.4f, %.4f) "