Document provider recovery reconciliation

This commit is contained in:
2026-08-03 05:00:37 +02:00
parent 63f393afcb
commit e3e0fdaab5
3 changed files with 11 additions and 1 deletions
+4
View File
@@ -54,3 +54,7 @@ tables. A drain request is durable and is observed on the node heartbeat: API
readiness closes and workers stop taking new queue work. The Recovery panel readiness closes and workers stop taking new queue work. The Recovery panel
shows operations requiring forward recovery or manual intervention; it does not shows operations requiring forward recovery or manual intervention; it does not
claim that a production database backup exists. claim that a production database backup exists.
For provider effects, Ops is the status and evidence-chain projection rather
than the reconciliation authority. Follow the owning module's bounded action:
for example, reconcile an unknown Mail SMTP command from provider evidence and
never retry the original effect merely because its caller state is incomplete.
+6
View File
@@ -57,6 +57,12 @@ manual-intervention record means an operator must repair the current release or
restore a separately verified coordinated backup. Ops does not convert that restore a separately verified coordinated backup. Ops does not convert that
state into a safe rollback. state into a safe rollback.
An `outcome_unknown` provider operation must be resolved in its owning module.
Mail SMTP and IMAP APPEND operations, for example, carry stable attempt IDs and
digest-only evidence; use Mail's command reconciliation with provider evidence.
Do not replay the original effect from Ops. Read-only Mail index/source scans
are fenced across nodes and may be repeated only after the prior fence closes.
For the `shared` profile, missing expected replicas, release/composition skew, For the `shared` profile, missing expected replicas, release/composition skew,
unserved queues, or an invalid PostgreSQL connection budget are readiness unserved queues, or an invalid PostgreSQL connection budget are readiness
errors. Stale historical records remain visible, but cannot downgrade one of errors. Stale historical records remain visible, but cannot downgrade one of
+1 -1
View File
@@ -139,7 +139,7 @@ manifest = ModuleManifest(
id="ops.runtime-coordination-and-recovery", id="ops.runtime-coordination-and-recovery",
title="Drain runtime nodes and inspect recovery evidence", title="Drain runtime nodes and inspect recovery evidence",
summary="Ops projects shared runtime heartbeats, replica gaps, drain controls, and recovery states that require operator attention.", summary="Ops projects shared runtime heartbeats, replica gaps, drain controls, and recovery states that require operator attention.",
body="Use the runtime table to identify stale or composition-skewed API and worker replicas. Drain before replacement so API readiness closes and workers stop taking new queue work; cancellation is available while the node is still draining. The recovery table reports durable Core recovery operations. A rejected operation is a verified provider rejection and needs no recovery; outcome-unknown and recovery-required operations still require reconciliation. Backup status separately projects only the sanitized deployment verification receipt: a verified status identifies a coordinated recovery point and isolated restore drill, while absent, expired, or invalid evidence blocks a release-changing migration.", body="Use the runtime table to identify stale or composition-skewed API and worker replicas. Drain before replacement so API readiness closes and workers stop taking new queue work; cancellation is available while the node is still draining. The recovery table reports durable Core recovery operations. A rejected operation is a verified provider rejection and needs no recovery; outcome-unknown and recovery-required operations still require reconciliation through the owning module. Mail SMTP and IMAP APPEND entries use stable attempt identifiers and digest-only evidence: reconcile the Mail command from provider evidence, never by replaying the original effect from Ops. Backup status separately projects only the sanitized deployment verification receipt: a verified status identifies a coordinated recovery point and isolated restore drill, while absent, expired, or invalid evidence blocks a release-changing migration.",
documentation_types=("admin", "user"), documentation_types=("admin", "user"),
audience=("operator", "system_admin"), audience=("operator", "system_admin"),
conditions=( conditions=(