Selection backend for opt-in lossy JSON pruning. Heuristic is the only Phase 1
implementation; a future Select (Tokenfold Select as the scorer) is Phase 2 and not
implemented — deliberately a single-variant enum for now rather than a bare bool, since the
CLI already speaks of this as choosing an algorithm (--lossy heuristic), not toggling a flag.
The individual protected-content segments (one per system message, the latest user
message, each diff header/hunk line, …) that must each survive byte-for-byte after any
transform. Kept as separate segments (rather than one flattened blob) so safety.rs can
check each one independently — concatenated messages are rarely contiguous in the
original document, so a single substring check across the whole blob would be meaningless.