gabriel / muse public
refactor BREAKING task/addressed-merge-plugin #1 / 1
AI Agent gabriel · 12 days ago · May 27, 2026 · Diff

refactor: rename StructuredMergePlugin to AddressedMergePlugin; add AddressedInsertOp/AddressedDeleteOp

Code domain uses Map CRDT semantics (address-keyed, commute on different addresses, Harmony resolves same-address conflicts) — not classical OT. Rename the plugin protocol to reflect this accurately.

- AddressedMergePlugin: new canonical name with corrected docstring - StructuredMergePlugin: backward-compat alias (all isinstance checks work) - AddressedInsertOp / AddressedDeleteOp: no position field — code symbols are name-addressed, not position-indexed in an ordered sequence - InsertOp / DeleteOp: retained with position for sequence domains (MIDI) - LeafDomainOp: extended to include AddressedInsertOp / AddressedDeleteOp - diff_map in core/diff_algorithms: switched to AddressedInsertOp/DeleteOp since map keys are always name-addressed - symbol_diff.py: all ops switched to Addressed variants - Tests: 21 new tests in test_addressed_merge_plugin.py (all green)

sha256:84df9126d09aeec0b8f1b908f0b06c10913feec28f3514b382efb1ba6d619385 sha
1087 changed · 1087 in snapshot files
sha256:f16a0d510823a3bb81fd3cfad8257369e85f96f60ff987605e67f5504aa5e423 snapshot
1087
files changed
1087
files in snapshot
Files Changed
+1087
1087 in snapshot
+ .coverage .coverage
+ .cursorrules .cursorrules
+ .museattributes .museattributes
+ .museignore .museignore
+ .windsurfrules .windsurfrules
+ AGENTS.md .md
+ CLAUDE.md .md
+ README.md .md
+ dev-setup.sh .sh
+ pyproject.toml .toml
← Older Oldest on task/addressed-merge-plugin
All commits
Newer → Latest on task/addressed-merge-plugin

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