from typing import Any, Callable from fusionagi._logger import logger class OutcomeVerifier: def __init__(self, verify_fn=None): self._verify_fn = verify_fn def verify(self, step_result, context=None): ctx = context or {} if self._verify_fn: try: return self._verify_fn(step_result, ctx) except Exception: logger.exception("OutcomeVerifier failed") return False if isinstance(step_result, dict) and step_result.get("error"): return False return True