-- Internal master data foundation health check. -- Read-only. Reports data quality and truth-source risks inside the system. WITH required_index_guards(index_name, table_name, predicate_hint, definition_hint) AS ( VALUES ('AssetSeries_code_key', 'AssetSeries', NULL, NULL), ('AssetFamily_code_key', 'AssetFamily', NULL, NULL), ('AssetVariant_code_key', 'AssetVariant', NULL, NULL), ('AssetVariant_assetFamilyId_identityKey_key', 'AssetVariant', NULL, NULL), ('AssetVariant_barcode_active_key', 'AssetVariant', '"deletedAt" IS NULL', 'upper(btrim('), ('AssetFamilySeriesCompatibility_assetFamilyId_assetSeriesId_key', 'AssetFamilySeriesCompatibility', NULL, NULL), ('DraftGroup_code_key', 'DraftGroup', NULL, NULL), ('PlanningTemplate_code_key', 'PlanningTemplate', NULL, NULL), ('Substrate_code_key', 'Substrate', NULL, NULL), ('WarehouseLocation_code_key', 'WarehouseLocation', NULL, NULL), ('User_email_normalized_key', 'User', NULL, 'lower(btrim('), ('User_name_normalized_key', 'User', NULL, 'btrim'), ('Department_name_normalized_key', 'Department', NULL, 'btrim'), ('Department_externalId_normalized_key', 'Department', 'NULLIF(btrim', 'btrim'), ('EmployeeDirectory_dingtalkUserId_normalized_key', 'EmployeeDirectory', 'NULLIF(btrim', 'btrim'), ('EmployeeDirectory_dingtalkUnionId_normalized_key', 'EmployeeDirectory', 'NULLIF(btrim', 'btrim'), ('EmployeeDirectory_jobNumber_normalized_key', 'EmployeeDirectory', 'NULLIF(btrim', 'btrim'), ('EmployeeDirectory_mobile_normalized_key', 'EmployeeDirectory', 'NULLIF(btrim', 'btrim'), ('WarehouseLocation_active_position_key', 'WarehouseLocation', '"isActive" = true', 'lower(btrim('), ('PackagedItem_code_key', 'PackagedItem', NULL, NULL), ('PreSku_draftGroupId_sequence_key', 'PreSku', NULL, NULL), ('Product_modelNumber_key', 'Product', NULL, NULL), ('ProductSKU_skuCode_key', 'ProductSKU', NULL, NULL), ('ProductSKU_active_skuCode_normalized_key', 'ProductSKU', '"deletedAt" IS NULL', 'upper(btrim('), ('ProductSKU_sourcePreSkuId_key', 'ProductSKU', NULL, NULL), ('IntakeNonIntegratedProduct_spu_brand_key', 'IntakeNonIntegratedProduct', NULL, NULL), ('IntakeNonIntegratedProduct_spu_brand_normalized_key', 'IntakeNonIntegratedProduct', NULL, 'upper(btrim('), ('ProductSkuAssetProfile_skuId_key', 'ProductSkuAssetProfile', NULL, NULL), ('ProductSkuAssetProfile_barcode_active_non_empty_key', 'ProductSkuAssetProfile', '"skuDeletedAt" IS NULL', 'upper(btrim('), ('PreSkuBasicInfo_preSkuId_key', 'PreSkuBasicInfo', NULL, NULL), ('PreSkuBasicInfo_formalSkuCode_non_empty_key', 'PreSkuBasicInfo', 'NULLIF(btrim(', 'upper(btrim('), ('PreSkuBasicInfo_barcode_non_empty_key', 'PreSkuBasicInfo', 'NULLIF(btrim(', 'upper(btrim('), ('IntakeNonIntegratedProductProfile_productId_key', 'IntakeNonIntegratedProductProfile', NULL, NULL), ('IntakeNonIntegratedSkuItem_productId_skuItemId_key', 'IntakeNonIntegratedSkuItem', NULL, NULL), ('IntakeNonIntegratedSkuItem_skuCode_non_empty_key', 'IntakeNonIntegratedSkuItem', '"dataQualityStatus" = ''READY''', 'upper(btrim('), ('IntakeNonIntegratedSkuItem_barcode_non_empty_key', 'IntakeNonIntegratedSkuItem', '"dataQualityStatus" = ''READY''', 'upper(btrim('), ('MasterDataQualityDecision_open_target_key', 'MasterDataQualityDecision', 'status = ''APPROVED_INCOMPLETE''', NULL), ('ProductPatentRecord_patentGroupKey_key', 'ProductPatentRecord', NULL, NULL), ('IntakeReferenceLibraryItem_libraryType_itemKey_key', 'IntakeReferenceLibraryItem', NULL, NULL), ('IntakeReferenceLibraryItem_libraryType_code_non_empty_key', 'IntakeReferenceLibraryItem', 'NULLIF(btrim(code),', 'upper(btrim('), ('IntakeReferenceLibraryItem_libraryType_itemKey_normalized_key', 'IntakeReferenceLibraryItem', NULL, 'lower(btrim('), ('IntakeReferenceLibraryItem_spu_rule_name_non_empty_key', 'IntakeReferenceLibraryItem', '"libraryType" = ''SPU_RULE''', NULL), ('IntakeReferenceLibraryItem_spu_rule_name_normalized_key', 'IntakeReferenceLibraryItem', '"libraryType" = ''SPU_RULE''', 'lower(btrim('), ('SpuNumberCounter_productCategory_key', 'SpuNumberCounter', NULL, NULL), ('SpuNumberCounter_productCategory_normalized_key', 'SpuNumberCounter', NULL, 'lower(btrim('), ('SpuNumberCounter_prefix_key', 'SpuNumberCounter', NULL, NULL), ('Material_code_key', 'Material', NULL, NULL), ('Hardware_code_key', 'Hardware', NULL, NULL), ('CommonComponent_code_key', 'CommonComponent', NULL, NULL), ('BrandMaterialBinding_brand_material_normalized_key', 'BrandMaterialBinding', NULL, 'lower(btrim('), ('Panel_product_sku_code_normalized_key', 'Panel', NULL, 'upper(btrim('), ('ProductCategory_name_normalized_key', 'ProductCategory', NULL, 'lower(btrim('), ('MaterialCategory_name_normalized_key', 'MaterialCategory', NULL, 'lower(btrim('), ('HardwareCategory_name_normalized_key', 'HardwareCategory', NULL, 'lower(btrim('), ('CommonComponentCategory_name_normalized_key', 'CommonComponentCategory', NULL, 'lower(btrim('), ('SubstrateCategory_name_normalized_key', 'SubstrateCategory', NULL, 'lower(btrim('), ('SubstrateEnvironmentGrade_name_normalized_key', 'SubstrateEnvironmentGrade', NULL, 'lower(btrim('), ('SubstrateSurfaceOption_name_normalized_key', 'SubstrateSurfaceOption', NULL, 'lower(btrim('), ('SubstrateSystemNameOption_name_normalized_key', 'SubstrateSystemNameOption', NULL, 'lower(btrim('), ('SubstrateThicknessSpec_name_normalized_key', 'SubstrateThicknessSpec', NULL, 'lower(btrim('), ('ProviderConfig_active_service_key', 'ProviderConfig', '"isActive" = true', NULL), ('ThemeConfig_name_normalized_key', 'ThemeConfig', NULL, 'lower(btrim('), ('ThemeConfig_default_key', 'ThemeConfig', '"isDefault" = true', NULL) ) SELECT 'missing_required_index_guard' AS check_name, guard.index_name, guard.table_name, pg_get_expr(pg_idx.indpred, pg_idx.indrelid) AS actual_predicate, guard.predicate_hint AS expected_predicate_hint, pg_get_indexdef(idx.oid) AS actual_definition, guard.definition_hint AS expected_definition_hint FROM required_index_guards guard LEFT JOIN pg_class idx ON idx.relname = guard.index_name LEFT JOIN pg_index pg_idx ON pg_idx.indexrelid = idx.oid LEFT JOIN pg_class table_cls ON table_cls.oid = pg_idx.indrelid LEFT JOIN pg_namespace ns ON ns.oid = table_cls.relnamespace WHERE idx.oid IS NULL OR ns.nspname <> 'public' OR table_cls.relname <> guard.table_name OR pg_idx.indisunique IS DISTINCT FROM true OR ( guard.predicate_hint IS NOT NULL AND COALESCE(pg_get_expr(pg_idx.indpred, pg_idx.indrelid), '') NOT LIKE '%' || guard.predicate_hint || '%' ) OR ( guard.definition_hint IS NOT NULL AND COALESCE(pg_get_indexdef(idx.oid), '') NOT LIKE '%' || guard.definition_hint || '%' ) ORDER BY guard.index_name; WITH required_constraint_guards(constraint_name, table_name, expression_hint) AS ( VALUES ('IntakeProductProfile_developmentKind_allowed', 'IntakeNonIntegratedProductProfile', '"productDevelopmentKind" = '''''), ('IntakeNonIntegratedSkuItem_missingRequiredFields_allowed', 'IntakeNonIntegratedSkuItem', 'missingRequiredFields'), ('IntakeNonIntegratedSkuItem_quality_state_required_fields', 'IntakeNonIntegratedSkuItem', 'dataQualityStatus'), ('MasterDataQualityDecision_target_not_blank', 'MasterDataQualityDecision', 'targetType'), ('MasterDataQualityDecision_status_allowed', 'MasterDataQualityDecision', 'APPROVED_INCOMPLETE'), ('MasterDataQualityDecision_reason_not_blank', 'MasterDataQualityDecision', 'reason'), ('MasterDataQualityDecision_decidedBy_not_blank', 'MasterDataQualityDecision', 'decidedBy'), ('MasterDataQualityDecision_reason_not_placeholder', 'MasterDataQualityDecision', '待确认'), ('MasterDataQualityDecision_decidedBy_not_placeholder', 'MasterDataQualityDecision', '待确认'), ('MasterDataQualityDecision_resolvedBy_not_placeholder', 'MasterDataQualityDecision', '待确认'), ('MasterDataQualityDecision_resolved_state_valid', 'MasterDataQualityDecision', 'resolvedAt'), ('SpuNumberCounter_productCategory_not_blank', 'SpuNumberCounter', 'productCategory'), ('SpuNumberCounter_productCategory_normalized', 'SpuNumberCounter', 'btrim'), ('SpuNumberCounter_prefix_not_blank', 'SpuNumberCounter', 'prefix'), ('SpuNumberCounter_prefix_normalized', 'SpuNumberCounter', 'upper(btrim'), ('SpuNumberCounter_lastUsedIndex_non_negative', 'SpuNumberCounter', 'lastUsedIndex'), ('SpuNumberCounter_sourceLibraryItemId_normalized', 'SpuNumberCounter', 'sourceLibraryItemId'), ('ProductSKU_active_skuCode_not_deleted_marker', 'ProductSKU', '__deleted__'), ('ProductSKU_price_cost_stock_non_negative', 'ProductSKU', '"costPrice"'), ('ProductSKU_soft_delete_identity_valid', 'ProductSKU', 'originalSkuCode'), ('ProductSKU_no_soft_delete_lifecycle_attributes', 'ProductSKU', '_originalSkuCode'), ('ProductSKU_soft_delete_tombstone_valid', 'ProductSKU', 'deletedCodeAt'), ('ProductSKU_no_formal_truth_attributes', 'ProductSKU', 'skuName'), ('AssetSeries_code_normalized', 'AssetSeries', 'upper(btrim'), ('AssetSeries_identity_valid', 'AssetSeries', 'sortOrder'), ('AssetSeries_metadata_object', 'AssetSeries', 'jsonb_typeof'), ('AssetFamily_code_normalized', 'AssetFamily', 'upper(btrim'), ('AssetFamily_identity_valid', 'AssetFamily', 'connectionRoles'), ('AssetFamily_metadata_object', 'AssetFamily', 'jsonb_typeof'), ('AssetFamily_lifecycle_state_valid', 'AssetFamily', 'PENDING_REVIEW'), ('DraftGroup_code_normalized', 'DraftGroup', 'upper(btrim'), ('DraftGroup_identity_valid', 'DraftGroup', 'btrim'), ('DraftGroup_summary_object', 'DraftGroup', 'jsonb_typeof'), ('DraftGroup_optional_text_not_blank', 'DraftGroup', 'description'), ('IntakeReferenceLibraryItem_code_normalized', 'IntakeReferenceLibraryItem', 'upper(btrim'), ('IntakeReferenceLibraryItem_code_required', 'IntakeReferenceLibraryItem', 'NULLIF(btrim'), ('IntakeReferenceLibraryItem_libraryType_allowed', 'IntakeReferenceLibraryItem', 'PACKAGING_MATERIAL'), ('IntakeReferenceLibraryItem_itemKey_required', 'IntakeReferenceLibraryItem', 'btrim'), ('IntakeReferenceLibraryItem_letter_normalized', 'IntakeReferenceLibraryItem', 'upper(btrim'), ('IntakeReferenceLibraryItem_spu_rule_name_normalized', 'IntakeReferenceLibraryItem', 'SPU_RULE'), ('PlanningTemplate_code_normalized', 'PlanningTemplate', 'upper(btrim'), ('PlanningTemplate_name_not_blank', 'PlanningTemplate', 'name'), ('PlanningTemplate_slots_array', 'PlanningTemplate', 'jsonb_array_length'), ('PlanningTemplate_rules_object', 'PlanningTemplate', 'rules'), ('PlanningTemplate_optional_text_not_blank', 'PlanningTemplate', 'namePattern'), ('PlanningWorkspace_name_not_blank', 'PlanningWorkspace', 'name'), ('PlanningWorkspace_visibility_allowed', 'PlanningWorkspace', 'DEPARTMENT'), ('PlanningWorkspace_slotSelections_object', 'PlanningWorkspace', 'slotSelections'), ('PlanningWorkspace_metadata_object', 'PlanningWorkspace', 'metadata'), ('PlanningWorkspace_optional_text_not_blank', 'PlanningWorkspace', 'description'), ('PlanningDraft_identity_not_blank', 'PlanningDraft', 'selectedCandidateKey'), ('PlanningDraft_selectedAssets_object', 'PlanningDraft', 'selectedAssets'), ('PlanningDraft_previewNodes_array', 'PlanningDraft', 'previewNodes'), ('PlanningDraft_summary_array', 'PlanningDraft', 'summary'), ('PlanningDraft_warnings_array', 'PlanningDraft', 'warnings'), ('PlanningDraft_sourceSnapshot_object', 'PlanningDraft', 'sourceSnapshot'), ('PlanningDraft_optional_text_not_blank', 'PlanningDraft', 'notes'), ('Substrate_code_normalized', 'Substrate', 'upper(btrim'), ('WarehouseLocation_code_normalized', 'WarehouseLocation', 'upper(btrim'), ('PackagedItem_code_normalized', 'PackagedItem', 'upper(btrim'), ('PreSkuPackagingPlan_status_allowed', 'PreSkuPackagingPlan', 'CONFIRMED'), ('PreSkuPackagingPlan_boxes_array', 'PreSkuPackagingPlan', 'jsonb_typeof'), ('PreSkuPackagingPlan_costSummary_object', 'PreSkuPackagingPlan', 'costSummary'), ('PreSkuPackagingPlan_processDraft_object', 'PreSkuPackagingPlan', 'processDraft'), ('PreSkuPackagingPlan_optional_text_not_blank', 'PreSkuPackagingPlan', 'sourceRefId'), ('WarehouseLocation_name_not_blank', 'WarehouseLocation', 'name'), ('WarehouseLocation_optional_text_not_blank', 'WarehouseLocation', 'zone'), ('BrandMaterialBinding_materialType_allowed', 'BrandMaterialBinding', 'CARTON_PRINT'), ('BrandMaterialBinding_identity_not_blank', 'BrandMaterialBinding', 'materialType'), ('BrandMaterialBinding_file_metadata_consistent', 'BrandMaterialBinding', 'fileSize'), ('PackagedItem_status_allowed', 'PackagedItem', 'ACTIVE'), ('PackagedItem_name_not_blank', 'PackagedItem', 'name'), ('PackagedItem_quantities_valid', 'PackagedItem', 'stockQuantity'), ('PackagedItem_dimensions_valid', 'PackagedItem', 'weight'), ('PackagedItem_payload_object', 'PackagedItem', 'jsonb_typeof'), ('Material_code_normalized', 'Material', 'upper(btrim'), ('Hardware_code_normalized', 'Hardware', 'upper(btrim'), ('CommonComponent_code_normalized', 'CommonComponent', 'upper(btrim'), ('IntakeNonIntegratedProduct_spu_brand_normalized', 'IntakeNonIntegratedProduct', 'upper(btrim'), ('Product_modelNumber_normalized', 'Product', 'upper(btrim'), ('Product_name_not_blank', 'Product', 'name'), ('Product_visibility_allowed', 'Product', 'DEPARTMENT'), ('Product_optional_text_not_blank', 'Product', 'description'), ('ProductCollaborator_identity_not_blank', 'ProductCollaborator', 'productId'), ('ProductCollaborator_role_allowed', 'ProductCollaborator', 'viewer'), ('ProductCollaborator_addedBy_not_blank', 'ProductCollaborator', 'addedBy'), ('ShareLink_token_not_blank', 'ShareLink', 'token'), ('ShareLink_viewCount_non_negative', 'ShareLink', 'viewCount'), ('ShareLink_expiresAt_after_createdAt', 'ShareLink', 'expiresAt'), ('Panel_identity_dimensions_valid', 'Panel', 'gltfNodeName'), ('Panel_explosionDirection_allowed', 'Panel', 'explosionDirection'), ('Panel_assemblySemantic_object', 'Panel', 'assemblySemantic'), ('Panel_optional_text_not_blank', 'Panel', 'partType'), ('Hole_geometry_quality', 'Hole', 'normalX'), ('Hole_type_allowed', 'Hole', 'shelf_pin'), ('Hole_optional_text_not_blank', 'Hole', 'groupId'), ('ProductHardware_match_status_allowed', 'ProductHardware', 'unmatched'), ('ProductHardware_match_confidence_valid', 'ProductHardware', 'matchConfidence'), ('ProductHardware_match_method_allowed', 'ProductHardware', 'blockName'), ('ProductHardware_quantities_geometry_valid', 'ProductHardware', 'holeDistance'), ('ProductHardware_transform_object', 'ProductHardware', 'transform'), ('ProductHardware_sourceSignature_object', 'ProductHardware', 'sourceSignature'), ('ProductHardware_optional_text_not_blank', 'ProductHardware', 'sourceBlockName'), ('AssemblyStep_identity_order_valid', 'AssemblyStep', 'order'), ('AssemblyStep_type_allowed', 'AssemblyStep', 'hardware'), ('AssemblyStep_animation_valid', 'AssemblyStep', 'cameraTransition'), ('AssemblyStep_transform_object', 'AssemblyStep', 'transform'), ('AssemblyStep_cameraPosition_object', 'AssemblyStep', 'cameraPosition'), ('AssemblyStep_infoCardData_object', 'AssemblyStep', 'infoCardData'), ('AssemblyStep_optional_text_not_blank', 'AssemblyStep', 'description'), ('AssemblyVersion_snapshot_array', 'AssemblyVersion', 'snapshot'), ('AssemblyVersion_version_positive', 'AssemblyVersion', 'version'), ('AssemblyVersion_optional_text_not_blank', 'AssemblyVersion', 'createdBy'), ('ProductSKU_skuCode_normalized', 'ProductSKU', 'upper(btrim'), ('ProductSKU_active_skuCode_no_deleted_marker_ci', 'ProductSKU', 'lower'), ('AssetVariant_code_normalized', 'AssetVariant', 'upper(btrim'), ('AssetVariant_barcode_normalized', 'AssetVariant', 'upper(btrim'), ('AssetVariant_identity_valid', 'AssetVariant', 'identityKey'), ('AssetVariant_json_shape_valid', 'AssetVariant', 'mountPoints'), ('AssetVariant_cost_weight_valid', 'AssetVariant', 'estimatedCostPrice'), ('AssetVariant_lifecycle_state_valid', 'AssetVariant', 'PENDING_REVIEW'), ('AssetVariant_inheritance_not_self', 'AssetVariant', 'inheritedFromVariantId'), ('PreSku_identity_valid', 'PreSku', 'sourceCandidateKey'), ('PreSku_process_snapshots_shape_valid', 'PreSku', 'familySelection'), ('PreSku_weight_valid', 'PreSku', 'weightPreview'), ('PreSku_component_codes_valid', 'PreSku', 'componentCodes'), ('PreSku_optional_text_not_blank', 'PreSku', 'customName'), ('PreSkuBasicInfo_formalSkuCode_normalized', 'PreSkuBasicInfo', 'upper(btrim'), ('PreSkuBasicInfo_barcode_normalized', 'PreSkuBasicInfo', 'upper(btrim'), ('PreSkuBasicInfo_model_normalized', 'PreSkuBasicInfo', 'upper(btrim'), ('PreSkuBasicInfo_versionNo_normalized', 'PreSkuBasicInfo', 'upper(btrim'), ('PreSkuBasicInfo_attributeCode_normalized', 'PreSkuBasicInfo', 'upper(btrim'), ('PreSkuBasicInfo_drawingId_normalized', 'PreSkuBasicInfo', 'upper(btrim'), ('PreSkuBasicInfo_source_allowed', 'PreSkuBasicInfo', 'DRAFT_GROUP'), ('PreSkuBasicInfo_optional_text_not_blank', 'PreSkuBasicInfo', 'formalSkuCode'), ('AssetSkuSyncEvent_reason_allowed', 'AssetSkuSyncEvent', 'VARIANT_UPDATED'), ('AssetSkuSyncEvent_counts_non_negative', 'AssetSkuSyncEvent', 'retryCount'), ('AssetSkuSyncEvent_synced_not_over_affected', 'AssetSkuSyncEvent', 'syncedCount'), ('AssetSkuSyncEvent_completed_has_processed_at', 'AssetSkuSyncEvent', 'processedAt'), ('ProductSkuAssetProfile_barcode_normalized', 'ProductSkuAssetProfile', 'upper(btrim'), ('ProductSkuAssetProfile_model_normalized', 'ProductSkuAssetProfile', 'upper(btrim'), ('ProductSkuAssetProfile_specCode_normalized', 'ProductSkuAssetProfile', 'upper(btrim'), ('ProductSkuAssetProfile_primary_source_required', 'ProductSkuAssetProfile', 'primarySourceAssetVariantId'), ('ProductSkuAssetProfile_source_variant_ids_required', 'ProductSkuAssetProfile', 'sourceAssetVariantIds'), ('ProductSkuAssetProfile_primary_source_in_source_ids', 'ProductSkuAssetProfile', 'primarySourceAssetVariantId'), ('ProductSkuAssetProfile_optional_text_not_blank', 'ProductSkuAssetProfile', 'specCode'), ('ProductPatentRecord_patentGroupKey_normalized', 'ProductPatentRecord', 'upper(btrim'), ('ProductPatentRecord_productId_required', 'ProductPatentRecord', 'btrim'), ('ProductPatentRecord_applicationNo_normalized', 'ProductPatentRecord', 'upper(btrim'), ('ProductPatentRecord_patentNo_normalized', 'ProductPatentRecord', 'upper(btrim'), ('ProductPatentRecord_spu_normalized', 'ProductPatentRecord', 'upper(btrim'), ('ProductPatentRecord_patent_identity_required', 'ProductPatentRecord', 'patentName'), ('IntakeNonIntegratedSkuItem_skuCode_normalized', 'IntakeNonIntegratedSkuItem', 'upper(btrim'), ('IntakeNonIntegratedSkuItem_barcode_normalized', 'IntakeNonIntegratedSkuItem', 'upper(btrim'), ('ApprovalWorkflow_approvalNumber_normalized', 'ApprovalWorkflow', 'upper(btrim'), ('ApprovalWorkflow_title_not_blank', 'ApprovalWorkflow', 'title'), ('ApprovalWorkflow_productId_not_blank', 'ApprovalWorkflow', 'productId'), ('ApprovalWorkflow_accessKey_not_blank', 'ApprovalWorkflow', 'accessKey'), ('ApprovalWorkflow_participant_user_ids_valid', 'ApprovalWorkflow', 'text_array_distinct_non_blank'), ('ApprovalWorkflow_business_roles_distinct', 'ApprovalWorkflow', 'array_positions'), ('ApprovalWorkflow_fieldMatrix_array', 'ApprovalWorkflow', 'jsonb_typeof'), ('ApprovalWorkflow_summary_object', 'ApprovalWorkflow', 'jsonb_typeof'), ('ApprovalWorkflow_metadata_object', 'ApprovalWorkflow', 'jsonb_typeof'), ('ApprovalWorkflowFieldChange_fieldKey_not_blank', 'ApprovalWorkflowFieldChange', 'fieldKey'), ('ApprovalWorkflowFieldChange_source_not_blank', 'ApprovalWorkflowFieldChange', 'source'), ('ApprovalWorkflowFieldChange_optional_text_not_blank', 'ApprovalWorkflowFieldChange', 'sourcePage'), ('ApprovalWorkflowFieldChange_metadata_object', 'ApprovalWorkflowFieldChange', 'jsonb_typeof'), ('User_email_normalized', 'User', 'lower(btrim'), ('User_name_not_blank', 'User', 'btrim'), ('User_loginSource_not_blank', 'User', 'loginSource'), ('User_business_roles_distinct', 'User', 'array_positions'), ('User_optional_text_not_blank', 'User', 'dingtalkUserId'), ('Department_identity_not_blank', 'Department', 'fullPath'), ('Department_optional_text_not_blank', 'Department', 'externalId'), ('Department_orderIndex_non_negative', 'Department', 'orderIndex'), ('Team_identity_not_blank', 'Team', 'orderIndex'), ('EmployeeDirectory_name_not_blank', 'EmployeeDirectory', 'btrim'), ('EmployeeDirectory_optional_text_not_blank', 'EmployeeDirectory', 'primaryDepartmentExternalId'), ('EmployeeDirectory_email_normalized', 'EmployeeDirectory', 'lower(btrim'), ('EmployeeDirectory_departmentExternalIds_array', 'EmployeeDirectory', 'jsonb_typeof'), ('EmployeeDirectory_rawSnapshot_object', 'EmployeeDirectory', 'jsonb_typeof'), ('EmployeeLookupCache_identity_not_blank', 'EmployeeLookupCache', 'lookupValue'), ('EmployeeLookupCache_result_object', 'EmployeeLookupCache', 'jsonb_typeof'), ('ProductCategory_identity_valid', 'ProductCategory', 'sortOrder'), ('ProductCategory_optional_text_not_blank', 'ProductCategory', 'description'), ('MaterialCategory_identity_valid', 'MaterialCategory', 'sortOrder'), ('MaterialCategory_optional_text_not_blank', 'MaterialCategory', 'icon'), ('HardwareCategory_identity_valid', 'HardwareCategory', 'sortOrder'), ('HardwareCategory_optional_text_not_blank', 'HardwareCategory', 'description'), ('CommonComponentCategory_identity_valid', 'CommonComponentCategory', 'sortOrder'), ('CommonComponentCategory_optional_text_not_blank', 'CommonComponentCategory', 'description'), ('SubstrateCategory_identity_valid', 'SubstrateCategory', 'sortOrder'), ('SubstrateEnvironmentGrade_identity_valid', 'SubstrateEnvironmentGrade', 'sortOrder'), ('SubstrateSurfaceOption_identity_valid', 'SubstrateSurfaceOption', 'sortOrder'), ('SubstrateSystemNameOption_identity_valid', 'SubstrateSystemNameOption', 'sortOrder'), ('SubstrateThicknessSpec_identity_dimensions_valid', 'SubstrateThicknessSpec', 'thicknessMm'), ('HardwareMapping_match_key_exactly_one', 'HardwareMapping', 'signatureHash'), ('HardwareMapping_usage_source_valid', 'HardwareMapping', 'usageCount'), ('SubstrateFinish_relation_ids_not_blank', 'SubstrateFinish', 'substrateId'), ('PanelMaterial_relation_ids_not_blank', 'PanelMaterial', 'materialId'), ('AssetVariantLocationBinding_relation_ids_not_blank', 'AssetVariantLocationBinding', 'warehouseLocationId'), ('PreSkuLocationBinding_relation_ids_not_blank', 'PreSkuLocationBinding', 'warehouseLocationId'), ('PackagingPlan_identity_counts_valid', 'PackagingPlan', 'boxCount'), ('PackagingPlan_boxes_array', 'PackagingPlan', 'jsonb_typeof'), ('PackagingPlan_totals_valid', 'PackagingPlan', 'totalWeight'), ('PackagingPlan_optional_text_not_blank', 'PackagingPlan', 'description'), ('SystemConfig_key_valid', 'SystemConfig', 'btrim'), ('SystemConfig_description_not_blank', 'SystemConfig', 'description'), ('ProviderConfig_identity_valid', 'ProviderConfig', 'serviceType'), ('ProviderConfig_optional_fields_valid', 'ProviderConfig', 'jsonb_typeof'), ('ThemeConfig_identity_valid', 'ThemeConfig', 'createdBy'), ('ThemeConfig_optional_config_valid', 'ThemeConfig', 'homeBackground'), ('IntakeNodePermissionOverride_identity_valid', 'IntakeNodePermissionOverride', 'targetKey'), ('IntakeNodePermissionOverride_audit_text_not_blank', 'IntakeNodePermissionOverride', 'createdBy'), ('AssistedAssemblyAiRender_identity_valid', 'AssistedAssemblyAiRender', 'prompt'), ('AssistedAssemblyAiRender_json_shape_valid', 'AssistedAssemblyAiRender', 'workspaceSnapshot'), ('AssistedAssemblyAiRender_status_duration_valid', 'AssistedAssemblyAiRender', 'durationMs'), ('AssistedAssemblyAiRender_optional_text_not_blank', 'AssistedAssemblyAiRender', 'negativePrompt'), ('Feedback_identity_valid', 'Feedback', 'description'), ('Feedback_images_valid', 'Feedback', 'text_array_all_trimmed_non_blank'), ('Feedback_comments_array', 'Feedback', 'jsonb_typeof'), ('Feedback_resolution_state_valid', 'Feedback', 'resolvedAt'), ('ActivityLog_identity_valid', 'ActivityLog', 'action'), ('ActivityLog_target_pair_valid', 'ActivityLog', 'targetType'), ('ActivityLog_json_shape_valid', 'ActivityLog', 'metadata') ) SELECT 'missing_required_check_constraint_guard' AS check_name, guard.constraint_name, guard.table_name, pg_get_constraintdef(con.oid) AS actual_definition, guard.expression_hint AS expected_expression_hint FROM required_constraint_guards guard LEFT JOIN pg_constraint con ON con.conname = guard.constraint_name LEFT JOIN pg_class table_cls ON table_cls.oid = con.conrelid LEFT JOIN pg_namespace ns ON ns.oid = table_cls.relnamespace WHERE con.oid IS NULL OR con.contype <> 'c' OR ns.nspname <> 'public' OR table_cls.relname <> guard.table_name OR ( guard.expression_hint IS NOT NULL AND COALESCE(pg_get_constraintdef(con.oid), '') NOT LIKE '%' || guard.expression_hint || '%' ) ORDER BY guard.constraint_name; SELECT 'missing_required_trigger_guard' AS check_name, guard.trigger_name, guard.table_name FROM ( VALUES ('IntakeNonIntegratedProduct_soft_delete_cleanup_sku_items', 'IntakeNonIntegratedProduct'), ('ProductSKU_sync_asset_profile_deleted_at', 'ProductSKU') ) AS guard(trigger_name, table_name) WHERE NOT EXISTS ( SELECT 1 FROM information_schema.triggers WHERE trigger_schema = 'public' AND trigger_name = guard.trigger_name AND event_object_table = guard.table_name ); SELECT 'asset_series_duplicate_code_risk' AS check_name, code, COUNT(*)::integer AS duplicate_count FROM "AssetSeries" WHERE NULLIF(btrim(code), '') IS NOT NULL GROUP BY code HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, code; SELECT 'asset_family_duplicate_code_risk' AS check_name, code, COUNT(*)::integer AS duplicate_count FROM "AssetFamily" WHERE NULLIF(btrim(code), '') IS NOT NULL GROUP BY code HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, code; SELECT 'asset_variant_duplicate_code_risk' AS check_name, upper(btrim(code)) AS code, COUNT(*)::integer AS duplicate_count FROM "AssetVariant" WHERE NULLIF(btrim(code), '') IS NOT NULL GROUP BY upper(btrim(code)) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim(code)); SELECT 'asset_variant_duplicate_barcode_risk' AS check_name, upper(btrim(barcode)) AS barcode, COUNT(*)::integer AS duplicate_count FROM "AssetVariant" WHERE NULLIF(btrim(barcode), '') IS NOT NULL GROUP BY upper(btrim(barcode)) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim(barcode)); SELECT 'product_duplicate_model_number_risk' AS check_name, upper(btrim("modelNumber")) AS "modelNumber", COUNT(*)::integer AS duplicate_count FROM "Product" WHERE NULLIF(btrim("modelNumber"), '') IS NOT NULL GROUP BY upper(btrim("modelNumber")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim("modelNumber")); SELECT 'product_identity_visibility_risk' AS check_name, COUNT(*)::integer AS row_count FROM "Product" WHERE NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR visibility NOT IN ('PRIVATE', 'TEAM', 'DEPARTMENT', 'PUBLIC') OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL); SELECT 'product_collaborator_role_identity_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductCollaborator" WHERE NULLIF(btrim("productId"), '') IS NULL OR NULLIF(btrim("userId"), '') IS NULL OR role NOT IN ('editor', 'viewer') OR ("addedBy" IS NOT NULL AND NULLIF(btrim("addedBy"), '') IS NULL); SELECT 'product_sku_price_cost_stock_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductSKU" WHERE "price" < 0 OR ("costPrice" IS NOT NULL AND "costPrice" < 0) OR "stock" < 0; SELECT 'share_link_identity_counter_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ShareLink" WHERE NULLIF(btrim(token), '') IS NULL OR token <> btrim(token) OR "viewCount" < 0 OR ("expiresAt" IS NOT NULL AND "expiresAt" <= "createdAt"); SELECT 'panel_identity_dimension_risk' AS check_name, COUNT(*)::integer AS row_count FROM "Panel" WHERE NULLIF(btrim(code), '') IS NULL OR code <> upper(btrim(code)) OR NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR NULLIF(btrim("gltfNodeName"), '') IS NULL OR "gltfNodeName" <> btrim("gltfNodeName") OR length <= 0 OR width <= 0 OR thickness <= 0 OR COALESCE("installOrder", 0) < 0 OR ("partType" IS NOT NULL AND NULLIF(btrim("partType"), '') IS NULL) OR ("explosionDirection" IS NOT NULL AND "explosionDirection" NOT IN ('auto', 'up', 'down', 'left', 'right', 'front', 'back')) OR ("assemblySemantic" IS NOT NULL AND jsonb_typeof("assemblySemantic") NOT IN ('object', 'null')); SELECT 'panel_duplicate_code_scope_risk' AS check_name, "productId", COALESCE("skuId", '') AS "skuScope", upper(btrim(code)) AS code, COUNT(*)::integer AS duplicate_count FROM "Panel" GROUP BY "productId", COALESCE("skuId", ''), upper(btrim(code)) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, "productId", "skuScope", code; SELECT 'hole_geometry_quality_risk' AS check_name, COUNT(*)::integer AS row_count FROM "Hole" WHERE "positionX" IN ('Infinity'::float8, '-Infinity'::float8, 'NaN'::float8) OR "positionY" IN ('Infinity'::float8, '-Infinity'::float8, 'NaN'::float8) OR "positionZ" IN ('Infinity'::float8, '-Infinity'::float8, 'NaN'::float8) OR diameter <= 0 OR depth < 0 OR "normalX" IN ('Infinity'::float8, '-Infinity'::float8, 'NaN'::float8) OR "normalY" IN ('Infinity'::float8, '-Infinity'::float8, 'NaN'::float8) OR "normalZ" IN ('Infinity'::float8, '-Infinity'::float8, 'NaN'::float8) OR ("normalX" = 0 AND "normalY" = 0 AND "normalZ" = 0) OR confidence < 0 OR confidence > 1 OR ("holeType" IS NOT NULL AND "holeType" NOT IN ('hinge', 'connector', 'shelf_pin', 'screw', 'dowel', 'cable', 'unknown')) OR ("groupId" IS NOT NULL AND NULLIF(btrim("groupId"), '') IS NULL); SELECT 'product_hardware_quality_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductHardware" WHERE jsonb_typeof(transform) <> 'object' OR "matchStatus" NOT IN ('matched', 'pending', 'unmatched') OR ("matchConfidence" IS NOT NULL AND ("matchConfidence" < 0 OR "matchConfidence" > 1)) OR ("matchMethod" IS NOT NULL AND "matchMethod" NOT IN ('blockName', 'mapping', 'size', 'manual')) OR ("installOrder" IS NOT NULL AND "installOrder" < 0) OR ("holeDistance" IS NOT NULL AND "holeDistance" < 0) OR ("sourceSignature" IS NOT NULL AND jsonb_typeof("sourceSignature") NOT IN ('object', 'null')) OR ("sourceBlockName" IS NOT NULL AND NULLIF(btrim("sourceBlockName"), '') IS NULL) OR (notes IS NOT NULL AND NULLIF(btrim(notes), '') IS NULL) OR ("panelId" IS NOT NULL AND NULLIF(btrim("panelId"), '') IS NULL) OR ("connectedPanelId" IS NOT NULL AND NULLIF(btrim("connectedPanelId"), '') IS NULL) OR ("associatedHoleId" IS NOT NULL AND NULLIF(btrim("associatedHoleId"), '') IS NULL) OR ("parentHardwareId" IS NOT NULL AND NULLIF(btrim("parentHardwareId"), '') IS NULL); SELECT 'assembly_step_quality_risk' AS check_name, COUNT(*)::integer AS row_count FROM "AssemblyStep" WHERE "order" < 0 OR NULLIF(btrim(title), '') IS NULL OR title <> btrim(title) OR "stepType" NOT IN ('panel', 'hardware', 'custom') OR duration <= 0 OR NULLIF(btrim(easing), '') IS NULL OR "cameraTransition" NOT IN ('smooth', 'cut', 'orbit') OR jsonb_typeof(transform) <> 'object' OR ("cameraPosition" IS NOT NULL AND jsonb_typeof("cameraPosition") NOT IN ('object', 'null')) OR ("infoCardData" IS NOT NULL AND jsonb_typeof("infoCardData") NOT IN ('object', 'null')) OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) OR ("panelId" IS NOT NULL AND NULLIF(btrim("panelId"), '') IS NULL) OR EXISTS (SELECT 1 FROM unnest("hardwareIds") AS item WHERE NULLIF(btrim(item), '') IS NULL) OR cardinality("hardwareIds") <> (SELECT COUNT(DISTINCT btrim(item))::integer FROM unnest("hardwareIds") AS item) OR EXISTS (SELECT 1 FROM unnest("partIds") AS item WHERE NULLIF(btrim(item), '') IS NULL) OR cardinality("partIds") <> (SELECT COUNT(DISTINCT btrim(item))::integer FROM unnest("partIds") AS item); SELECT 'assembly_version_snapshot_risk' AS check_name, COUNT(*)::integer AS row_count FROM "AssemblyVersion" WHERE version <= 0 OR jsonb_typeof(snapshot) <> 'array' OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) OR ("createdBy" IS NOT NULL AND NULLIF(btrim("createdBy"), '') IS NULL); SELECT 'product_sku_duplicate_sku_code_risk' AS check_name, upper(btrim("skuCode")) AS "skuCode", COUNT(*)::integer AS duplicate_count FROM "ProductSKU" WHERE "deletedAt" IS NULL AND NULLIF(btrim("skuCode"), '') IS NOT NULL GROUP BY upper(btrim("skuCode")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim("skuCode")); SELECT 'product_sku_missing_name_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductSKU" sku JOIN "Product" product ON product."id" = sku."productId" WHERE sku."deletedAt" IS NULL AND product."deletedAt" IS NULL AND NULLIF(btrim(COALESCE(sku."name", '')), '') IS NULL; SELECT 'product_sku_formal_truth_attribute_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductSKU" WHERE attributes ?| ARRAY[ 'skuName', 'model', 'specCode', 'barcode', 'category', 'color', 'material', 'size' ]; SELECT 'draft_group_duplicate_code_risk' AS check_name, code, COUNT(*)::integer AS duplicate_count FROM "DraftGroup" WHERE NULLIF(btrim(code), '') IS NOT NULL GROUP BY code HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, code; SELECT 'draft_group_invalid_process_shape_risk' AS check_name, COUNT(*)::integer AS row_count FROM "DraftGroup" WHERE NULLIF(btrim(code), '') IS NULL OR code <> btrim(code) OR NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR jsonb_typeof(summary::jsonb) <> 'object' OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) OR (notes IS NOT NULL AND NULLIF(btrim(notes), '') IS NULL); SELECT 'pre_sku_duplicate_per_group_risk' AS check_name, "draftGroupId", sequence, COUNT(*)::integer AS duplicate_count FROM "PreSku" GROUP BY "draftGroupId", sequence HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, "draftGroupId", sequence; SELECT 'pre_sku_invalid_process_shape_risk' AS check_name, COUNT(*)::integer AS row_count FROM "PreSku" WHERE sequence <= 0 OR NULLIF(btrim("defaultName"), '') IS NULL OR "defaultName" <> btrim("defaultName") OR NULLIF(btrim("sourceCandidateKey"), '') IS NULL OR "sourceCandidateKey" <> btrim("sourceCandidateKey") OR jsonb_typeof("familySelection"::jsonb) <> 'object' OR jsonb_typeof("variantSelection"::jsonb) <> 'object' OR jsonb_typeof("previewNodes"::jsonb) <> 'array' OR jsonb_typeof("displaySummary"::jsonb) <> 'object' OR jsonb_typeof("bomPreview"::jsonb) <> 'array' OR ( "recommendedHardware" IS NOT NULL AND jsonb_typeof("recommendedHardware"::jsonb) NOT IN ('array', 'null') ) OR ( "explosionPreview" IS NOT NULL AND jsonb_typeof("explosionPreview"::jsonb) NOT IN ('array', 'null') ) OR jsonb_typeof("installStepPreview"::jsonb) <> 'array' OR ( "packagingSnapshot" IS NOT NULL AND jsonb_typeof("packagingSnapshot"::jsonb) NOT IN ('object', 'null') ) OR ("weightPreview" IS NOT NULL AND "weightPreview" < 0) OR EXISTS ( SELECT 1 FROM unnest("componentCodes") AS item WHERE NULLIF(btrim(item), '') IS NULL ) OR ("customName" IS NOT NULL AND NULLIF(btrim("customName"), '') IS NULL) OR (notes IS NOT NULL AND NULLIF(btrim(notes), '') IS NULL); SELECT 'pre_sku_formalization_lifecycle_mismatch_risk' AS check_name, COUNT(*)::integer AS row_count FROM ( SELECT pre_sku."id" FROM "PreSku" pre_sku LEFT JOIN "ProductSKU" sku ON sku."sourcePreSkuId" = pre_sku."id" WHERE pre_sku.status = 'FORMALIZED'::"PreSkuStatus" AND sku."id" IS NULL UNION ALL SELECT pre_sku."id" FROM "ProductSKU" sku JOIN "PreSku" pre_sku ON pre_sku."id" = sku."sourcePreSkuId" WHERE sku."deletedAt" IS NULL AND pre_sku.status <> 'FORMALIZED'::"PreSkuStatus" ) mismatches; SELECT 'asset_family_without_series_risk' AS check_name, COUNT(*)::integer AS row_count FROM "AssetFamily" WHERE "assetSeriesId" IS NULL; SELECT 'asset_variant_without_model_url_risk' AS check_name, COUNT(*)::integer AS row_count FROM "AssetVariant" WHERE NULLIF(btrim("modelUrl"), '') IS NULL; SELECT 'product_sku_without_asset_profile_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductSKU" sku JOIN "Product" product ON product."id" = sku."productId" LEFT JOIN "ProductSkuAssetProfile" profile ON profile."skuId" = sku."id" WHERE sku."deletedAt" IS NULL AND product."deletedAt" IS NULL AND jsonb_typeof(sku.attributes::jsonb -> 'assetSkuSnapshot') = 'object' AND profile."id" IS NULL; SELECT 'product_sku_asset_profile_snapshot_sync_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductSKU" sku JOIN "Product" product ON product."id" = sku."productId" JOIN "ProductSkuAssetProfile" profile ON profile."skuId" = sku."id" WHERE sku."deletedAt" IS NULL AND product."deletedAt" IS NULL AND jsonb_typeof(sku.attributes::jsonb -> 'assetSkuSnapshot') = 'object' AND ( COALESCE(profile."model", '') IS DISTINCT FROM COALESCE(sku.attributes::jsonb -> 'assetSkuSnapshot' ->> 'model', '') OR COALESCE(profile."specCode", '') IS DISTINCT FROM COALESCE(sku.attributes::jsonb -> 'assetSkuSnapshot' ->> 'specCode', '') OR COALESCE(profile."barcode", '') IS DISTINCT FROM COALESCE(sku.attributes::jsonb -> 'assetSkuSnapshot' ->> 'barcode', '') OR COALESCE(profile."imageUrl", '') IS DISTINCT FROM COALESCE(sku.attributes::jsonb -> 'assetSkuSnapshot' ->> 'imageUrl', '') ); SELECT 'product_sku_profile_duplicate_barcode_risk' AS check_name, upper(btrim(profile."barcode")) AS barcode, COUNT(*)::integer AS duplicate_count FROM "ProductSkuAssetProfile" profile JOIN "ProductSKU" sku ON sku."id" = profile."skuId" JOIN "Product" product ON product."id" = sku."productId" WHERE sku."deletedAt" IS NULL AND product."deletedAt" IS NULL AND profile."sourceStatus" = 'ACTIVE' AND NULLIF(btrim(COALESCE(profile."barcode", '')), '') IS NOT NULL GROUP BY upper(btrim(profile."barcode")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, barcode; SELECT 'product_sku_asset_profile_source_id_mismatch_risk' AS check_name, COUNT(*)::integer AS row_count FROM "ProductSKU" sku JOIN "Product" product ON product."id" = sku."productId" JOIN "ProductSkuAssetProfile" profile ON profile."skuId" = sku."id" WHERE sku."deletedAt" IS NULL AND product."deletedAt" IS NULL AND NULLIF(btrim(COALESCE(sku."sourceAssetVariantId", '')), '') IS NOT NULL AND NULLIF(btrim(COALESCE(profile."primarySourceAssetVariantId", '')), '') IS NOT NULL AND sku."sourceAssetVariantId" IS DISTINCT FROM profile."primarySourceAssetVariantId"; SELECT 'pre_sku_missing_truth_snapshot_risk' AS check_name, COUNT(*)::integer AS row_count FROM "PreSku" WHERE "familySelection" IS NULL OR "variantSelection" IS NULL OR "displaySummary" IS NULL OR "bomPreview" IS NULL; SELECT 'pre_sku_missing_basic_info_risk' AS check_name, COUNT(*)::integer AS row_count FROM "PreSku" pre_sku LEFT JOIN "PreSkuBasicInfo" basic_info ON basic_info."preSkuId" = pre_sku."id" WHERE basic_info."id" IS NULL AND ( NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'model', pre_sku."familySelection"::jsonb ->> 'model', '')), '') IS NOT NULL OR NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'formalSkuCode', pre_sku."familySelection"::jsonb ->> 'formalSkuCode', '')), '') IS NOT NULL OR NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'barcode', pre_sku."familySelection"::jsonb ->> 'barcode', '')), '') IS NOT NULL OR NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'specName', pre_sku."familySelection"::jsonb ->> 'specName', '')), '') IS NOT NULL ); SELECT 'pre_sku_basic_info_snapshot_sync_risk' AS check_name, COUNT(*)::integer AS row_count FROM "PreSku" pre_sku JOIN "PreSkuBasicInfo" basic_info ON basic_info."preSkuId" = pre_sku."id" WHERE COALESCE(basic_info."model", '') IS DISTINCT FROM COALESCE(NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'model', pre_sku."familySelection"::jsonb ->> 'model', '')), ''), '') OR COALESCE(basic_info."formalSkuCode", '') IS DISTINCT FROM COALESCE(NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'formalSkuCode', pre_sku."familySelection"::jsonb ->> 'formalSkuCode', '')), ''), '') OR COALESCE(basic_info."barcode", '') IS DISTINCT FROM COALESCE(NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'barcode', pre_sku."familySelection"::jsonb ->> 'barcode', '')), ''), '') OR COALESCE(basic_info."specName", '') IS DISTINCT FROM COALESCE(NULLIF(btrim(COALESCE(pre_sku."displaySummary"::jsonb ->> 'specName', pre_sku."familySelection"::jsonb ->> 'specName', '')), ''), ''); SELECT 'pre_sku_duplicate_formal_sku_code_risk' AS check_name, upper(btrim(basic_info."formalSkuCode")) AS "formalSkuCode", COUNT(*)::integer AS duplicate_count FROM "PreSkuBasicInfo" basic_info JOIN "PreSku" pre_sku ON pre_sku."id" = basic_info."preSkuId" WHERE pre_sku."status" <> 'ARCHIVED' AND NULLIF(btrim(basic_info."formalSkuCode"), '') IS NOT NULL GROUP BY upper(btrim(basic_info."formalSkuCode")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim(basic_info."formalSkuCode")); SELECT 'pre_sku_duplicate_barcode_risk' AS check_name, upper(btrim(basic_info."barcode")) AS "barcode", COUNT(*)::integer AS duplicate_count FROM "PreSkuBasicInfo" basic_info JOIN "PreSku" pre_sku ON pre_sku."id" = basic_info."preSkuId" WHERE pre_sku."status" <> 'ARCHIVED' AND NULLIF(btrim(basic_info."barcode"), '') IS NOT NULL GROUP BY upper(btrim(basic_info."barcode")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim(basic_info."barcode")); SELECT 'intake_non_integrated_missing_product_profile_risk' AS check_name, COUNT(*)::integer AS row_count FROM "IntakeNonIntegratedProduct" product LEFT JOIN "IntakeNonIntegratedProductProfile" profile ON profile."productId" = product."id" WHERE product."deletedAt" IS NULL AND profile."id" IS NULL; SELECT 'intake_non_integrated_product_profile_quality_risk' AS check_name, COUNT(*) FILTER (WHERE NULLIF(btrim(profile."productName"), '') IS NULL)::integer AS missing_product_name_count, COUNT(*) FILTER (WHERE NULLIF(btrim(profile."productCategory"), '') IS NULL)::integer AS missing_product_category_count, COUNT(*) FILTER (WHERE NULLIF(btrim(profile."productDevelopmentKind"), '') IS NULL)::integer AS missing_development_kind_count FROM "IntakeNonIntegratedProduct" product JOIN "IntakeNonIntegratedProductProfile" profile ON profile."productId" = product."id" WHERE product."deletedAt" IS NULL; SELECT 'intake_non_integrated_product_profile_quality_sample' AS check_name, product."id", product."spu", profile."productName", profile."productCategory", profile."productDevelopmentKind", ARRAY_REMOVE(ARRAY[ CASE WHEN NULLIF(btrim(profile."productName"), '') IS NULL THEN 'productName' END, CASE WHEN NULLIF(btrim(profile."productCategory"), '') IS NULL THEN 'productCategory' END, CASE WHEN NULLIF(btrim(profile."productDevelopmentKind"), '') IS NULL THEN 'productDevelopmentKind' END ], NULL) AS "missingFields" FROM "IntakeNonIntegratedProduct" product JOIN "IntakeNonIntegratedProductProfile" profile ON profile."productId" = product."id" WHERE product."deletedAt" IS NULL AND ( NULLIF(btrim(profile."productName"), '') IS NULL OR NULLIF(btrim(profile."productCategory"), '') IS NULL OR NULLIF(btrim(profile."productDevelopmentKind"), '') IS NULL ) ORDER BY product."spu", product."id" LIMIT 20; WITH payload_profile AS ( SELECT product."id" AS product_id, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'productName'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'previewImageName'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'spu'), ''), '') AS product_name, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'productImage'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'previewImage'), ''), '') AS product_image_url, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'productCategory'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'productCategory'), ''), '') AS product_category, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'salesCategory'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'salesCategory'), ''), '') AS sales_category, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'year'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'year'), ''), '') AS product_year, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'currentStage'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'projectStatus'), ''), '') AS product_status, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'productDevelopmentKind'), ''), '') AS product_development_kind, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'goodsType'), ''), '') AS goods_type, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'materialType'), ''), '') AS material_type, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'productionType'), ''), '') AS production_type, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'size'), ''), NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'size'), ''), '') AS size, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'color'), ''), '') AS color, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'tagMaterial'), ''), '') AS tag_material, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'priceBand'), ''), NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'targetPriceBand'), ''), '') AS price_band, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'demandFlowNo'), ''), '') AS demand_flow_no, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'processTemplate'), ''), '') AS process_template, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'productPlanning'), ''), NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'planningOwner'), ''), '') AS product_planning, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'brandPlanning'), ''), '') AS brand_planning, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'demandDepartment'), ''), '') AS demand_department, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'spuOwner'), ''), '') AS spu_owner, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'operationsOwner'), ''), '') AS operations_owner, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'purchaseOwner'), ''), NULLIF(btrim(product."payload"::jsonb ->> 'purchaser'), ''), '') AS purchase_owner, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'visualDirector'), ''), '') AS visual_director, COALESCE(NULLIF(btrim(product."payload"::jsonb ->> 'visualPlanning'), ''), '') AS visual_planning, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'openingReference' ->> 'structureDesigner'), ''), '') AS structure_designer FROM "IntakeNonIntegratedProduct" product WHERE product."deletedAt" IS NULL ) SELECT 'intake_non_integrated_product_profile_payload_sync_risk' AS check_name, COUNT(*)::integer AS row_count FROM payload_profile payload JOIN "IntakeNonIntegratedProductProfile" profile ON profile."productId" = payload.product_id WHERE COALESCE(profile."productName", '') IS DISTINCT FROM payload.product_name OR COALESCE(profile."productImageUrl", '') IS DISTINCT FROM payload.product_image_url OR COALESCE(profile."productCategory", '') IS DISTINCT FROM payload.product_category OR COALESCE(profile."salesCategory", '') IS DISTINCT FROM payload.sales_category OR COALESCE(profile."productYear", '') IS DISTINCT FROM payload.product_year OR COALESCE(profile."productStatus", '') IS DISTINCT FROM payload.product_status OR COALESCE(profile."productDevelopmentKind", '') IS DISTINCT FROM payload.product_development_kind OR COALESCE(profile."goodsType", '') IS DISTINCT FROM payload.goods_type OR COALESCE(profile."materialType", '') IS DISTINCT FROM payload.material_type OR COALESCE(profile."productionType", '') IS DISTINCT FROM payload.production_type OR COALESCE(profile."size", '') IS DISTINCT FROM payload.size OR COALESCE(profile."color", '') IS DISTINCT FROM payload.color OR COALESCE(profile."tagMaterial", '') IS DISTINCT FROM payload.tag_material OR COALESCE(profile."priceBand", '') IS DISTINCT FROM payload.price_band OR COALESCE(profile."demandFlowNo", '') IS DISTINCT FROM payload.demand_flow_no OR COALESCE(profile."processTemplate", '') IS DISTINCT FROM payload.process_template OR COALESCE(profile."productPlanning", '') IS DISTINCT FROM payload.product_planning OR COALESCE(profile."brandPlanning", '') IS DISTINCT FROM payload.brand_planning OR COALESCE(profile."demandDepartment", '') IS DISTINCT FROM payload.demand_department OR COALESCE(profile."spuOwner", '') IS DISTINCT FROM payload.spu_owner OR COALESCE(profile."operationsOwner", '') IS DISTINCT FROM payload.operations_owner OR COALESCE(profile."purchaseOwner", '') IS DISTINCT FROM payload.purchase_owner OR COALESCE(profile."visualDirector", '') IS DISTINCT FROM payload.visual_director OR COALESCE(profile."visualPlanning", '') IS DISTINCT FROM payload.visual_planning OR COALESCE(profile."structureDesigner", '') IS DISTINCT FROM payload.structure_designer; WITH payload_stock_source AS ( SELECT product."id" AS product_id, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceSpu'), ''), '') AS source_spu, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceSkuId'), ''), '') AS source_sku_id, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceCategory'), ''), '') AS source_category, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceItemType'), ''), '') AS source_item_type, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceSalesStatus'), ''), '') AS source_sales_status, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceEnabled'), ''), '') AS source_enabled, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceStockDisabled'), ''), '') AS source_stock_disabled, CASE WHEN jsonb_typeof(product."payload"::jsonb -> 'skuItems') = 'array' THEN jsonb_array_length(product."payload"::jsonb -> 'skuItems') ELSE 0 END AS stock_sku_count, COALESCE(NULLIF(btrim(product."payload"::jsonb -> 'metadata' ->> 'sourceSalesStatus'), ''), '') = '销售' AS stock_has_on_sale_sku FROM "IntakeNonIntegratedProduct" product WHERE product."deletedAt" IS NULL ) SELECT 'intake_non_integrated_stock_source_profile_sync_risk' AS check_name, COUNT(*)::integer AS row_count FROM payload_stock_source payload JOIN "IntakeNonIntegratedProductProfile" profile ON profile."productId" = payload.product_id WHERE COALESCE(profile."sourceSpu", '') IS DISTINCT FROM payload.source_spu OR COALESCE(profile."sourceSkuId", '') IS DISTINCT FROM payload.source_sku_id OR COALESCE(profile."sourceCategory", '') IS DISTINCT FROM payload.source_category OR COALESCE(profile."sourceItemType", '') IS DISTINCT FROM payload.source_item_type OR COALESCE(profile."sourceSalesStatus", '') IS DISTINCT FROM payload.source_sales_status OR COALESCE(profile."sourceEnabled", '') IS DISTINCT FROM payload.source_enabled OR COALESCE(profile."sourceStockDisabled", '') IS DISTINCT FROM payload.source_stock_disabled OR COALESCE(profile."stockSkuCount", 0) IS DISTINCT FROM payload.stock_sku_count OR COALESCE(profile."stockHasOnSaleSku", false) IS DISTINCT FROM payload.stock_has_on_sale_sku; SELECT 'intake_non_integrated_duplicate_sku_code_risk' AS check_name, upper(btrim(sku."skuCode")) AS "skuCode", COUNT(*)::integer AS duplicate_count FROM "IntakeNonIntegratedSkuItem" sku JOIN "IntakeNonIntegratedProduct" product ON product."id" = sku."productId" WHERE product."deletedAt" IS NULL AND sku."dataQualityStatus" = 'READY' AND NULLIF(btrim(sku."skuCode"), '') IS NOT NULL GROUP BY upper(btrim(sku."skuCode")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim(sku."skuCode")); SELECT 'intake_non_integrated_duplicate_barcode_risk' AS check_name, upper(btrim(sku."barcode")) AS "barcode", COUNT(*)::integer AS duplicate_count FROM "IntakeNonIntegratedSkuItem" sku JOIN "IntakeNonIntegratedProduct" product ON product."id" = sku."productId" WHERE product."deletedAt" IS NULL AND sku."dataQualityStatus" = 'READY' AND NULLIF(btrim(sku."barcode"), '') IS NOT NULL GROUP BY upper(btrim(sku."barcode")) HAVING COUNT(*) > 1 ORDER BY duplicate_count DESC, upper(btrim(sku."barcode")); SELECT 'intake_non_integrated_conflict_sku_risk' AS check_name, COUNT(*)::integer AS row_count FROM "IntakeNonIntegratedSkuItem" sku JOIN "IntakeNonIntegratedProduct" product ON product."id" = sku."productId" WHERE product."deletedAt" IS NULL AND sku."dataQualityStatus" = 'CONFLICT'; SELECT 'intake_non_integrated_incomplete_sku_risk' AS check_name, COUNT(*)::integer AS row_count FROM "IntakeNonIntegratedSkuItem" sku JOIN "IntakeNonIntegratedProduct" product ON product."id" = sku."productId" WHERE product."deletedAt" IS NULL AND sku."dataQualityStatus" = 'INCOMPLETE'; SELECT 'intake_non_integrated_incomplete_sku_sample' AS check_name, sku."id", sku."productId", product."spu", sku."skuItemId", sku."skuCode", sku."specName", sku."model", sku."barcode", sku."missingRequiredFields" FROM "IntakeNonIntegratedSkuItem" sku JOIN "IntakeNonIntegratedProduct" product ON product."id" = sku."productId" WHERE product."deletedAt" IS NULL AND sku."dataQualityStatus" = 'INCOMPLETE' ORDER BY product."spu", sku."sortOrder", sku."id" LIMIT 20; SELECT 'approval_workflow_identity_quality_risk' AS check_name, COUNT(*)::integer AS total_count, COUNT(*) FILTER ( WHERE NULLIF(btrim("approvalNumber"), '') IS NULL OR "approvalNumber" <> upper(btrim("approvalNumber")) )::integer AS invalid_approval_number_count, COUNT(*) FILTER (WHERE NULLIF(btrim("title"), '') IS NULL)::integer AS missing_title_count, COUNT(*) FILTER (WHERE NULLIF(btrim("productId"), '') IS NULL)::integer AS missing_product_id_count, COUNT(*) FILTER (WHERE NULLIF(btrim("accessKey"), '') IS NULL)::integer AS missing_access_key_count, COUNT(*) FILTER ( WHERE EXISTS ( SELECT 1 FROM unnest("participantUserIds") AS participant_id WHERE NULLIF(btrim(participant_id), '') IS NULL ) OR cardinality("participantUserIds") <> ( SELECT COUNT(DISTINCT participant_id)::integer FROM unnest("participantUserIds") AS participant_id ) )::integer AS invalid_participant_user_ids_count FROM "ApprovalWorkflow"; SELECT 'approval_workflow_json_shape_risk' AS check_name, COUNT(*) FILTER ( WHERE "fieldMatrix" IS NOT NULL AND jsonb_typeof("fieldMatrix") NOT IN ('array', 'null') )::integer AS invalid_field_matrix_count, COUNT(*) FILTER ( WHERE "summary" IS NOT NULL AND jsonb_typeof("summary") NOT IN ('object', 'null') )::integer AS invalid_summary_count, COUNT(*) FILTER ( WHERE "metadata" IS NOT NULL AND jsonb_typeof("metadata") NOT IN ('object', 'null') )::integer AS invalid_metadata_count FROM "ApprovalWorkflow"; SELECT 'approval_workflow_field_change_quality_risk' AS check_name, COUNT(*)::integer AS total_count, COUNT(*) FILTER (WHERE NULLIF(btrim("fieldKey"), '') IS NULL)::integer AS missing_field_key_count, COUNT(*) FILTER (WHERE NULLIF(btrim("source"), '') IS NULL)::integer AS missing_source_count, COUNT(*) FILTER ( WHERE "sourcePage" IS NOT NULL AND NULLIF(btrim("sourcePage"), '') IS NULL )::integer AS blank_source_page_count, COUNT(*) FILTER ( WHERE "metadata" IS NOT NULL AND jsonb_typeof("metadata") NOT IN ('object', 'null') )::integer AS invalid_metadata_count FROM "ApprovalWorkflowFieldChange"; SELECT 'product_patent_record_quality_risk' AS check_name, COUNT(*)::integer AS total_count, COUNT(*) FILTER (WHERE NULLIF(btrim("productId"), '') IS NULL)::integer AS missing_product_id_count, COUNT(*) FILTER (WHERE NULLIF(btrim("patentGroupKey"), '') IS NULL)::integer AS missing_group_key_count, COUNT(*) FILTER ( WHERE NULLIF(btrim("patentName"), '') IS NULL AND NULLIF(btrim("patentNo"), '') IS NULL AND NULLIF(btrim("applicationNo"), '') IS NULL )::integer AS missing_patent_identity_count FROM "ProductPatentRecord"; WITH payload_sku_items AS ( SELECT p."id" AS product_id, item.sku_item, item.ordinality::integer AS sort_order, COALESCE(NULLIF(btrim(item.sku_item ->> 'id'), ''), 'sku-' || item.ordinality::text) AS raw_sku_item_id FROM "IntakeNonIntegratedProduct" p CROSS JOIN LATERAL jsonb_array_elements( CASE WHEN jsonb_typeof(p."payload"::jsonb -> 'skuItems') = 'array' THEN p."payload"::jsonb -> 'skuItems' ELSE '[]'::jsonb END ) WITH ORDINALITY AS item(sku_item, ordinality) WHERE p."deletedAt" IS NULL ), deduped_payload_sku_items AS ( SELECT payload_sku_items.*, CASE WHEN COUNT(*) OVER (PARTITION BY product_id, raw_sku_item_id) = 1 THEN raw_sku_item_id ELSE raw_sku_item_id || '-' || ROW_NUMBER() OVER ( PARTITION BY product_id, raw_sku_item_id ORDER BY sort_order )::text END AS sku_item_id FROM payload_sku_items ), payload_snapshot AS ( SELECT product_id, sku_item_id, sort_order, COALESCE(sku_item ->> 'skuCode', '') AS sku_code, COALESCE(sku_item ->> 'specName', '') AS spec_name, COALESCE(sku_item ->> 'model', '') AS model, COALESCE(sku_item ->> 'barcode', '') AS barcode FROM deduped_payload_sku_items ), structured_snapshot AS ( SELECT sku."productId" AS product_id, sku."skuItemId" AS sku_item_id, sku."sortOrder" AS sort_order, sku."skuCode" AS sku_code, sku."specName" AS spec_name, sku."model" AS model, sku."barcode" AS barcode FROM "IntakeNonIntegratedSkuItem" sku JOIN "IntakeNonIntegratedProduct" product ON product."id" = sku."productId" WHERE product."deletedAt" IS NULL ) SELECT 'intake_non_integrated_sku_payload_sync_risk' AS check_name, COUNT(*)::integer AS row_count FROM payload_snapshot payload FULL JOIN structured_snapshot structured ON structured.product_id = payload.product_id AND structured.sku_item_id = payload.sku_item_id WHERE payload.product_id IS NULL OR structured.product_id IS NULL OR payload.sort_order IS DISTINCT FROM structured.sort_order OR payload.sku_code IS DISTINCT FROM structured.sku_code OR payload.spec_name IS DISTINCT FROM structured.spec_name OR payload.model IS DISTINCT FROM structured.model OR payload.barcode IS DISTINCT FROM structured.barcode; WITH reference_option_rows AS ( SELECT 'ProductCategory' AS table_name, name, "sortOrder", description, icon FROM "ProductCategory" UNION ALL SELECT 'MaterialCategory', name, "sortOrder", NULL::text AS description, icon FROM "MaterialCategory" UNION ALL SELECT 'HardwareCategory', name, "sortOrder", description, icon FROM "HardwareCategory" UNION ALL SELECT 'CommonComponentCategory', name, "sortOrder", description, icon FROM "CommonComponentCategory" UNION ALL SELECT 'SubstrateCategory', name, "sortOrder", NULL::text AS description, NULL::text AS icon FROM "SubstrateCategory" UNION ALL SELECT 'SubstrateEnvironmentGrade', name, "sortOrder", NULL::text AS description, NULL::text AS icon FROM "SubstrateEnvironmentGrade" UNION ALL SELECT 'SubstrateSurfaceOption', name, "sortOrder", NULL::text AS description, NULL::text AS icon FROM "SubstrateSurfaceOption" UNION ALL SELECT 'SubstrateSystemNameOption', name, "sortOrder", NULL::text AS description, NULL::text AS icon FROM "SubstrateSystemNameOption" ), duplicate_reference_option_names AS ( SELECT table_name, lower(btrim(name)) AS normalized_name FROM reference_option_rows GROUP BY table_name, lower(btrim(name)) HAVING COUNT(*) > 1 ) SELECT 'reference_option_quality_risk' AS check_name, COUNT(*)::integer AS identity_risk_count, (SELECT COUNT(*)::integer FROM duplicate_reference_option_names) AS duplicate_normalized_name_count FROM reference_option_rows WHERE NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR "sortOrder" < 0 OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) OR (icon IS NOT NULL AND NULLIF(btrim(icon), '') IS NULL); SELECT 'substrate_thickness_spec_quality_risk' AS check_name, COUNT(*)::integer AS row_count FROM "SubstrateThicknessSpec" WHERE NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR "sortOrder" < 0 OR "thicknessMm" <= 0 OR "sheetLengthMm" <= 0 OR "sheetWidthMm" <= 0; SELECT 'hardware_mapping_quality_risk' AS check_name, COUNT(*)::integer AS row_count FROM "HardwareMapping" WHERE ( CASE WHEN NULLIF(btrim(COALESCE("blockName", '')), '') IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN NULLIF(btrim(COALESCE("signatureHash", '')), '') IS NOT NULL THEN 1 ELSE 0 END ) <> 1 OR "usageCount" < 0 OR NULLIF(btrim("createdBy"), '') IS NULL OR "createdBy" <> btrim("createdBy"); SELECT 'location_and_material_binding_quality_risk' AS check_name, ( SELECT COUNT(*)::integer FROM "SubstrateFinish" WHERE NULLIF(btrim("substrateId"), '') IS NULL OR NULLIF(btrim("finishId"), '') IS NULL ) AS substrate_finish_risk_count, ( SELECT COUNT(*)::integer FROM "PanelMaterial" WHERE NULLIF(btrim("panelId"), '') IS NULL OR NULLIF(btrim("materialId"), '') IS NULL ) AS panel_material_risk_count, ( SELECT COUNT(*)::integer FROM "AssetVariantLocationBinding" WHERE NULLIF(btrim("assetVariantId"), '') IS NULL OR NULLIF(btrim("warehouseLocationId"), '') IS NULL ) AS asset_variant_location_risk_count, ( SELECT COUNT(*)::integer FROM "PreSkuLocationBinding" WHERE NULLIF(btrim("preSkuId"), '') IS NULL OR NULLIF(btrim("warehouseLocationId"), '') IS NULL ) AS pre_sku_location_risk_count; SELECT 'legacy_packaging_plan_quality_risk' AS check_name, COUNT(*)::integer AS row_count FROM "PackagingPlan" WHERE NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR "boxCount" <= 0 OR jsonb_typeof(boxes) <> 'array' OR ("totalWeight" IS NOT NULL AND "totalWeight" < 0) OR ("totalVolume" IS NOT NULL AND "totalVolume" < 0) OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) OR (notes IS NOT NULL AND NULLIF(btrim(notes), '') IS NULL); SELECT 'config_audit_permission_quality_risk' AS check_name, ( SELECT COUNT(*)::integer FROM "SystemConfig" WHERE NULLIF(btrim(key), '') IS NULL OR key <> btrim(key) OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) ) AS system_config_risk_count, ( SELECT COUNT(*)::integer FROM "ProviderConfig" WHERE NULLIF(btrim("serviceType"), '') IS NULL OR "serviceType" <> btrim("serviceType") OR NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR NULLIF(btrim("baseUrl"), '') IS NULL OR "baseUrl" <> regexp_replace(btrim("baseUrl"), '/+$', '') OR NULLIF(btrim("apiKey"), '') IS NULL OR "apiKey" <> btrim("apiKey") OR "sortOrder" < 0 OR (model IS NOT NULL AND NULLIF(btrim(model), '') IS NULL) OR (extra IS NOT NULL AND jsonb_typeof(extra) <> 'object') ) AS provider_config_risk_count, ( SELECT COUNT(*)::integer FROM ( SELECT "serviceType" FROM "ProviderConfig" WHERE "isActive" = true GROUP BY "serviceType" HAVING COUNT(*) > 1 ) duplicated_active ) AS provider_active_conflict_count, ( SELECT COUNT(*)::integer FROM "ThemeConfig" WHERE NULLIF(btrim(name), '') IS NULL OR name <> btrim(name) OR NULLIF(btrim("createdBy"), '') IS NULL OR "createdBy" <> btrim("createdBy") OR (description IS NOT NULL AND NULLIF(btrim(description), '') IS NULL) OR ("startDate" IS NOT NULL AND "endDate" IS NOT NULL AND "startDate" >= "endDate") OR ("homeBackground" IS NOT NULL AND jsonb_typeof("homeBackground") <> 'object') OR ("loginPanel" IS NOT NULL AND jsonb_typeof("loginPanel") <> 'object') ) AS theme_config_risk_count, ( SELECT COUNT(*)::integer FROM "IntakeNodePermissionOverride" WHERE NULLIF(btrim("targetKey"), '') IS NULL OR "targetKey" <> btrim("targetKey") OR NULLIF(btrim("subjectKey"), '') IS NULL OR "subjectKey" <> btrim("subjectKey") OR NULLIF(btrim(action), '') IS NULL OR action <> btrim(action) OR ("createdBy" IS NOT NULL AND NULLIF(btrim("createdBy"), '') IS NULL) OR ("updatedBy" IS NOT NULL AND NULLIF(btrim("updatedBy"), '') IS NULL) ) AS permission_override_risk_count, ( SELECT COUNT(*)::integer FROM "AssistedAssemblyAiRender" WHERE NULLIF(btrim("createdBy"), '') IS NULL OR "createdBy" <> btrim("createdBy") OR NULLIF(btrim(prompt), '') IS NULL OR prompt <> btrim(prompt) OR jsonb_typeof(params) <> 'object' OR jsonb_typeof("resultImages") <> 'array' OR jsonb_typeof("workspaceSnapshot") <> 'object' OR jsonb_typeof("assetSnapshot") <> 'object' OR ("attempts" IS NOT NULL AND jsonb_typeof("attempts") <> 'array') OR ("durationMs" IS NOT NULL AND "durationMs" < 0) OR ("negativePrompt" IS NOT NULL AND NULLIF(btrim("negativePrompt"), '') IS NULL) OR ("referenceImageUrl" IS NOT NULL AND NULLIF(btrim("referenceImageUrl"), '') IS NULL) OR ("externalRequestId" IS NOT NULL AND NULLIF(btrim("externalRequestId"), '') IS NULL) OR ("errorMessage" IS NOT NULL AND NULLIF(btrim("errorMessage"), '') IS NULL) OR (status = 'SUCCEEDED' AND jsonb_array_length("resultImages") = 0) OR (status = 'FAILED' AND NULLIF(btrim(COALESCE("errorMessage", '')), '') IS NULL) ) AS ai_render_risk_count, ( SELECT COUNT(*)::integer FROM "Feedback" WHERE NULLIF(btrim(title), '') IS NULL OR title <> btrim(title) OR NULLIF(btrim(description), '') IS NULL OR description <> btrim(description) OR NULLIF(btrim(category), '') IS NULL OR category <> btrim(category) OR array_position(images, '') IS NOT NULL OR EXISTS (SELECT 1 FROM unnest(images) AS image WHERE NULLIF(btrim(image), '') IS NULL OR image <> btrim(image)) OR ("comments" IS NOT NULL AND jsonb_typeof("comments") <> 'array') OR (resolution IS NOT NULL AND NULLIF(btrim(resolution), '') IS NULL) OR (status = 'RESOLVED' AND ("resolvedAt" IS NULL OR NULLIF(btrim(COALESCE(resolution, '')), '') IS NULL)) ) AS feedback_risk_count, ( SELECT COUNT(*)::integer FROM "ActivityLog" WHERE NULLIF(btrim("userId"), '') IS NULL OR "userId" <> btrim("userId") OR NULLIF(btrim(action), '') IS NULL OR action <> btrim(action) OR (("targetType" IS NULL) <> ("targetId" IS NULL)) OR ("targetType" IS NOT NULL AND NULLIF(btrim("targetType"), '') IS NULL) OR ("targetId" IS NOT NULL AND NULLIF(btrim("targetId"), '') IS NULL) OR ("changes" IS NOT NULL AND jsonb_typeof("changes") <> 'object') OR ("metadata" IS NOT NULL AND jsonb_typeof("metadata") <> 'object') ) AS activity_log_risk_count;