Carved skills (skeleton + sections/*.md) need parity checks that see relocated
content, or moving a phrase into a section reads as 'lost':
- readSkillForParity(): union skeleton + all sections/*.md
- checkSkillParity sectioned mode: content checks against the union; minBytes/
maxSizeRatio against union bytes (total behavior preserved); maxSkeletonBytes
asserts the always-loaded skeleton actually shrank. Lowering minBytes to fit a
small skeleton would otherwise make the size floor toothless [Codex #12].
Built + tested BEFORE the carve so ship's invariant can flip to sectioned in the
same commit it lands. Monolith path byte-identical (verified: pre-existing
investigate 1.053 ratio drift fails the same with this change stashed).
7 sectioned-parity tests + existing parity tests green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>