Skip to main content

Cycle 32: Compressed Corpus Format

Status: IMMORTAL Date: 2026-02-07 Improvement Rate: 1.04 > ฯ†โปยน (0.618) Tests: 77/77 PASS


Overviewโ€‹

Cycle 32 implements packed trit compression for corpus storage, achieving 5x file size reduction while maintaining full data integrity.


Key Metricsโ€‹

MetricValueStatus
Tests77/77PASS
VSA Tests46/46PASS
New Functions5packTrits5, unpackTrits5, saveCompressed, loadCompressed, compressionRatio
Compression5xVector data
File FormatTCV1Binary with magic header

Packed Trit Encodingโ€‹

Algorithmโ€‹

5 trits โ†’ 1 byte (3^5 = 243 < 256)

Mapping: -1 โ†’ 0, 0 โ†’ 1, +1 โ†’ 2
Formula: packed = t0 + 3ร—t1 + 9ร—t2 + 27ร—t3 + 81ร—t4

Exampleโ€‹

trits: [-1, 0, 1, 0, -1]  โ†’ mapped: [0, 1, 2, 1, 0]
packed = 0 + 3ร—1 + 9ร—2 + 27ร—1 + 81ร—0 = 0 + 3 + 18 + 27 = 48

Compression Ratioโ€‹

Vector SizeUncompressedCompressedRatio
1000 trits1000 bytes200 bytes5x
59049 trits59049 bytes11810 bytes5x

File Format: TCV1โ€‹

[magic: "TCV1"]              # 4 bytes - version identifier
[count: u32] # 4 bytes - number of entries
[entry_1] # First entry
[trit_len: u32] # 4 bytes - original trit count
[packed_len: u16] # 2 bytes - packed byte count
[packed_data: u8ร—N] # N bytes - compressed trits
[label_len: u8] # 1 byte - label length
[label: u8ร—M] # M bytes - label string
[entry_2] # Second entry
...

APIโ€‹

Core Functionsโ€‹

// Pack 5 trits into 1 byte
fn packTrits5(trits: [5]Trit) u8

// Unpack 1 byte into 5 trits
fn unpackTrits5(byte_val: u8) [5]Trit

// Save corpus with compression
pub fn saveCompressed(self: *TextCorpus, path: []const u8) !void

// Load compressed corpus
pub fn loadCompressed(path: []const u8) !TextCorpus

// Get compression ratio
pub fn compressionRatio(self: *TextCorpus) f64

VIBEE-Generated Functionsโ€‹

// From vsa_imported_system.vibee
pub fn realSaveCorpusCompressed(corpus: *vsa.TextCorpus, path: []const u8) !void
pub fn realLoadCorpusCompressed(path: []const u8) !vsa.TextCorpus
pub fn realCompressionRatio(corpus: *vsa.TextCorpus) f64

VIBEE Specificationโ€‹

Added to specs/tri/vsa_imported_system.vibee:

# COMPRESSED CORPUS PERSISTENCE (5x smaller)
- name: realSaveCorpusCompressed
given: Corpus and file path
when: Saving corpus with compression
then: Call corpus.saveCompressed(path)

- name: realLoadCorpusCompressed
given: File path
when: Loading compressed corpus
then: Call TextCorpus.loadCompressed(path)

- name: realCompressionRatio
given: Corpus
when: Calculating compression ratio
then: Call corpus.compressionRatio()

Critical Assessmentโ€‹

Strengthsโ€‹

  1. 5x compression - Significant storage reduction
  2. Lossless - Perfect trit recovery via pack/unpack roundtrip
  3. Magic header - File format versioning (TCV1)
  4. Fast - Simple arithmetic, no complex algorithms

Weaknessesโ€‹

  1. Fixed ratio - No adaptive compression for patterns
  2. No streaming - Must load entire corpus to memory
  3. Alignment - Padding trits (0) for non-5-aligned lengths

Tech Tree Options (Next Cycle)โ€‹

Option A: Streaming Compressed I/Oโ€‹

Add chunked read/write for large corpora without full memory load.

Option B: Adaptive RLE on Packed Dataโ€‹

Add run-length encoding on packed bytes for corpora with patterns.

Option C: Delta Compressionโ€‹

Store only differences from a base corpus for incremental updates.


Files Modifiedโ€‹

FileChanges
src/vsa.zigAdded packTrits5, unpackTrits5, saveCompressed, loadCompressed, estimateCompressedSize, estimateUncompressedSize, compressionRatio
src/vibeec/codegen/emitter.zigAdded realSaveCorpusCompressed, realLoadCorpusCompressed, realCompressionRatio generators
src/vibeec/codegen/tests_gen.zigAdded compression test generators
specs/tri/vsa_imported_system.vibeeAdded 3 compression behaviors
generated/vsa_imported_system.zigRegenerated with compression + ConversationState fix

Conclusionโ€‹

VERDICT: IMMORTAL

Packed trit compression achieves 5x storage reduction with zero data loss. The TCV1 file format provides versioning for future improvements.

ฯ†ยฒ + 1/ฯ†ยฒ = 3 = TRINITY | KOSCHEI IS IMMORTAL | GOLDEN CHAIN ENFORCED