tidaldb/tidal/Cargo.toml
jordan 192c473f55 feat: complete Milestone 5 — full-text search, RRF fusion, and creator search
- M5p1: BM25 text indexing via Tantivy with background syncer (0.26ms @ 10K docs)
- M5p2: RRF fusion layer combining BM25 + ANN scores (46µs @ 1K candidates)
- M5p3: unified Search query API (8-stage pipeline, BM25 + vector + ranking)
- M5p4: creator text + vector indexing and creator search executor (< 20ms @ 200 creators)
- Refactor db/mod.rs into focused sub-modules (creators, items, sessions, signals, etc.)
- Decompose monolithic files into directory modules (query/executor, ranking/diversity, etc.)
- Split brute.rs → brute/mod.rs + brute/tests.rs; extract search executor helpers
- Add benches: fusion, search, session, text_index
- Add M5 UAT test suites (m5_uat, m5_search, m5p4_creator_search, text_index)
- Update blog posts, roadmap, content strategy, and M5 planning docs
- Add tmp/ and .claude/worktrees/ to .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 23:53:16 -07:00

115 lines
1.9 KiB
TOML

[package]
name = "tidaldb"
version = "0.1.0"
edition = "2024"
rust-version = "1.91"
description = "Embeddable database for personalized content ranking"
license = "MIT"
[features]
test-utils = ["dep:tempfile"]
metrics = [] # hand-rolled HTTP, no new crate deps
[dependencies]
base64 = "0.22"
blake3 = "1"
crossbeam = "0.8"
dashmap = "6"
fjall = "3"
rand = "0.9"
roaring = "0.10"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tantivy = "0.22"
tempfile = { version = "3", optional = true }
tracing = "0.1"
usearch = "2.24.0"
[dev-dependencies]
actix-web = "4"
axum = "0.8"
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1"
tempfile = "3"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "signal"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
cast_possible_truncation = "allow"
module_name_repetitions = "allow"
unwrap_used = "deny"
[[example]]
name = "quickstart"
[[example]]
name = "axum_embedding"
[[example]]
name = "actix_embedding"
[[example]]
name = "cli_embedding"
[[test]]
name = "sandboxed_storage"
required-features = ["test-utils"]
[[test]]
name = "metrics_integration"
required-features = ["metrics"]
[[test]]
name = "vector_usearch"
[[bench]]
name = "signals"
harness = false
[[bench]]
name = "storage"
harness = false
[[bench]]
name = "vector"
harness = false
[[bench]]
name = "filters"
harness = false
[[bench]]
name = "ranking"
harness = false
[[bench]]
name = "diversity"
harness = false
[[bench]]
name = "query"
harness = false
[[bench]]
name = "session"
harness = false
[[bench]]
name = "text_index"
harness = false
[[bench]]
name = "fusion"
harness = false
[[bench]]
name = "search"
harness = false