Home Expressions
Docs
Drivers Gateway SDKs MCP Benchmarks
Changelog
GitHub
Blog Status Roadmap

Architecture Overview

Layer 1: Intent      qail-core AST + parser + validator
Layer 2: Protocol    AST -> PostgreSQL/Qdrant wire messages
Layer 3: Drivers     Connection I/O, pooling, response decode
Layer 4: Tooling     CLI, static fixtures, compatibility transpiler

Plain English: app input becomes one typed AST, then protocol messages are sent to the database engine.

Release Snapshot

Latest stable: v1.3.5.

The v1.3.5 release covers CI formatting compatibility with the Rust stable 1.96.0 rustfmt shape, and continued unsafe panic/clone audit hardening across core, gateway, LSP, Qdrant, and transaction paths — including production clippy suppression cleanup, lower-copy REST/event handling, and LSP schema/document cache clone reductions. Runtime tenant scoping remains tenant-only (tenant_id) across auth and RLS flows.

In development: the Dart SDK (sdk/dart, 0.1.0) and the TypeScript SDK 0.2.0 realignment sit under Unreleased and are not part of v1.3.5. Both are consumed from the monorepo source tree rather than a package registry.

Gateway AutoREST page: /gateway

Layer 1: Intent (qail-core)

Component Ready Notes
Qail AST Core typed structure for read/write/query workflows
Builder API .get() .filter() .order_by() .limit()
Parser Text syntax to AST for CLI/LSP pipelines (browser WASM packaging deferred)
Validator Schema checks with field/type hints
Formatter Canonical output for qail fmt
Schema-as-Proof Compile-time proof path via TypedQail, RelatedTo, and RLS witness builders

Dedicated SDK page: /sdk

Layer 2: Protocol Encoders

Target Query Path Params Scope
PostgreSQL Production protocol path
Qdrant Active vector target (driver surface currently beta)
Native Cache Built-in cache layer (Moka)

Layer 3: Drivers

Driver Language Connection Pooling Status
qail-pg Rust Production
qail-zig Zig Production
Flow Engine Rust Production workflow runtime
Flow Ledger Rust/PostgreSQL Postgres-backed leases, idempotency, side-effect replay, and timeouts
qail-qdrant Rust Beta (vector)

SDK Surface

SDK Package / Path Status Notes
TypeScript @qail/client Production First-party direct SDK
Swift sdk/swift Production First-party direct SDK
Kotlin sdk/kotlin Production First-party direct SDK
Dart sdk/dart Unreleased First-party direct SDK (unreleased, 0.1.0)
Node.js Native deferred Deferred Native binding remains out of current release scope

Layer 4: Tooling

Tool State Purpose
qail CLI Live Build, validate, format, and migration workflows
Static validation fixtures Live CLI-first reference fixtures and query-shape validation flow
SQL Transpiler Compatibility Live Compatibility output for docs/tooling paths
Browser WASM Transpiler Deferred Out of current release scope; use CLI/runtime driver paths instead