pub enum Step {
Checkout,
Barrier,
Sync,
Rescope(Option<Vec<String>>),
}Variants§
Checkout
Barrier
Sync
Rescope(Option<Vec<String>>)
The narrow/widen verb. None is the whole tree; an empty
argument list therefore cannot mean “narrow to nothing”.
Implementations§
Source§impl Step
impl Step
Sourcepub fn holds_the_fence_throughout(&self) -> bool
pub fn holds_the_fence_throughout(&self) -> bool
Does this verb hold the publish fence for its WHOLE run?
The epoch cell arbitrates who may INSTALL a manifest, and since
the lease is held per barrier (design 2026-09-13 §4) a barrier
claims it INSIDE — after its uploads, for the commit section
only — so the barrier verb needs no outer claim. checkout
and sync install nothing: every GET they make carries the
cited etag as If-Match, so a publisher racing them yields a
handled 412, never a torn file, and holding the fence around
them only ever serialised readers on one cell (four syncers
reading disjoint subtrees ran 2.1x faster without it, 0.41x with
it — measured 2026-09-11).
rescope is the only true. It reads the bucket and writes
nothing to it either, but it rewrites the held set and leaves a
replayable intent behind, so it stays fenced until someone has
walked that crash matrix with two of them running.