feat: muse sign propose — Ed25519 signing for merge proposal pre-images
New subcommand: muse sign propose --repo-id sha256:<hex> --from-branch <name> --to-branch <name> --hub <url> --json
Outputs proposerPublicKey, proposerSignature, and proposerTimestamp ready to pass directly to muse hub proposal create or the MuseHub REST API.
Also exports canonical_propose_message() — the deterministic UTF-8 byte builder that both the CLI and the MuseHub server use to construct and verify the PROPOSE pre-image. Uses encode_sig/encode_pubkey from muse.core.types throughout — no manual prefix manipulation.
11 TDD tests covering: canonical message format, determinism, proposal_id presence/absence, signature verification, JSON/human-readable output, argparse registration.
sha256:a2e2226b0b27c3a123da1b746ea1c8c4b7a4ad632d763e7b6da35e0dfbcc8fc8
sha
sha256:8ac3e117d96a4d875e56357b328c78312bcfe81e492ed28ad0adb5053d9c80e4
snapshot
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:a2e2226b0b27c3a123da1b746ea1c8c4b7a4ad632d763e7b6da35e0dfbcc8fc8 --body "your comment"
No comments yet. Be the first to start the discussion.