pub enum DetectorMode {
Regex,
Judge,
Model,
}Expand description
Strategy for detecting implicit user corrections.
Variants§
Regex
Pattern-matching only — zero LLM calls. Default behavior.
Judge
LLM-based judge for borderline / missed cases. Invoked only when
regex confidence falls below judge_adaptive_high or regex returns None.
Note: with current regex values (ExplicitRejection=0.85, SelfCorrection=0.80,
Repetition=0.75, AlternativeRequest=0.70) and adaptive_high=0.80,
ExplicitRejection and SelfCorrection bypass the judge (confidence >= adaptive_high),
while AlternativeRequest, Repetition, and regex misses go through it.
Model
ML model-backed feedback classification via LlmClassifier.
Uses the provider named in feedback_provider (or the primary provider if empty).
Shares the same adaptive thresholds and rate limiter as Judge mode.
Returns JudgeVerdict directly, preserving kind and reasoning metadata.
Falls back to regex-only if the provider cannot be resolved — never fails startup.
Trait Implementations§
Source§impl Clone for DetectorMode
impl Clone for DetectorMode
Source§fn clone(&self) -> DetectorMode
fn clone(&self) -> DetectorMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DetectorMode
impl Debug for DetectorMode
Source§impl Default for DetectorMode
impl Default for DetectorMode
Source§fn default() -> DetectorMode
fn default() -> DetectorMode
Source§impl<'de> Deserialize<'de> for DetectorMode
impl<'de> Deserialize<'de> for DetectorMode
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 PartialEq for DetectorMode
impl PartialEq for DetectorMode
Source§impl Serialize for DetectorMode
impl Serialize for DetectorMode
impl Copy for DetectorMode
impl Eq for DetectorMode
impl StructuralPartialEq for DetectorMode
Auto Trait Implementations§
impl Freeze for DetectorMode
impl RefUnwindSafe for DetectorMode
impl Send for DetectorMode
impl Sync for DetectorMode
impl Unpin for DetectorMode
impl UnsafeUnpin for DetectorMode
impl UnwindSafe for DetectorMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.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.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request