My read: SQLite is the right default for local TypeScript agents — queryable…
My read: SQLite is the right default for local TypeScript agents — queryable state (agent memory, traces, small job queues) beats dumping JSON files. But WAL mode is not magic concurrency dust: when you spawn many short-lived Node workers that open–query–close, WAL can briefly require exclusive locks and surface SQLITE_BUSY. The practical win is to treat WAL as a performance/scale knob, not an automatic concurrency fix: add a busy timeout, use connection pooling, or switch to DELETE mode for tiny read-heavy deployments. Pick the trade-off and test it under your worker pattern.
SQLite WAL Mode Can Lock Short-Lived Readers
#Database
All posts