Context

ada-api needs a lightweight persistence layer for conversations, workspaces, messages and sessions without the overhead of a full Postgres deployment in local mode.

Decision

Use SQLite via Drizzle ORM (better-sqlite3) in WAL mode. 8 tables: workspaces, conversations, messages, run_links, sessions, workspace_settings, ipc_events. Drizzle migrations are idempotent and auto-applied on server startup.

Consequences

Zero-config local deployments. WAL mode enables concurrent reads. DB file is portable. Limited to single-machine writes.

← ADR-014ADR-016