pub enum FeatureTier {
Keyword,
Semantic,
Smart,
Autonomous,
}Expand description
Feature tiers control which AI capabilities are active based on the available memory budget on the host machine.
§Disambiguation (issue #970)
The codebase has three enums whose names end in Tier.
FeatureTier (this enum) is the host capability tier that
gates which AI features fit in RAM (0 / 256 MB / 1 GB / 4 GB). It
is unrelated to:
crate::models::Tier— memory-lifecycle TTL bucket (Short/Mid/Long).crate::models::ConfidenceTier— confidence-value bucket (Confirmed/Likely/Ambiguous).
They do not share variants, wire strings, or call sites. See
docs/internal/enum-proliferation-audit-970.md.
Variants§
Keyword
FTS5 keyword search only — 0 MB extra.
Semantic
MiniLM embeddings + HNSW index — ~256 MB.
Smart
nomic-embed + a backend LLM (any configured provider) — ~1 GB.
Autonomous
nomic-embed + a backend LLM (any configured provider) + cross-encoder — ~4 GB.
Implementations§
Source§impl FeatureTier
impl FeatureTier
Sourcepub fn config(self) -> TierConfig
pub fn config(self) -> TierConfig
Build the full TierConfig for this tier.
Sourcepub fn from_memory_budget(mb: usize) -> Self
pub fn from_memory_budget(mb: usize) -> Self
Automatically select the best tier that fits within mb megabytes.
Trait Implementations§
Source§impl Clone for FeatureTier
impl Clone for FeatureTier
Source§fn clone(&self) -> FeatureTier
fn clone(&self) -> FeatureTier
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FeatureTier
Source§impl Debug for FeatureTier
impl Debug for FeatureTier
Source§impl<'de> Deserialize<'de> for FeatureTier
impl<'de> Deserialize<'de> for FeatureTier
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for FeatureTier
impl Display for FeatureTier
impl Eq for FeatureTier
Source§impl PartialEq for FeatureTier
impl PartialEq for FeatureTier
Source§fn eq(&self, other: &FeatureTier) -> bool
fn eq(&self, other: &FeatureTier) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for FeatureTier
impl Serialize for FeatureTier
impl StructuralPartialEq for FeatureTier
Auto Trait Implementations§
impl Freeze for FeatureTier
impl RefUnwindSafe for FeatureTier
impl Send for FeatureTier
impl Sync for FeatureTier
impl Unpin for FeatureTier
impl UnsafeUnpin for FeatureTier
impl UnwindSafe for FeatureTier
Blanket Implementations§
impl<T> Boilerplate for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.