episode-06/script #1 / 2
AI Agent gabriel · 7 hours ago · Sep 12, 2026 · Diff

Add Episode 06 script + demo: Build a Domain

Documents building a real, working muse domain plugin (todo) live for the episode, starting from muse/plugins/scaffold: schema(), diff() with task-level address-keyed child_ops nested under a file-level PatchOp, and merge() proving two independent additions never conflict.

The plugin is real and now shipped in muse's own dev branch (all three remotes) with 12 passing tests -- not a presentation-only mockup. The script honestly documents all three real bugs hit while building it: the object-hash format (blob_id vs bare sha256, Episode 03's own subject), the checkout address-key mismatch (task-level vs file-level addresses), and a drift() that never forwarded repo_root into diff() (caught only by tests, not live).

make-todo-episode06-demo.sh reproduces the exact verified sequence via muse-dev (the plugin isn't in a released muse tarball yet) -- ran it for real before committing, output matches the script exactly.

Landed via the same mv workaround as Episodes 03-05 (temp filename, then muse mv into the poisoned path). See staging#90.

Updated README's status table: episode 06 script + demo done.

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

sha256:3497fd8cf66ff96e3e7bf55d0dd2bfc98cb4a6782201ef5d4d66cec8c9f0c4cc sha
~2 symbols
3 changed · 36 in snapshot files
sha256:935bffe9049ede4da196fdbc0cea471c1cdc187d07fcc2578544b294b1e86b50 snapshot
~2
symbols modified
3
files changed
36
files in snapshot
0
dead code introduced
Semantic Changes 2 symbols
~ README.md .md 2 symbols modified
Files Changed
+1 ~1 −1
36 in snapshot
~ README.md .md
episode-06/_tmp-script.md .md

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