DB.4: SQLiteWAL.speck — WAL concurrency spec #36
Labels
No labels
blocked
bug
design
docs
engineering
feature
infra
priority:high
priority:low
priority:medium
question
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: sscoble/speckl#36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Specify SQLite's WAL (Write-Ahead Log) concurrency model in SpeckDL — frame writes, checkpoint lifecycle (checkpoint → done → reset), reader snapshots.
Key invariants: read consistency (no partial WAL frames visible), write serialization (one writer), checkpoint safety (don't remove active reader frames).
Part of Prove SQLite project (docs/PROVE-SQLITE-PLAN.md). Blocks DB.5.
SQLiteWAL.speck already exists at examples/SQLiteWAL.speck (267 lines, 10 verify statements) with full WAL concurrency model, reader/writer/checkpoint lifecycle, and BMC invariants. Closing as completed.