qat.experimental.system_data.materialisers.purr.materialise module
PuRR-to-canonical materialisation orchestration for the experimental boundary.
This module keeps the public materialisation entrypoint and coordinates adaptation, ingress validation, and canonical assembly via domain-specific builders.
Stage architecture
PuRR materialisation is intentionally staged so source-boundary concerns remain separate from compiler-owned enrichment and canonical assembly:
Source version compatibility check.
Source payload adaptation into boundary-normalised plain data.
Source ingress DTO validation and graph consistency validation.
Compiler-owned enrichment required for canonical assembly.
Canonical system data construction from validated/enriched ingress DTO.
This separation allows validation responsibility to move upstream over time without changing canonical assembly responsibilities.
- materialise_purr_v0_1_0(*, source_payload, source_version, target_data=None, supported_acquire_modes=None, native_waveform_shapes=None, decoder_extra_reduce_target_types=None, decoder_extra_reduce_target_suffixes=None)
Materialise canonical system data from a PuRR v0.1.0 source payload.
This runs the PuRR boundary flow:
Source-version compatibility check.
Payload adaptation/decoding into boundary-normalised plain data.
Ingress DTO validation.
Graph-level consistency validation.
Canonical materialisation.
- Parameters:
source_payload¶ (
dict[str,Any]) – Raw parsed PuRR payload.source_version¶ (
str) – Source contract version.target_data¶ (
Optional[TargetData]) – Compiler target data required by downstream mappings.supported_acquire_modes¶ (
Optional[list[str]]) – Fallback acquire modes applied when the source payload does not provide explicit supported modes.native_waveform_shapes¶ (
Optional[list[str]]) – Compiler-owned waveform shape defaults injected per physical channel when absent from the source payload.decoder_extra_reduce_target_types¶ (
Optional[list[str]]) – Optional extra fully-qualifiedpy/reducetargets allowed by the source decoder at runtime.decoder_extra_reduce_target_suffixes¶ (
Optional[list[str]]) – Optional extra terminal type-name suffixes allowed by the source decoder at runtime.
- Return type:
- Returns:
Materialised canonical system data.
- Raises:
UnsupportedSourceVersionError – If source version is unsupported.
SourceValidationError – If DTO validation fails.
This function is version-specific by design. New PuRR source versions should be implemented as new entrypoints and registered in the boundary registry.