feat: add muse verify-commit — verify Ed25519 signatures on commits
Implements _verify_one, _fetch_key_status, register, and run. - Reconstructs canonical provenance payload and verifies via Ed25519 - --strict: exits nonzero on unsigned commits - --check-key-status: queries hub for key revocation (fails closed to 'unknown') - Batch: multiple commit IDs in one call, parallel via ThreadPoolExecutor - key_status_cache deduplicates hub calls within a batch invocation - 22 tests: unit, integration, security, stress — all green
sha256:2fb5d0ec7ab8875d6a0c4edd751c2680344746bff10fdf045c3df9fe5f800bc8
sha
+80
~31
symbols
sha256:8d0381c0870499cda99f4686f57bee4507f6ac99573997faefa479eea01b946e
snapshot
+80
symbols added
~31
symbols modified
0
dead code introduced
Semantic Changes
111 symbols
+
test_verify_commit_100_signed_commits
function
function test_verify_commit_100_signed_commits L422–432
+
test_verify_commit_ansi_in_ref_rejected
function
function test_verify_commit_ansi_in_ref_rejected L387–391
+
test_verify_commit_batch_one_invalid_exits_nonzero
function
function test_verify_commit_batch_one_invalid_exits_nonzero L363–369
+
test_verify_commit_canonical_message_tamper_detected
function
function test_verify_commit_canonical_message_tamper_detected L394–414
+
test_verify_commit_check_key_status_unknown_no_hub
function
function test_verify_commit_check_key_status_unknown_no_hub L372–379
+
test_verify_commit_invalid_exits_nonzero
function
function test_verify_commit_invalid_exits_nonzero L286–305
+
test_verify_commit_key_status_cache_deduplicates
function
function test_verify_commit_key_status_cache_deduplicates L435–454
+
test_verify_commit_nonexistent_ref_exits_nonzero
function
function test_verify_commit_nonexistent_ref_exits_nonzero L335–338
+
test_verify_commit_text_output_format
function
function test_verify_commit_text_output_format L341–348
+
test_verify_commit_unsigned_no_strict_exits_zero
function
function test_verify_commit_unsigned_no_strict_exits_zero L308–315
+
test_verify_commit_unsigned_strict_exits_nonzero
function
function test_verify_commit_unsigned_strict_exits_nonzero L318–322
+
test_verify_commit_valid_exits_zero
function
function test_verify_commit_valid_exits_zero L264–269
+
test_verify_one_bit_flip_in_signature
function
function test_verify_one_bit_flip_in_signature L205–232
+
test_verify_one_key_status_unknown_without_hub
function
function test_verify_one_key_status_unknown_without_hub L235–242
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:2fb5d0ec7ab8875d6a0c4edd751c2680344746bff10fdf045c3df9fe5f800bc8 --body "your comment"
No comments yet. Be the first to start the discussion.