gabriel / muse public
feat patch mist task/mist-domain-phase1 #1 / 1
gabriel · 62 days ago · Apr 15, 2026 · Diff

feat(mist): add MistPlugin domain — Phase 1 core implementation

- New muse/plugins/mist/plugin.py with full MuseDomainPlugin protocol: snapshot, diff, merge, drift, apply, schema - compute_mist_id: SHA-256 → base-58 (Bitcoin alphabet) → 12-char prefix Same bytes always produce the same URL-safe, visually unambiguous ID - detect_artifact_type: magic-byte → JSON-key → extension cascade Correctly classifies MIDI, ABI JSON, JSON Schema, code, prose, binary - _validate_mist_filename: security gate rejecting null bytes, path separators, traversal sequences, control chars, ANSI escapes, >255 chars - extract_mist_symbol_anchors: delegates to ast_parser for Python, TS, Solidity, Markdown; returns empty list for binary (never raises) - Register MistPlugin in muse/plugins/registry.py — muse status/diff/ merge/log/etc. all work on mist repos immediately, zero core changes - 72 tests covering Tiers 1, 5, 6, 8 (shape, data integrity, perf, docstrings) — all green

sha256:b2b3ba5782a9b733e5ba54e9368892f805ff7a6e2858260556fc6edf60292252 sha
sha256:d806eed7ede302261f4b3ce2499b3b2d5b036d4e8a4312944916ec34b75cd448 snapshot
← Older Oldest on task/mist-domain-phase1
All commits
Newer → Latest on task/mist-domain-phase1

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