tamash-playwright

Action recovery

Occasionally a locator heals correctly — the model found the right element — but the action on it still fails: it's covered by an overlay, needs scrolling into view, or the page is mid-animation.

Action recovery is an optional second layer. Enable it:

HEALER_ACTION_RECOVERY_ENABLED=true

When on, and only after the element is already located, the model picks one tactic from a fixed, safe menu:

Tactic When
scroll element is outside the viewport — scroll it in, then retry
force an overly strict actionability check (e.g. "not stable" after a finished animation) — retry bypassing checks
wait something transient still settling — wait briefly, then retry
dispatch genuinely covered by another element — dispatch the DOM event directly (last resort)
none nothing above would plausibly help

The model never decides how to interact with the page — it only picks from those five. That's why it's off by default: it's a more speculative layer than selector healing.

In the report

actionRecovery=yes in the console line and attachment. An action-recovery heal is not eligible for apply-heals — the locator was already right, only the action needed help, so there's no source change to make.