pub struct AtomisationPolicy {
pub auto_atomise: Option<bool>,
pub auto_atomise_threshold_cl100k: Option<u32>,
pub auto_atomise_max_atom_tokens: Option<u32>,
pub auto_atomise_max_retries: Option<u32>,
pub auto_atomise_mode: Option<AutoAtomiseMode>,
}Expand description
#880 — WT-1-D + Form 2 atomisation sub-struct of
GovernancePolicy. Groups the five atomisation knobs so a new
Form 2 / Cluster-F knob lands on this struct without cascading
through every literal site.
Fields§
§auto_atomise: Option<bool>v0.7.0 WT-1-D — when Some(true), the pre_store substrate
hook (AutoAtomisationHook) deferred-enqueues a curator pass
on the stored memory if its body exceeds
auto_atomise_threshold_cl100k. Inherits leaf-first via the
namespace chain (same walk as every other field). None /
Some(false) keeps the substrate quiet; the operator opts in
per-namespace by setting this to Some(true) on the namespace
standard’s metadata.governance blob. skip_serializing_if
keeps absent-on-wire for pre-WT-1-D federation peers (zero
replication drift).
auto_atomise_threshold_cl100k: Option<u32>v0.7.0 WT-1-D — cl100k_base token threshold over which a
memory_store triggers the auto-atomisation curator pass.
None defers to the compiled default (500). Resolved via the
same leaf-first inheritance walk; a child None inherits the
nearest ancestor’s explicit Some(n).
auto_atomise_max_atom_tokens: Option<u32>v0.7.0 WT-1-D — per-atom token budget passed to the curator
when the auto-atomisation hook fires. None defers to the
compiled default (200, matching AtomiserConfig::default_max_atom_tokens).
Resolved via the same leaf-first inheritance walk.
auto_atomise_max_retries: Option<u32>v0.7.0 Cluster-F (issue #767, PERF-5) — per-namespace override
for the curator retry budget used by the
Synchronous pre_store auto-atomise path. None defers to
the compiled default AtomiserConfig::sync_curator_max_retries
(1 — chosen to keep the operator’s memory_store latency
envelope tight; the deferred path keeps the full 3-retry
budget because it runs on a detached worker thread).
Operators who need higher resilience on a specific Synchronous-mode namespace (at the cost of a longer worst-case envelope) raise this explicitly. Resolved via the same leaf-first inheritance walk as every other field on this struct.
auto_atomise_mode: Option<AutoAtomiseMode>v0.7.x Form 2 (Batman framework) — atomisation execution mode.
None/Some(Off)→ no atomisation occurs (overrides anyauto_atomiseflag).Some(Deferred)→ legacy WT-1-D behaviour: curator runs on a detached worker thread AFTERmemory_storereturns. Source is embedded as one blob before the curator round-trip lands.Some(Synchronous)→ Form 2 alignment: SKIP source embedding, run the curator synchronously insidememory_store, atoms get their normal embed-on-insert path, source is archived withatomised_into > 0BEFORE the response returns.
Backward compatibility: when this field is absent and
auto_atomise = Some(true) is set, the resolver implicitly maps
to Some(Deferred) so v0.7.0 pre-Form-2 deployments keep their
existing behaviour. See
GovernancePolicy::effective_auto_atomise_mode.
Trait Implementations§
Source§impl Clone for AtomisationPolicy
impl Clone for AtomisationPolicy
Source§fn clone(&self) -> AtomisationPolicy
fn clone(&self) -> AtomisationPolicy
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 AtomisationPolicy
impl Debug for AtomisationPolicy
Source§impl Default for AtomisationPolicy
impl Default for AtomisationPolicy
Source§fn default() -> AtomisationPolicy
fn default() -> AtomisationPolicy
Source§impl<'de> Deserialize<'de> for AtomisationPolicy
impl<'de> Deserialize<'de> for AtomisationPolicy
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 AtomisationPolicy
Source§impl PartialEq for AtomisationPolicy
impl PartialEq for AtomisationPolicy
Source§fn eq(&self, other: &AtomisationPolicy) -> bool
fn eq(&self, other: &AtomisationPolicy) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for AtomisationPolicy
impl Serialize for AtomisationPolicy
impl StructuralPartialEq for AtomisationPolicy
Auto Trait Implementations§
impl Freeze for AtomisationPolicy
impl RefUnwindSafe for AtomisationPolicy
impl Send for AtomisationPolicy
impl Sync for AtomisationPolicy
impl Unpin for AtomisationPolicy
impl UnsafeUnpin for AtomisationPolicy
impl UnwindSafe for AtomisationPolicy
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.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