gabriel / musehub public
feat BREAKING dev
AI Agent gabriel · 153 days ago · Apr 23, 2026 · Diff

feat: remove gRPC shim — plain MWP over HTTPS POST, upload-first push

- _sp() returns plain msgpack (was grpc_frame-wrapped) - wire_push_stream uses iter_wire_frames (raw MWP), not iter_wire_frames_grpc - _result() includes stored_commits/stored_objects/already_present_objects - wire_fetch_stream _pack() also uses plain msgpack - push/stream route: upload-first, single msgpack dict response, WIRE_CONTENT_TYPE - All tests updated for new protocol (T1-T10, S1-S9, P1-P4)

sha256:0f3ed53553649b11cc15feaf062b06067bf41405e83fe12c67404db589be2379 sha
+38 ~32 −7 symbols
sha256:9de6fab0e363e190080a9379316630ef7518553975e4902cec54d19fd2ab7ee0 snapshot
+38
symbols added
~32
symbols modified
−7
symbols removed
0
dead code introduced
Semantic Changes 77 symbols
~ tests/test_wire_push_plain.py .py 35 symbols added
+ _commit_pack_frame function function _commit_pack_frame L80–85
+ _end_frame function function _end_frame L88–89
+ _fw variable variable _fw L44–44
+ _header_frame function function _header_frame L68–77
+ _make_commit function function _make_commit L92–107
+ _make_snapshot function function _make_snapshot L110–111
+ _pack function function _pack L51–52
+ _sha256_oid function function _sha256_oid L60–61
+ _stub_r2_backend function function _stub_r2_backend L114–119
+ _utc function function _utc L64–65
+ _wrap_raw function function _wrap_raw L55–57
+ Any import import Any L27–27
+ AsyncClient import import AsyncClient L32–32
+ AsyncMock import import AsyncMock L28–28
+ AsyncSession import import AsyncSession L33–33
+ MagicMock import import MagicMock L28–28
+ MuseWireFrameWriter import import MuseWireFrameWriter L41–41
+ SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L35–35
+ SFRAME_END import import SFRAME_END L35–35
+ SFRAME_HEADER import import SFRAME_HEADER L35–35
+ SFRAME_RESULT import import SFRAME_RESULT L35–35
+ WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L41–41
+ annotations import import annotations L22–22
+ create_repo import import create_repo L42–42
+ datetime import import datetime L26–26
+ hashlib import import hashlib L24–24
+ inspect import import inspect L25–25
+ msgpack import import msgpack L30–30
+ pytest import import pytest L31–31
+ timezone import import timezone L26–26
+ test_s5_wire_push_stream_uses_iter_wire_frames function function test_s5_wire_push_stream_uses_iter_wire_frames L126–138
+ test_s6_server_response_not_grpc_wrapped function function test_s6_server_response_not_grpc_wrapped L145–159
+ test_s7_push_route_response_content_type function function test_s7_push_route_response_content_type L166–178
+ test_s8_raw_mwp_push_succeeds function async_function test_s8_raw_mwp_push_succeeds L186–225
+ test_s9_auth_still_checked_before_stream function async_function test_s9_auth_still_checked_before_stream L233–259
~ musehub/api/routes/wire.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
GRPC_CONTENT_TYPE import import GRPC_CONTENT_TYPE L39–39
+ WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L39–39
~ musehub/services/musehub_wire.py .py 1 symbol removed, 4 symbols modified
_grpc_frame import import _grpc_frame L1354–1354
~ _sp
~ tests/test_wire_streaming_push.py .py 1 symbol added, 3 symbols removed, 5 symbols modified
GRPC_CONTENT_TYPE import import GRPC_CONTENT_TYPE L34–34
GrpcFrameReader import import GrpcFrameReader L34–34
grpc_frame import import grpc_frame L34–34
+ WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L34–34
~ _wrap
← Older Oldest on dev
All commits
Newer → Latest on dev

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:0f3ed53553649b11cc15feaf062b06067bf41405e83fe12c67404db589be2379 --body "your comment"