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 complete: tier dispatch, WAL, codecs, memory + file backends,
attach_storage reactive flush driver, durability/error/rollback
contracts (D268–D270). See docs/migration-status.md and
docs/porting-deferred.md for remaining storage follow-ons.
Key modules: wal, tier, memory, [file] (feature file),
redb (feature redb-store), graph_integration (snapshot attach /
restore — consumed from graphrefly-graph).
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).