Node error UX: reliable ERROR state + visible errors

What happened

Many server node processors ran their work in a bare scope.launch { … } with no try/catch (e.g. ServerTriggerProcessor, ServerDataPointProcessor) or caught exceptions only to log them (the webhook processors). An uncaught exception escaped to the coroutine scope’s CoroutineExceptionHandler, which only logged — so the node never entered NodeState.ERROR, nothing was emitted over SSE, and clients showed a node that looked fine while it had silently failed. Even when an error was recorded, the only place it surfaced was a single editor row gated to EDIT mode.

Fix

Prevention