Context

SQLite works for local/personal deployments but cannot handle concurrent writes from multiple ada-api instances in a multi-tenant cloud deployment.

Decision

Provide an optional PostgreSQL backend via Drizzle ORM pg adapter. Tables mirror SQLite schema with additions: pg-boss for job queue, pgvector for embeddings, row-level security per workspace.

Consequences

Enables horizontal scaling. Requires managed Postgres (Supabase or self-hosted). Migration path: dump SQLite → import to PG. ReasoningBank embeddings via pgvector improves retrieval quality.

← ADR-016ADR-018