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§fn register_embedders(&self, _runtime: &KhiveRuntime)
fn register_embedders(&self, _runtime: &KhiveRuntime)
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::salience_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().
fn parameter_space(&self) -> ParameterSpace
Auto Trait Implementations§
impl !Freeze for MemoryPack
impl !RefUnwindSafe for MemoryPack
impl Send for MemoryPack
impl Sync for MemoryPack
impl Unpin for MemoryPack
impl UnsafeUnpin for MemoryPack
impl !UnwindSafe for MemoryPack
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> 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