- 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
764 B
764 B
Task 01 — Builder + Config API
Goal: expose a fluent API that hides all the knobs required to open a single-process tidalDB instance.
Deliverables
TidalDbBuilderwith methods:ephemeral(),with_data_dir(Path),cache_dir(Path),wal_dir(Path),validate()andopen().Configstruct that can be serialized (for CLI) and implementsDefaulttuned for embeddable use (single WAL segment, no background threads yet).- Unit tests proving builder errors when directories are missing/unwritable.
Acceptance Criteria
cargo test builderpasses on macOS + Linux runners.- Builder docs contain runnable snippet used in Phase 3 doctests.
- No public API exposes fjall/useless internals; consumers only see
Config+TidalDbBuilder.