diff --git a/agent_v0/server_v1/replay_memory.py b/agent_v0/server_v1/replay_memory.py index 62f709a47..65df58e54 100644 --- a/agent_v0/server_v1/replay_memory.py +++ b/agent_v0/server_v1/replay_memory.py @@ -332,9 +332,21 @@ def memory_record_success( logger.debug("memory_record_success: coords non numériques, skip") return False if not (0.0 <= x_pct <= 1.0 and 0.0 <= y_pct <= 1.0): - logger.debug( - "memory_record_success: coords hors [0,1] (%.3f, %.3f), skip", + logger.warning( + "memory_record_success: coords hors [0,1] (%.3f, %.3f), skip — " + "probable input parasite (target='%s' method=%s)", x_pct, y_pct, + (target_spec.get("by_text") or "")[:60], method, + ) + return False + # Rejeter (0.0, 0.0) exact : coin haut-gauche = signature de bruit + # (curseur NoMachine, événement OS parasite, listener pynput sans clic + # humain réel). Cf. bug observé replay_sess_63a1313b 2026-05-24 18:31-18:32. + if x_pct == 0.0 and y_pct == 0.0: + logger.warning( + "memory_record_success: coords (0.0, 0.0) rejetées — " + "signature de bruit (target='%s' method=%s)", + (target_spec.get("by_text") or "")[:60], method, ) return False