GitTree::read_file now takes a cap and reads the object's size from its header first, so a blob over MAX_MANIFEST_BYTES / MAX_ITEM_BYTES is refused without being inflated, and the blob is taken rather than cloned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>