Verify

Topic: verify

Explanation

protoparser verify <macro|pml> <file> verifies the detached signature for a macro or a ProtoML document.

Verification happens in two layers:

Without a registry source, ProtoML can still verify whether the file matches its signature. With -trustRegistry=..., it can also classify the author as trusted, untrusted, or unknown. -trustRegistry=... is a lookup flag, not a separate subcommand. You can point it at a registry directory, a registry JSON file, or an HTTP/HTTPS registry URL. The flag is repeatable, so you can provide more than one registry source. If the target file sits inside a project with protoml.macros.json, ProtoML also auto-discovers the nearest configured project registries and uses them even without the flag.

For bundled built-in macros, trust can also come from the built-in hash manifest even when no detached signature exists. verify still reports detached-signature state explicitly, so a built-in macro may be trusted by origin while still showing a missing signature sidecar.

How to read verification results precisely:

Detached sidecar workflow outside a registry:

Author side:

User side:

Examples

protoparser verify macro "./macros/warn_box.pml"
protoparser verify pml "./governance/board.pml"
protoparser verify macro "./macros/warn_box.pml" -trustRegistry="./my-registry"
protoparser verify macro "./macros/warn_box.pml" -trustRegistry="./authors-registry" -trustRegistry="./package-registry"
protoparser verify pml "./meetings/board.pml" -trustRegistry="https://example.org/protoml.registry.json"
protoparser verify macro "./shared/warn_box.pml"