gabriel / muse public
docs task/domain-extensibility-doc #1 / 1
AI Agent gabriel · 46 minutes ago · Sep 20, 2026 · Diff

docs: add domain-extensibility.md — the two-axis breadth/depth survey

Documents the full extensibility surface of the domain plugin system as two independent, orthogonally-composable axes:

- Axis A (what you version): the six-method MuseDomainPlugin protocol, the five schema algebras (sequence/tree/tensor/set/map, freely mixable per dimension), the two optional extension protocols (AddressedMergePlugin, HarmonyPlugin), and a depth exhibit on domain-specific invariants (identity's I1/I2/I3). - Axis B (how divergence resolves): the six top-level merge strategies confirmed directly from muse/core/merge_engine.py's strategy table (recursive/overlay/snapshot/replay/ours/theirs, each a distinct (diff_unit, resolution) pair), the .museattributes per-path override layer, and Harmony's four-tier learned-resolution memory.

Grounded entirely in real source, not aspirational copy -- every claim was checked against muse/plugins/*/plugin.py and muse/core/schema.py before being written down. Corrected two claims mid-draft after checking the actual code: identity's I2/I3 invariants are documented as NOT enforced at merge time (only I1 is), and the tensor algebra is not unused -- midi's CC automation dimension uses it directly (dtype=float32, diff_mode=sparse, epsilon=0.5), which also means midi is the one shipped domain that internally mixes three of the five algebras in a single plugin.

Surfaces that muse/plugins/registry.py registers nine domains today (chess, code, identity, midi, mist, scaffold, social, timeline, todo), while the public docs_muse_domains.html page on musehub still claims only three ship (code, identity, mist) -- flagged as a follow-up, not fixed in this commit.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

sha256:94f494a8f59e4b708ebb89e304209737ce34324a33aae83840a6f6b06d7b8d9d sha
+14 symbols
1 changed · 1203 in snapshot files
sha256:744fdb2e702668956053150c60d4dd2e429fd2f5e63aca7b84919bde84b2f6e5 snapshot
+14
symbols added
1
file changed
1203
files in snapshot
0
dead code introduced
Semantic Changes 14 symbols
~ docs/domain-extensibility.md .md 14 symbols added
+ The Muse Extensibility Surface: Breadth and Depth section The Muse Extensibility Surface: Breadth and Depth L1–238
+ A stale-docs note, found while researching this section A stale-docs note, found while researching this L225–238
+ Axis A: what you're versioning section Axis A: what you're versioning L32–117
+ Depth exhibit: domain-specific invariants beyond diff/merge section Depth exhibit: domain-specific invariants beyond diff/merge L87–117
+ Five algebras, freely mixable per dimension section Five algebras, freely mixable per dimension L52–75
+ The six-method contract method section The six-method contract L34–51
+ Two optional extension protocols section Two optional extension protocols L76–86
+ Axis B: how divergence gets reconciled section Axis B: how divergence gets reconciled L118–185
+ museattributes section Per-path override layer — .museattributes L145–161
+ Six top-level merge strategies section Six top-level merge strategies L123–144
+ The learned-memory layer — Harmony section The learned-memory layer — Harmony L162–185
+ How the axes compose section How the axes compose L186–200
+ The breadth, in evidence: every domain that actually ships today section The breadth, in evidence: every domain that actually ships today L201–224
+ The core idea: two independent axes section The core idea: two independent axes L10–31
Files Changed
+1
1203 in snapshot
← Older Oldest on task/domain-extensibility-doc
All commits
Newer → Latest on task/domain-extensibility-doc

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