Skip to main content

MemoryPack

Struct MemoryPack 

Source
pub struct MemoryPack { /* private fields */ }
Expand description

Pack implementation providing memory.remember and memory.recall verbs.

Implementations§

Source§

impl MemoryPack

Source

pub fn new(runtime: KhiveRuntime) -> Self

Create a new MemoryPack backed by the given runtime.

Trait Implementations§

Source§

impl Pack for MemoryPack

Source§

const NAME: &'static str = "memory"

Short identifier for this pack (e.g. “kg”, “tasks”).
Source§

const NOTE_KINDS: &'static [&'static str]

Note kinds this pack contributes to the runtime vocabulary.
Source§

const ENTITY_KINDS: &'static [&'static str]

Entity kinds this pack contributes to the runtime vocabulary.
Source§

const HANDLERS: &'static [HandlerDef]

Handlers this pack registers. Read more
Source§

const REQUIRES: &'static [&'static str]

Other pack names whose vocabulary this pack references. Read more
Source§

const EDGE_RULES: &'static [EdgeEndpointRule] = _

Additional edge endpoint rules this pack contributes. Read more
Source§

const NOTE_KIND_SPECS: &'static [NoteKindSpec] = _

Lifecycle and schema specs for note kinds this pack owns. Read more
Source§

const SCHEMA_PLAN: Option<PackSchemaPlan> = None

Pack-auxiliary schema plan. Read more
Source§

const VALIDATION_RULES: &'static [&'static str] = _

Validation rule IDs contributed by this pack. Read more
Source§

impl PackRuntime for MemoryPack

Source§

fn name(&self) -> &str

Pack name — must equal <Self as Pack>::NAME.
Source§

fn note_kinds(&self) -> &'static [&'static str]

Note kinds this pack owns — must equal <Self as Pack>::NOTE_KINDS.
Source§

fn entity_kinds(&self) -> &'static [&'static str]

Entity kinds this pack owns — must equal <Self as Pack>::ENTITY_KINDS.
Source§

fn handlers(&self) -> &'static [HandlerDef]

Handlers this pack registers — must equal <Self as Pack>::HANDLERS.
Source§

fn requires(&self) -> &'static [&'static str]

Pack names whose vocabulary this pack references. Defaults to empty so existing packs compile without changes.
Source§

fn warm<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Warm up any in-memory state from persisted snapshots (optional). Read more
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,

Dispatch a verb call. Returns serialized JSON response. Read more
Source§

fn edge_rules(&self) -> &'static [EdgeEndpointRule]

Pack-extensible edge endpoint rules — must equal <Self as Pack>::EDGE_RULES. Defaults to empty so existing packs that don’t extend the edge contract can ignore it.
Source§

fn note_kind_specs(&self) -> &'static [NoteKindSpec]

NoteKindSpec declarations for note kinds this pack owns. Read more
Source§

fn kind_hook(&self, _kind: &str) -> Option<Arc<dyn KindHook>>

Optional per-kind hook for shared CRUD specialization. Read more
Source§

fn schema_plan(&self) -> SchemaPlan

Pack-auxiliary schema. Read more
Source§

fn validation_rules(&self) -> &'static [ValidationRule]

Domain-specific validation rules contributed by this pack. Read more
Source§

fn register_embedders(&self, _runtime: &KhiveRuntime)

Register custom embedding providers with the runtime. Read more
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).

Parameter names (memory::relevance_weight, memory::salience_weight, memory::temporal_weight) correspond to the three Beta posteriors in BalancedRecallState. 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

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>

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().

Source§

fn parameter_space(&self) -> ParameterSpace

Describe the parameter space this pack exposes to brain.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more