gabriel / muse public
refactor BREAKING task/flatten-plumbing-dir #1 / 1
gabriel · 166 days ago · Apr 14, 2026 · Diff

refactor: flatten plumbing/ dir, scrub plumbing/porcelain terminology

The plumbing/porcelain distinction is a Git-ism that doesn't fit Muse. Agents are first-class citizens — every command is just a command.

Changes: - Move all 24 files from muse/cli/commands/plumbing/ into muse/cli/commands/ - Delete muse/cli/commands/plumbing/ (no subdirectory implied hierarchy) - Update muse/cli/app.py import block to use muse.cli.commands directly - Rename 28 test files: test_plumbing_*.py → test_cmd_*.py, test_cli_plumbing.py → test_cli_inspect.py - Fix all import paths in tests from commands.plumbing.* to commands.* - Scrub 'plumbing'/'porcelain' from docstrings, help text, and comments across 37 source files and all test files - Add muse ls-files to agent-guide Code Intelligence table - Leave --porcelain flag name intact (it is CLI API, not a tier label)

sha256:dde044859012704608f7032836b1d5f1394e5444c30b4f0f06dd9822299ec289 sha
+1 ~194 −1 symbols
sha256:7014848b3be4859fd4895395ffbd706c1833aba0b0b82fbbc177dd3100b8db64 snapshot
+1
symbol added
~194
symbols modified
−1
symbol removed
0
dead code introduced
Semantic Changes 196 symbols
~ muse/cli/commands/bundle.py .py 1 symbol modified
~ tests/cli_test_helper.py .py 1 symbol modified
~ tests/test_integrity_I5_commit_integrity.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− test_plumbing_read_commit_roundtrip method method test_plumbing_read_commit_roundtrip L595–611
+ test_cmd_read_commit_roundtrip method method test_cmd_read_commit_roundtrip L595–611
~ muse/cli/commands/cat_object.py .py moved from muse/cli/commands/plumbing/cat_object.py; 1 modified
~ run
~ muse/cli/commands/check_attr.py .py moved from muse/cli/commands/plumbing/check_attr.py
~ muse/cli/commands/check_ignore.py .py moved from muse/cli/commands/plumbing/check_ignore.py; 1 modified
~ run
~ muse/cli/commands/check_ref_format.py .py moved from muse/cli/commands/plumbing/check_ref_format.py; 1 modified
~ run
~ muse/cli/commands/commit_graph.py .py moved from muse/cli/commands/plumbing/commit_graph.py
~ muse/cli/commands/commit_tree.py .py moved from muse/cli/commands/plumbing/commit_tree.py; 1 modified
~ run
~ muse/cli/commands/domain_info.py .py moved from muse/cli/commands/plumbing/domain_info.py
~ muse/cli/commands/for_each_ref.py .py moved from muse/cli/commands/plumbing/for_each_ref.py
~ muse/cli/commands/hash_object.py .py moved from muse/cli/commands/plumbing/hash_object.py; 1 modified
~ run
~ muse/cli/commands/ls_files.py .py moved from muse/cli/commands/plumbing/ls_files.py; 1 modified
~ run
~ muse/cli/commands/ls_remote.py .py moved from muse/cli/commands/plumbing/ls_remote.py
~ muse/cli/commands/merge_base.py .py moved from muse/cli/commands/plumbing/merge_base.py
~ muse/cli/commands/name_rev.py .py moved from muse/cli/commands/plumbing/name_rev.py
~ muse/cli/commands/pack_objects.py .py moved from muse/cli/commands/plumbing/pack_objects.py; 1 modified
~ run
~ muse/cli/commands/read_commit.py .py moved from muse/cli/commands/plumbing/read_commit.py
~ muse/cli/commands/read_snapshot.py .py moved from muse/cli/commands/plumbing/read_snapshot.py; 1 modified
~ run
~ muse/cli/commands/rev_parse.py .py moved from muse/cli/commands/plumbing/rev_parse.py; 2 modified
~ muse/cli/commands/show_ref.py .py moved from muse/cli/commands/plumbing/show_ref.py
~ muse/cli/commands/snapshot_diff.py .py moved from muse/cli/commands/plumbing/snapshot_diff.py
~ muse/cli/commands/symbolic_ref.py .py moved from muse/cli/commands/plumbing/symbolic_ref.py
~ muse/cli/commands/unpack_objects.py .py moved from muse/cli/commands/plumbing/unpack_objects.py
~ muse/cli/commands/update_ref.py .py moved from muse/cli/commands/plumbing/update_ref.py; 1 modified
~ run
~ muse/cli/commands/verify_object.py .py moved from muse/cli/commands/plumbing/verify_object.py
~ muse/cli/commands/verify_pack.py .py moved from muse/cli/commands/plumbing/verify_pack.py
~ tests/test_cli_inspect.py .py moved from tests/test_cli_plumbing.py
~ tests/test_cmd_cat_object.py .py moved from tests/test_plumbing_cat_object.py; 3 modified
~ tests/test_cmd_check_ignore.py .py moved from tests/test_plumbing_check_ignore.py; 2 modified
~ tests/test_cmd_check_ref_format.py .py moved from tests/test_plumbing_check_ref_format.py; 4 modified
~ tests/test_cmd_commit_graph_enhancements.py .py moved from tests/test_plumbing_commit_graph_enhancements.py
~ tests/test_cmd_commit_tree.py .py moved from tests/test_plumbing_commit_tree.py; 2 modified
~ tests/test_cmd_domain_info.py .py moved from tests/test_plumbing_domain_info.py; 3 modified
~ tests/test_cmd_for_each_ref.py .py moved from tests/test_plumbing_for_each_ref.py; 4 modified
~ tests/test_cmd_integration.py .py moved from tests/test_plumbing_integration.py
~ tests/test_cmd_ls_files.py .py moved from tests/test_plumbing_ls_files.py
~ tests/test_cmd_ls_remote.py .py moved from tests/test_plumbing_ls_remote.py; 4 modified
~ tests/test_cmd_merge_base.py .py moved from tests/test_plumbing_merge_base.py
~ tests/test_cmd_name_rev.py .py moved from tests/test_plumbing_name_rev.py; 3 modified
~ tests/test_cmd_pack_unpack.py .py moved from tests/test_plumbing_pack_unpack.py
~ tests/test_cmd_read_snapshot.py .py moved from tests/test_plumbing_read_snapshot.py
~ tests/test_cmd_remaining.py .py moved from tests/test_plumbing_remaining.py
~ tests/test_cmd_rev_parse.py .py moved from tests/test_plumbing_rev_parse.py
~ tests/test_cmd_snapshot_diff.py .py moved from tests/test_plumbing_snapshot_diff.py
~ tests/test_cmd_stress.py .py moved from tests/test_plumbing_stress.py
~ tests/test_cmd_symbolic_ref.py .py moved from tests/test_plumbing_symbolic_ref.py; 3 modified
~ tests/test_cmd_update_ref.py .py moved from tests/test_plumbing_update_ref.py; 2 modified
~ tests/test_cmd_verify_pack.py .py moved from tests/test_plumbing_verify_pack.py; 4 modified
← Older Oldest on task/flatten-plumbing-dir
All commits
Newer → Latest on task/flatten-plumbing-dir

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