stemedb/crates/stemedb-wal/Cargo.toml
jordan 3320c24afa feat: WAL hardening (Phase 5B) - CRC32C, crash recovery, group commit, log rotation
Add CRC32C checksums to WAL record format (v2), implement crash recovery
with automatic truncation of corrupt records, add feature-gated group commit
buffer for batched fsync under concurrent load, and implement log rotation
via segment files with global offset addressing.

Key changes:
- Record format v2: [len:u32][crc32c:u32][blake3:32][payload:N]
- recover_file() scans and truncates corrupt tail records
- GroupCommitBuffer batches fsync via MPSC channel (tokio feature gate)
- SegmentManager with binary search resolution and cursor-based cleanup
- Journal::read() auto-refreshes segments on miss for writer/reader split
- Split recovery.rs and key_codec.rs into directory modules for 500-line max

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:36:35 -07:00

25 lines
517 B
TOML

[package]
name = "stemedb-wal"
version = "0.1.0"
edition = "2021"
description = "Write-Ahead Log (Quarantine Journal) for Episteme"
# Inherit workspace lints
[lints]
workspace = true
[dependencies]
fs2 = "0.4"
thiserror = "1.0"
tracing = "0.1"
byteorder = "1.5"
blake3 = "1.5"
crc32c = "0.6"
tokio = { version = "1", features = ["sync", "time", "rt"], optional = true }
[features]
group-commit = ["tokio"]
[dev-dependencies]
tempfile = "3.10"
tokio = { version = "1", features = ["sync", "time", "rt", "macros"] }