diff --git a/.github/CODING_STANDARDS_CSHARP14.md b/.github/CODING_STANDARDS_CSHARP14.md
index f1a076a6..20ad49fd 100644
--- a/.github/CODING_STANDARDS_CSHARP14.md
+++ b/.github/CODING_STANDARDS_CSHARP14.md
@@ -751,7 +751,7 @@ await WriteBatchAsync(operations);
var checksum = SHA256.HashData(data.Span);
// ✅ Mark TODO items
-// TODO: Implement compression for blocks > 1MB
+// TODO: Add streaming compression for blocks > 16MB (avoid full payload in memory)
// ✅ Mark performance-critical sections
// PERF: Hot path - avoid allocations
diff --git a/docs/serialization/BINARY_FORMAT_VISUAL_REFERENCE.md b/docs/serialization/BINARY_FORMAT_VISUAL_REFERENCE.md
index ea2bd568..672f318e 100644
--- a/docs/serialization/BINARY_FORMAT_VISUAL_REFERENCE.md
+++ b/docs/serialization/BINARY_FORMAT_VISUAL_REFERENCE.md
@@ -55,7 +55,7 @@ Offset Size Field Name Value
0x000C 4 HeaderSize 512 (always)
0x0010 1 EncryptionMode 0=None, 1=AES-256-GCM
-0x0011 1 CompressionMode 0=None (reserved)
+0x0011 1 CompressionMode 0=None, 1=Brotli, 2=GZip
0x0012 2 EncryptionKeyId Key derivation ID
0x0014 12 Nonce AES-GCM nonce
diff --git a/docs/serialization/SERIALIZATION_AND_STORAGE_GUIDE.md b/docs/serialization/SERIALIZATION_AND_STORAGE_GUIDE.md
index 2bea8a38..c5e88417 100644
--- a/docs/serialization/SERIALIZATION_AND_STORAGE_GUIDE.md
+++ b/docs/serialization/SERIALIZATION_AND_STORAGE_GUIDE.md
@@ -31,7 +31,7 @@ SharpCoreDB uses a **single-file binary format** (`.scdb`) for persistent storag
| **String Storage** | Variable-length; prefixed with 4-byte length field |
| **No Fixed-Length Requirement** | Strings can be arbitrarily long (limited by available disk space) |
| **Encryption** | Optional AES-256-GCM |
-| **Compression** | Not implemented (reserved in header) |
+| **Compression** | Optional Brotli/GZip block-level compression (see `BlockCompressionMode`) |
---
@@ -89,7 +89,7 @@ public struct ScdbFileHeader
// === Encryption (16 bytes) ===
public byte EncryptionMode; // 0x0010: 0=None, 1=AES-256-GCM
- public byte CompressionMode; // 0x0011: Reserved (always 0)
+ public byte CompressionMode; // 0x0011: 0=None, 1=Brotli, 2=GZip (see BlockCompressionMode)
public ushort EncryptionKeyId;// 0x0012: Key derivation ID
public fixed byte Nonce[12]; // 0x0014: AES-GCM nonce
diff --git a/src/SharpCoreDB/Storage/Scdb/ScdbStructures.cs b/src/SharpCoreDB/Storage/Scdb/ScdbStructures.cs
index c4ecffdb..72545a33 100644
--- a/src/SharpCoreDB/Storage/Scdb/ScdbStructures.cs
+++ b/src/SharpCoreDB/Storage/Scdb/ScdbStructures.cs
@@ -1,4 +1,4 @@
-//
+// src\SharpCoreDB\Storage\Scdb\ScdbStructures.cs
// Copyright (c) 2025-2026 MPCoreDeveloper and GitHub Copilot. All rights reserved.
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
@@ -38,8 +38,8 @@ public struct ScdbFileHeader
/// Encryption mode: 0=None, 1=AES-256-GCM
public byte EncryptionMode; // 0x0010: Encryption mode
- /// Compression mode: 0=None (always 0 for .scdb)
- public byte CompressionMode; // 0x0011: Compression (unused)
+ /// Compression mode: 0=None, 1=Brotli, 2=GZip (see BlockCompressionMode)
+ public byte CompressionMode; // 0x0011: Block compression mode
/// Key derivation ID for encryption
public ushort EncryptionKeyId;// 0x0012: Key derivation ID
@@ -443,7 +443,8 @@ public enum BlockFlags : uint
/// Block has uncommitted changes
Dirty = 1 << 0,
- /// Block is compressed (reserved, always 0 for .scdb)
+ /// Block is compressed (Brotli or GZip, see BlockCompressionMode)
+
Compressed = 1 << 1,
/// Block is encrypted with AES-256-GCM