Since the discovery rework (#463), third-party packages can register new Pydantic models through overture.models.
What is still missing is a way for those packages to add validated fields to existing Overture models. The current ext_* convention accepts arbitrary values, does not include them in the model schema, and is intended for deprecation.
An extension model should be able to declare an optional typed field, identify the models it extends, and register that declaration through overture.models. Loading the registered schemas should incorporate the field into its target models so it participates in validation and all schema-derived tooling. The extension should also remain usable independently for payloads stored separately and joined to base features later.
Once this mechanism exists, the unvalidated ext_* convention can be removed.
Since the discovery rework (#463), third-party packages can register new Pydantic models through
overture.models.What is still missing is a way for those packages to add validated fields to existing Overture models. The current
ext_*convention accepts arbitrary values, does not include them in the model schema, and is intended for deprecation.An extension model should be able to declare an optional typed field, identify the models it extends, and register that declaration through
overture.models. Loading the registered schemas should incorporate the field into its target models so it participates in validation and all schema-derived tooling. The extension should also remain usable independently for payloads stored separately and joined to base features later.Once this mechanism exists, the unvalidated
ext_*convention can be removed.