feat: implement explicit wire frame protocol with magic bytes and content-addressed envelopes
- Add MuseWireFrameWriter with magic b'muse', version 0x01, and envelope headers - Add WireFrameError and WIRE_CONTENT_TYPE to muse.core.mpack - Add iter_wire_frames async generator to transport for server-side frame parsing - Fix C frame always emitted even when commits=[] in both chunked and httpx paths - Add comprehensive wire framing tests (test_wire_framing.py) - Update musewire-performance.md with full protocol spec and wall log
sha256:f52a04f0f9bcdd7fbbaa7a47de9590c17781d629b9db8f6cbf399529f5ec0976
sha
+77
~12
−35
symbols
sha256:717578082d3e6b6e4fa6e8fa925811a10fc45501d9352fbe6d997dcd9c2dce94
snapshot
+77
symbols added
~12
symbols modified
−35
symbols removed
0
dead code introduced
Semantic Changes
124 symbols
+
test_no_map32_from_truncation_at_various_offsets
method
method test_no_map32_from_truncation_at_various_offsets L352–379
+
test_truncation_at_magic_detected_cleanly
method
method test_truncation_at_magic_detected_cleanly L331–336
+
test_truncation_mid_payload_gives_wrong_length
method
method test_truncation_mid_payload_gives_wrong_length L338–350
−
MuseWire Protocol — GitHub-Level Performance Checklist
section MuseWire Protocol — GitHub-Level Performance Checklist L1–509
−
push_tags, create_release, list_releases_remote, delete_*
section push_tags, create_release, list_releases_remote, delete_* L132–136
−
Checklist — Commands that touch MuseWire
section Checklist — Commands that touch MuseWire L196–213
−
Known issue — Cloudflare connection staleness (RESOLVED in client)
section Known issue — Cloudflare connection staleness (RESOLVED in client) L213–238
−
Wall log — errors hit in order, TDD items attached
section Wall log — errors hit in order, TDD items attached L296–509
−
Wall 1 — SSLV3 during R2 presigned PUTs (FIXED)
section Wall 1 — SSLV3 during R2 presigned PUTs (FIXED) L303–318
−
Wall 2 — int is not allowed for map key when strict_map_key=True (INVALIDATED)
section Wall 2 — int is not allowed for map key when strict_map_key=True (INVALIDATED) L318–336
−
Wall 3 — SSLV3 on R2 PUT even with no keep-alive (ACTIVE)
section Wall 3 — SSLV3 on R2 PUT even with no keep-alive (ACTIVE) L336–369
−
Wall 4 — SSLV3 persists with fresh client per PUT; ALPN HTTP/2 hypothesis (ACTIVE)
section Wall 4 — SSLV3 persists with fresh client per PUT; ALPN HTTP/2 hypothesis (ACTIVE) L369–400
−
Wall 5 — stream read error: 2662457625 exceeds max_map_len(1073741824) (ACTIVE)
section Wall 5 — stream read error: 2662457625 exceeds max_map_len(1073741824) (ACTIVE) L400–475
−
Wall 6 — SSLV3ALERTBADRECORDMAC returns on R2 PUT #14 (ACTIVE)
section Wall 6 — SSLV3ALERTBADRECORDMAC returns on R2 PUT #14 (ACTIVE) L475–509
−
What GitHub actually does (the reference model)
section What GitHub actually does (the reference model) L238–253
+
MuseWire Protocol — Explicit Frame Framing Roadmap
section MuseWire Protocol — Explicit Frame Framing Roadmap L1–353
+
Architecture: Explicit Content-Addressed Frame Framing
section Architecture: Explicit Content-Addressed Frame Framing L16–65
+
The fix: one tight envelope around the existing protocol
section The fix: one tight envelope around the existing protocol L26–31
+
Phase 6 — Integration tests (T1–T6) ✅ DONE
section Phase 6 — Integration tests (T1–T6) ✅ DONE L118–129
+
Phase 7 — ASGI route tests (T7–T10) 🔴 BLOCKED (Wall 7)
section Phase 7 — ASGI route tests (T7–T10) 🔴 BLOCKED (Wall 7) L129–139
+
Phase 8 — Commit and push both repos ⬜ PENDING
section Phase 8 — Commit and push both repos ⬜ PENDING L139–148
+
Wall 1 — SSLV3 during R2 presigned PUTs (FIXED)
section Wall 1 — SSLV3 during R2 presigned PUTs (FIXED) L189–203
+
Wall 2 — int is not allowed for map key when strict_map_key=True (INVALIDATED)
section Wall 2 — int is not allowed for map key when strict_map_key=True (INVALIDATED) L203–214
+
Wall 3 — SSLV3 on R2 PUT even with no keep-alive (FIXED)
section Wall 3 — SSLV3 on R2 PUT even with no keep-alive (FIXED) L214–232
+
Wall 4 — SSLV3 persists with fresh client per PUT (FIXED)
section Wall 4 — SSLV3 persists with fresh client per PUT (FIXED) L232–247
+
Wall 5 — 2662457625 exceeds max_map_len(1073741824) (FIXED)
section Wall 5 — 2662457625 exceeds max_map_len(1073741824) (FIXED) L247–278
+
Wall 6 — SSLV3 returns on R2 PUT #14 (PENDING RETRY)
section Wall 6 — SSLV3 returns on R2 PUT #14 (PENDING RETRY) L278–294
+
Wall 7 — T7+ ASGI route tests hang (ACTIVE)
section Wall 7 — T7+ ASGI route tests hang (ACTIVE) L294–344
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:f52a04f0f9bcdd7fbbaa7a47de9590c17781d629b9db8f6cbf399529f5ec0976 --body "your comment"
No comments yet. Be the first to start the discussion.