feat: supercharge muse verify-tag — envelope JSON, TypedDicts, duration_ms, exit_code
- Switch --json output from per-tag NDJSON lines to a single envelope matching the name-rev/verify-pack pattern: {results, exit_code, duration_ms} - Add TypedDicts _TagResult and _TagVerifyJson for type-safe JSON construction - Add start_timer() call so duration_ms is always present in the envelope - Update module docstring to document all envelope fields and exit codes - Update 4 existing tests to parse the new envelope format (results[0]) - Add tests/test_verify_tag_supercharge.py: 50 tests across 10 classes covering envelope shape, TypedDicts, docstring, payload binding, algorithm branches, text output, no-prose-pollution, security, and stress scenarios
sha256:559f14897d08a726f9d29cbade670531eb1c90de20c3e2f47f079053498bf516
sha
+101
~6
symbols
sha256:0d0c90383e4fee7b65ec8f5f3c7929ea2ddb00f0aedbb3651657d22ca7131222
snapshot
+101
symbols added
~6
symbols modified
0
dead code introduced
Semantic Changes
107 symbols
+
test_decode_pubkey_valueerror_returns_invalid
method
method test_decode_pubkey_valueerror_returns_invalid L393–401
+
test_unknown_pubkey_algo_returns_error
method
method test_unknown_pubkey_algo_returns_error L379–391
+
test_batch_one_invalid_exit_code_nonzero
method
method test_batch_one_invalid_exit_code_nonzero L200–211
+
test_unsigned_no_strict_exit_code_zero
method
method test_unsigned_no_strict_exit_code_zero L170–175
+
test_unsigned_strict_exit_code_nonzero
method
method test_unsigned_strict_exit_code_nonzero L177–183
+
test_results_order_matches_input_order
method
method test_results_order_matches_input_order L515–525
+
test_ansi_escape_in_tag_name_rejected
method
method test_ansi_escape_in_tag_name_rejected L544–547
+
test_invalid_name_rejected_with_error_on_stderr
method
method test_invalid_name_rejected_with_error_on_stderr L570–575
+
test_path_traversal_in_tag_name_rejected
method
method test_path_traversal_in_tag_name_rejected L539–542
+
test_100_tags_duration_ms_non_negative
method
method test_100_tags_duration_ms_non_negative L628–637
+
test_batch_json_has_correct_result_count
method
method test_batch_json_has_correct_result_count L595–605
+
test_mixed_valid_invalid_batch_exit_nonzero
method
method test_mixed_valid_invalid_batch_exit_nonzero L607–626
+
test_tag_verify_json_typeddict_exists
method
method test_tag_verify_json_typeddict_exists L255–257
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:559f14897d08a726f9d29cbade670531eb1c90de20c3e2f47f079053498bf516 --body "your comment"
No comments yet. Be the first to start the discussion.