pub struct CapabilityAtomisation {
pub tool: String,
pub cli: String,
pub auto: String,
pub recall_preference: String,
pub forensic: String,
pub curator: String,
pub link_relation: String,
}Expand description
v0.7.0 WT-1-G — atomisation capability surface.
WT-1 ships substrate-native decomposition of long memories into
atomic propositions. The parent memory is archived (archived_at
stamped, atomised_into = N) and N first-class atomic children
land with atom_of back-pointers and a signed derives_from
MemoryLink. Each sub-field below names a real operator-facing
surface in this binary; the round-trip is honest — the values are
"implemented" only when the engine, hook, and wrapper code are
all wired.
Field → implementation anchor map:
tool: MCPmemory_atomise(Family::Power). Defined in [crate::mcp::tools::atomise] + registered in [crate::mcp::registry]. WT-1-C landed it.cli:ai-memory atomise <memory_id>subcommand. Wrapper lives incrate::cli::commands::atomise. WT-1-F landed it.auto: namespace-policy-gatedauto_atomisepre_store hook. The hook incrate::hooks::pre_store::auto_atomiseis non-blocking (detached worker thread) and fires only when the namespace standard’smetadata.governance.auto_atomise = true. WT-1-D landed it.recall_preference: recall surfaces atoms in place of an archived parent via the SQL guardAND NOT (archived_at IS NOT NULL AND atomised_into > 0). WT-1-E landed it.forensic: forensic bundle export includes the parent → atoms chain envelope so a downstream auditor reconstructs the decomposition offline. WT-1-E landed it.curator: productionLlmCuratoruses the Gemma 4 prompt withtiktoken-rs::cl100k_basetoken-budget validation and the audit-honest STOP discipline (no retry after a parse-OK verdict). WT-1-B landed it.
Fields§
§tool: StringMCP memory_atomise tool — "implemented" once the tool is
registered and the [crate::mcp::tools::atomise] handler is
wired against crate::atomisation::Atomiser.
cli: Stringai-memory atomise CLI subcommand — "implemented" once the
wrapper in crate::cli::commands::atomise is dispatched
from daemon_runtime::Command::Atomise.
auto: StringNamespace-policy-gated auto-atomisation pre_store hook —
"implemented" when crate::hooks::pre_store::auto_atomise
is compiled and the store handlers call
maybe_enqueue_auto_atomise after a successful insert.
recall_preference: StringRecall-time atom preference — "implemented" when the recall
SQL carries the
AND NOT (archived_at IS NOT NULL AND atomised_into > 0)
guard so atomised parents stop surfacing in their atoms’
place. WT-1-E.
forensic: StringForensic chain envelope — "implemented" when the forensic
bundle exporter (crate::forensic::bundle::build) walks
atom_of back-pointers to include the parent → atoms chain
in the bundle. WT-1-E.
curator: StringLLM curator — "implemented" once
crate::atomisation::curator::LlmCurator is the production
Curator impl driving the atomisation engine (Gemma 4 prompt,
tiktoken-rs cl100k token-budget validation, audit-honest STOP).
WT-1-B.
link_relation: StringMemory-link relation that anchors the atom → parent edge.
Always "derives_from", matching
crate::models::MemoryLinkRelation::DerivesFrom. Distinct
from related_to / supersedes / contradicts — the
atomisation engine writes this edge specifically, and
downstream consumers can filter on the relation to walk
decomposition lineage without reflection-chain noise.
Implementations§
Trait Implementations§
Source§impl Clone for CapabilityAtomisation
impl Clone for CapabilityAtomisation
Source§fn clone(&self) -> CapabilityAtomisation
fn clone(&self) -> CapabilityAtomisation
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 CapabilityAtomisation
impl Debug for CapabilityAtomisation
Source§impl<'de> Deserialize<'de> for CapabilityAtomisation
impl<'de> Deserialize<'de> for CapabilityAtomisation
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 CapabilityAtomisation
Source§impl PartialEq for CapabilityAtomisation
impl PartialEq for CapabilityAtomisation
Source§fn eq(&self, other: &CapabilityAtomisation) -> bool
fn eq(&self, other: &CapabilityAtomisation) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CapabilityAtomisation
impl Serialize for CapabilityAtomisation
impl StructuralPartialEq for CapabilityAtomisation
Auto Trait Implementations§
impl Freeze for CapabilityAtomisation
impl RefUnwindSafe for CapabilityAtomisation
impl Send for CapabilityAtomisation
impl Sync for CapabilityAtomisation
impl Unpin for CapabilityAtomisation
impl UnsafeUnpin for CapabilityAtomisation
impl UnwindSafe for CapabilityAtomisation
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