Operator-signed LRP bundles
Learned Routing Policy bundles are content-addressed model snapshots. Operators may optionally attach an Ed25519 detached signature so serving hosts only load bundles signed by a trusted key.
Callers do not send signatures. The router still presents eligible targets; LRP loads operator-owned artifacts offline or at process start. Signing is a deployment control, not a caller API.
Operator workflow
- Train and validate a bundle with the usual
lrp train/lrp validateflow. - Generate an operator-owned Ed25519 keypair on a protected host. Keep the private key out of the repository and out of container images.
- Write a trust JSON listing one or more public keys (
key_idplus base64 public key). Multiple keys support rotation. - Run
lrp sign-bundle --bundle <dir> --key <private> --key-id <id>to writemanifest.sigbesidemanifest.json. - Load with
require_signedand the trust file when promoting or reloading.
The signature binds the exact manifest.json bytes and the existing manifest
version digest. Per-file SHA-256 inventory checks still run. Unsigned bundles
remain valid for local development when no signature file is present and
require-signed loading is off.
See the operator document LRP signed bundles for trust rotation, rollback, and negative-case behavior. Contact contact@metrum.ai for deployment questions.