- 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
14 lines
764 B
Markdown
14 lines
764 B
Markdown
# Task 01 — Builder + Config API
|
|
|
|
**Goal:** expose a fluent API that hides all the knobs required to open a single-process tidalDB instance.
|
|
|
|
## Deliverables
|
|
- `TidalDbBuilder` with methods: `ephemeral()`, `with_data_dir(Path)`, `cache_dir(Path)`, `wal_dir(Path)`, `validate()` and `open()`.
|
|
- `Config` struct that can be serialized (for CLI) and implements `Default` tuned for embeddable use (single WAL segment, no background threads yet).
|
|
- Unit tests proving builder errors when directories are missing/unwritable.
|
|
|
|
## Acceptance Criteria
|
|
- `cargo test builder` passes 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`.
|