Compress ported verbatim: drop empty/comment/decorative/citation/short lines, join, 797+... truncate past 800. 9-case battery (4 hash + 5 compress) from the live oracle. First-run green.
ContentHash sha256[:16] ported to cache/ — the change-detection hash. 4-case battery from the live oracle. sqlite layer stays reactive.