duckquill 0.2.0

Parquet-backed text2sql engine and CLI for schema-first querying workflows
Documentation
# Foundation notes

This repo is already a single-binary Rust service. Keep follow-on guidance and operator docs aligned to
that shape instead of describing a scaffold that still needs to be built.

## Current guarantees

- One Cargo package with one binary entrypoint (`src/main.rs`)
- CLI subcommands for `serve`, `convert`, `schema`, `query`, and `benchmark`
- HTTP routes for `/`, `/health`, `/schema`, `/query`, `/convert`, and `/benchmark`
- DuckDB-backed parquet query modes: `parquet_selective` (default) and `full_download`
- Object-storage support through `storage.type = "s3"` and `TEXT2SQL_S3_*` settings
- Checked-in `testdata/` fixtures plus integration-style engine/app tests

## Preferred operator flow

1. Convert CSV/XLS/XLSX/JSON inputs into Parquet.
2. Inspect schema first with `/schema` or `cargo run -- schema`.
3. Query the resulting dataset in `parquet_selective` mode first.
4. Run `benchmark` before deciding to prefer `full_download` for a workload.

## Guidance guardrails

- Keep docs and skills specific to this Rust binary; avoid generic multi-service or multi-language playbooks.
- Treat `full_download` as a fallback/debug path, not the default happy path.
- Keep S3/MinIO guidance consistent across CLI and HTTP examples by reusing the same endpoint,
  region, and credential inputs.
- Preserve the existing verification commands from `README.md`: `cargo fmt --check`, `cargo test`,
  `cargo check`, and `cargo clippy --all-targets --all-features -- -D warnings`.