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 logging
|
||||||
import time
|
import time
|
||||||
import subprocess
|
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 base64
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
@@ -680,17 +690,19 @@ Règles:
|
|||||||
|
|
||||||
# Déterminer le succès selon le niveau de changement
|
# Déterminer le succès selon le niveau de changement
|
||||||
if change_level == 'same':
|
if change_level == 'same':
|
||||||
# Rien n'a changé — probable échec
|
# Peu ou pas de changement visible
|
||||||
# Exception : certains clics (focus, hover) peuvent ne pas changer l'écran
|
# Certaines actions légitimes changent peu l'écran (clic sur champ, focus, hover)
|
||||||
if decision.value in ('hover', 'focus'):
|
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
|
success = True
|
||||||
detail = f"Pas de changement visible (normal pour {decision.value})"
|
detail = f"Pas de changement visible (normal pour {decision.value})"
|
||||||
else:
|
else:
|
||||||
success = False
|
success = False
|
||||||
detail = f"Aucun changement détecté (distance={distance})"
|
detail = f"Aucun changement détecté (distance={distance})"
|
||||||
elif change_level == 'minor':
|
elif change_level == 'minor':
|
||||||
# Changement mineur — OK si confiance élevée
|
success = True
|
||||||
success = decision.confidence > 0.9
|
|
||||||
detail = f"Changement mineur (distance={distance})"
|
detail = f"Changement mineur (distance={distance})"
|
||||||
else:
|
else:
|
||||||
# Changement majeur — succès
|
# Changement majeur — succès
|
||||||
|
|||||||
Reference in New Issue
Block a user