zanith
Build log·v0.1.0·canonical·last commit · anchored to source

What's shipped, what's in flight, what's next.

One page, three promises. The map below shows every shipped subsystem, every feature in flight, and the releases that come next — sliced two ways so you can read it by where in the engine or by when.

version

0.1.0

models in graph

0

ESM bundle

0.00 KB

indexed lookup

0.00ms

days · since first commit

anchored to source

Live demo·the engine, running in your browserauto
01 · parsetokens → AST

schema.zanith

01
02
03
04
05
06
07
08
09
10
11

Hover to pause · click a stage to jump · this is the actual pipeline, not a sketch

02 — Right nowall systems · green

The state of the engine, at the moment you opened this page.

ci · main · run #1247passed

Test breakdown

765 / 765 · 2.14s

  • test/compiler/select.test.ts8 tests
  • test/compiler/insert.test.ts5 tests
  • test/expression/where.test.ts18 tests
  • test/schema/parser.test.ts15 tests
  • test/benchmark/scale.test.ts6 tests
  • test/benchmark/execution.test.ts1 test

Build artifact

88.97 KB · ESM

Type defs

35.44 KB · .d.ts

Coverage

94.2% lines

vitest · v0.34.6next run · on push
recent commits · main5 shown
  • 8fa12e02h

    compiler: cache parameter index across joins

    ● head · ci passed

  • 3c7b91a5h

    graph: precompute relation reverse-lookup map

  • 11f482d1d

    test(scale): add 5k-model benchmark suite

  • 9a02d351d

    adapter/pg: wire onQuery debug hook

  • bbc3e172d

    expression: collapse nested AND blocks

streaming from · main

03 — The map

The roadmap, laid out by the engine's own architecture.

Six lanes — the four engine layers plus tooling and site/docs. Filter by status, search anything, share the URL.

31/43shipped · 72%
across 6 lanes
shipped31in flight6planned3horizon3
43 / 43
filter
Parser3

lex · parse · validate

  • Chevrotain lexer + parserv0.1.0

    Token stream → CST → AST in one pass. ~22ms / 1000 models.

  • Validator passv0.1.0

    Duplicate models, dangling relations, unknown types caught at parse.

  • Source mapsv0.4.0

    Map AST nodes back to source positions for better error messages.

Graph5

runtime structure

  • Schema graphv0.1.0

    Models, fields, enums, relations, indexes — in memory.

  • Indexed lookupsv0.1.0

    0.73ms for 1000 lookups against a 1000-model graph.

  • Diff algorithmv0.2.0

    Old graph vs new graph → set of structural changes. Powers the migration generator that shipped in v0.2.

  • Type generationv0.2.0

    generateTypes(graph) emits TypeScript .d.ts from the runtime graph. measureTypegenSize() reports byte cost. Optional — the typed client doesn't need it.

  • Snapshot serializationv0.2.0

    serializeSchemaGraph / deserializeSchemaGraph + the snapshots table. listSnapshots / findSnapshot read history programmatically.

Compiler11

AST → SQL

  • SELECT · INSERT · UPDATE · DELETEv0.1.0

    Every CRUD path compiles to parameterized SQL.

  • WHERE operatorsv0.1.0

    14 operators across 5 groups, all parameterized.

  • Joins via includev0.3.0

    Eager-fetch into a single statement, no N+1. 72% complete.

  • Aggregates · groupByv0.3.0

    Compiler primitives done; ModelAPI wiring next. 55%.

  • Window functionsv0.3.0

    ROW_NUMBER / RANK / OVER. 40% — type-safe column ref pending.

  • Subquery operatorsv0.3.0

    EXISTS, IN, correlated subqueries on the relational builder. 30%.

  • ·EXPLAIN integrationv1.0+

    Surface query plans through the typed client (Studio already has it).

  • Set ops · LATERAL · LISTEN/NOTIFYv0.2.0

    union/intersect/except, lateralJoin, listen/notify/unlisten — all on the relational builder. Postgres-only paths throw NotImplementedError on SQLite.

  • Search · full-text + trigram + vectorv0.2.0

    search() composes ranked text, trigram, and vector queries in a single statement. tsvectorSetupSql() emits the column + trigger; facets() emits filter UIs.

  • Postgres extension helpersv0.2.0

    Typed wrappers for pgvector (cosine/L2/inner-product/L1), pg_trgm (similarity/word_similarity), pgcrypto (digest/hmac/pgp), pg_cron (schedule/list/history).

  • Expression helpers · CASE · JSON · arrays · rangesv0.2.0

    caseWhen, coalesce, nullIf, fn, plus the full JSON / array / range operator family as standalone helpers.

Adapter10

wire driver

  • node-postgres (pg)v0.1.0

    The default. Pool-aware. Battle-tested.

  • postgres.jsv0.1.0

    Lighter, faster startup. Same five-method interface.

  • SQLite · better-sqlite3v0.2.0

    File-backed and :memory: modes. Sync I/O for tests and edge contexts.

  • SSL · SSH tunnelsv0.2.0

    Five TLS modes plus bastion-tunneled Postgres. Same connection API.

  • Transactionsv0.1.0

    Auto-rollback on throw, isolation levels, savepoints.

  • MySQL · MariaDBv0.4.0

    Dialect already shipped (MysqlDialect / mysqlDialect) — only the adapter is missing. Same five-method interface as the other three.

  • ·Cloudflare D1 · Neon serverlessv1.0+

    Edge-native and serverless adapters. Speculative.

  • Plugin system · query hooksv0.2.0

    wrapAdapterWithPlugins + ZanithPlugin (onQuery / onResult / onError). Hooks fire in registration order with full sql/params/duration context.

  • Observability pluginsv0.2.0

    consoleLogger, slowQueryLogger, structuredLogger, openTelemetryPlugin — all built on the same hook surface.

  • Multi-tenancy strategiesv0.2.0

    Three plugins: rowLevelTenancy (tenant_id injection), schemaBasedTenancy (search_path), databaseBasedTenancy (per-tenant routing).

Tooling9

cli · devx

  • Migrationsv0.2.0

    Generate · plan · verify · up · down. Risk-scored ops, shadow-DB verify, four-table audit log.

  • Recovery (Phase 2)v0.2.0

    Soft-drop · archive · restore · export · purge. The destructive-op safety net no other migration tool ships.

  • Studio · web UIv0.2.0

    Eight surfaces across workspace and database levels: tables, SQL, security, catalog, locks, RLS.

  • CLI · migrate · recover · studio · dbv0.2.0

    First-class command surface bundled with the engine. Same binary in dev and CI.

  • Engine published to npmimminent

    Cut the v0.2 release tag and publish to the registry. The last remaining adoption gate.

  • Schema introspection · CLIv0.3.0

    Programmatic API (introspectPostgres / introspectedToGraph) is shipped — only the .zanith emitter is pending so the CLI can print a file from a live DB.

  • ·CLI · zanith init / formatv1.0+

    First-class bootstrapping and linting commands.

  • Expand-contract migration helpersv0.2.0

    expandContractRename and expandContractTypeChange compose the safe multi-step plan (add → backfill → swap → drop) that risk-2+ ops require.

  • Preflight checksv0.2.0

    preflightCheck reads adapter state before a plan runs — long-running locks, replication lag, low free space — and returns PreflightFinding[] for CI.

Site & docs5

the public surface

  • Marketing pages · /why · /examples · /proofv0.1.0

    The architectural case + receipts.

  • Docs framework · /docs/*v0.1.0

    Sidebar / TOC / pager / 51 routes scaffolded.

  • JSON-LD + AEO across every public pagev0.2.0

    Per-page metadata, canonical, OG/Twitter, JSON-LD schemas. Sitemap, robots, llms.txt for AI crawlers.

  • Docs content · 51 routes filledv0.2.0

    Getting Started, Schema, Queries, Advanced (9 pages), Production (6 pages), Studio (7 pages), Migrate (9 pages), Reference. Every shipped engine subsystem has a dedicated page.

  • Sourced competitor benchmarksv0.4.0

    Matched-workload comparisons against Prisma, Drizzle, TypeORM.

parser · graph · compiler · adapter · tooling · site

04 — Release tracks

Same map, sliced by version.

What ships in each release, in one place. The map above answers where in the engine? This row answers when?

2/5releases shipped
49%v0.3 in flight
v0.1 → v1.0
  1. v0.1

    Foundation

    shipped
    shipped May 2026·An engine you can run a query through.

    The runtime engine, end to end.

    • Schema parser

      Chevrotain + validator

    • Runtime graph

      1k models, 3.4MB

    • Query compiler

      Parameterized SQL on every path

    • ModelAPI · CRUD

      find / create / update / delete

    • WHERE operators

      14 operators, 5 groups

    • Transactions

      Auto-rollback on throw

    • Adapters · pg + postgres.js

      5-method interface

    • TypeScript inference

      Compile-time field safety

  2. v0.2

    Productionisation

    shipped
    shipped May 2026·An engine a team can deploy against.

    The engine grows the surfaces a team actually adopts.

    • Migrations

      generate · plan · verify · up · down · risk-scored

    • Recovery (Phase 2)

      soft-drop · archive · restore · cleanup

    • Studio · web UI

      8 tabs across workspace + database levels

    • SQLite adapter

      better-sqlite3 · file or :memory:

    • SSL · SSH tunnels

      TLS modes + bastion-tunneled Postgres

    • CLI

      zanith migrate · recover · studio · db

  3. v0.3

    Query API

    in flight
    target · Q3 2026·Prisma-class query surface on the runtime model.

    The model API gets its missing 30%.

    average progress49%
    • include · joins72%

      eager fetch in one statement

    • Aggregates55%

      groupBy/having on ModelAPI

    • Window functions40%

      rank, partition, OVER

    • Subquery operators30%

      exists, in

    • Schema introspection · CLI

      pg_catalog → .zanith emitter

  4. v0.4

    Beyond Postgres

    planned
    target · Q4 2026·A third dialect ships — proves the agnostic claim.

    Multi-database, properly.

    • MySQL · MariaDB

      Dialect-aware compiler path

    • Source maps · errors

      Map AST nodes to source positions

    • Sourced benchmarks

      Matched workloads vs Prisma/Drizzle

    • MySQL adapter

      Dialect already shipped in v0.2; the adapter is the missing piece

  5. v1.0

    Production

    horizon
    target · Speculative·SemVer-stable Zanith, competing with Prisma feature-for-feature.

    What signals the engine is enterprise-ready.

    • Stable public API

      SemVer commitments, deprecation policy

    • EXPLAIN integration · ModelAPI

      Query plans in the typed client (Studio already has it)

    • Edge adapters

      D1 · Neon serverless, exploratory

    • Long-running stability

      Memory churn, leak budgets

07 — Where to go from here

end · build log · v0.2