observerFailed

open override fun observerFailed(cause: Throwable)

Reached only when a child's own SegmentObserver.observerFailed threw.

The core treats a throw from there as the observer opting into being fatal, and that opt-in is preserved rather than swallowed: a child that would rather stop the engine than run with a stale model still can.