Description
The Data Completeness governance-workflow node scores every custom property as missing, even when the property is populated on the entity. As a result, any workflow gated on a custom property (for example a certification flow that requires certain custom properties to be filled) never reaches its target quality band and never fires.
Root cause
Custom properties are stored under extension.<name>, but the workflow builder's field picker feeds the node the bare property name (from GET /metadata/types/fields/{entityType}, which returns custom properties by their bare name). The node resolves the configured path against the entity at the top level only, so a bare custom-property name never matches extension.<name> and the field is counted as missing.
This node is the only place in the workflow builder that emits bare names. The trigger/exclude field list, the Check Condition query builder, and search settings all already use the extension.<name> convention.
Steps to reproduce
- Define a custom property on an entity type (e.g. a Data Product) and set a value on an entity.
- Create a governance workflow with a Data Completeness node that checks that custom property, with a quality band that requires it.
- Run the workflow.
Expected: the filled custom property counts toward completeness; the entity reaches the expected band.
Actual: the custom property is scored as missing; the score stays below threshold and the flow does not certify.
Fix
UI fix (this issue): the Data Completeness field picker now sends custom properties as extension.<name>, prefixed per entity type. A backend fallback (so workflows already saved with bare names, and bare names supplied via the API, also resolve) will follow separately.
Description
The Data Completeness governance-workflow node scores every custom property as missing, even when the property is populated on the entity. As a result, any workflow gated on a custom property (for example a certification flow that requires certain custom properties to be filled) never reaches its target quality band and never fires.
Root cause
Custom properties are stored under
extension.<name>, but the workflow builder's field picker feeds the node the bare property name (fromGET /metadata/types/fields/{entityType}, which returns custom properties by their bare name). The node resolves the configured path against the entity at the top level only, so a bare custom-property name never matchesextension.<name>and the field is counted as missing.This node is the only place in the workflow builder that emits bare names. The trigger/exclude field list, the Check Condition query builder, and search settings all already use the
extension.<name>convention.Steps to reproduce
Expected: the filled custom property counts toward completeness; the entity reaches the expected band.
Actual: the custom property is scored as missing; the score stays below threshold and the flow does not certify.
Fix
UI fix (this issue): the Data Completeness field picker now sends custom properties as
extension.<name>, prefixed per entity type. A backend fallback (so workflows already saved with bare names, and bare names supplied via the API, also resolve) will follow separately.