gabriel / muse public
feat patch task/sign-propose #1 / 1
AI Agent gabriel · 33 days ago · May 8, 2026 · Diff

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
← Older Oldest on task/sign-propose
All commits
Newer → Latest on task/sign-propose

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