Problem
NodeState.last_liveness_error exists in the state but is never populated with meaningful error details. The liveness check function returns a bare bool with no error information. The field is always None or the fallback string "liveness probe failed".
Proposed fix
Change run_single_liveness_check() to return Result<(), String> instead of bool. On failure, capture the error details (exit code for command checks, connection error for port/http checks) and store them in last_liveness_error. This makes veld status output and the Unhealthy broadcast events more useful for debugging.
Context
Identified during review of #111 (liveness probes).
Problem
NodeState.last_liveness_errorexists in the state but is never populated with meaningful error details. The liveness check function returns a bareboolwith no error information. The field is alwaysNoneor the fallback string"liveness probe failed".Proposed fix
Change
run_single_liveness_check()to returnResult<(), String>instead ofbool. On failure, capture the error details (exit code for command checks, connection error for port/http checks) and store them inlast_liveness_error. This makesveld statusoutput and the Unhealthy broadcast events more useful for debugging.Context
Identified during review of #111 (liveness probes).