Extensions
Extensions allow ecosystem-specific metadata without breaking core interoperability.
Rules
- Use reverse-domain namespace keys (for example,
dev.reciprium.terraform). - Do not redefine or shadow core field semantics.
- Unknown extensions MUST be preserved by relays/storage systems.
- Verifiers that do not recognize an extension MUST ignore it unless local policy explicitly requires it.
- Verifiers that do recognize an extension MAY enforce its semantics.
Recommended Pattern
- Keep extension values structured (object/array primitives), not opaque blobs.
- Extension authors SHOULD include a
versionkey in extension payloads. - Treat extension data as optional unless explicitly policy-required.
Example
{
"extensions": {
"dev.reciprium.terraform": {
"workspace": "prod",
"planDigest": "sha256:..."
}
}
}
Extensions should increase context, not become hidden dependencies.