pub struct AdmissionConfig {
pub enabled: bool,
pub threshold: f32,
pub fast_path_margin: f32,
pub admission_provider: ProviderName,
pub weights: AdmissionWeights,
pub admission_strategy: AdmissionStrategy,
pub rl_min_samples: u32,
pub rl_retrain_interval_secs: u64,
pub goal_conditioned_write: bool,
pub goal_utility_provider: ProviderName,
pub goal_utility_threshold: f32,
pub goal_utility_weight: f32,
}Expand description
Configuration for A-MAC adaptive memory admission control ([memory.admission] TOML section).
When enabled = true, a write-time gate evaluates each message before saving to memory.
Messages below the composite admission threshold are rejected and not persisted.
Fields§
§enabled: boolEnable A-MAC admission control. Default: false.
threshold: f32Composite score threshold below which messages are rejected. Range: [0.0, 1.0].
Default: 0.40.
fast_path_margin: f32Margin above threshold at which the fast path admits without an LLM call. Range: [0.0, 1.0].
When heuristic score >= threshold + margin, LLM call is skipped. Default: 0.15.
admission_provider: ProviderNameProvider name from [[llm.providers]] for future_utility LLM evaluation.
Falls back to the primary provider when empty. Default: "".
weights: AdmissionWeightsPer-factor weights. Normalized at runtime. Default: {0.30, 0.15, 0.30, 0.10, 0.15}.
admission_strategy: AdmissionStrategyAdmission decision strategy. Default: heuristic.
rl_min_samples: u32Minimum training samples before the RL model is activated.
Below this count the system falls back to Heuristic. Default: 500.
rl_retrain_interval_secs: u64Background RL model retraining interval in seconds. Default: 3600.
goal_conditioned_write: boolEnable goal-conditioned write gate (#2408). When true, memories are scored
against the current task goal and rejected if relevance is below goal_utility_threshold.
Zero regression when false. Default: false.
goal_utility_provider: ProviderNameProvider name from [[llm.providers]] for goal-utility LLM refinement.
Used only for borderline cases (similarity within 0.1 of threshold).
Falls back to the primary provider when empty. Default: "".
goal_utility_threshold: f32Minimum cosine similarity between goal embedding and candidate memory
to consider it goal-relevant. Below this, goal_utility = 0.0. Default: 0.4.
goal_utility_weight: f32Weight of the goal_utility factor in the composite admission score.
Set to 0.0 to disable (equivalent to goal_conditioned_write = false). Default: 0.25.
Trait Implementations§
Source§impl Clone for AdmissionConfig
impl Clone for AdmissionConfig
Source§fn clone(&self) -> AdmissionConfig
fn clone(&self) -> AdmissionConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AdmissionConfig
impl Debug for AdmissionConfig
Source§impl Default for AdmissionConfig
impl Default for AdmissionConfig
Source§impl<'de> Deserialize<'de> for AdmissionConfigwhere
AdmissionConfig: Default,
impl<'de> Deserialize<'de> for AdmissionConfigwhere
AdmissionConfig: Default,
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>,
Auto Trait Implementations§
impl Freeze for AdmissionConfig
impl RefUnwindSafe for AdmissionConfig
impl Send for AdmissionConfig
impl Sync for AdmissionConfig
impl Unpin for AdmissionConfig
impl UnsafeUnpin for AdmissionConfig
impl UnwindSafe for AdmissionConfig
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<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