tidaldb/tidal/src/lib.rs
jordan 39ada28c6e feat: complete Milestones 2–4 — RETRIEVE query, vector index, ranking profiles, diversity, entity system, sessions
M2: RETRIEVE query pipeline with 5-stage execution (candidate → filter → score → diversify → limit),
    usearch HNSW vector index, bitmap/range/universe filters, ranking profiles with signal scoring,
    MMR diversity enforcement, and m2_uat integration tests.

M3: Entity system with typed metadata, relationship graph (follows/blocks/interactions),
    creator entities, session tracking, and m3_uat integration tests.

M4: Advanced ranking with builtin functions (freshness, trending, controversy, wilson),
    ranking executor with explain mode, query executor integration, benchmarks for
    query/ranking/vector/filters/diversity, and m4_uat integration tests.

Includes: 9 new blog posts, marketing site updates, updated roadmap, and updated vision doc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 16:24:48 -07:00

49 lines
1.2 KiB
Rust

pub mod db;
pub mod entities;
pub mod query;
pub mod ranking;
pub mod schema;
pub mod session;
pub mod signals;
pub mod storage;
pub mod wal;
/// Build hash compiled in from the `GIT_HASH` environment variable.
///
/// Falls back to `"dev"` if `GIT_HASH` is unset or `build.rs` is not invoked.
///
/// # Examples
///
/// ```
/// let hash = tidaldb::BUILD_HASH;
/// assert!(!hash.is_empty(), "build hash must not be empty");
/// ```
pub const BUILD_HASH: &str = match option_env!("TIDALDB_BUILD_HASH") {
Some(v) => v,
None => "dev",
};
#[cfg(any(test, feature = "test-utils"))]
pub use db::TempTidalHome;
#[cfg(feature = "metrics")]
pub use db::http::MetricsHandle;
pub use db::metrics::MetricsState;
pub use db::{Config, ConfigError, Paths, StorageMode, TidalDb, TidalDbBuilder};
pub use schema::{AgentPolicy, TidalError};
pub use session::{
AgentId, AuditEntry, SessionContext, SessionHandle, SessionId, SessionInfo, SessionSnapshot,
SessionSummary,
};
/// Crate-wide result type. All public API methods return `Result<T, TidalError>`.
///
/// # Examples
///
/// ```
/// fn my_op() -> tidaldb::Result<()> {
/// Ok(())
/// }
/// assert!(my_op().is_ok());
/// ```
pub type Result<T> = std::result::Result<T, TidalError>;