On this page
Reconciliation actions, transitions and publication failures
What a reconciliation receipt's action label proves, how an alert's identity is read, and what a failed publication retains. The receipts themselves are on Service reconciliation receipts.
Planned action labels
planned_beacon_repair, planned_adopt, planned_ensure and
planned_host_probe name the selected evidence path. They are not execution
receipts: report/emergency-paused decisions do not run the repair, and a failed
attempt can retain its planned label when no completed action was acknowledged.
Read classification, detail and acknowledged changed together. The live
probe can refine an observed-endpoint or host-probe path into adoption or ensure;
the label alone does not prove which host operation ran or its final state.
A host-probe repair confirms a loaded unit that runs its declared program, and
ensures it instead when the beacon reads it failed: a unit its supervisor
restarts without end runs its declared program between restarts, which proves
who owns it and nothing about its health. ensure renders the declared
definition and reloads one that differs from it (an environment the unit's
catalog entry now requires, for instance); a matching definition is left
loaded. The detail names which of the reasons ensured it: the host reported the
unit absent, the beacon reads it failing, its declared binary was replaced
since its process started, or its process could not be matched to its
declared program.
Transition identity
An alert's identity is its exact host, service, unit, classification and
detail fields, not a delimiter-joined name. Every prior row is considered;
different units or field boundaries do not collapse into one remembered row.
Identical current rows cause at most one alert attempt for a selected run, and
facts already present in its pinned prior report are suppressed. Report rows
remain complete in the CLI, API and Desktop. This is transition suppression,
not confirmation of notification delivery or an exactly-once delivery guarantee.
Reading a publication failure
Failure logs retain:
- The actual parse, serialization, immutable-create or conditional latest operation, its object and original cause.
expected_latest_version, the prior token when one was observed; absence means the prior read found no report, not that latest is still absent.acknowledged_run, the immutable receipt whose creation succeeded before a later failure. An absent acknowledgement is not proof the object is absent.- The report identity, mode, schema, complete tally and every retained row's host, service, unit, action, classification, changed flag, beacon/endpoint evidence and detail.
The original storage error remains a failure, including a conditional-write
conflict. A failed request does not establish rollback or absence of changes.
A failed write alone does not prove an authorization problem: inspect the actual
cause before changing namespace policies. stado config show reports the
configured namespace and prefix policies, not whether its consumer succeeded.
Latest can remain older after failed publication or deliberately remain selected when a run is superseded. The CLI, report API and Desktop still show that readable receipt and its own timestamp; it is not proof this attempted run was recorded. The run log and any acknowledged immutable receipt retain the attempted run's facts without manufacturing a replacement latest report.
Return to Missing service reconciliation for repair, ownership, lease-finalization and failure-classification behavior.
Source: this website