Diagnose an unanswered service
A managed service can accept a connection without returning an API answer. Its
unit may still be running, and a successful /health response does not prove
that the API request declared by the product catalog completes. The full
answering and recovery contract
explains the host and peer observations.
Read the selected host's current observation and persisted recovery history:
stado service status <service> --json
stado service recoveries --service <service> --json
The status answering block names the declared request, its most recent
answer or the oldest unanswered request, and any recovery attempt. Check the
repair-step outcomes, restarted, recording_refusal, and alert-delivery
outcomes rather than interpreting a running unit or a history row as proof of
recovery. The history command only sees attempts the host could append to its
register. If that append refused, the status beacon retains the file operation
and cause while the host process runs; the absence of a history row does not
mean no attempt occurred.
The recovery alert reports the actual number of held requests when the resolver waiting list is readable. If that read refuses, it names the failed list operation instead of counting the diagnostic placeholder as a request.
An unreadable service endpoint is a refusal, not a successful answer. A refused repair or restart remains a failed attempt and can be retried on the next beacon pass. An answered request ends the failed-answering episode, so a later failure can trigger a new recovery. Stado Desktop shows the same answering and recovery diagnostics in Services → Inspector on the service row, including the held-request count or resolver-list read refusal.
For a peer host, an earlier successful restart suppresses another attempt only for the same held-request episode, unit, and complete answering declaration (method, path, body, and ordered repair steps). A changed declaration or a history row written before that declaration was retained is not proof that the current recovery ran; the peer tries the current declaration and records its outcome. A refusal to read the recovery register remains a named refusal, not an empty history.
Source: this website