qat.experimental.system_data.materialisers.model.plugin module
Default materialiser plugin for boundary dispatch.
This module self-registers on import via the shared registry API in
qat.experimental.system_data.materialisers.plugins.
Model payloads embed a _version key produced by
build_payload()
to allow unambiguous detection at the boundary.
- class DefaultAdditionalData(**data)
Bases:
SourceAdditionalDataModelAdditional-data contract for default v0.1.0 materialisation.
Default payloads require no extra inputs beyond the source payload itself, so this model carries no fields.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid'}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class DefaultPlugin
Bases:
SourceMaterialiserPluginBoundary plugin for default v0.1.0 source payloads.
- additional_data_model
alias of
DefaultAdditionalData
- materialise(*, source_payload, source_version, additional_data)
Materialise canonical data from a default source payload.
- Parameters:
source_payload¶ (
dict[str,Any]) – Dict with amodelkey containing theCanonicalSystemDatafield values and a_versionstructural hash entry, as produced byCanonicalSystemDataBuilder.build_payload().- Return type:
- Returns:
Reconstructed
CanonicalSystemData.
- resolve_type_and_version(source_payload)
Detect a default source payload.
A payload is identified as default v0.1.0 when its
modelsub-dict contains a_versionkey matching the current structural hash (version_structure_hash).- Parameters:
source_payload¶ (
dict[str,Any]) – Raw source payload dict.- Return type:
tuple[SourceType,str] |None- Returns:
(SourceType.MODEL, "0.1.0")if matched, otherwiseNone.
-
source_type:
SourceType= 'model'
-
source_version:
str= '0.1.0'
- verify_integrity(source_payload)
No additional integrity checks required for default payloads.