What
Complete the Ed25519 receipt signing loop with two new subcommands on mcp-observatory receipt:
receipt keygen
Generates an Ed25519 key pair and writes them to files (or prints to stdout):
$ mcp-observatory receipt keygen
Public key saved: mcp-observatory.pub
Private key saved: mcp-observatory.key
Keep the private key secure. Share the public key with anyone who needs to verify your receipts.
receipt verify <file> --key <pubkey>
Verifies a signed receipt against a public key:
$ mcp-observatory receipt verify receipt.json --key mcp-observatory.pub
✓ Receipt verified — signed by maintainer@example.com
Files
src/commands/receipt.ts — add two new subcommands
src/receipt.ts — verifyReceipt() and generateReceiptKeyPair() already exist
Acceptance
What
Complete the Ed25519 receipt signing loop with two new subcommands on
mcp-observatory receipt:receipt keygenGenerates an Ed25519 key pair and writes them to files (or prints to stdout):
receipt verify <file> --key <pubkey>Verifies a signed receipt against a public key:
Files
src/commands/receipt.ts— add two new subcommandssrc/receipt.ts—verifyReceipt()andgenerateReceiptKeyPair()already existAcceptance
receipt keygenwrites DER-encoded key filesreceipt verifyconfirms signature, shows signer identitynpx tsc --noEmitclean