A comprehensive, production-ready schema for FLUID data product contracts. Version 0.4.0 replaces the oneOf in build.transformation.properties with conditional validation to remove ambiguity, while keeping the rest of v0.3.0 verbatim.
No Additional PropertiesVersion of the FLUID spec this contract adheres to.
Must match regular expression:^\d+\.\d+(\.\d+)?$
"0.4.0"
The type of data product definition.
"DataProduct"
"VirtualDataProduct"
"EgressFlow"
"IngestFlow"
"MLModelProduct"
"FeatureStoreProduct"
Globally-unique, versioned data product identifier. Should be machine-friendly.
Must match regular expression:^[a-zA-Z0-9_.-]+$
Must be at least 1 characters long
Human-readable product name.
A brief, business-focused description of the product's purpose.
The owning business domain (e.g., 'Marketing', 'Finance').
Must match regular expression:^[a-zA-Z0-9_.-]+$
The architectural layer of the data product.
The team or individual responsible for the data product.
A contact email address for the owner.
An optional list of input data sources required to build the product.
No Additional ItemsA local alias for the consumed data source.
Must match regular expression:^[a-zA-Z0-9_.-]+$
A reference to another data product (e.g., URN).
Describes the logical transformation process and its operational details.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"hybrid-reference"
Additional Properties of any type are allowed.
Type: objectIf the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"declarative"
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"embedded-logic"
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"logical-mapping"
The transformation build pattern used.
The transformation engine used.
Pattern-specific properties for the build transformation.
Defines how the build is initiated.
"schedule"
"event"
"manual"
Value must be greater or equal to 0
Value must be greater or equal to 0
The public output interfaces (ports) of the data product.
Must contain a minimum of 1 items
A single output port of the data product.
The unique identifier for this output port.
Must match regular expression:^[a-zA-Z0-9_.-]+$
The physical type of the output.
Technology-specific properties (e.g., dataset, table, bucket).
^[a-zA-Z0-9_]+$
OPTIONAL. Column-level lineage and rules for governance. SHOULD be generated from build.transformation, not manually maintained.
No Additional Items^[a-zA-Z0-9_]+$
Each additional property must conform to the following schema
Type: stringValue must be greater or equal to 0
Value must be greater or equal to 0
Value must be greater or equal to 0 and lesser or equal to 100
Value must be greater or equal to 0