pub struct AtomiserConfig {
pub default_max_atom_tokens: u32,
pub min_atoms_per_source: usize,
pub max_atoms_per_source: usize,
pub curator_max_retries: u32,
pub sync_curator_max_retries: u32,
}Expand description
Tunables for the atomiser. Plumbed from AppConfig in the daemon
path; tests construct one directly.
Defaults mirror the WT-1-B brief (with the Cluster-F PERF-5 envelope trim for the Synchronous mode):
default_max_atom_tokens = 200min_atoms_per_source = 2max_atoms_per_source = 10curator_max_retries = 3(deferred path baseline)sync_curator_max_retries = 1(Cluster-F PERF-5 — Synchronous mode runs inside the operator’smemory_storeenvelope; the 3-retry default added up to 3× worst-case latency before the response could return. The Synchronous path now defaults to a SINGLE retry — the second failure surfaces an error and the operator either reruns explicitly or moves on. Per-namespace override viaGovernancePolicy::auto_atomise_max_retries.)
Fields§
§default_max_atom_tokens: u32Default per-atom token budget when the caller does not supply
an explicit value. The CLI / MCP atomise tool surfaces this as
the max_atom_tokens parameter.
min_atoms_per_source: usizeMinimum atoms a single source must produce for the atomisation
to be considered productive. Below this the source is
“atomic-enough” — AtomiseError::SourceTooSmall.
max_atoms_per_source: usizeCap on atoms per source — prevents pathological responses where the LLM emits dozens of trivial atoms. Matches the prompt envelope (“2 to 10 atoms”).
curator_max_retries: u32Max retries on a malformed curator response in the deferred /
CLI / explicit memory_atomise path. Total attempts =
1 + this value. See curator::backoff_for_attempt for the
exponential-backoff schedule.
sync_curator_max_retries: u32Cluster-F PERF-5 — Max retries on a malformed curator response
inside the Synchronous pre_store path (latency-sensitive).
Default 1 (i.e. 2 total attempts). The full 3-retry budget
otherwise inflated the operator’s memory_store envelope by up
to the curator backoff schedule (100ms + 500ms + 2500ms ≈ 3.1s).
Per-namespace override via
[crate::models::GovernancePolicy::auto_atomise_max_retries].
Trait Implementations§
Source§impl Clone for AtomiserConfig
impl Clone for AtomiserConfig
Source§fn clone(&self) -> AtomiserConfig
fn clone(&self) -> AtomiserConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AtomiserConfig
impl Debug for AtomiserConfig
Auto Trait Implementations§
impl Freeze for AtomiserConfig
impl RefUnwindSafe for AtomiserConfig
impl Send for AtomiserConfig
impl Sync for AtomiserConfig
impl Unpin for AtomiserConfig
impl UnsafeUnpin for AtomiserConfig
impl UnwindSafe for AtomiserConfig
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,
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 more