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 HANDLERS: &'static [HandlerDef]
const HANDLERS: &'static [HandlerDef]
Source§const REQUIRES: &'static [&'static str]
const REQUIRES: &'static [&'static str]
Source§const EDGE_RULES: &'static [EdgeEndpointRule] = _
const EDGE_RULES: &'static [EdgeEndpointRule] = _
Source§const NOTE_KIND_SPECS: &'static [NoteKindSpec] = _
const NOTE_KIND_SPECS: &'static [NoteKindSpec] = _
Source§const SCHEMA_PLAN: Option<PackSchemaPlan> = None
const SCHEMA_PLAN: Option<PackSchemaPlan> = None
Source§const VALIDATION_RULES: &'static [&'static str] = _
const VALIDATION_RULES: &'static [&'static str] = _
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 handlers(&self) -> &'static [HandlerDef]
fn handlers(&self) -> &'static [HandlerDef]
<Self as Pack>::HANDLERS.Source§fn requires(&self) -> &'static [&'static str]
fn requires(&self) -> &'static [&'static str]
Source§fn dispatch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
verb: &'life1 str,
params: Value,
registry: &'life2 VerbRegistry,
token: &'life3 NamespaceToken,
) -> Pin<Box<dyn Future<Output = Result<Value, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn dispatch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
verb: &'life1 str,
params: Value,
registry: &'life2 VerbRegistry,
token: &'life3 NamespaceToken,
) -> Pin<Box<dyn Future<Output = Result<Value, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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§fn note_kind_specs(&self) -> &'static [NoteKindSpec]
fn note_kind_specs(&self) -> &'static [NoteKindSpec]
Source§fn kind_hook(&self, _kind: &str) -> Option<Arc<dyn KindHook>>
fn kind_hook(&self, _kind: &str) -> Option<Arc<dyn KindHook>>
Source§fn schema_plan(&self) -> SchemaPlan
fn schema_plan(&self) -> SchemaPlan
Source§fn validation_rules(&self) -> &'static [ValidationRule]
fn validation_rules(&self) -> &'static [ValidationRule]
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) correspond to the three Beta posteriors in
BalancedRecallState (ADR-032 §5a). Posterior means flow directly into
RecallConfig.
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: &BalancedRecallState) -> Value
fn project_config(&self, state: &BalancedRecallState) -> Value
Project the current BalancedRecallState posteriors into a RecallConfig value.
Reads the three posterior means from the profile 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().