franken_snowflake v0.0.3
A working, clean-room Snowflake SQL API connector for Rust and coding agents: real reads and writes against live Snowflake accounts over the SQL API — no ODBC, no JDBC, no Tokio.
What v0.0.3 delivers
This release closes the gap where the v0.0.2 binaries shipped without the live/MCP feature set. Every v0.0.3 archive is built with --features live,mcp and reports live=true, mcp=true:
- Live reads.
fsnow query runsubmits a single read statement, polls the statement handle, fetches result partitions in a concurrent window (in-order assembly, early stop at--limit), and emits a deterministic JSON envelope withdata_source: "live". - Safe live writes.
fsnow query writeexecutes INSERT / MERGE / UPDATE / DELETE / COPY INTO / PUT once a profile setsWRITE_ENABLED;--dry-runpreviews and binds a confirmation token to (profile, SQL);WRITE_REQUIRE_CONFIRMre-arms that ceremony; DDL needs a second opt-in. - MCP server.
fsnow mcp serve --stdio|--httpexposes every read verb as an MCP tool backed by the same handlers and envelope contract as the CLI. - Catalog discovery + datasets.
catalog scanpersists a content-addressed snapshot;catalog graphrenders lineage (Mermaid/SVG); dataset mode plans pushed-down SQL with typed positional bindings offline, then executes live. - Receipts. Every successful live execution writes a BLAKE3 content-addressed receipt plus partition evidence and an append-only audit event;
receipt show <hash>reads it back. --require-liveonquery run/catalog scanhard-refuses (FSNOW-3003) unless the envelope is backed by the live transport.- Deterministic race coverage. The DPOR suite now races a canceller task against an in-flight exchange, proving on every interleaving that an abandoned statement still fires its remote cancel (obligation-leak oracles included).
- Opt-in TUI.
fsnow tui(featuretui) browses the catalog snapshot, plans through the shared planner, and — withlivecompiled — executes planned queries; non-TTY invocations refuse typed.
Verification
- Built by
dsron real hosts, natively: Linux x64+arm64 (trj), macOS x64+arm64 (mmini), Windows x64+arm64 (wlap, native MSVC) — one clean run at a recorded git sha, no--allow-dirty. - Every executed artifact reports
capabilities→0.0.3, live=true, mcp=true,selftest7/7,doctorok, and a typedFSNOW-2003refusal without credentials: verified on Linux natively (arm64 under qemu), on the Mac (arm64 native, x64 under Rosetta), and on the Windows host. - Pre-tag: full workspace tests, every feature lane, 18-lane clippy
-D warnings, dependency-admissibility scans (no Tokio/reqwest/hyper/axum/tower/sqlx/diesel/sea-orm in any production graph), golden CRLF checks. - Installer smoke-tested in a clean environment and in containers.
aarch64-pc-windows-msvc is linked but not executed (no ARM Windows machine available). Full run record: docs/RELEASE.md.
Install
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/franken_snowflake/main/install.sh | bashWindows: install.ps1 (same release assets). First run: fsnow onboard --json orients an agent in one call; fsnow capabilities --json is the machine-readable command registry.
Credentials stay runtime-gated: set FRANKEN_SNOWFLAKE_<PROFILE>_* env handles per profile — nothing secret ever lands in config, logs, or envelopes.