Summary
converters/ontology/src/ossie_ontology/spec.py DatasetField and Metric omit datatype, while the base OssieObject sets extra="forbid". Any conformant document with datatype (including examples/tpcds_semantic_model.yaml) fails to parse with extra_forbidden.
Root cause
extra="forbid" + no datatype field on DatasetField/Metric, though the core spec defines datatype on both.
Repro (real converter, HEAD ab8fc1a — EXECUTED)
SemanticModel(**doc) with a field datatype: Integer:
1 validation error for SemanticModel
datasets.0.fields.0.datatype
Extra inputs are not permitted [type=extra_forbidden, input_value='Integer', input_type=str]
Potential fix
Add datatype: str | None = None to DatasetField and Metric. This should be a non-breaking change. Value-enum validation is a separate, optional concern.
Summary
converters/ontology/src/ossie_ontology/spec.pyDatasetFieldandMetricomitdatatype, while the baseOssieObjectsetsextra="forbid". Any conformant document withdatatype(includingexamples/tpcds_semantic_model.yaml) fails to parse withextra_forbidden.Root cause
extra="forbid"+ nodatatypefield onDatasetField/Metric, though the core spec definesdatatypeon both.Repro (real converter, HEAD ab8fc1a — EXECUTED)
SemanticModel(**doc)with a fielddatatype: Integer:Potential fix
Add
datatype: str | None = NonetoDatasetFieldandMetric. This should be a non-breaking change. Value-enum validation is a separate, optional concern.