Fixed
- A restart request on an MCPServer whose endpoint is down is processed by one attempt (#1166).
spec.restartRequestedAtis mirrored intostatus.lastRestartedAtafter the reconciler’s first start or restart attempt, whether it succeeded or not; the failure is reported once in the reconcile result, and the following attempts are the service’s own, on the reconnect backoff the failed start has already scheduled (status.nextRetryAfter, capped at 2 minutes since #1163). Before, the value was recorded only when the restart succeeded: the failed start moved the service starting -> failed, the state-change bridge queued a reconcile for each transition, the request was still pending, and the reconciler restarted the service again – 131Restarting MCPServer service <name> (restartRequestedAt=...)/Connection failure #Npairs in 53 s on a management cluster whose tunnel was scaled to 0, oneMCPServerFailedevent each, throttled only by the 500 ms debounce, whilestatus.consecutiveFailuresclimbed to 131 andstatus.nextRetryAftersaid “in 2 minutes” the whole time; the loop stopped only when the field was removed from the CR.core_service_startandcore_service_restartwrite exactly this field in Kubernetes mode, so any restart of an unreachable server from the CLI or the UI triggered it. The same rule applies to aspec.suspended: falseresume whose start fails (its marker used to be kept, so every state change resumed again) and to a pending request whose create or update in the same pass already attempted a start: one attempt, then the service’s schedule. A request on a server with no registered service (autoStart=false, never started) whose start fails before anything is registered stays pending and is retried on the reconcile queue’s own backoff, since no state change can re-trigger it. The reconciler logsRestart of MCPServer <name> requested at <time> failed: <error>; the request is processed, further attempts follow the service's reconnect backoff (next attempt at <time>)once per processed request. Scenario:mcpserver-restart-request-endpoint-down.