Expand description
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). -
codec—Codectrait +JsonCodec(canonical-JSON encoding, parity with TSjsonCodec). -
backend—StorageBackendtrait +MemoryBackend+memory_backendfactory. -
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_backendfactory + atomic-renamewriteviatempfile+ percent-encoded filenames (byte-identical to TSfileBackend). -
redb(featureredb-store) —RedbBackend+redb_backendfactory + 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.
Re-exports§
pub use backend::memory_backend;pub use backend::MemoryBackend;pub use backend::StorageBackend;pub use codec::Codec;pub use codec::CodecError;pub use codec::JsonCodec;pub use error::PhaseStat;pub use error::RestoreError;pub use error::RestoreResult;pub use error::StorageError;pub use file::file_append_log;pub use file::file_append_log_default;pub use file::file_backend;pub use file::file_kv;pub use file::file_kv_default;pub use file::file_snapshot;pub use file::file_snapshot_default;pub use file::FileBackend;pub use graph_integration::attach_snapshot_storage;pub use graph_integration::decompose_diff_to_frames;pub use graph_integration::diff_snapshots;pub use graph_integration::restore_snapshot;pub use graph_integration::AttachOptions;pub use graph_integration::AttachTierPair;pub use graph_integration::GraphCheckpointRecord;pub use graph_integration::GraphSnapshotDiff;pub use graph_integration::RestoreOptions;pub use graph_integration::StorageHandle;pub use graph_integration::TornWritePolicy;pub use graph_integration::ValueChange;pub use graph_integration::SNAPSHOT_VERSION;pub use memory::append_log_storage;pub use memory::kv_storage;pub use memory::memory_append_log;pub use memory::memory_kv;pub use memory::memory_snapshot;pub use memory::snapshot_storage;pub use memory::AppendLogStorage;pub use memory::AppendLogStorageOptions;pub use memory::KvStorage;pub use memory::KvStorageOptions;pub use memory::SnapshotStorage;pub use memory::SnapshotStorageOptions;pub use redb::redb_append_log;pub use redb::redb_append_log_default;pub use redb::redb_backend;pub use redb::redb_kv;pub use redb::redb_kv_default;pub use redb::redb_snapshot;pub use redb::redb_snapshot_default;pub use redb::RedbBackend;pub use tier::AppendCursor;pub use tier::AppendLoadResult;pub use tier::AppendLogMode;pub use tier::AppendLogStorageTier;pub use tier::BaseStorageTier;pub use tier::KvStorageTier;pub use tier::LoadEntriesOpts;pub use tier::SnapshotStorageTier;pub use wal::graph_wal_prefix;pub use wal::verify_wal_frame_checksum;pub use wal::wal_frame_checksum;pub use wal::wal_frame_key;pub use wal::ChecksumError;pub use wal::WALFrame;pub use wal::WalTag;pub use wal::REPLAY_ORDER;pub use wal::WAL_FRAME_SEQ_PAD;pub use wal::WAL_KEY_SEGMENT;
Modules§
- backend
- Bytes-level kv backend (Phase 14.6 — DS-14-storage L1, M4.B 2026-05-10).
- codec
- Codec abstraction for tier serialization (Phase 14.6 — DS-14-storage Q4 lock, M4.B 2026-05-10).
- error
- Storage tier + WAL replay error types (Phase 14.6 — DS-14-storage Q3/Q9).
- file
- Filesystem-backed kv backend (M4.C — DS-14-storage Audit 4).
- graph_
integration - Graph-level storage integration (M4.E2 — D170–D174).
- memory
- Concrete tier implementations + memory factories (M4.B 2026-05-10).
- redb
- redb-backed kv backend (M4.D — DS-14-storage Audit 4, ACID transactions).
- tier
- Tier abstraction layer (Phase 14.6 — DS-14-storage Audit 4 + Q5 + Q8 locks, M4.B 2026-05-10).
- wal
- WAL frame substrate (Phase 14.6 — DS-14-storage Q1+Q3+Q5 locks, M4.A 2026-05-10).