--- name: sqlite description: "Use when touching the service database: schema, migrations, retention, archives, or query behavior through the service API." --- The service owns the database; you never open `will.db` directly. Read and maintain through the `recall` and `maintenance_*` tools (typed API, no arbitrary SQL). Schema changes are forward-only migrations in `src/shared/db.ts`, bounded to the deploy window, always leaving the previous revision able to read what the candidate writes. WAL with synchronous=FULL: acknowledged writes are durable. Retention: audit 90 days hot, chat one year, then immutable zstd segments, queryable forever through the same API. Reference: https://sqlite.org/pragma.html.