ConsolidatedComponent
A single component per OEM that merges transformed records across all sources for all four entity types (dealers, models, features, inventory) and resolves cross-entity foreign-key references. Each entity type is configured under its own key within the component's attributes.
Top-level attributes
| Attribute | Required | Description |
|---|---|---|
oem | yes | OEM identifier (e.g. "audi") |
market | yes | Market identifier (e.g. "us") |
start_date | yes | Earliest partition date for the DailyPartitionsDefinition |
dealers | yes | Per-entity spec for the dealers entity |
models | yes | Per-entity spec for the models entity |
features | yes | Per-entity spec for the features entity |
inventory | yes | Per-entity spec for the inventory entity |
Per-entity spec
Each entity block (dealers, models, features, inventory) shares the same structure:
| Field | Description |
|---|---|
source_groups | Priority-ranked list of source groups — see Source Groups |
merge | Cross-source matching and field resolution — see Merge Spec |
key_fields | Fields used to identify and deduplicate records across sources; also used to compute the entity ID hash |
id_policy | "hash_all" (default) hashes all key_fields together; "first_non_empty" hashes only the first non-empty value — useful when sources populate mutually exclusive identifiers (e.g. VIN vs order number). The inventory entity defaults to "first_non_empty" |
foreign_keys | Cross-entity reference lookups — see Foreign Keys |
Example
type: ai_core.components.ConsolidatedComponent
attributes:
oem: audi
market: us
start_date: "2025-01-01"
dealers:
source_groups:
- name: pss
source: pss_dealers
priority: 1
history_days: 365
merge:
match_on: [[mat_primary_code]]
key_fields: [mat_primary_code]
models:
source_groups:
- name: onegraph
source: onegraph_models
priority: 1
history_days: 365
merge:
match_on: [[model_catalog_id]]
key_fields: [model_catalog_id]
features:
source_groups:
- name: catalog
source: catalog_features
priority: 1
history_days: 365
merge:
match_on: [[model_catalog_id, pr3_id, parent_package_code]]
key_fields: [model_catalog_id, pr3_id, parent_package_code]
foreign_keys:
- entity_type: models
target: model_id
"on": [model_catalog_id]
inventory:
source_groups:
- name: scs
source: scs_inventory
priority: 1
history_days: 365
merge:
match_on: [[vin]]
key_fields: [vin]
foreign_keys:
- entity_type: dealers
target: dealer_id
"on": [dealer_mat_primary_code>mat_primary_code]
- entity_type: models
target: model_id
"on": [model_catalog_id]
- entity_type: features
target: feature_ids
"on": [model_catalog_id, feature_refs.pr3_id, feature_refs.parent_package_code]