Interface HealingProvider


public interface HealingProvider
SHAFT-owned contract for optional explainable element recovery providers.

Providers are discovered through ServiceLoader. They may inspect the current page and return already-derived candidates, but they must never execute the intended user action.

  • Method Details

    • resolve

      Attempts recovery for a locator-not-found failure.
      Parameters:
      request - recovery request
      Returns:
      a unique validated resolution, or empty to preserve the original failure
    • explain

      default Optional<HealingExplanation> explain(String attemptId)
      Returns a safe explanation for a recovery attempt.
      Parameters:
      attemptId - provider-owned safe correlation identifier
      Returns:
      explanation when available
    • observe

      void observe(HealingObservation observation)
      Records evidence from a unique successful original resolution.
      Parameters:
      observation - successful observation
    • recordOutcome

      void recordOutcome(HealingActionOutcome outcome)
      Records the action outcome after SHAFT, not the provider, executes it.
      Parameters:
      outcome - action outcome
    • clear

      default void clear(org.openqa.selenium.WebDriver driver)
      Clears provider session state for a closed driver.
      Parameters:
      driver - closed driver