Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR 0015: SQLite first; state stored as a numbered change log

  • Status: Accepted
  • Date: 2026-11-02
  • Ledger id: D-0015
  • Tags: architecture, control-plane
  • Supersedes: none
  • Superseded by: none
  • Related: none

Context

‘One binary, one command’ conflicts with requiring Postgres; single leader in MVP; supporting two DBs with sqlx compile-time macros is painful.

Decision

SQLite first; state stored as a numbered change log.

Bonus: Cloudflare D1 is SQLite-based. Backup of the control plane itself to S3/R2 (Litestream was suggested; to verify vs own chunk engine).

Consequences

  • This decision is binding for all contributors and agents. Changing it requires a new ADR approved by the maintainer (see ADR 0036).

Generated from decision D-0015 in the project decision ledger. Do not edit by hand; changes go through a new decision.