pub struct EpisodicConflict {
pub later_record: EpisodicId,
pub earlier_record: EpisodicId,
pub marker: String,
pub shared_terms: Vec<String>,
pub later_content: String,
pub earlier_content: String,
}Expand description
A read-time contradiction between two retrieved user statements.
Detection is deliberately conservative: one statement must carry an explicit contradiction marker, and the pair must share at least two content terms (the topic cluster). The report preserves both sides with full provenance — it never adjudicates.
Fields§
§later_record: EpisodicIdThe chronologically later statement (carries the contradiction marker in the common case).
earlier_record: EpisodicIdThe statement it appears to contradict.
marker: StringThe contradiction phrase that triggered the detection.
Content terms shared by the pair (the topic cluster).
later_content: StringFull content of the later statement (provenance).
earlier_content: StringFull content of the earlier statement (provenance).
Trait Implementations§
Source§impl Clone for EpisodicConflict
impl Clone for EpisodicConflict
Source§impl Debug for EpisodicConflict
impl Debug for EpisodicConflict
Source§impl<'de> Deserialize<'de> for EpisodicConflict
impl<'de> Deserialize<'de> for EpisodicConflict
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for EpisodicConflict
Source§impl PartialEq for EpisodicConflict
impl PartialEq for EpisodicConflict
Source§impl Serialize for EpisodicConflict
impl Serialize for EpisodicConflict
impl StructuralPartialEq for EpisodicConflict
Auto Trait Implementations§
impl Freeze for EpisodicConflict
impl RefUnwindSafe for EpisodicConflict
impl Send for EpisodicConflict
impl Sync for EpisodicConflict
impl Unpin for EpisodicConflict
impl UnsafeUnpin for EpisodicConflict
impl UnwindSafe for EpisodicConflict
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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
Compare self to
key and return true if they are equal.impl<T> Fruit for T
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> ⓘ
Converts
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> ⓘ
Converts
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 more