pub enum DenseReadiness {
Unavailable,
Embedding,
Ready,
}Expand description
0.8.20 Slice 20 (R-20-DR) — the ENGINE-SET readiness of the
searchable→vector projection, per
dev/design/record-lifecycle-protocol/projection-registry-and-async-embed.md
§3.
Exactly three members. filterable and searchable→FTS are
same-transaction (non-stale on commit) so they need no readiness axis at all;
searchable→vector is async, rebuild-durable, so it carries one.
Naming discipline (load-bearing). The token pending is RESERVED for
the admission axis (quarantine/trust — an app judgment). Index-readiness is
a DIFFERENT, orthogonal dimension (a record can be
active ∧ is_latest ∧ admissible yet dense_readiness = embedding), so this
enum deliberately does not reuse that word: the non-ready member is
Embedding, never Pending.
Variants§
Engine-selected state for a session with no usable dense runtime (an absent embedder or refused vector equivalence). Caller input remains accept-inert; reads select this through the shared runtime predicate.
Embedding
At least one row in the vector projection’s row set has not yet reached a
projection terminal — embedding is outstanding. This is the ONLY
tolerable torn state: readiness embedding with the vector absent (the
dense arm reads as partial and RRF under-ranks; it does not hide).
Ready
Every row in the vector projection’s row set has reached a projection
terminal — the dense arm is caught up. Because the vector INSERT and the
terminal record are written in ONE transaction
([commit_projection_outcomes]), Ready can never be observed with the
vector row absent (design §4.1 invariant 1).
Implementations§
Source§impl DenseReadiness
impl DenseReadiness
pub fn as_str(self) -> &'static str
Sourcepub fn from_str_opt(value: &str) -> Option<DenseReadiness>
pub fn from_str_opt(value: &str) -> Option<DenseReadiness>
The three accepted spellings. "pending" is DELIBERATELY not one of them
(reserved for the admission axis) and so parses to None.
Trait Implementations§
Source§impl Clone for DenseReadiness
impl Clone for DenseReadiness
Source§fn clone(&self) -> DenseReadiness
fn clone(&self) -> DenseReadiness
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more