"""Action failures that the shared controller can classify without parsing text.""" class AppLaunchError(RuntimeError): """A launch failure with bounded-retry and uncertain-execution semantics.""" def __init__(self, message: str, *, retryable: bool = False, may_have_started: bool = False): super().__init__(message) self.retryable = retryable self.may_have_started = may_have_started