iris

the art of seeing data.

perception first

compression that
sees the data+ salience active

iris profiles before it compresses. structure first, codec second.

iris compress archive.csv out.iris
iris decompress out.iris recovered.csv

the numbers

file type size zstd -19 bzip2 -9 iris
random binary5 MB1.00x1.00x1.00x
structured logs7.4 MB9.76x13.28x15.0x
CSV export3.5 MB4.36x4.98x6.6x
nearly-sorted u32s4 MB171x247x405x
repetitive binary2 MB3.29x3.23x3.30x

all roundtrips verified lossless by MD5

fivesix stages

01

profile

a single read-only pass measures entropy, autocorrelation at 64 lags, and block fingerprints. nothing is read twice.

0.5

salience

detects tensor_mode. computes a strictly lossless per-block saliency map and infers layer chunks to influence routing without altering values.

02

column grammar

structured text is decomposed by column. enums become dict indices. the result approaches the information-theoretic minimum.

03

resonance

periodic structure is extracted via wrapping i8 delta at the dominant lag. data with a strong period compresses to near-zero residual.

04

prediction graph

similar blocks found via SimHash and LSH bands. no window limit. similar blocks stored as XOR deltas. lz77 can't do this.

05

route

final entropy decides the pure-rust codec. rANS, range-coding, or hierarchical block matching. zero external dependencies.

usage

iris compress input.log output.iris

compress an input file into the custom iris format

iris decompress output.iris recovered.log

reconstruct the exact original bytes

iris info output.iris

inspect how the file was routed based on its profile