Expand description
Path-dependency closure sync explanation (bd-session-history-remediation-ocv9i.8.1).
Backs rch sync --explain / the doctor surface: for every root in a
DependencyClosurePlan, it joins the planner facts (why a root is
included, its risk class, sync order) with convergence facts (local vs
remote revision/hash, last sync time) into a ClosureExplainReport so an
operator sees the whole closure — and why each root will (or won’t) sync —
without inspecting Cargo manifests, the daemon, and the remote separately.
Convergence facts are supplied by the caller (the daemon’s repo-convergence layer), so this stays a pure, deterministic join with no I/O.
Structs§
- Closure
Explain Entry - One explained root: planner facts joined with convergence facts.
- Closure
Explain Report - The full explanation report for a closure plan.
- Root
Convergence - Per-root convergence facts (local vs remote state), keyed into the explain join by canonical root path.
Enums§
- Root
Sync Outcome - The effective sync action for one root, derived from convergence.
Functions§
- derive_
outcome - Derive the sync outcome for a root from its convergence facts.
- explain_
closure - Build the explanation report by joining a closure plan with per-root convergence facts (keyed by canonical root path). Roots with no convergence entry are treated as missing.