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.
---
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.