pub struct ProjectionVector {
pub embedder: Option<String>,
pub dense_readiness: Option<DenseReadiness>,
}Expand description
0.8.20 Slice 15d (R-20-PR) — the searchable→vector sub-target selector.
Slice 20 (R-20-DR) attached dense_readiness HERE, additively: this
sub-object is STORED by 15d (so the shape exists and a caller can declare a
vector projection); Slice 20 hangs the READ-METADATA readiness flag off it.
Nothing in 15d’s persisted shape changed (the registry columns
vector_embedder + vector_declared still round-trip the declaration) —
readiness is DERIVED, never stored, so there is no schema step and no
separate flag that could tear (see [derive_dense_readiness]).
Fields§
§embedder: Option<String>Optional embedder override; None ⇒ the engine’s shipped default.
dense_readiness: Option<DenseReadiness>0.8.20 Slice 20 (R-20-DR) — READ METADATA, engine-set. Populated by
Engine::read_projections; None on every caller-authored spec.
It is not part of the declaration: configure_projections neither
stores nor honours it (see [StoredProjection::from_spec], which reads
only embedder), so a value supplied here is INERT — the engine always
reports the derived truth. This is deliberately accept-inert rather than
hard-reject so read.projections output stays feedable straight back
into configure_projections (the fix-4 read→configure round-trip, which
both bindings pin with a test).
0.8.20 Slice 23 (R-20-SV) correction (TC-39 class). This doc used to
justify accept-inert by analogy with “the already-audited accept-inert
ruling on an fts/vector sub-object declared without the searchable
role”. That ruling is OVERRULED — the HITL ruled the shape an INVALID
SPEC on 2026-07-24 and [apply_projection_config] now rejects it with
EngineError::WriteValidation. dense_readiness accept-inert is
UNCHANGED and stands on its own footing: it is engine-set READ METADATA,
never part of the declaration, so there is nothing about it to reject.
The bindings still HARD-REJECT the shapes that could
not round-trip: a readiness supplied with vector = false, and any
spelling outside {ready, embedding}.
Trait Implementations§
Source§impl Clone for ProjectionVector
impl Clone for ProjectionVector
Source§fn clone(&self) -> ProjectionVector
fn clone(&self) -> ProjectionVector
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more