#[non_exhaustive]#[repr(u8)]pub enum ContextFidelity {
Full = 0,
Compressed = 1,
Placeholder = 2,
}Expand description
Fidelity level assigned to a message in the context window.
Determines how a historical message is rendered before sending to the LLM.
Assigned by FidelityScorer based on relevance signals; stored in
MessageMetadata.fidelity_tag for debug tracing and compaction filtering.
Distinct from zeph_memory::optical_forgetting::ContentFidelity, which tracks
long-term memory store preservation (optical forgetting): ContextFidelity governs
rendering in the active context window; ContentFidelity governs what is durably
stored in the SQLite memory store.
§Examples
use zeph_common::fidelity::ContextFidelity;
let level = ContextFidelity::default();
assert_eq!(level, ContextFidelity::Full);
let compressed: u8 = ContextFidelity::Compressed as u8;
assert_eq!(compressed, 1);
assert_eq!(ContextFidelity::from_u8(0), ContextFidelity::Full);
assert_eq!(ContextFidelity::from_u8(1), ContextFidelity::Compressed);
assert_eq!(ContextFidelity::from_u8(255), ContextFidelity::Full); // unknown → FullVariants (Non-exhaustive)§
This enum is marked as non-exhaustive
Full = 0
Original message content, unchanged.
Compressed = 1
Content truncated to compressed_max_tokens tokens (or replaced by
deferred_summary when available).
Placeholder = 2
Content replaced by a compact placeholder tag; no semantic content survives.
Implementations§
Source§impl ContextFidelity
impl ContextFidelity
Sourcepub fn from_u8(v: u8) -> Self
pub fn from_u8(v: u8) -> Self
Convert a database integer to a fidelity level.
Unknown values map to Full as the safe default,
preserving forward compatibility when new variants are added.
Note for variant authors: update this match when adding new variants,
or old code will silently upgrade persisted values to Full.
§Examples
use zeph_common::fidelity::ContextFidelity;
assert_eq!(ContextFidelity::from_u8(0), ContextFidelity::Full);
assert_eq!(ContextFidelity::from_u8(1), ContextFidelity::Compressed);
assert_eq!(ContextFidelity::from_u8(2), ContextFidelity::Placeholder);
assert_eq!(ContextFidelity::from_u8(99), ContextFidelity::Full);Trait Implementations§
Source§impl Clone for ContextFidelity
impl Clone for ContextFidelity
Source§fn clone(&self) -> ContextFidelity
fn clone(&self) -> ContextFidelity
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 ContextFidelity
Source§impl Debug for ContextFidelity
impl Debug for ContextFidelity
Source§impl Default for ContextFidelity
impl Default for ContextFidelity
Source§fn default() -> ContextFidelity
fn default() -> ContextFidelity
Source§impl<'de> Deserialize<'de> for ContextFidelity
impl<'de> Deserialize<'de> for ContextFidelity
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>,
impl Eq for ContextFidelity
Source§impl Hash for ContextFidelity
impl Hash for ContextFidelity
Source§impl PartialEq for ContextFidelity
impl PartialEq for ContextFidelity
Source§fn eq(&self, other: &ContextFidelity) -> bool
fn eq(&self, other: &ContextFidelity) -> bool
self and other values to be equal, and is used by ==.