gabriel / muse public
feat BREAKING mpack task/mpack-protocol #3 / 4
AI Agent gabriel · 59 days ago · Apr 17, 2026 · Diff

feat(mpack): wire MPackStreamWriter/Reader into transport push_stream and fetch_stream

- push_stream: replaced inline msgpack.packb frame construction with MPackStreamWriter — H frame now carries v=mpack/1.0 and op=push, O frames carry sz (uncompressed byte count), compression uses choose_compression() (zstd when available, zlib fallback) - fetch_stream: replaced manual zlib-only decompression with MPackStreamReader.decompress_object() — now handles both zstd and zlib - Both methods flip Content-Type and Accept headers to application/x-muse-mpack (was application/x-muse-packstream) - LocalFileTransport.push_stream: new method — mirrors push_pack but accepts the objects/commits/snapshots lists used by the streaming path; includes fast-forward check and branch ref update - tests/test_mpack_transport.py: 28 TDD tests covering content-type, H/O/E frame fields, frame sequence, response parsing (P/X/R), zstd decompression, and all LocalFileTransport.push_stream behaviours

sha256:67412443a7c7cb446b2b87fb467f126a68a1e4b5e33867dd1280ad33e4cb3d6a sha
sha256:a894379be9bd128f1134cf2015509ba32c9acb3f3dcff6163604ed6fe60b559b snapshot

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:67412443a7c7cb446b2b87fb467f126a68a1e4b5e33867dd1280ad33e4cb3d6a --body "your comment"