fix(ORA): logs stdout + vérification pHash tolérante pour clics
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 14s
security-audit / pip-audit (CVE dépendances) (push) Successful in 11s
security-audit / Scan secrets (grep) (push) Successful in 9s
tests / Lint (ruff + black) (push) Successful in 14s
tests / Tests unitaires (sans GPU) (push) Failing after 15s
tests / Tests sécurité (critique) (push) Has been skipped
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 14s
security-audit / pip-audit (CVE dépendances) (push) Successful in 11s
security-audit / Scan secrets (grep) (push) Successful in 9s
tests / Lint (ruff + black) (push) Successful in 14s
tests / Tests unitaires (sans GPU) (push) Failing after 15s
tests / Tests sécurité (critique) (push) Has been skipped
Logs : forcer le handler stdout pour que les logs ORA apparaissent dans nohup (logger.info n'écrivait nulle part). Vérification : un clic avec confiance >= 0.7 est accepté même si l'écran ne change pas (pHash same). Un clic sur un champ de saisie ne modifie quasi pas l'écran mais est légitime. Changement mineur toujours accepté (plus de condition confiance > 0.9). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,16 @@ Module standalone — importable depuis n'importe où.
|
||||
import logging
|
||||
import time
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# Forcer les logs ORA dans stdout (visible dans nohup)
|
||||
logging.basicConfig(level=logging.INFO, stream=sys.stdout,
|
||||
format='%(message)s', force=False)
|
||||
if not logging.getLogger(__name__).handlers:
|
||||
handler = logging.StreamHandler(sys.stdout)
|
||||
handler.setFormatter(logging.Formatter('%(message)s'))
|
||||
logging.getLogger(__name__).addHandler(handler)
|
||||
logging.getLogger(__name__).setLevel(logging.INFO)
|
||||
import base64
|
||||
import os
|
||||
import json
|
||||
@@ -680,17 +690,19 @@ Règles:
|
||||
|
||||
# Déterminer le succès selon le niveau de changement
|
||||
if change_level == 'same':
|
||||
# Rien n'a changé — probable échec
|
||||
# Exception : certains clics (focus, hover) peuvent ne pas changer l'écran
|
||||
if decision.value in ('hover', 'focus'):
|
||||
# Peu ou pas de changement visible
|
||||
# Certaines actions légitimes changent peu l'écran (clic sur champ, focus, hover)
|
||||
if decision.action in ('click', 'hotkey') and decision.confidence >= 0.7:
|
||||
success = True
|
||||
detail = f"Changement minimal accepté (confiance={decision.confidence:.2f})"
|
||||
elif decision.value in ('hover', 'focus'):
|
||||
success = True
|
||||
detail = f"Pas de changement visible (normal pour {decision.value})"
|
||||
else:
|
||||
success = False
|
||||
detail = f"Aucun changement détecté (distance={distance})"
|
||||
elif change_level == 'minor':
|
||||
# Changement mineur — OK si confiance élevée
|
||||
success = decision.confidence > 0.9
|
||||
success = True
|
||||
detail = f"Changement mineur (distance={distance})"
|
||||
else:
|
||||
# Changement majeur — succès
|
||||
|
||||
Reference in New Issue
Block a user