fix(executor): timeout _capture_human_correction 120s → 30s
Friction UX remontée par Dom sur replay live (replay_sess_63a1313b) : latence excessive 2-3 minutes après un échec d'action avant que Léa ne reprenne la main. 120s = trop long pour un humain en supervision. 10s d'inactivité reste le critère prioritaire (déjà en place), donc : - humain actif : la correction est captée et le replay reprend en ~1s - humain absent : on libère après 30s au lieu de 120s 5 sites d'appel + signature de fonction (default param) alignés. Tag rollback : rollback/pre-P0.8-2026-05-24_1912 Référence : message 2026-05-24_1910_claude-to-codex_p07-memory-sanity-fix-human-supervised-bug-frictions-ux.md
This commit is contained in:
@@ -1349,7 +1349,7 @@ class ActionExecutorV1:
|
||||
# (ex: Ctrl+S a sauvé sans dialogue), soit l'app
|
||||
# est dans un état différent. L'humain montre.
|
||||
human_actions = self._capture_human_correction(
|
||||
timeout_s=120,
|
||||
timeout_s=30,
|
||||
)
|
||||
if human_actions:
|
||||
result["success"] = True
|
||||
@@ -1612,7 +1612,7 @@ class ActionExecutorV1:
|
||||
pass
|
||||
|
||||
human_actions = self._capture_human_correction(
|
||||
timeout_s=120,
|
||||
timeout_s=30,
|
||||
)
|
||||
if human_actions:
|
||||
result["success"] = True
|
||||
@@ -1671,7 +1671,7 @@ class ActionExecutorV1:
|
||||
pass
|
||||
|
||||
human_actions = self._capture_human_correction(
|
||||
timeout_s=120,
|
||||
timeout_s=30,
|
||||
)
|
||||
if human_actions:
|
||||
# L'humain a montré un mini-workflow
|
||||
@@ -1967,7 +1967,7 @@ class ActionExecutorV1:
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
human_actions = self._capture_human_correction(timeout_s=120)
|
||||
human_actions = self._capture_human_correction(timeout_s=30)
|
||||
if human_actions:
|
||||
result["success"] = True
|
||||
result["resolution_method"] = "human_supervised"
|
||||
@@ -2060,7 +2060,7 @@ class ActionExecutorV1:
|
||||
pass
|
||||
|
||||
human_actions = self._capture_human_correction(
|
||||
timeout_s=120,
|
||||
timeout_s=30,
|
||||
)
|
||||
if human_actions:
|
||||
result["success"] = True
|
||||
@@ -3462,7 +3462,7 @@ Example: x_pct=0.50, y_pct=0.30"""
|
||||
# Hotkey pour signaler la fin de la correction humaine
|
||||
_LEARNING_DONE_HOTKEY = {Key.ctrl_l, Key.shift, KeyCode.from_char("l")}
|
||||
|
||||
def _capture_human_correction(self, timeout_s: float = 120.0) -> list[dict]:
|
||||
def _capture_human_correction(self, timeout_s: float = 30.0) -> list[dict]:
|
||||
"""Capturer un mini-workflow de correction humaine.
|
||||
|
||||
Léa est perdue — elle passe en mode capture et enregistre
|
||||
|
||||
Reference in New Issue
Block a user