diff --git a/internal/cluster/orchestrator.go b/internal/cluster/orchestrator.go index e452e55..5af1051 100644 --- a/internal/cluster/orchestrator.go +++ b/internal/cluster/orchestrator.go @@ -100,10 +100,12 @@ func (o *Orchestrator) Startup(ctx context.Context, opts StartupOptions) (err er return fmt.Errorf("set startup intent: %w", writeErr) } defer func() { - if err == nil { - if writeErr := state.MustWriteIntent(o.cfg.State.IntentPath, state.IntentNormal, opts.Reason, "startup"); writeErr != nil { - o.log.Printf("warning: write startup completion intent failed: %v", writeErr) - } + finalReason := opts.Reason + if err != nil { + finalReason = fmt.Sprintf("%s (failed)", strings.TrimSpace(opts.Reason)) + } + if writeErr := state.MustWriteIntent(o.cfg.State.IntentPath, state.IntentNormal, finalReason, "startup"); writeErr != nil { + o.log.Printf("warning: write startup completion intent failed: %v", writeErr) } }() }