pub struct MemoryPack { /* private fields */ }Implementations§
Source§impl MemoryPack
impl MemoryPack
pub fn new(runtime: KhiveRuntime) -> Self
Trait Implementations§
Source§impl Pack for MemoryPack
impl Pack for MemoryPack
Source§const NOTE_KINDS: &'static [&'static str]
const NOTE_KINDS: &'static [&'static str]
Source§const ENTITY_KINDS: &'static [&'static str]
const ENTITY_KINDS: &'static [&'static str]
Source§const VERBS: &'static [VerbDef]
const VERBS: &'static [VerbDef]
Source§const REQUIRES: &'static [&'static str]
const REQUIRES: &'static [&'static str]
Source§const EDGE_RULES: &'static [EdgeEndpointRule] = _
const EDGE_RULES: &'static [EdgeEndpointRule] = _
Source§impl PackRuntime for MemoryPack
impl PackRuntime for MemoryPack
Source§fn note_kinds(&self) -> &'static [&'static str]
fn note_kinds(&self) -> &'static [&'static str]
<Self as Pack>::NOTE_KINDS.Source§fn entity_kinds(&self) -> &'static [&'static str]
fn entity_kinds(&self) -> &'static [&'static str]
<Self as Pack>::ENTITY_KINDS.Source§fn verbs(&self) -> &'static [VerbDef]
fn verbs(&self) -> &'static [VerbDef]
<Self as Pack>::VERBS.Source§fn requires(&self) -> &'static [&'static str]
fn requires(&self) -> &'static [&'static str]
Source§fn dispatch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
verb: &'life1 str,
params: Value,
registry: &'life2 VerbRegistry,
) -> Pin<Box<dyn Future<Output = Result<Value, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn dispatch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
verb: &'life1 str,
params: Value,
registry: &'life2 VerbRegistry,
) -> Pin<Box<dyn Future<Output = Result<Value, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn edge_rules(&self) -> &'static [EdgeEndpointRule]
fn edge_rules(&self) -> &'static [EdgeEndpointRule]
<Self as Pack>::EDGE_RULES.
Defaults to empty so existing packs that don’t extend the edge contract
can ignore it (ADR-031).Source§impl PackTunable for MemoryPack
MemoryPack implements PackTunable so that the brain can adjust the
recall scoring pipeline based on observed usage patterns (Issue #159).
impl PackTunable for MemoryPack
MemoryPack implements PackTunable so that the brain can adjust the
recall scoring pipeline based on observed usage patterns (Issue #159).
Parameter names (memory::relevance_weight, memory::importance_weight,
memory::temporal_weight) match the keys that brain’s EventFold tracks,
so posteriors from real-time dispatch events flow directly into these params.
project_config reads posterior means → RecallConfig.
apply_config validates and stores the new config; future recall calls
pick it up via MemoryPack::active_config().
Source§fn project_config(&self, state: &BrainState) -> Value
fn project_config(&self, state: &BrainState) -> Value
Project the current BrainState posteriors into a RecallConfig value.
Reads memory::*_weight posterior means from state. Falls back to the
current active config if a parameter is absent (brain not yet warmed up).
Source§fn apply_config(&self, config: Value) -> Result<(), RuntimeError>
fn apply_config(&self, config: Value) -> Result<(), RuntimeError>
Apply a projected config to the pack.
Deserializes the JSON value into a RecallConfig, validates it, and
stores it as the active config. Future recall calls pick up the new
weights via MemoryPack::active_config().