feat
BREAKING
describe
task/version-tags-phase0-label-rename
#2 / 7
feat(describe): rewrite muse describe for clean version-tag-only API (Phase 4, VT_34–VT_40)
- Rewrite muse/core/describe.py to use list_version_tags instead of label tags; DescribeResult now has description (not name), distance=None on no-tag, short_sha is raw hex without sha256: prefix, exit 1 when no eligible tags found - Rewrite muse/cli/commands/describe.py: clean pristine surface — positional ref, --pre, --first-parent, --abbrev; remove --long, --require-tag, --exact-match, --match, --ref flags entirely - Add tests/test_cmd_describe_version_tags.py: 30 new tests (VT_34–VT_40), all green - Rewrite tests/test_cmd_describe.py, test_cmd_describe_hardening.py, test_describe_envelope.py, test_describe_walk.py to match new API - Check off VT_34–VT_40 in docs/issues/version-tags.md
sha256:894647ed295b70815ea76af263faca6f8f4d4892417eb887d8c0ceb187f54a5a
sha
+119
~49
−51
symbols
sha256:414a8688a6937bb507c6d622d56e44a83bd0adf6e64df5a87c589ebb910560fb
snapshot
+119
symbols added
~49
symbols modified
−51
symbols removed
0
dead code introduced
Semantic Changes
219 symbols
+
test_description_is_tag_name_when_exactly_on_tag
method
method test_description_is_tag_name_when_exactly_on_tag L117–123
+
test_description_contains_tag_distance_and_hex
method
method test_description_contains_tag_distance_and_hex L162–177
+
test_stable_tag_always_found_without_pre
method
method test_stable_tag_always_found_without_pre L217–227
+
test_commit_id_still_present_when_no_tags
method
method test_commit_id_still_present_when_no_tags L274–279
+
test_no_tags_with_pre_flag_still_exit_one
method
method test_no_tags_with_pre_flag_still_exit_one L281–285
+
test_exact_match_description_has_no_hash_suffix
method
method test_exact_match_description_has_no_hash_suffix L387–394
+
test_no_sha256_colon_prefix_in_description
method
method test_no_sha256_colon_prefix_in_description L365–374
+
test_describe_envelope_fields_present
method
method test_describe_envelope_fields_present L458–465
+
test_describe_pre_from_commit0_distance_0
method
method test_describe_pre_from_commit0_distance_0 L430–438
+
test_describe_pre_from_commit4_distance_4
method
method test_describe_pre_from_commit4_distance_4 L422–428
+
test_describe_with_stable_tag_found_without_pre
method
method test_describe_with_stable_tag_found_without_pre L448–456
+
test_describe_without_pre_only_rc_tags_exits_1
method
method test_describe_without_pre_only_rc_tags_exits_1 L440–446
−
test_describe_cli_require_tag_fails_without_tags
function
function test_describe_cli_require_tag_fails_without_tags L189–193
−
test_describe_no_tags_returns_shortblob_id
function
function test_describe_no_tags_returns_shortblob_id L110–116
+
test_describe_excludes_pre_by_default
function
function test_describe_excludes_pre_by_default L131–136
+
test_describe_includes_pre_with_flag
function
function test_describe_includes_pre_with_flag L139–145
+
test_describe_no_tags_returns_none_fields
function
function test_describe_no_tags_returns_none_fields L99–106
~
_REPO_ID
~
Manifest
~
tests/test_cmd_describe_hardening.py
.py
24 symbols added, 34 symbols removed, 27 symbols modified
−
test_ansi_in_tag_name_preserved_in_json
function
function test_ansi_in_tag_name_preserved_in_json L343–352
−
test_ansi_in_tag_name_stripped_in_text_output
function
function test_ansi_in_tag_name_stripped_in_text_output L333–340
−
test_core_exact_match_off_tag_returnsblob_id
function
function test_core_exact_match_off_tag_returnsblob_id L247–254
−
test_core_long_format_with_distance
function
function test_core_long_format_with_distance L201–207
−
test_core_match_pattern_filters_tags
function
function test_core_match_pattern_filters_tags L219–226
−
test_core_match_pattern_no_match_returnsblob_id
function
function test_core_match_pattern_no_match_returnsblob_id L229–235
−
test_core_multi_tag_same_commit_lex_greatest
function
function test_core_multi_tag_same_commit_lex_greatest L277–285
−
test_core_no_tags_returns_shortblob_id
function
function test_core_no_tags_returns_shortblob_id L160–167
−
test_flag_exact_match_off_tag_fails
function
function test_flag_exact_match_off_tag_fails L495–501
−
test_integration_long_and_match_combined
function
function test_integration_long_and_match_combined L546–555
−
test_integration_require_tag_passes_when_tag_exists
function
function test_integration_require_tag_passes_when_tag_exists L558–565
−
test_integration_text_output_sanitized
function
function test_integration_text_output_sanitized L568–574
+
test_exit_code_field_is_one_on_no_tag
method
method test_exit_code_field_is_one_on_no_tag L627–633
+
test_core_excludes_prerelease_by_default
function
function test_core_excludes_prerelease_by_default L206–211
+
test_core_includes_prerelease_with_flag
function
function test_core_includes_prerelease_with_flag L214–220
+
test_core_multi_tag_same_commit_highest_semver_wins
function
function test_core_multi_tag_same_commit_highest_semver_wins L238–246
+
test_core_no_tags_returns_none_description
function
function test_core_no_tags_returns_none_description L156–165
+
test_flag_abbrev_changes_short_sha_length
function
function test_flag_abbrev_changes_short_sha_length L410–418
+
test_flag_pre_absent_excludes_prerelease
function
function test_flag_pre_absent_excludes_prerelease L386–393
+
test_integration_head_is_one_hop_past_tag
function
function test_integration_head_is_one_hop_past_tag L426–435
+
test_integration_positional_ref_branch
function
function test_integration_positional_ref_branch L449–456
+
test_integration_pre_flag_and_abbrev_combined
function
function test_integration_pre_flag_and_abbrev_combined L438–446
+
test_positional_ref_not_found_error
function
function test_positional_ref_not_found_error L294–298
Older
feat: Phase 3 — version tag push/pull integration (VT_26–VT_33)
sha256:6091fde5cedc3f330c9ab8fb814009bf896bc607750eeb7c2e65f77dbdf715d0
All commits
Newer
docs: add muse-tag-guide mist (complete idiomatic guide with examples)
sha256:6ed6b11aceb96bef850842a7aaac54c04843fa9fba5d1200e4bc3845e12d4142
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:894647ed295b70815ea76af263faca6f8f4d4892417eb887d8c0ceb187f54a5a --body "your comment"
No comments yet. Be the first to start the discussion.