gabriel / musehub public
docs BREAKING task/wire-docs-overhaul #1 / 1
AI Agent gabriel · 49 days ago · Apr 29, 2026 · Diff

docs: comprehensive MWP wire protocol accuracy pass

Every section audited against the live server code. Changes:

Frame format - Add OBJECT_CHUNK (OC) frame to frame table - Correct END frame — was described as having no fields; carries n_objects + n_commits for count-verification; document this - COMMIT_PACK: add snapshot_deltas field; was undocumented

OBJECT frame - Fix base field key: was documented as 'base_id', actual wire key is 'base' - Add 'zstd' and 'delta+zstd' encodings — server supports both; only zlib variants were listed

WireCommit table - Add six missing fields: signer_key_id, toolchain_id, prompt_hash, metadata, reviewed_by, test_runs

WireSnapshot / WireSnapshotDelta - Add full WireSnapshotDelta field table (was completely absent) - Clarify that directories is included in snapshot_id hash

Presigned push flow - Add push/confirm as an explicit Step 3 between R2 PUTs and push/stream - Add push/confirm request/response wire shapes - Fix: the doc jumped from R2 PUT directly to push/stream, which would produce 422 'snapshot object(s) not in push bundle or storage' in prod

Integrity & signatures (new section) - Document server-side Ed25519 signature verification (added this session) - Show the provenance payload format v2 so implementers know exactly what gets signed - Distinguish unsigned / signed commit behaviour and require_signed_commits - Add MSign HTTP request auth note

Negotiation - Fix Content-Type note: accepts msgpack or JSON, was listed as JSON-only

Fetch stream - Clarify request uses msgpack body; add depth field documentation - Mention fetch/objects as the alternative for individual object fetches

Endpoints table - Add Rate limit column with actual values from rate_limits.py - Add push/confirm, fetch/objects, /o/{object_id} CDN — all missing - Fix rate limits for repair endpoints (120/min, not unlisted)

Limits table - Split stream-total vs wire-batch limits for commits and objects - Add presigned threshold rows for clarity

sha256:d4a0381e4c81492e85bfa34d40a5f21458f27b835bd1946c04f73eb1a68a1613 sha
sha256:f4a93e88a4aeaf6f9d5b1bc3fb5d9ad27f37e9721d697c6bc21920f7bb75e274 snapshot
← Older Oldest on task/wire-docs-overhaul
All commits
Newer → Latest on task/wire-docs-overhaul

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