Entropy compression with the opportunistic semantic redundancy filter
(#544) pinned OFF. The regular path uses the shared embedding engine
whenever it happens to be loaded, so its output depends on runtime state.
Benchmarks and the scorecard (#211) need run-to-run and machine-to-machine
reproducibility, so they must go through this entry point.
Task-conditioned entropy compression: lines that would normally be dropped
for low entropy are kept if they contain task-relevant keywords. This is
the Information Bottleneck proxy: we compress away only what is neither
surprising (high H) nor task-relevant (mentions goal concepts).
Falls back to pure entropy when task_keywords is empty.
Like entropy_compress_adaptive but overrides the learned BPE-entropy
threshold (e.g. from the aggressiveness knob) while keeping the file-adaptive
jaccard. Pure function of its inputs (#498). Higher bpe_entropy drops more
low-information lines.
Normalized Shannon entropy: H(X) / log₂(n) where n = number of unique symbols.
Returns a value in [0, 1] where 0 = perfectly predictable, 1 = maximum entropy.
This makes thresholds comparable across different alphabet sizes.