From baaa1e7e45f65c7a0376af9b7f1f2b489a445cdf Mon Sep 17 00:00:00 2001 From: pingqiu Date: Sat, 2 May 2026 11:09:25 -0700 Subject: [PATCH] docs(recovery): record coordinator progress fact gaps --- .../v3-phase-15-g7-progress-fact-recover-plan.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sw-block/design/v3-phase-15-g7-progress-fact-recover-plan.md b/sw-block/design/v3-phase-15-g7-progress-fact-recover-plan.md index fdf0c8a34..a67fab9c2 100644 --- a/sw-block/design/v3-phase-15-g7-progress-fact-recover-plan.md +++ b/sw-block/design/v3-phase-15-g7-progress-fact-recover-plan.md @@ -8,6 +8,21 @@ --- +## 0. Current State And Gap + +The project already has coordinator layers; the issue is that their facts are still split. + +| Layer | Current owner | What exists today | Gap | +|-------|---------------|-------------------|-----| +| Semantic coordinator | `core/engine` via `adapter.VolumeReplicaAdapter` | `ProbeResult` normalizes into `R/S/H`; engine decides `none / catch_up / rebuild / unknown`. | No unified progress fact type; decisions are tied to probe/session events directly. | +| Peer/probe host | `core/replication.ReplicationVolume` | Maintains peer set and degraded-peer probe loop; `G5_5C` covers restart → probe → auto catch-up. | Auto rebuild for no-trusted-R / R