This walks through how Turso handles SQLite transactions without the standard shared memory file. It covers WAL mechanics (how writes append frames, reads grab snapshots), the four checkpoint types, and why Turso ditches the `.db-shm` file for in-memory structures like `frame_cache` and atomic read marks. You get the actual concurrency rules (one writer, readers don't block), recovery flow, and where to find the relevant Rust code in `wal.rs` and `pager.rs`. Useful if you're debugging transaction behavior in Turso, optimizing checkpoint strategy, or just want to understand why your embedded SQLite knowledge doesn't fully translate. The correctness invariants section is a good sanity check for what guarantees actually hold.
npx skills add https://github.com/tursodatabase/turso --skill transaction-correctness