tidaldb/tidal/docs/planning/milestone-0/phase-1/task-01-builder-and-config.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

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

  • 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.