gabriel / muse public
fix patch dev
AI Agent gabriel · 147 days ago · Apr 25, 2026 · Diff

fix: branch deletion now prunes config.toml metadata; purge 160 stale entries

- config.py: add delete_branch_meta() — removes [branch."<name>"] section atomically - branch.py: call delete_branch_meta() after rf.unlink() on successful -d/-D - tests/test_branch_delete_config_cleanup.py: 11 TDD tests (5 unit, 6 integration) - Purged 160 accumulated stale [branch.*] entries from .muse/config.toml

sha256:10d9204bd6d8f40d12a4f9c324674ce25afdcc4164abfea13848da4978cbcd0b sha
+30 ~4 symbols
sha256:3865eda359df34b373d8f95c0b9d53d08f8b8ceda281c984e8a18e6f3af03a74 snapshot
+30
symbols added
~4
symbols modified
0
dead code introduced
Semantic Changes 34 symbols
+ TestBranchDeletePrunesConfig class class TestBranchDeletePrunesConfig L136–202
+ test_delete_branch_with_no_config_section method method test_delete_branch_with_no_config_section L169–174
+ test_delete_multiple_branches_removes_all_sections method method test_delete_multiple_branches_removes_all_sections L176–189
+ test_failed_delete_preserves_config_section method method test_failed_delete_preserves_config_section L157–167
+ test_force_delete_removes_config_section method method test_force_delete_removes_config_section L147–155
+ test_json_output_unaffected method method test_json_output_unaffected L191–202
+ test_safe_delete_removes_config_section method method test_safe_delete_removes_config_section L137–145
+ TestDeleteBranchMeta class class TestDeleteBranchMeta L85–128
+ test_noop_when_config_toml_absent method method test_noop_when_config_toml_absent L126–128
+ test_noop_when_no_section_exists method method test_noop_when_no_section_exists L94–96
+ test_preserves_non_branch_config_sections method method test_preserves_non_branch_config_sections L110–124
+ test_preserves_other_branch_sections method method test_preserves_other_branch_sections L98–108
+ test_removes_section_for_named_branch method method test_removes_section_for_named_branch L86–92
+ _branch function function _branch L48–49
+ _commit function function _commit L52–54
+ _config_branch_section function function _config_branch_section L69–77
+ _invoke function function _invoke L39–45
+ CliRunner import import CliRunner L28–28
+ annotations import import annotations L20–20
+ delete_branch_meta import import delete_branch_meta L29–29
+ json import import json L22–22
+ os import import os L23–23
+ pathlib import import pathlib L24–24
+ pytest import import pytest L26–26
+ read_branch_meta import import read_branch_meta L29–29
+ write_branch_meta import import write_branch_meta L29–29
+ repo function function repo L58–66
+ runner variable variable runner L31–31
~ muse/cli/commands/branch.py .py 1 symbol added, 4 symbols modified
+ delete_branch_meta import import delete_branch_meta L62–62
~ run
~ muse/cli/config.py .py 1 symbol added
+ delete_branch_meta function function delete_branch_meta L967–983
← Older Oldest on dev
All commits
Newer → Latest on dev

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