pub struct Baseline {
pub seq: u64,
pub manifest_etag: Option<String>,
pub entries: BTreeMap<String, BaselineEntry>,
pub derived_etag: Option<String>,
pub skipped: BTreeSet<String>,
pub prev_scan: BTreeSet<String>,
}Expand description
The persisted baseline snapshot: what this syncer believes the
bucket holds AND has integrated locally — and, since P1-lite
(2026-09-25), the three-way MERGE BASE too. A separate merge base
existed because a tree could adopt a UI write the document did not
cite yet; under P2 every UI edit commits first, so no tree holds a
version the document never cited, and the split had nothing left to
keep apart (the sandbox pair LeanCoreP1/LeanCoreP2R).
Fields§
§seq: u64Manifest seq at our last install/checkout.
manifest_etag: Option<String>Manifest document ETag we expect at the next CAS.
entries: BTreeMap<String, BaselineEntry>§derived_etag: Option<String>THE CHEAP PATH’S RECORD (scan trigger). The pointer etag of the
document the last full consume derived against, with nothing left
but the agent’s own work; None = derive at the next consume (a
failed fetch, a sync, a baseline from before this field). Only the
consume writes it — and the commit, when its CAS replaced exactly
this document, so the new one is it plus this tree’s own changes.
skipped: BTreeSet<String>The paths that derive left untaken because the agent is working on them (dirty against the baseline where the document differs). The cheap path holds only while every one is still dirty: an agent that backs out makes the document’s version owed.
prev_scan: BTreeSet<String>Paths present at the PREVIOUS scan (the two-consecutive-scans deletion rule: absence must survive two scans).