From 5f56095a900cebff181dd589a7cd23bfc4af3676 Mon Sep 17 00:00:00 2001 From: Snow Pettersen Date: Thu, 26 Feb 2026 22:52:11 -0800 Subject: [PATCH 1/3] add state range key value proto --- src/bitdrift_public/protobuf/client/v1/key_value.proto | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/bitdrift_public/protobuf/client/v1/key_value.proto b/src/bitdrift_public/protobuf/client/v1/key_value.proto index 2900563..113a778 100644 --- a/src/bitdrift_public/protobuf/client/v1/key_value.proto +++ b/src/bitdrift_public/protobuf/client/v1/key_value.proto @@ -35,3 +35,8 @@ message AppVersion { string build_number = 3; } } + +message StateSnapshotRange { + uint64 oldest_micros = 1; + uint64 newest_micros = 2; +} From 8599b7f5870857016b73e999fa5ba842dc559380 Mon Sep 17 00:00:00 2001 From: Snow Pettersen Date: Fri, 27 Feb 2026 13:23:47 -0800 Subject: [PATCH 2/3] add file format --- src/bitdrift_public/protobuf/client/v1/artifact.proto | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/bitdrift_public/protobuf/client/v1/artifact.proto b/src/bitdrift_public/protobuf/client/v1/artifact.proto index eebc895..e82fc66 100644 --- a/src/bitdrift_public/protobuf/client/v1/artifact.proto +++ b/src/bitdrift_public/protobuf/client/v1/artifact.proto @@ -13,6 +13,11 @@ import "bitdrift_public/protobuf/client/v1/feature_flag.proto"; import "bitdrift_public/protobuf/logging/v1/payload.proto"; import "google/protobuf/timestamp.proto"; +enum StorageFormat { + CHECKSUMMED = 0; + RAW = 1; +} + // the upload manager to coordinate intents and uploads. message ArtifactUploadIndex { message Artifact { @@ -37,6 +42,9 @@ message ArtifactUploadIndex { // The type of the artifact, e.g. "client_report", "state_snapshot", etc. This is used by the server to determine how to process the artifact. For backwards compatibility, if this is absent the artifact is an issue report. optional string type_id = 8; + + // The storage format of the artifact, which determines whether we apply checksum validation during processing. + StorageFormat storage_format = 9; } // List of files, in order of time, that are pending upload. From 17d11c53c593209e342758c76c0f24b7161e2594 Mon Sep 17 00:00:00 2001 From: Snow Pettersen Date: Fri, 27 Feb 2026 13:30:40 -0800 Subject: [PATCH 3/3] ignore Signed-off-by: Snow Pettersen --- src/bitdrift_public/protobuf/client/v1/artifact.proto | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bitdrift_public/protobuf/client/v1/artifact.proto b/src/bitdrift_public/protobuf/client/v1/artifact.proto index e82fc66..e67b089 100644 --- a/src/bitdrift_public/protobuf/client/v1/artifact.proto +++ b/src/bitdrift_public/protobuf/client/v1/artifact.proto @@ -14,7 +14,10 @@ import "bitdrift_public/protobuf/logging/v1/payload.proto"; import "google/protobuf/timestamp.proto"; enum StorageFormat { + // The file was checksummed when it was copied into the artifact upload queue, so we can validate the checksum on upload. CHECKSUMMED = 0; + // The file was stored on disk without being checksummed. This should only be used if the file already has + // internal checksumming like zlib. RAW = 1; }