tidaldb/tidal/docs/planning/milestone-5/phase-4/OVERVIEW.md
jx12n 3bcfb3c576 feat: Bazel build, crate docs/ai-lookup, docker images, and engine hardening
- Add BUILD.bazel across tidal, tidal-net, tidal-server, tidalctl for bzlmod build
- Add tidal/ crate docs (README, CHANGELOG, CONTRIBUTING, AGENTS, CLAUDE, API, ARCHITECTURE) and ai-lookup reference
- Add docker standalone/cluster/deploy images, compose, and prometheus config
- Harden WAL (batch format, writer, dedup, diagnostics), text syncer/collectors, and vector registry
- Expand tidalctl CLI and tests; restructure WAL/visibility integration test suites
- Refine tidal-net transport/client/server and tidal-server cluster/scatter-gather
2026-06-07 18:29:38 -06:00

49 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Milestone 5, Phase 4: Creator and People Search
## Goal
Prove that the same SEARCH pipeline that indexes items can also index creator entities. After this phase, a developer can call `db.search(&Search { entity_kind: Creator, query: "jazz" })` and receive BM25-ranked creators with optional vector fusion, filters, and sort modes.
## Motivation
m5p1p3 built a complete SEARCH pipeline for items. Creators are a first-class entity in tidalDB with their own storage engine, metadata, and embeddings. Extending the pipeline to creators validates the multi-entity-kind design and unlocks the people-search use case.
## Tasks
| Task | Title | Status |
|------|-------|--------|
| task-01 | Creator Text Indexing | pending |
| task-02 | Creator Vector Index | pending |
| task-03 | Creator Search Executor | pending |
## Execution Order
```
task-01 (Creator Text Indexing)
|
v
task-02 (Creator Vector Index)
|
v
task-03 (Creator Search Executor)
```
All tasks are sequential.
## Verification
```bash
cargo check
cargo clippy -- -D warnings
cargo test --lib
cargo test --test m5p4_creator_search
cargo bench --bench search -- bench_search_creator_text_200
```
**Key assertions:**
- `db.search(Search { entity_kind: Creator, query: "jazz" })` returns BM25-ranked creators
- `filter(verified = true)` excludes non-verified creators
- `similar_to` lookup triggers ANN on `(EntityKind::Creator, "content")` slot
- `bench_search_creator_text_200` < 20ms
- All existing m5p3 item search tests still pass