Skip to main content

BrainSession

Struct BrainSession 

Source
pub struct BrainSession { /* private fields */ }

Implementations§

Source§

impl BrainSession

Source

pub fn config(&self) -> &ProjectConfig

Source

pub fn resolve_request_floors(&self, request: &mut ContextRequest)

Resolve explicit overrides before legacy sentinels. The explicit zero survives a second resolution at the injected/production boundary.

Source

pub fn open(start: &Path) -> KimetsuResult<Self>

Source

pub fn open_readonly(start: &Path) -> KimetsuResult<Self>

Source

pub fn retrieve_context( &self, stage: &str, query: &str, budget_tokens: u32, ) -> KimetsuResult<ContextBundle>

Source

pub fn retrieve_context_with_request( &self, request: ContextRequest, ) -> KimetsuResult<ContextBundle>

v0.6: full-request variant used by kimetsu_brain_context MCP tool and retrieve_context_readonly_with_request to expose tags, min_score, max_capsules, and prefer_roles.

W3.1: routes through open_embedder_for so the persistent [embedder] enabled = false config field truly disables the cosine path (FTS-only retrieval) without relying on the env var.

Source

pub fn resolved_abstain_evidence(&self) -> f32

v2.7: resolve the absolute abstention floor for this session’s config. See resolved_abstain_evidence_for.

Source

pub fn retrieve_proactive( &self, request: ContextRequest, ) -> KimetsuResult<ContextBundle>

v0.8: proactive (mid-work) retrieval. Pins [NoopEmbedder] so it stays lexical-FTS-only — NO embedding model is loaded even in --features embeddings builds, keeping the per-tool-call hook cheap. request.kinds should restrict to actionable kinds; the caller sets a high min_score and max_capsules: 1 so recall is rare and confident (the human-brain “it comes to you” model).

Source

pub fn retrieve_context_lexical( &self, request: ContextRequest, ) -> KimetsuResult<ContextBundle>

v1.0.0: lexical (FTS-only) retrieval honoring the full ContextRequest. Like Self::retrieve_context_with_request but pins [NoopEmbedder] so NO embedding model is loaded even in --features embeddings builds. The UserPromptSubmit context-hook uses this: it runs in a throwaway per-prompt process that cannot reuse the long-lived MCP server’s warm model cache, so a cold ONNX load there can blow the host’s 30s hook timeout. Semantic ANN recall stays with the warm MCP kimetsu_brain_context tool.

Source

pub fn retrieve_context_with_injected_embedder( &self, request: ContextRequest, embedder: &dyn Embedder, ) -> KimetsuResult<ContextBundle>

v1.0.0: read-only retrieval honoring the full ContextRequest but with a caller-supplied embedder. The warm embedder daemon uses this to run cosine/ANN retrieval with ONE long-lived model instead of opening a fresh embedder per request. The lexical-coverage floor is applied here too (driven from config unless the caller overrode it).

Source

pub fn repo_root(&self) -> &Path

Source

pub fn user_conn(&self) -> Option<&Connection>

v0.4.1: expose the user-brain connection so callers (e.g. kimetsu brain status) can report counts/paths without re-opening the file. Returns None when the user brain is disabled or unresolvable.

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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