gabriel / muse public
docs protocol task/mwp-cleanup #5 / 7
AI Agent gabriel · 150 days ago · Apr 24, 2026 · Diff

docs(protocol): track canonical domain/protocol specs; delete superseded planning docs

Delete: - musewire-performance.md — superseded by musewire-architecture.md - push-v2.md — executed plan, architecture doc is the living reference

Track: - muse-protocol.md — canonical domain plugin protocol spec (v0.1.2) - muse-domain-concepts.md — VCS primitive vs cross-domain vs MIDI terminology - muse-variation-spec.md — Variation UX pattern spec for MIDI domain

sha256:99d914bbcddb89d116be7fe390b82a6e2bab737c3a5495a4e35e16f059bf6e8e sha
+71 symbols
sha256:aa55ea3cca55944ebe870787ab4af004d9d110c58a72f881d4d6f57207e03052 snapshot
+71
symbols added
0
dead code introduced
Semantic Changes 71 symbols
~ docs/protocol/muse-domain-concepts.md .md 16 symbols added
+ Muse Domain Concepts & Terminology section Muse Domain Concepts & Terminology L1–160
+ Cross-Domain Term Mapping section Cross-Domain Term Mapping L90–111
+ table@L95 section table@L95 L95–104
+ Guidance for New Domain Authors section Guidance for New Domain Authors L141–160
+ The Term "Variation" section The Term "Variation" L36–90
+ Current meaning (MIDI domain) section Current meaning (MIDI domain) L42–67
+ code@L48 variable variable code@L48 L48–51
+ table@L54 section table@L54 L54–61
+ Does it generalize? section Does it generalize? L67–90
+ table@L72 section table@L72 L72–79
+ Universal Terms (all domains, all plugins) section Universal Terms (all domains, all plugins) L9–36
+ table@L14 section table@L14 L14–33
+ What Is and Is Not Music-Specific section What Is and Is Not Music-Specific L111–141
+ Definitely universal (core engine, all domains) section Definitely universal (core engine, all domains) L134–141
+ MIDI-specific (stay in MIDI plugin only) section MIDI-specific (stay in MIDI plugin only) L113–125
+ Potentially cross-domain (implemented for music, could generalize) section Potentially cross-domain (implemented for music, could generalize) L125–134
~ docs/protocol/muse-protocol.md .md 25 symbols added
+ MuseDomainPlugin Protocol — Language-Agnostic Specification section MuseDomainPlugin Protocol — Language-Agnostic Specification L1–392
+ Purpose section 0. Purpose L8–20
+ Design Principles section 1. Design Principles L20–38
+ Type Definitions section 2. Type Definitions L38–76
+ code[python]@L43 variable variable code[python]@L43 L43–73
+ The Six Required Methods method section 3. The Six Required Methods L76–193
+ 1 snapshot(live_state: LiveState) → StateSnapshot section 3.1 snapshot(live_state: LiveState) → StateSnapshot L78–94
+ 2 diff(base: StateSnapshot, target: StateSnapshot, *, repo_root: Path | None = None) → StateDelta section 3.2 diff(base: StateSnapshot, target: StateSnapshot, *, repo_root: Path | None = None) → StateDelta L94–111
+ 3 merge(base, left, right: StateSnapshot, *, repo_root: Path | None = None) → MergeResult section 3.3 merge(base, left, right: StateSnapshot, *, repo_root: Path | None = None) → MergeResult L111–140
+ 4 drift(committed: StateSnapshot, live: LiveState) → DriftReport section 3.4 drift(committed: StateSnapshot, live: LiveState) → DriftReport L140–155
+ 5 apply(delta: StateDelta, live_state: LiveState) → LiveState section 3.5 apply(delta: StateDelta, live_state: LiveState) → LiveState L155–174
+ 6 schema() → DomainSchema section 3.6 schema() → DomainSchema L174–193
+ Optional Protocol Extensions section 4. Optional Protocol Extensions L193–262
+ 1 StructuredMergePlugin — Operational Transformation Merge section 4.1 StructuredMergePlugin — Operational Transformation Merge L195–228
+ code[python]@L199 variable variable code[python]@L199 L199–212
+ 2 CRDTPlugin — Convergent Multi-Agent Merge section 4.2 CRDTPlugin — Convergent Multi-Agent Merge L228–262
+ code[python]@L232 variable variable code[python]@L232 L232–246
+ Snapshot Format (Normative) section 5. Snapshot Format (Normative) L262–292
+ code[json]@L266 variable variable code[json]@L266 L266–275
+ code[json]@L278 variable variable code[json]@L278 L278–286
+ Naming Conventions section 6. Naming Conventions L292–303
+ table@L294 section table@L294 L294–300
+ Implementing a Plugin section 7. Implementing a Plugin L303–379
+ code[python]@L307 variable variable code[python]@L307 L307–371
+ Invariants the Core Engine Relies On section 8. Invariants the Core Engine Relies On L379–392
~ docs/protocol/muse-variation-spec.md .md 30 symbols added
+ Muse Variation Spec — Music Domain Reference section Muse Variation Spec — Music Domain Reference L1–216
+ API Endpoints section API Endpoints L158–181
+ Commit request section Commit request L168–181
+ code[json]@L170 variable variable code[json]@L170 L170–176
+ table@L160 section table@L160 L160–167
+ Audition Modes section Audition Modes L181–191
+ table@L183 section table@L183 L183–188
+ Data Shapes section Data Shapes L75–126
+ NoteChange section NoteChange L103–126
+ code[json]@L105 variable variable code[json]@L105 L105–118
+ Phrase section Phrase L88–103
+ code[json]@L90 variable variable code[json]@L90 L90–102
+ Variation (meta event) section Variation (meta event) L77–88
+ code[json]@L79 variable variable code[json]@L79 L79–87
+ Execution Mode Policy section Execution Mode Policy L63–75
+ table@L65 section table@L65 L65–70
+ Lifecycle section Lifecycle L34–49
+ code@L36 variable variable code@L36 L36–43
+ Relationship to Muse VCS section Relationship to Muse VCS L201–216
+ code@L209 variable variable code@L209 L209–212
+ code[bash]@L205 variable variable code[bash]@L205 L205–208
+ SSE Streaming Contract section SSE Streaming Contract L126–158
+ code@L130 variable variable code@L130 L130–133
+ code[json]@L141 variable variable code[json]@L141 L141–152
+ table@L134 section table@L134 L134–139
+ Safety Rules section Safety Rules L191–201
+ Terminology section Terminology L49–63
+ table@L51 section table@L51 L51–60
+ What a Variation Is section What a Variation Is L12–34
+ code@L18 variable variable code@L18 L18–26

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