{"id":"wal-truncate-requires-prior-checkpoint","text":"WAL truncation is only safe because it is called after the data the WAL protects has been durably written to the main store (SSTable flush or data file fsync); violating this ordering loses committed data with no recovery path","truth_value":"IN","source":"entries/2026/05/29/topic-wal-crash-safety-gap.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{},"explanation":{"steps":[{"node":"wal-truncate-requires-prior-checkpoint","truth_value":"IN","reason":"premise"}]}}