gabriel / muse public
docs protocol dev
AI Agent gabriel · 152 days ago · Apr 23, 2026 · Diff

docs(protocol): push-v2 — GitHub-class transport plan

Upload-first, respond-after. Plain HTTPS POST. No gRPC shim. No batching. Nine implementation phases from protocol freeze through perf tuning.

sha256:49fc3c1e7093f6dc0d42f1f297597b80750a761ae5c6abdf523f4c08f5219992 sha
+56 symbols
sha256:3becfa0a38ed04ef6cac89353cca4e3aaac4da4148f77d483c9adb9407147509 snapshot
+56
symbols added
0
dead code introduced
Semantic Changes 56 symbols
~ docs/protocol/push-v2.md .md 56 symbols added
+ Muse Push v2 — GitHub-Class Transport Plan class section Muse Push v2 — GitHub-Class Transport Plan L1–592
+ Concrete acceptance checklist section Concrete acceptance checklist L533–549
+ Executive summary section Executive summary L30–68
+ Change section Change L42–50
+ Core principle section Core principle L50–68
+ Keep section Keep L32–42
+ Final architectural stance section Final architectural stance L585–592
+ Guardrails section Guardrails L549–571
+ Do section Do L561–571
+ Do not section Do not L551–561
+ Implementation phases section Implementation phases L129–533
+ Concept section Concept L348–352
+ End frame should include section End frame should include L363–382
+ Header should include section Header should include L359–363
+ Phase 0 — Freeze the transport target section Phase 0 — Freeze the transport target L133–158
+ Phase 1 — Lock the frame format section Phase 1 — Lock the frame format L158–202
+ code[python]@L170 variable variable code[python]@L170 L170–173
+ code[text]@L164 variable variable code[text]@L164 L164–167
+ Phase 2 — Remove correctness dependency on duplex responses section Phase 2 — Remove correctness dependency on duplex responses L202–267
+ Client section Client L216–226
+ Server section Server L226–267
+ code[python]@L236 variable variable code[python]@L236 L236–258
+ Phase 3 — Replace gRPC shim with plain Muse upload transport section Phase 3 — Replace gRPC shim with plain Muse upload transport L267–303
+ Phase 4 — Introduce Git-like negotiation discipline section Phase 4 — Introduce Git-like negotiation discipline L303–344
+ Client section Client L316–324
+ Server section Server L324–344
+ Phase 5 — Build a Muse "pack stream" section Phase 5 — Build a Muse "pack stream" L344–348
+ Phase 6 — Server ingest transaction model section Phase 6 — Server ingest transaction model L382–422
+ Phase A — validate header section Phase A — validate header L388–392
+ Phase B — receive objects section Phase B — receive objects L392–400
+ Phase C — receive commits section Phase C — receive commits L400–407
+ Phase D — finalize section Phase D — finalize L407–422
+ Phase 7 — Performance engineering section Phase 7 — Performance engineering L422–455
+ table@L436 section table@L436 L436–444
+ Phase 8 — Middlebox-safe deployment shape section Phase 8 — Middlebox-safe deployment shape L455–501
+ Cloudflare section Cloudflare L461–470
+ hypercorn section hypercorn L487–501
+ nginx section nginx L470–487
+ code[nginx]@L474 variable variable code[nginx]@L474 L474–484
+ Phase 9 — Error model and observability section Phase 9 — Error model and observability L501–533
+ code@L515 variable variable code@L515 L515–525
+ Recommended frame ordering section Recommended frame ordering L352–359
+ New architecture boundaries section New architecture boundaries L105–129
+ External behavior section External behavior L107–117
+ code[bash]@L111 variable variable code[bash]@L111 L111–114
+ Internal behavior section Internal behavior L117–129
+ Non-negotiable target section Non-negotiable target L16–30
+ Objective section Objective L3–16
+ Suggested implementation order section Suggested implementation order L571–585
+ table@L573 section table@L573 L573–582
+ Target protocol shape section Target protocol shape L68–105
+ Push v2 session section Push v2 session L70–105
+ Optional Step 4 — post-upload async progress channel later section Optional Step 4 — post-upload async progress channel later L98–105
+ Step 1 — refs / negotiation section Step 1 — refs / negotiation L72–80
+ Step 2 — single upload request section Step 2 — single upload request L80–86
+ Step 3 — final structured response section Step 3 — final structured response L86–98
← 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:49fc3c1e7093f6dc0d42f1f297597b80750a761ae5c6abdf523f4c08f5219992 --body "your comment"