gabriel / muse public
fix BREAKING push task/wall24-single-stream-post #1 / 1
AI Agent gabriel · 49 days ago · Apr 23, 2026 · Diff

fix(push): delete batching architecture — one gRPC POST per push (Wall 24)

Phase 14 eliminated presigned R2 PUTs but left the multi-batch loop in place. That loop sent N sequential HTTPS POSTs to CF, each a separate TLS handshake. CF rate-limited pushes of large repos at ~28-32 sequential POSTs.

Fix: send all objects + commits in a single streaming HTTP/2 gRPC POST, exactly as git sends a pack file. One connection, one TLS handshake, everything streams.

Deleted: - CONN_ROTATION_INTERVAL, INTER_CLIENT_SLEEP, _BATCH_BYTE_TARGET constants - _run_batches_with_rotation() coroutine - Batching split loop (step 5) - tests/test_wire_h2_wall22.py, tests/test_wire_phase14a.py (tested deleted code)

Kept: - _make_push_ssl_ctx() for the single AsyncClient - OC-frame splitting in step 4 (handles individual objects > OC_CHUNK_SIZE)

sha256:12fcb40ef7af6294d6f1839f5556644fe32c34f2d6667ca91bec87ccd2ecc9bf sha
sha256:3ad7fba5300ef00fc875d8b4dd11d1d21bca524944e7a9363939b7a3026892d1 snapshot
← Older Oldest on task/wall24-single-stream-post
All commits
Newer → Latest on task/wall24-single-stream-post

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:12fcb40ef7af6294d6f1839f5556644fe32c34f2d6667ca91bec87ccd2ecc9bf --body "your comment"