ADR-033 Migration Notes (v0.11.0)¶
This guide covers the v0.11.0 breaking contract changes for plugin metadata and resolver behavior.
What changed¶
plugin_meta['plugin_api_version']is now validated as semver-like:MAJOR.MINORorMAJOR.MINOR.PATCH.plugin_meta['data_modalities']is now normalized/validated: canonical modalities plusx-<vendor>-<name>extensions.Modality-aware explanation resolver now raises explicit ambiguity errors when multiple top-priority candidates match.
Defaults for legacy plugins¶
If missing, CE now applies:
plugin_api_version = "1.0"data_modalities = ("tabular",)
Before and after¶
Before (accepted legacy metadata):
plugin_meta = {
"schema_version": 1,
"name": "my.plugin",
"version": "0.1",
"provider": "acme",
"capabilities": ("explain",),
}
After (explicit and future-proof):
plugin_meta = {
"schema_version": 1,
"name": "my.plugin",
"version": "0.1",
"provider": "acme",
"capabilities": ("explain",),
"plugin_api_version": "1.0",
"data_modalities": ("tabular",),
}
Modality taxonomy¶
Canonical modalities:
tabularvisionaudiotextmultimodal
Alias normalization examples:
image->visionimg->vision
Custom modalities must use x- namespace, e.g. x-acme-graph.
Resolver ambiguity break¶
v0.11.0 now fails explicitly when modality resolution has multiple top-priority matches. To migrate:
Set explicit plugin
prioritymetadata to break ties, orProvide an explicit plugin identifier override where resolution is invoked.