Vendor extensions let deployments carry custom data without changing the core protocol.
- Custom envelope types.
- Envelope extension metadata.
- Custom event payloads.
- Custom lease capabilities.
Use arcpx.<domain>.<name>.v<n> for custom message types.
Unknown extension fields remain opaque unless explicitly registered.
Use EventEmit for structured domain events.
Register extension type names in ExtensionRegistry.
Keep capability names namespaced and validate them at the runtime edge.
Use the envelope extensions map for metadata that does not change core
dispatch.
Document the namespace, owner, version, payload shape, and compatibility promise.
Advertise required extension support in Capabilities::$extensions.
See samples/vendor-extensions/.