aicx 0.10.0

Context search and retrieval for AI-agent session history — find relevant past events, recover user intent, identify unfinished deliverables, and spot claims never backed by results
Documentation
use rmcp_memex::search::BM25Config;
use std::path::{Path, PathBuf};

pub(super) const STEER_NAMESPACE: &str = "steer";
pub(super) const STEER_BM25_DIR: &str = "steer_bm25";
pub(super) const STEER_METADATA_FILE: &str = "steer_index_meta.json";
pub(super) const STEER_NEXT_DIR: &str = ".steer.next";
pub(super) const STEER_PREV_DIR: &str = ".steer.prev";
pub(super) const STEER_INDEX_METADATA_VERSION: u32 = 1;
pub(super) const STEER_SENTINEL_DIMENSION: usize = 1;
pub(super) const MIN_CANDIDATES: usize = 200;
pub(super) const CANDIDATE_MULTIPLIER: usize = 20;

pub(super) fn steer_db_path(base: &Path) -> PathBuf {
    base.join("steer_db")
}

pub(super) fn steer_bm25_path(base: &Path) -> PathBuf {
    base.join(STEER_BM25_DIR)
}

pub(super) fn steer_metadata_path(base: &Path) -> PathBuf {
    base.join(STEER_METADATA_FILE)
}

pub(super) fn steer_lock_path_at(base: &Path) -> PathBuf {
    base.join("locks").join("steer.lock")
}

pub(super) fn steer_bm25_config(base: &Path, read_only: bool) -> BM25Config {
    BM25Config::multilingual()
        .with_path(steer_bm25_path(base).to_string_lossy().to_string())
        .with_read_only(read_only)
}