gabriel / muse public
feat patch task/reflog-phase1 #6 / 8
AI Agent gabriel · 23 days ago · Jun 28, 2026 · Diff

feat: add muse reflog delete subcommand (RL_13–RL_17)

sha256:d7741710f9f82cc59332a507cfb00bb2cca8ebd2924c2d26f19326af5cce3301 sha
+55 ~5 symbols
sha256:a7dffc1946da58cc6684a8a37d1c4b6209fee9cdce4f7e5a06546b1f8284600d snapshot
+55
symbols added
~5
symbols modified
0
dead code introduced
Semantic Changes 60 symbols
~ tests/test_cmd_reflog_delete.py .py 48 symbols added
+ TestDeleteAll class class TestDeleteAll L197–258
+ test_all_and_index_together_rejected method method test_all_and_index_together_rejected L244–248
+ test_all_flag_removes_every_entry method method test_all_flag_removes_every_entry L200–210
+ test_all_flag_removes_log_file method method test_all_flag_removes_log_file L212–219
+ test_all_on_branch_log method method test_all_on_branch_log L221–231
+ test_all_on_empty_log_is_graceful method method test_all_on_empty_log_is_graceful L233–242
+ test_muse_reflog_returns_empty_after_all_delete method method test_muse_reflog_returns_empty_after_all_delete L250–258
+ TestDeleteAtomic class class TestDeleteAtomic L319–343
+ test_no_tmp_files_left_on_success method method test_no_tmp_files_left_on_success L334–343
+ test_original_intact_when_replace_fails method method test_original_intact_when_replace_fails L322–332
+ TestDeleteByIndex class class TestDeleteByIndex L94–190
+ test_delete_by_branch_flag method method test_delete_by_branch_flag L149–166
+ test_delete_last_entry_removes_log_file method method test_delete_last_entry_removes_log_file L138–147
+ test_delete_middle_entry method method test_delete_middle_entry L168–178
+ test_delete_newest_entry method method test_delete_newest_entry L97–106
+ test_delete_oldest_entry method method test_delete_oldest_entry L180–190
+ test_json_schema_has_required_fields method method test_json_schema_has_required_fields L119–127
+ test_newest_entry_is_gone_after_delete method method test_newest_entry_is_gone_after_delete L108–117
+ test_ref_field_is_head_by_default method method test_ref_field_is_head_by_default L129–136
+ TestDeleteIntegration class class TestDeleteIntegration L350–403
+ test_branch_delete_does_not_touch_head_log method method test_branch_delete_does_not_touch_head_log L394–403
+ test_correct_entries_remain_after_middle_delete method method test_correct_entries_remain_after_middle_delete L353–370
+ test_entry_count_is_exact_after_delete method method test_entry_count_is_exact_after_delete L372–381
+ test_repeated_deletes_converge_to_empty method method test_repeated_deletes_converge_to_empty L383–392
+ TestDeleteOutOfBounds class class TestDeleteOutOfBounds L265–312
+ test_malformed_index_is_rejected method method test_malformed_index_is_rejected L305–312
+ test_no_log_file_gives_user_error method method test_no_log_file_gives_user_error L297–303
+ test_out_of_bounds_does_not_modify_log method method test_out_of_bounds_does_not_modify_log L287–295
+ test_out_of_bounds_exits_user_error method method test_out_of_bounds_exits_user_error L268–274
+ test_out_of_bounds_message_names_valid_range method method test_out_of_bounds_message_names_valid_range L276–285
+ _DAY variable variable _DAY L29–29
+ _branch_log function function _branch_log L61–62
+ _env function function _env L35–36
+ _head_log function function _head_log L57–58
+ _make_repo function function _make_repo L39–54
+ _read_operations function function _read_operations L84–87
+ _write_entries function function _write_entries L65–81
+ cli variable variable cli L27–27
+ CliRunner import import CliRunner L24–24
+ annotations import import annotations L14–14
+ fake_id import import fake_id L23–23
+ json import import json L16–16
+ logs_dir import import logs_dir L22–22
+ muse_dir import import muse_dir L22–22
+ patch import import patch L18–18
+ pathlib import import pathlib L17–17
+ pytest import import pytest L20–20
+ runner variable variable runner L26–26
~ muse/cli/commands/reflog.py .py 6 symbols added, 5 symbols modified
+ _AT_BRACE_PREFIX variable variable _AT_BRACE_PREFIX L414–414
+ _AT_BRACE_SUFFIX variable variable _AT_BRACE_SUFFIX L415–415
+ _DeleteJson class class _DeleteJson L136–141
+ _parse_at_index function function _parse_at_index L418–427
+ delete_reflog_entry import import delete_reflog_entry L83–83
+ run_delete function function run_delete L430–538
~ muse/core/reflog.py .py 1 symbol added
+ delete_reflog_entry function function delete_reflog_entry L355–430

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