The DockerEventMonitor only reacted to Docker events. If an event was missed (e.g., during reconnect or startup race), a DEGRADED deployment with all replicas healthy would never promote back to RUNNING. Add a @Scheduled reconciliation (every 30s) that inspects actual container state and corrects deployment status mismatches. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>