Skip to content

Implementation roadmap

Stage 1: Foundations

  • Package, CI, parity ledger, and decision records.
  • Immutable AST, visitor/transformer, catalog types, and generated fixture.
  • Offline select compilation and portable typing checks.

Exit: package builds, AST branches remain independent, compiler tests pass for all binding profiles, and the generated fixture passes mypy and Pyright.

Stage 2: Execution

  • Driver and connection protocols, plugin pipeline, result types, and SQLite driver.
  • Async execution, resource providers, transactions, savepoints, and cleanup.
  • PostgreSQL and MySQL adapters with live CI wiring.

Exit: parameterized queries and transaction failure paths pass against PostgreSQL, MySQL, and SQLite.

Stage 3: SQL surface

  • Complete read and write builders, expressions, joins, CTEs, set operations, and DDL.
  • Capability checks and dialect helpers.
  • Enhanced mypy inference for scope, projection, aliases, and null-extending joins.

Exit: every applicable upstream behavior has runtime, compiler, and typing evidence.

Stage 4: Lifecycle and release hardening

  • Introspection, deterministic codegen, migrations, streaming, and cancellation.
  • Differential tests, packaging matrix, documentation, and performance baselines.
  • Close the parity ledger and production release gates.

Exit: all release acceptance criteria in the architecture handoff are evidenced.

Post-readiness dialect expansion

  • Add MSSQL and PGlite runtime adapters after the PostgreSQL, MySQL, and SQLite production gates are complete.