feat: add Tier 1 (zlib) and Tier 2 (delta+zlib) wire compression
- muse/core/compression.py: new module — compress_zlib, decompress_zlib, compute_delta (COPY/DATA rolling hash), apply_delta (decoder). Raises ValueError when delta >= zlib(target) (unprofitable). - muse/core/pack.py: ObjectPayload gains optional encoding + base_id fields via two-class TypedDict; _WalkResult gains oid_to_path dict populated from snapshot manifests during walk_commits. - muse/core/transport.py: filter_objects returns FilterObjectsResult with missing + bases; HttpTransport sends object_hints and parses bases; LocalFileTransport decodes zlib/delta+zlib when writing objects. - muse/cli/commands/push.py: _encode_object helper selects delta+zlib when a base is available (falls back to zlib when delta is not profitable); _push_objects_as_packs wired through oid_to_path + oid_to_base. - tests/test_compression.py: 21 unit tests covering zlib round-trips, delta round-trips, profitability guard, and decoder edge cases.
0 comments
muse hub commit comment sha256:938f2700dc28c205063d67bdc590fc7faa9fcc5067d685a66a2141e06fc6a171 --body "your comment"
No comments yet. Be the first to start the discussion.