gabriel / muse public
feat BREAKING phase-9 task/mpack-protocol #1 / 4
AI Agent gabriel · 163 days ago · Apr 17, 2026 · Diff

feat(phase-9): pre-compression fix + e2e integration tests

- Remove dead compress_zlib/compute_delta imports from push.py - push.py now passes encoding='raw' — transport selects best compression - Add tests/test_mpack_e2e.py: 15 e2e tests covering push/pull round-trip via LocalFileTransport (file:// URL, no HTTP server required) * basic push: single commit, objects, compression type, up-to-date, chain, incremental * error conditions: no remote, no commits, dry-run, diverged reject, force overwrite * object integrity: content survives push, multiple objects, dedup via empty snapshot * pull round-trip: full push→pull chain across three repos

sha256:1c08072d0d612e8ee8687845d596d81b6d4472704a004a32b7d39c348b3f8787 sha
+47 ~1 −2 symbols
sha256:2fe26076d0205b49b4133f9d0c968b18ec95da7501eec5e7cd7faeda786e9f81 snapshot
+47
symbols added
~1
symbol modified
−2
symbols removed
0
dead code introduced
Semantic Changes 50 symbols
~ tests/test_mpack_e2e.py .py 47 symbols added
+ TestObjectIntegrity class class TestObjectIntegrity L389–465
+ test_dedup_objects_not_resent method method test_dedup_objects_not_resent L438–465
+ test_multiple_objects_all_transferred method method test_multiple_objects_all_transferred L411–436
+ test_object_content_survives_push method method test_object_content_survives_push L390–409
+ TestPullRoundTrip class class TestPullRoundTrip L473–502
+ test_pull_fetches_commit_and_objects method method test_pull_fetches_commit_and_objects L474–502
+ TestPushBasic class class TestPushBasic L149–283
+ test_push_incremental_second_commit method method test_push_incremental_second_commit L260–283
+ test_push_multi_commit_chain method method test_push_multi_commit_chain L237–258
+ test_push_reports_compression_type method method test_push_reports_compression_type L194–216
+ test_push_single_commit method method test_push_single_commit L150–169
+ test_push_up_to_date method method test_push_up_to_date L218–235
+ test_push_with_objects method method test_push_with_objects L171–192
+ TestPushErrors class class TestPushErrors L291–381
+ test_push_diverged_rejected_without_force method method test_push_diverged_rejected_without_force L334–357
+ test_push_dry_run method method test_push_dry_run L315–332
+ test_push_force_overwrites_diverged method method test_push_force_overwrites_diverged L359–381
+ test_push_no_commits method method test_push_no_commits L304–313
+ test_push_no_remote_configured method method test_push_no_remote_configured L292–302
+ _branch_ref function function _branch_ref L139–141
+ _commit function function _commit L81–101
+ _commit_path function function _commit_path L134–136
+ _make_repo function function _make_repo L49–58
+ _object_path function function _object_path L128–131
+ _parse_json_output function function _parse_json_output L31–41
+ _pull function function _pull L119–125
+ _push function function _push L110–116
+ _set_ref function function _set_ref L104–107
+ _snap function function _snap L70–78
+ _write_config_toml function function _write_config_toml L61–67
+ CliRunner import import CliRunner L26–26
+ CommitRecord import import CommitRecord L25–25
+ InvokeResult import import InvokeResult L26–26
+ SnapshotRecord import import SnapshotRecord L25–25
+ annotations import import annotations L13–13
+ choose_compression import import choose_compression L22–22
+ compute_commit_id import import compute_commit_id L24–24
+ compute_snapshot_id import import compute_snapshot_id L24–24
+ datetime import import datetime L15–15
+ hashlib import import hashlib L16–16
+ json import import json L17–17
+ pathlib import import pathlib L18–18
+ pytest import import pytest L20–20
+ write_commit import import write_commit L25–25
+ write_object import import write_object L23–23
+ write_snapshot import import write_snapshot L25–25
+ runner variable variable runner L28–28
~ muse/cli/commands/push.py .py 2 symbols removed, 1 symbol modified
− compress_zlib import import compress_zlib L100–100
− compute_delta import import compute_delta L100–100

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:1c08072d0d612e8ee8687845d596d81b6d4472704a004a32b7d39c348b3f8787 --body "your comment"