GraphReFly storage tier dispatch + Node-side persistence.
Implements the G.27 storage tier protocol: tiered N-way storage with
per-tier transactions, debouncing, compaction, and codec
parameterization. Phase 13.6's deferred ACID atomicity tightening
lands here via redb, which provides
pure-Rust ACID transactions without a C dependency.
Status (M4.D — 2026-05-11)
-
[
wal] — WAL frame substrate + canonical-JSON SHA-256 checksum (DS-14-storage Q1 + Q5 locks). -
[
error] — [StorageError] / [RestoreError] / [RestoreResult]. -
[
codec] — [Codec] trait + [JsonCodec] (canonical-JSON encoding, parity with TSjsonCodec). -
[
backend] — [StorageBackend] trait + [MemoryBackend] + [memory_backend] factory. -
[
tier] — [BaseStorageTier] + typed sub-traits ([SnapshotStorageTier], [AppendLogStorageTier], [KvStorageTier]). -
[
memory] — concrete generic structsSnapshotStorage/AppendLogStorage/KvStorage+ factoriesmemory_snapshot/memory_append_log/memory_kv. -
[
file] (featurefile) — [FileBackend] + [file_backend] factory + atomic-renamewriteviatempfile+ percent-encoded filenames (byte-identical to TSfileBackend). -
[
redb] (featureredb-store) — [RedbBackend] + [redb_backend] factory + ACID per-write transactions via [redb::Database]. Structurally closes F1 (pending retry-safety at tier level) + F3 (concurrent flush race). -
[
graph_integration] — Graph-level storage integration (M4.E2):attach_snapshot_storage,restore_snapshot, snapshot diff engine,GraphCheckpointRecord. Free functions (D170) becausegraphrefly-graphdoes not depend on this crate.