From 01efe7c883dc813a837d45b1dcd436b531fa3964 Mon Sep 17 00:00:00 2001 From: Scott Werner Date: Sun, 16 Aug 2026 10:21:45 -0400 Subject: [PATCH] Document BlobBackend as a transitional enum Mark the Slate arm as temporary and record that the SQLite arm's verified-read and hash-conflict semantics are the intended end state, so the dual-backend enum reads as a rollout vehicle rather than a permanent abstraction. Co-Authored-By: Claude Fable 5 --- lib/components/fabro-store/src/blob_store.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/components/fabro-store/src/blob_store.rs b/lib/components/fabro-store/src/blob_store.rs index b43c94cdc..53d7bd75b 100644 --- a/lib/components/fabro-store/src/blob_store.rs +++ b/lib/components/fabro-store/src/blob_store.rs @@ -33,6 +33,14 @@ impl Record for Blob { } } +/// Which storage engine holds the blobs. +/// +/// This enum is a transition vehicle, not a permanent abstraction: `Slate` +/// preserves current production behavior while the SQLite backend rolls out. +/// Once runtime blob storage switches to SQLite and legacy blobs are +/// imported, delete the `Slate` arm (and this enum) and inline the SQLite +/// implementation into [`BlobStore`]. The SQLite arm's semantics — verified +/// reads and loud failure on hash conflicts — are the intended end state. enum BlobBackend { Slate(Repository), Sqlite(SqlitePool), @@ -140,7 +148,6 @@ impl BlobStore { } } } - } #[cfg(test)]