From 0933baff387d122e86610eb92b639bd8f5ec07f5 Mon Sep 17 00:00:00 2001 From: Sriharsha Chintalapani Date: Thu, 10 Sep 2026 12:04:21 -0700 Subject: [PATCH 1/3] Fixes #33165: Unify onboarding and intake forms Share staged field requirements and workflow approvals across data products, domains, glossary terms, and metrics, with persisted progress, pinned configurations, resumable enrollment, and native 2.1.0 migrations. Add the combined builder, guided creation and detail checklists, progress board, recovery controls, and browser coverage for all four entity types. --- .github/playwright/impact-map.generated.json | 147 ++- .github/playwright/impact-map.json | 32 +- .github/playwright/timing-baseline.json | 2 +- .../native/2.1.0/mysql/schemaChanges.sql | 26 + .../native/2.1.0/postgres/schemaChanges.sql | 25 + .../data-product-onboarding-builder.png | Bin 0 -> 54545 bytes .../glossary-term-onboarding-preview.png | Bin 0 -> 51709 bytes .../onboarding/metric-onboarding-board.png | Bin 0 -> 98242 bytes .../metric-onboarding-journey-narrow.png | Bin 0 -> 64283 bytes docs/index.md | 1 + docs/unified-onboarding.md | 113 ++ .../it/tests/OnboardingResourceIT.java | 997 ++++++++++++++++++ .../service/OpenMetadataApplication.java | 2 + .../onboarding/OnboardingAssignments.java | 79 ++ .../onboarding/OnboardingBackfillService.java | 138 +++ .../onboarding/OnboardingBoardService.java | 61 ++ .../OnboardingConfigurationValidator.java | 220 ++++ .../onboarding/OnboardingEvaluator.java | 210 ++++ .../onboarding/OnboardingService.java | 317 ++++++ .../onboarding/OnboardingStore.java | 44 + .../onboarding/OnboardingTasks.java | 458 ++++++++ .../onboarding/OnboardingWorker.java | 123 +++ .../onboarding/OnboardingWorkflowGuard.java | 32 + .../elements/nodes/userTask/CreateTask.java | 2 + .../triggers/impl/FilterEntityImpl.java | 7 + .../service/jdbi3/CollectionDAO.java | 3 + .../service/jdbi3/EntityRepository.java | 26 +- .../service/jdbi3/IntakeFormRepository.java | 26 +- .../service/jdbi3/MetricRepository.java | 2 + .../service/jdbi3/OnboardingDAO.java | 106 ++ .../service/jdbi3/TaskRepository.java | 9 +- .../governance/IntakeFormMapper.java | 1 + .../governance/OnboardingResource.java | 141 +++ .../tasks/TaskFormExecutionResolver.java | 3 + .../tasks/TaskWorkflowLifecycleResolver.java | 7 +- .../service/util/IntakeFormUtil.java | 10 + .../service/util/IntakeFormValidator.java | 8 +- .../service/util/JsonPatchUtils.java | 10 +- .../onboarding/OnboardingEvaluatorTest.java | 101 ++ .../onboarding/OnboardingTasksTest.java | 56 + .../service/util/JsonPatchUtilsTest.java | 28 + .../api/governance/createIntakeForm.json | 12 +- .../api/governance/evaluateOnboarding.json | 25 + .../api/governance/transitionOnboarding.json | 24 + .../json/schema/governance/intakeForm.json | 49 +- .../onboarding/onboardingAssignment.json | 29 + .../onboarding/onboardingBackfill.json | 56 + .../onboarding/onboardingBoard.json | 23 + .../onboarding/onboardingCondition.json | 30 + .../onboarding/onboardingConfiguration.json | 23 + .../governance/onboarding/onboardingGate.json | 25 + .../onboarding/onboardingInstance.json | 68 ++ .../onboarding/onboardingProgress.json | 68 ++ .../onboarding/onboardingRules.json | 19 + .../onboarding/onboardingStage.json | 14 + .../onboarding/onboardingStageTiming.json | 26 + .../governance/onboarding/onboardingStep.json | 55 + .../onboarding/onboardingStepResult.json | 56 + .../onboarding/onboardingTaskBinding.json | 43 + .../progress-indicators/progress-circles.tsx | 25 +- .../progress-indicators.test.tsx | 46 + .../progress-indicators.tsx | 25 +- .../resources/ui/eslint-suppressions.json | 2 +- .../main/resources/ui/playwright.config.ts | 4 +- .../playwright/e2e/Pages/IntakeForm.spec.ts | 174 ++- .../playwright/e2e/Pages/Onboarding.spec.ts | 533 ++++++++++ .../e2e/Pages/OnboardingConfiguration.spec.ts | 295 ++++++ .../e2e/Pages/OnboardingCreation.spec.ts | 159 +++ .../e2e/Pages/OnboardingFields.spec.ts | 349 ++++++ .../e2e/Pages/OnboardingNavigation.spec.ts | 171 +++ .../e2e/Pages/OnboardingRecovery.spec.ts | 445 ++++++++ .../e2e/Pages/OnboardingRollout.spec.ts | 213 ++++ .../e2e/Pages/OnboardingWorkflows.spec.ts | 373 +++++++ .../ui/playwright/utils/onboarding.ts | 457 ++++++++ .../src/main/resources/ui/src/AppRoot.tsx | 31 +- .../AppRouter/AuthenticatedAppRouter.tsx | 12 + .../DataProductsDetailsPage.component.tsx | 9 + .../AddDomainForm/AddDomainForm.component.tsx | 36 +- .../AddDomainForm/AddDomainForm.test.tsx | 23 +- .../DomainDetails/DomainDetails.component.tsx | 9 + .../AddGlossaryTermForm.component.tsx | 65 +- .../AddGlossaryTermForm.interface.ts | 2 + .../GlossaryTermIntakeFields.component.tsx | 28 +- .../GlossaryHeader.component.tsx | 10 + .../Metric/MetricDetails/MetricDetails.tsx | 10 + .../NavigationGuardModal.tsx | 6 +- .../NavigationGuardProvider.tsx | 58 + .../components/TaskDetailPanel.test.tsx | 24 +- .../InboxPage/components/TaskDetailPanel.tsx | 26 +- .../onboarding/OnboardingAssignees.tsx | 134 +++ .../OnboardingBackfillStatus.test.tsx | 70 ++ .../onboarding/OnboardingBackfillStatus.tsx | 114 ++ .../onboarding/OnboardingBuilderCheck.tsx | 141 +++ .../onboarding/OnboardingCheckSettings.tsx | 443 ++++++++ .../onboarding/OnboardingChecklist.test.tsx | 152 +++ .../onboarding/OnboardingChecklist.tsx | 246 +++++ .../OnboardingChecklistRecovery.test.tsx | 375 +++++++ .../OnboardingCreationChecklist.test.tsx | 153 +++ .../OnboardingCreationChecklist.tsx | 210 ++++ .../onboarding/OnboardingFieldEditor.tsx | 236 +++++ .../onboarding/OnboardingJourney.test.tsx | 214 ++++ .../onboarding/OnboardingJourney.tsx | 808 ++++++++++++++ .../onboarding/OnboardingJourney.types.ts | 42 + .../onboarding/OnboardingNativeInput.tsx | 225 ++++ .../onboarding/OnboardingNavigationGuard.tsx | 26 + .../onboarding/OnboardingPermissions.test.tsx | 71 ++ .../onboarding/OnboardingPreview.test.tsx | 247 +++++ .../onboarding/OnboardingPreview.tsx | 243 +++++ .../OnboardingSupplementalFields.tsx | 156 +++ .../navigation/NavigationGuardContext.ts | 18 + .../api/governance/createIntakeForm.ts | 96 +- .../api/governance/evaluateOnboarding.ts | 35 + .../api/governance/transitionOnboarding.ts | 31 + .../ui/src/generated/governance/intakeForm.ts | 101 +- .../onboarding/onboardingAssignment.ts | 73 ++ .../onboarding/onboardingBackfill.ts | 75 ++ .../governance/onboarding/onboardingBoard.ts | 230 ++++ .../onboarding/onboardingCondition.ts | 29 + .../onboarding/onboardingConfiguration.ts | 140 +++ .../governance/onboarding/onboardingGate.ts | 135 +++ .../onboarding/onboardingInstance.ts | 434 ++++++++ .../onboarding/onboardingProgress.ts | 225 ++++ .../governance/onboarding/onboardingRules.ts | 16 + .../governance/onboarding/onboardingStage.ts | 19 + .../onboarding/onboardingStageTiming.ts | 25 + .../governance/onboarding/onboardingStep.ts | 122 +++ .../onboarding/onboardingStepResult.ts | 195 ++++ .../onboarding/onboardingTaskBinding.ts | 28 + .../useOnboardingNavigationBlock.ts | 149 +++ .../ui/src/locale/languages/ar-sa.json | 82 +- .../ui/src/locale/languages/de-de.json | 82 +- .../ui/src/locale/languages/en-us.json | 82 +- .../ui/src/locale/languages/es-es.json | 82 +- .../ui/src/locale/languages/fr-fr.json | 82 +- .../ui/src/locale/languages/gl-es.json | 82 +- .../ui/src/locale/languages/he-he.json | 82 +- .../ui/src/locale/languages/ja-jp.json | 82 +- .../ui/src/locale/languages/ko-kr.json | 82 +- .../ui/src/locale/languages/mr-in.json | 82 +- .../ui/src/locale/languages/nl-nl.json | 82 +- .../ui/src/locale/languages/pr-pr.json | 82 +- .../ui/src/locale/languages/pt-br.json | 82 +- .../ui/src/locale/languages/pt-pt.json | 82 +- .../ui/src/locale/languages/ru-ru.json | 82 +- .../ui/src/locale/languages/sv-se.json | 82 +- .../ui/src/locale/languages/th-th.json | 82 +- .../ui/src/locale/languages/tr-tr.json | 82 +- .../ui/src/locale/languages/zh-cn.json | 82 +- .../ui/src/locale/languages/zh-tw.json | 82 +- .../IntakeFormDesignerModal.test.tsx | 106 ++ .../IntakeForms/IntakeFormDesignerModal.tsx | 933 +++++++++------- .../src/pages/IntakeForms/IntakeFormsPage.tsx | 89 +- .../src/pages/IntakeForms/intakeFormFields.ts | 16 + .../AddMetricPage/AddMetricPage.tsx | 142 ++- .../onboarding/OnboardingBoardPage.tsx | 450 ++++++++ .../governance/tasks/TaskDetailsPage.tsx | 32 + .../governance/onboarding/Onboarding.api.ts | 115 ++ .../ui/src/rest/workflowDefinitionsAPI.ts | 1 + .../ui/src/utils/TaskNavigationUtils.ts | 3 + .../onboarding/Onboarding.utils.test.ts | 161 +++ .../governance/onboarding/Onboarding.utils.ts | 176 ++++ .../onboarding/OnboardingBuilder.utils.ts | 120 +++ .../OnboardingJourney.utils.test.ts | 108 ++ .../onboarding/OnboardingJourney.utils.ts | 169 +++ .../onboarding/OnboardingPreview.utils.ts | 208 ++++ 165 files changed, 18202 insertions(+), 587 deletions(-) create mode 100644 docs/assets/onboarding/data-product-onboarding-builder.png create mode 100644 docs/assets/onboarding/glossary-term-onboarding-preview.png create mode 100644 docs/assets/onboarding/metric-onboarding-board.png create mode 100644 docs/assets/onboarding/metric-onboarding-journey-narrow.png create mode 100644 docs/unified-onboarding.md create mode 100644 openmetadata-integration-tests/src/test/java/org/openmetadata/it/tests/OnboardingResourceIT.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingAssignments.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBackfillService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBoardService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingConfigurationValidator.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluator.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingService.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingStore.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingTasks.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorker.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorkflowGuard.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/OnboardingDAO.java create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/OnboardingResource.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluatorTest.java create mode 100644 openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingTasksTest.java create mode 100644 openmetadata-spec/src/main/resources/json/schema/api/governance/evaluateOnboarding.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/api/governance/transitionOnboarding.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingAssignment.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBackfill.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBoard.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingCondition.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingConfiguration.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingGate.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingInstance.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingProgress.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingRules.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStage.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStageTiming.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStep.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStepResult.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingTaskBinding.json create mode 100644 openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-indicators.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Onboarding.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingConfiguration.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingCreation.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingFields.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingNavigation.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRecovery.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRollout.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingWorkflows.spec.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/utils/onboarding.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/common/NavigationGuardModal/NavigationGuardProvider.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingAssignees.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBuilderCheck.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCheckSettings.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingChecklist.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingChecklist.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingChecklistRecovery.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCreationChecklist.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCreationChecklist.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingFieldEditor.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingJourney.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingJourney.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingJourney.types.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingNativeInput.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingNavigationGuard.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingPermissions.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingPreview.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingPreview.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingSupplementalFields.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/context/navigation/NavigationGuardContext.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/api/governance/evaluateOnboarding.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/api/governance/transitionOnboarding.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingAssignment.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingBackfill.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingBoard.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingCondition.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingConfiguration.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingGate.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingInstance.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingProgress.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingRules.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingStage.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingStageTiming.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingStep.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingStepResult.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingTaskBinding.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/hooks/governance/onboarding/useOnboardingNavigationBlock.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/IntakeForms/IntakeFormDesignerModal.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/governance/onboarding/OnboardingBoardPage.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/governance/tasks/TaskDetailsPage.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/rest/governance/onboarding/Onboarding.api.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/governance/onboarding/Onboarding.utils.test.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/governance/onboarding/Onboarding.utils.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/governance/onboarding/OnboardingBuilder.utils.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/governance/onboarding/OnboardingJourney.utils.test.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/governance/onboarding/OnboardingJourney.utils.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/utils/governance/onboarding/OnboardingPreview.utils.ts diff --git a/.github/playwright/impact-map.generated.json b/.github/playwright/impact-map.generated.json index da38b1d2417c..1ee523f9325c 100644 --- a/.github/playwright/impact-map.generated.json +++ b/.github/playwright/impact-map.generated.json @@ -206,6 +206,7 @@ "playwright/e2e/Flow/ObservabilityAlerts.spec.ts", "playwright/e2e/Pages/DataContracts.spec.ts", "playwright/e2e/Pages/Glossary.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", "playwright/e2e/Pages/Users.spec.ts" ] }, @@ -4036,6 +4037,7 @@ "playwright/e2e/Pages/Entity.spec.ts", "playwright/e2e/Pages/ExplorePageRightPanel.spec.ts", "playwright/e2e/Pages/Glossary.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", "playwright/e2e/Pages/Teams.spec.ts" ] }, @@ -4631,6 +4633,72 @@ "playwright/e2e/Features/ContextCenterArticles.spec.ts" ] }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.tsx" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCheckSettings.tsx" + ], + "specs": [ + "playwright/e2e/Pages/IntakeForm.spec.ts", + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts" + ] + }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingChecklist.tsx" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCreationChecklist.tsx" + ], + "specs": [ + "playwright/e2e/Pages/OnboardingCreation.spec.ts" + ] + }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingJourney.tsx" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingPreview.tsx" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts" + ] + }, { "sources": [ "openmetadata-ui/src/main/resources/ui/src/components/observability/Alerts/AlertAiDestinationSection.component.tsx" @@ -5355,6 +5423,14 @@ "playwright/e2e/Pages/ODCSImportExport.spec.ts", "playwright/e2e/Pages/ODCSImportExportPermissions.spec.ts", "playwright/e2e/Pages/OmdURLConfiguration.spec.ts", + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts", "playwright/e2e/Pages/PipelineExecution.spec.ts", "playwright/e2e/Pages/PipelineValidation.spec.ts", "playwright/e2e/Pages/Policies.spec.ts", @@ -5500,6 +5576,14 @@ "playwright/e2e/Pages/Lineage/LineageNodePagination.spec.ts", "playwright/e2e/Pages/Lineage/LineageRightPanel.spec.ts", "playwright/e2e/Pages/Lineage/PlatformLineage.spec.ts", + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts", "playwright/e2e/Pages/Tag.spec.ts", "playwright/e2e/Pages/TagPageRightPanel.spec.ts", "playwright/e2e/Pages/Tags.spec.ts", @@ -5581,6 +5665,36 @@ "playwright/e2e/Features/IncidentManagerPagination.spec.ts" ] }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/generated/governance/intakeForm.ts" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/generated/governance/onboarding/onboardingProgress.ts" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, { "sources": [ "openmetadata-ui/src/main/resources/ui/src/generated/search/aggregationRequest.ts" @@ -5613,6 +5727,21 @@ "playwright/e2e/Flow/ObservabilityAlerts.spec.ts" ] }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/generated/type/entityReference.ts" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, { "sources": [ "openmetadata-ui/src/main/resources/ui/src/generated/type/personaContextDefinition.ts" @@ -5909,7 +6038,9 @@ "openmetadata-ui/src/main/resources/ui/src/pages/IntakeForms/IntakeFormDesignerModal.tsx" ], "specs": [ - "playwright/e2e/Pages/IntakeForm.spec.ts" + "playwright/e2e/Pages/IntakeForm.spec.ts", + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts" ] }, { @@ -5917,7 +6048,10 @@ "openmetadata-ui/src/main/resources/ui/src/pages/IntakeForms/IntakeFormsPage.tsx" ], "specs": [ - "playwright/e2e/Pages/IntakeForm.spec.ts" + "playwright/e2e/Pages/IntakeForm.spec.ts", + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts" ] }, { @@ -6447,6 +6581,15 @@ "playwright/e2e/Features/Workflows/WorkflowOssRestrictions.spec.ts" ] }, + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/pages/governance/onboarding/OnboardingBoardPage.tsx" + ], + "specs": [ + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts" + ] + }, { "sources": [ "openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchUtils.tsx" diff --git a/.github/playwright/impact-map.json b/.github/playwright/impact-map.json index 6640765c90c3..26b94c88ee93 100644 --- a/.github/playwright/impact-map.json +++ b/.github/playwright/impact-map.json @@ -64,7 +64,7 @@ }, { "projects": ["IntakeForm"], - "specs": ["playwright/e2e/Pages/IntakeForm.spec.ts"] + "specs": ["playwright/e2e/Pages/IntakeForm.spec.ts", "playwright/e2e/Pages/Onboarding.spec.ts"] } ], "sharedInfrastructure": [ @@ -86,6 +86,36 @@ "openmetadata-ui/src/main/resources/ui/vite.config.ts" ], "mappings": [ + { + "sources": [ + "openmetadata-ui/src/main/resources/ui/src/**/onboarding/**", + "openmetadata-ui/src/main/resources/ui/src/pages/IntakeForms/**", + "openmetadata-ui/src/main/resources/ui/src/rest/intakeFormsAPI.ts", + "openmetadata-ui/src/main/resources/ui/src/utils/IntakeFormUtils.ts", + "openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/**", + "openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/**", + "openmetadata-ui/src/main/resources/ui/src/pages/MetricsPage/AddMetricPage/**", + "openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/**", + "openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/*", + "openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IntakeFormRepository.java", + "openmetadata-spec/src/main/resources/json/schema/governance/intakeForm.json", + "openmetadata-spec/src/main/resources/json/schema/governance/onboarding/**" + ], + "projects": [ + "IntakeForm" + ], + "specs": [ + "playwright/e2e/Pages/IntakeForm.spec.ts", + "playwright/e2e/Pages/Onboarding.spec.ts", + "playwright/e2e/Pages/OnboardingConfiguration.spec.ts", + "playwright/e2e/Pages/OnboardingCreation.spec.ts", + "playwright/e2e/Pages/OnboardingFields.spec.ts", + "playwright/e2e/Pages/OnboardingNavigation.spec.ts", + "playwright/e2e/Pages/OnboardingRecovery.spec.ts", + "playwright/e2e/Pages/OnboardingRollout.spec.ts", + "playwright/e2e/Pages/OnboardingWorkflows.spec.ts" + ] + }, { "sources": [ "openmetadata-ui/src/main/resources/ui/playwright/e2e/search-rbac.setup.ts", diff --git a/.github/playwright/timing-baseline.json b/.github/playwright/timing-baseline.json index a49e5c4710a8..a23d9c93ab1a 100644 --- a/.github/playwright/timing-baseline.json +++ b/.github/playwright/timing-baseline.json @@ -1 +1 @@ -{"version":1,"mode":"full","sourceRunId":34109980157,"sourceSha":"133a22a63ad0784ae9eb24b654c6d2b98fb40aaf","retainedSourceRunId":29980474263,"retainedSourceSha":"9f78d5d741673d44dee0190488ba586cce4fecb1","retainedUnstableTestIds":["10c126ce21ddb47756a4-04d6154814646027d691","10c126ce21ddb47756a4-0741446b51bd1831b1fb","10c126ce21ddb47756a4-211bb353cbf91b58df5a","10c126ce21ddb47756a4-2a8d02fe65e159aa7997","10c126ce21ddb47756a4-326e5741aa3e465e11c0","10c126ce21ddb47756a4-439a804c72c1029b9604","10c126ce21ddb47756a4-485027c527c4c17d746c","10c126ce21ddb47756a4-49aa937a33fa5a8948c9","10c126ce21ddb47756a4-4bca0aa80c53d7c4a24c","10c126ce21ddb47756a4-4f16dd456ed5b31f8f8d","10c126ce21ddb47756a4-5adfe289cb3d8520b0ef","10c126ce21ddb47756a4-7f74b79cdc6913ea9d62","10c126ce21ddb47756a4-89f210443cbeae6bb2c0","10c126ce21ddb47756a4-9585120f51c086d40c8f","10c126ce21ddb47756a4-cda8340b8fcb3bc57b4e","10c126ce21ddb47756a4-d66611608cf890ccc13c","10c126ce21ddb47756a4-e88886cf009eb2d89a24","1c1beaa6e6bb68455687-02db839411b88f88324d","1c1beaa6e6bb68455687-19694be941e5fc5a50d6","1c1beaa6e6bb68455687-4fbd2cc9b2f8b51b955e","1c1beaa6e6bb68455687-620c0ccb2076231e1b46","1c1beaa6e6bb68455687-696baf01722eff41e180","1ce96103ecb38ee49d41-0a4191b4db0efcbae0f8","1ce96103ecb38ee49d41-a83ffa17458ba063ab54","260a9e5977a8ba3ec78b-dace76fe5d6fd2759124","2d5458d5effed0092e57-2c9621778a08fadbc834","2d5458d5effed0092e57-4156e62dca8bfb5afec0","2d5458d5effed0092e57-88e75e085e61e8618e6a","2d5458d5effed0092e57-9b4ef19a6cb0199bf241","2d5458d5effed0092e57-b0ff6e9dd7c295b37f2c","2d5458d5effed0092e57-b68f427de8c7c4e4c036","3f800034a832b756357b-2e3d05e6e1e746b6c156","426c3d5e1c2f1aa09ac8-f8d8b2894982189c8fdb","47563b3c243233393067-36286bd8f41799e49212","4b548bcc60ee243a112c-91f203d529a815190d96","5c28d935b3c657a6e5bc-b0a79157c365565b41e4","5c28d935b3c657a6e5bc-b7e3072f59f508bd7c81","5f37f0e1f4111ad5b126-a044c42b96a086d46495","6491031c3e271b473ed6-a1a41e105bc8e1f05019","6af163fea506aa4566f2-0d9793ea09690a80b966","6f9684bba76ed22e1a8c-76b8bbfc4abe6888a560","6f9684bba76ed22e1a8c-dcee5e388fad4727090e","7c975cd1ceb31d5d60dd-0dbdcff683eb513dc0f5","7c975cd1ceb31d5d60dd-20ec70d5fe0c22fab8a3","7c975cd1ceb31d5d60dd-44413c5a1543a1f5a65d","7c975cd1ceb31d5d60dd-f49b660fff35024b8100","848329c182e7112e80ae-9df4121368d3676326e8","8f00f316c6c46c156a1c-16b3484cc09d5255f8d6","92f4b5f6dbf60767921f-60d6762c4b0ae5b80aa3","9308de5e0d9b01cc3b0e-4cc494c7283e8466765d","9308de5e0d9b01cc3b0e-afbe709e30f6facd3dbd","9308de5e0d9b01cc3b0e-eb3f22266d782e009e06","9cc140ad818dd8f839cb-a80bbe7b29b7f5294127","b63caa6d5c82a89c01d9-930ae77b2adf34892aed","b76310c94a1ee56387bf-eee048f4f8692c102fb6","caebfb61a8a7d76a7401-1dbd614d29e180690a85","caebfb61a8a7d76a7401-7ac27f96d42f8e47da96","caebfb61a8a7d76a7401-dd9f678b3ba6fdaee2cc","d8f8caeb6165f1ef1fcd-2985a21f038abaa38e2b","db1daaef72d72e2312ab-71b65167efedb93432d2","df23f6ad1ee603a6ae65-e2cc6fb3ceccaeb1a09c","e6106fb403b25b398095-eba55dd6b22bb101f65d","e91c95e3d77f8c0bc288-27bf83ebb148b83122c8","e91c95e3d77f8c0bc288-393e6fb3b55e026c5927","e91c95e3d77f8c0bc288-80d244c353a9b5239063","e91c95e3d77f8c0bc288-864b2325f77eb8ef0979","e91c95e3d77f8c0bc288-8b088f9fd4352335f186","e91c95e3d77f8c0bc288-afada82cd2191181328b","fed0153cfc145e829673-749f411c6ea7761e557a"],"tests":[{"id":"004f08191fdf5a664c49-5934f2193bbcf4275249","project":"chromium","file":"Pages/Tasks.spec.ts","title":"List tasks by status","durationMs":88,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-6a8d58070f2721e22772","project":"chromium","file":"Pages/Tasks.spec.ts","title":"All built-in task categories can be created","durationMs":325,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-9a77320621e2e18ce3d6","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Create task with different built-in categories","durationMs":99,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-a034a19fedb3914dc554","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Resolve task with rejection","durationMs":101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-a37baa03858ead321cb3","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Create task with assignees","durationMs":146,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-a6680360eb1c1db3276a","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Task priority levels","durationMs":217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-cf4a9c8c257c776dc018","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Resolve task with approval","durationMs":77,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-dbd17b6aee48089a70bc","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Task ID sequence is unique","durationMs":102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-e915ae4e13ecb3f579d1","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Task CRUD operations","durationMs":173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0052ab9e28cac302a481-57cf91322cdd33d989d4","project":"chromium","file":"Features/DataProductPersonaCustomization.spec.ts","title":"Data Product - customize tab label should only render if it's customized by user","durationMs":32127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0052ab9e28cac302a481-f1eee6df796efc54fae7","project":"chromium","file":"Features/DataProductPersonaCustomization.spec.ts","title":"Data Product - customization should work","durationMs":34504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-061045104b0501529f9a","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate between tabs on glossary page","durationMs":17106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-254409f9a53adc8e7c67","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate to nested term via deep link","durationMs":11162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-3b75351433e5696dd218","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate between tabs on glossary term page","durationMs":13802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-6092fc9d785185e1febb","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should view activity feed on glossary","durationMs":11780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-9af09dcafe15890a4c22","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should post comment on glossary activity feed","durationMs":12515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-a8188d2dbe1c913f81cb","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should post comment on glossary term activity feed","durationMs":13973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-dc08d608e28379784c90","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should show empty state when glossary has no terms","durationMs":11068,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-ddd5214b0a60bd16b3ab","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate via breadcrumbs","durationMs":14995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-f505640efd2508d042ed","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should view activity feed on glossary term","durationMs":13794,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-417dfcf921ef3832d10e","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"TagPage: Certification detail page routes through certification.tagLabel.tagFQN","durationMs":7237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-5b17e1cf7d08cd3cb595","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"Certification filter narrows both table- and testCase-index queries via the flat field path","durationMs":13478,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-b5d9a677fd75a83d66e4","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"Certification filter is rendered between Tier and Tag in the filter row","durationMs":6898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-c2f2bff31097429e61d5","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"Certification tags are not listed in the generic Tag dropdown","durationMs":6998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-22e2c0617d842764b11b","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"surfaces the index banner and stays usable when search returns an index error","durationMs":11374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-23d8e6ff84c5ddbabe5a","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"does not white-screen when the search request fails at the network level","durationMs":5494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-9eae8c06bfeb61c22fd9","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"renders gracefully for a malformed quickFilter URL parameter","durationMs":8151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-9f6105f6cdb93d1fd691","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"renders gracefully for a malformed browsePath URL parameter","durationMs":9878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01d9777d939990dabbd7-262dce1d2eeb8d343b4f","project":"chromium","file":"Flow/AppBasic.spec.ts","title":"should call installed app api and it should respond with 200","durationMs":3304,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-22792cd610df6f5cade6","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create request description task for column","durationMs":12422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-2491067d6bcb5a54cb1f","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create request tags task for table","durationMs":16248,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-25a394db38b512ef6f74","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create suggest tags task with suggested tags","durationMs":9957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-3046f4d31958bfd4dbf4","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should allow manual assignee selection when entity has no owner","durationMs":14985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-3557ecd547d5055ef28a","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create request description task for table","durationMs":12299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-64648a6c346cc46feb53","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should prevent task creation without assignee","durationMs":12118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-c8d9ec46c49bded4357b","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create suggest description task with suggested value","durationMs":12900,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-1d172c84ee80912f5e2b","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Delete Button Disabled - Fully inherited contracts cannot be deleted","durationMs":24971,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-38ad37abf46eb45d83a2","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Edit Asset Contract - Add SLA when inheriting SLA from Data Product (PATCH should use /add not /replace)","durationMs":35439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-46fe2ceba304a71d5ec7","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Edit Inherited Contract - Creates new asset contract instead of modifying parent","durationMs":29864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-567dac3aaaf0ed82e32c","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Run Validation - Inherited contract validation uses entity-based validation","durationMs":24180,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-a3744a7bd7f9ba4362bf","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Partial Contract Inheritance - Asset contract merges with Data Product contract","durationMs":36175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-b132cbad6c8242839b58","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Remove Asset - Inherited contract no longer shown when asset is removed from Data Product","durationMs":32511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-be0fe0b025326af56b6c","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Delete Asset Contract - Falls back to showing inherited contract from Data Product","durationMs":30946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-f085389ed08a523aed7e","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Full Contract Inheritance - Asset inherits full contract from Data Product","durationMs":31302,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-0515ac5501ef2810b804","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-08ba9d2d9d9dd6d3b4a2","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":11863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-0d28e20e436777cb4128","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":13040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-0fafe939201d31585243","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14772,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-12b31351571057d29cfd","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":13113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-2709b060aa5199ed7c46","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":8825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-3ae1dea8ac49be64dca4","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":17507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-3b46fb9bae34c93ab1e9","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10633,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-41007f7a6fab6e10596e","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-4a9e85c6f398e9f67275","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":13502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-4e3beed6243af81a754f","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":12216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-8cdf8f3a9f746fe00862","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-b73259974a470801efb0","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":7335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-bc4fcb436e3a2259227d","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":15947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-c2d03257ee6a2a9da060","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-cb0b667dbd687968d9a4","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-d0c505fe536cfd142768","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":16275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-db5d6a1f95b3e473d580","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-e5b3fd5755c76424ad67","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":12895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-1cee2b35ca54d4c31c16","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should prevent all users from modifying system test definition entity type via API","durationMs":8373,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-360040f1744491234d09","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should allow viewing and editing but not creating or deleting test definitions","durationMs":11600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-5d4e43fff79360c3f26b","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should allow viewing test definitions but not create, edit, or delete","durationMs":14253,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-6e5f9aa62a0c1a6a0b18","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should allow viewing test definitions but not create, edit, or delete","durationMs":16393,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-7092674b02cee0ed0c42","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should prevent unauthorized users from creating test definitions via API","durationMs":6016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-b2982050987bb5e8b4ee","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should not be able to edit system test definitions","durationMs":10877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-e6aff96f2117419d34a3","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should prevent unauthorized users from deleting test definitions via API","durationMs":17595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-38d034de72fa8cbb70cb","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should not show online status for inactive users","durationMs":7123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-3e05f86121d3c978d4a2","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should show online status badge on user profile for active users","durationMs":7633,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-43e97a2523a7811c8bb0","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should show online status below email in user profile card","durationMs":8762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-b7bc8e5ed7bc4471ba0a","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should update online status in real-time when user becomes active","durationMs":18089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-e0bd28c84529a51c89aa","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should show \"Active recently\" for users active within last hour","durationMs":7966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0a56168a40b882fe6894-170e1f3eff5aa971e713","project":"chromium","file":"Flow/FrequentlyJoined.spec.ts","title":"should display frequently joined table","durationMs":11522,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0a56168a40b882fe6894-84ac3055d73ecf89a21d","project":"chromium","file":"Flow/FrequentlyJoined.spec.ts","title":"should display frequently joined columns","durationMs":9792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-011fed074239d8794a66","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Admin can remove the default persona for a team","durationMs":8769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-027f80afc1576bc6be86","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Persona rename flow should work properly","durationMs":8106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-1030722b78088d2ec6ec","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"User without permissions cannot edit team persona","durationMs":9637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-135241804761fb629b85","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Delete persona should work properly","durationMs":7861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-187a985529b191d190fb","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Persona update description flow should work properly","durationMs":7616,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-25b967abba28bb47f099","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Description Contains filter \u2013 table with matching description appears in widget","durationMs":19118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-2c59da2e1af01cfdfb95","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Remove users in persona should work properly","durationMs":7110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-47c2545428c8641b1aba","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Non-group team types do not have a default persona setting","durationMs":9381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-828969cb1530df18a4e9","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Set default persona for team should work properly","durationMs":11654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-c91b116cdca0ef43878d","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Set and remove default persona should work properly","durationMs":34360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-e8766d04fa25cb1329b6","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Persona creation should work properly with breadcrumb navigation","durationMs":14390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b721dc6d1e4c283a3d7-254b18deceb1b36bf441","project":"Basic","file":"Pages/Policies.spec.ts","title":"Add new policy with invalid condition","durationMs":19581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b721dc6d1e4c283a3d7-9938e72067584c0c12ab","project":"Basic","file":"Pages/Policies.spec.ts","title":"Delete policy action from manage button options","durationMs":9401,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b721dc6d1e4c283a3d7-de3a6ddc322ed853fa63","project":"Basic","file":"Pages/Policies.spec.ts","title":"Policy should have associated rules and teams","durationMs":6611,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-047be35b194c9d866468","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide tokenValidationAlgorithm for OIDC providers","durationMs":6297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-0833169ee6407ec5c50d","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide publicKeyUrls field for confidential OIDC providers","durationMs":7050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-0989b149fa1918db6a13","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Azure AD provider","durationMs":6128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-0bcb263825f9b25094cd","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide clientAuthenticationMethod for Auth0 provider","durationMs":5680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-19081ba3791a2c4eba3f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should enable Configure button when provider is selected","durationMs":6360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-1e149432136c7a6db559","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show SAML SP Entity ID and ACS URL as readonly","durationMs":6164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-22abb186177c16862afa","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should stay on /settings/sso when pressing back if SSO is not configured","durationMs":3399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-2474fda7d7d183e84f6f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide publicKeyUrls for LDAP provider","durationMs":6781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-2a2ad991e5c06901f99e","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Okta provider","durationMs":6026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-2e18cb79c436daab7829","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show advanced fields when advanced config is expanded","durationMs":6034,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-34fba19c758dadd4b5cb","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide jwtPrincipalClaims for SAML provider","durationMs":6536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-38ca5d4d684728fccecb","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Google provider","durationMs":6737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-3a87615ac059ba986272","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should navigate to /settings when pressing back if SSO is already configured","durationMs":9792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-3e41514daf189541ef7a","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide SAML SP callback URL field","durationMs":6644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-47ac2af718829befd92f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show tenant field for Azure provider","durationMs":6327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-4daf0d02c9591a8510d5","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should expand and collapse advanced config when clicked","durationMs":5893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-4df25211bef2dfa32e40","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should render authReassignRoles as a searchable dropdown and support role selection, removal, and search filtering","durationMs":8519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-51d4acdbee95dd109eb6","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide preferredJwsAlgorithm and responseType for OIDC providers","durationMs":6708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-546b90ad1991b04d4494","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide serverUrl field for OIDC providers","durationMs":6038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-55b88df9f30715574758","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should collapse advanced config by default","durationMs":6550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-5a6348a858f0bbba6ae2","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting Google provider","durationMs":6351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-61a7fabbf89bc2f26c7f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields for Okta provider with confidential client","durationMs":7072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-61d0e3405cdc819cc222","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting Okta provider","durationMs":7020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-67b572e98086ce7eac3b","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show upload drop zone for SAML provider","durationMs":5837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-6a1992cd6f70ad36be17","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should parse valid SAML metadata XML and populate form fields, then clear fields on invalid XML","durationMs":7132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-726836846c61acacf72e","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide jwtPrincipalClaims for LDAP provider","durationMs":6579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-79775feb638787094aa2","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should display advanced config collapse for OIDC provider","durationMs":6336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-7a25922674aa447ae188","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should support full LDAP role mapping flow: add, fill, open roles dropdown, detect and resolve duplicates, and remove","durationMs":8309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-7a4121fbd7ff73813e83","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show clientAuthenticationMethod for Okta provider","durationMs":6702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-88267c4e251dfab9d1c7","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide publicKeyUrls for SAML provider","durationMs":6442,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-9571bd75cfb56b064f18","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should not display role mapping widget for non-LDAP providers","durationMs":6119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-977c5309463a2194ae58","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields for Auth0 provider with confidential client","durationMs":6792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-98f71413d99725507f60","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields for Google provider with confidential client","durationMs":7138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-9b94064cfad5336dc576","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting SAML provider","durationMs":6195,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-a2653b3971e7a3dfe31c","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide tenant field for Auth0 provider","durationMs":7031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-b415cb2dc167ddb53dda","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting Auth0 provider","durationMs":7001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-c3a47af5c898e89c1d82","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should validate the configuration without saving and show a success banner","durationMs":7517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-d785f2f4f674973f449b","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Auth0 provider","durationMs":5344,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-debfc2945a6f9ce23750","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting LDAP provider","durationMs":6902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-ea466a94c0478617e9d8","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show the Test Configuration button and lockout warning for a new configuration","durationMs":6808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-f6cf49ad9159c898f8ff","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should surface validation errors when the test fails","durationMs":6447,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-f74d7edc9c9978851109","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should display all available SSO providers","durationMs":6172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-4e375083d590a9a5acea","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Version diff shows synonym changes","durationMs":13939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-73f6fddc80038a5eae47","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"GlossaryTerm","durationMs":33621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-7cf3cccd2fd4e86bbcd0","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Version diff shows reference changes","durationMs":11715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-926156befd108528b026","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Return to current version from history","durationMs":10118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-abb395dc56eb33d395fb","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Navigate between versions","durationMs":12453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-c125342150e1c90238d5","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Glossary","durationMs":35291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-c9fa2cbac6df0316a4ae","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Version diff shows related term changes","durationMs":12263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0fc3c96fe730fa7ec869-cf1d8bf1cc1db0d05bbf","project":"chromium","file":"Features/IngestionListNameSorting.spec.ts","title":"should keep a sorted page addressable across a reload","durationMs":7569,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0fc3c96fe730fa7ec869-e123a56fe8bf877f9303","project":"chromium","file":"Features/IngestionListNameSorting.spec.ts","title":"should sort the Name column by the name shown in the cell","durationMs":3750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-04d6154814646027d691","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"dataProduct supports removed property value variants","durationMs":7070,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-0741446b51bd1831b1fb","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"dashboardDataModel supports removed property value variants","durationMs":7218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-211bb353cbf91b58df5a","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"apiEndpoint supports removed property value variants","durationMs":7964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-2a8d02fe65e159aa7997","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"mlmodel supports removed property value variants","durationMs":7377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-326e5741aa3e465e11c0","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"searchIndex supports removed property value variants","durationMs":7945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-439a804c72c1029b9604","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"domain supports removed property value variants","durationMs":6255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-485027c527c4c17d746c","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"pipeline supports removed property value variants","durationMs":8196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-49aa937a33fa5a8948c9","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"metric supports removed property value variants","durationMs":6726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-4bca0aa80c53d7c4a24c","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"databaseSchema supports removed property value variants","durationMs":7666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-4f16dd456ed5b31f8f8d","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"container supports removed property value variants","durationMs":9491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-5adfe289cb3d8520b0ef","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"tableColumn supports removed property value variants","durationMs":6193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-7f74b79cdc6913ea9d62","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"glossaryTerm supports removed property value variants","durationMs":8557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-89f210443cbeae6bb2c0","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"database supports removed property value variants","durationMs":7414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-8fec358bf4604e70210f","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"custom property value contract covers the exact removed browser matrix","durationMs":16,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-9585120f51c086d40c8f","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"storedProcedure supports removed property value variants","durationMs":7306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-cda8340b8fcb3bc57b4e","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"apiCollection supports removed property value variants","durationMs":6713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-d66611608cf890ccc13c","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"topic supports removed property value variants","durationMs":8299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-e88886cf009eb2d89a24","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"dashboard supports removed property value variants","durationMs":9295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10d375d35d7071018386-deeb63637a49a6e9339d","project":"chromium","file":"Features/Permission.spec.ts","title":"Permissions","durationMs":107078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-1764dc17d058c43ed0e6","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should keep the run history reachable when the status call fails","durationMs":5483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-373310b628ca43526007","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should list the agents with disabled actions when the status call fails","durationMs":5183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-9438db641e0109169435","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should list the agents while the status call is still in flight","durationMs":4878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-9f029e8b570eb3564250","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should still explain itself when the status call answers with no reason","durationMs":4992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"11ab6e55b4b022013005-194dce7291866541bc43","project":"chromium","file":"Features/PersonaAIContextPermissions.spec.ts","title":"a read-only user sees the rules and no way to change them","durationMs":7267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"11ab6e55b4b022013005-34403c6d57e2748d8c14","project":"chromium","file":"Features/PersonaAIContextPermissions.spec.ts","title":"an admin reaches the same page with the edit affordances","durationMs":6102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-15dfb2af7e1db8aec21c","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":21488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-2de09c93fa26511e5882","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":21760,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-3b84db11da31ab9d60f8","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":21332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-412088496e870362a6bb","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":19327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-5185f8d1e5c3bfb6de74","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":22388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-6c3ef71e9c671b248b36","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":19754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-747d62ad76876a268122","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":20450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-7a96261fbe77abc31f4a","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":15746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-cdd1bc8be764f4d1dc7f","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":22095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-d007ef1cc9caf0532ddc","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":24432,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-ffab3b8233da881cb344","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":22926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"138116cad0db6db3e31c-0db6bba1bba36a56c98e","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":33117,"attempts":1,"retries":0,"outcome":"expected"},{"id":"138116cad0db6db3e31c-8ab63046fdfd9ef943c1","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":32517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-140a7d5f2f5ac5c50a19","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"lists only certifications assigned to data products","durationMs":7610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-799e30f552ced32517b3","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"glossary term option keeps its original casing while the filter value stays lowercased","durationMs":11210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-912b7fbd1d0fb3a2fd31","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"tag option keeps its original casing","durationMs":8813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-cd1bd3263d38bdd77c03","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"filtering by a certification narrows the listing","durationMs":8086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-29600d766f20a5eaaea8","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should edit reference URL","durationMs":15219,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-296c68d33da16a9dd7d8","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should cancel term creation without saving","durationMs":12457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-2b2204bb8ab1e8834014","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove related term","durationMs":14831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-3b7344c642f950c9343a","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should show error when glossary name exceeds limit","durationMs":11740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-60710dd072ecbdae486b","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove tags from term","durationMs":15361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-67cb7301397b8e2167cb","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove domain from glossary","durationMs":14945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-6aef0428615488839b7e","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create glossary with multiple owners (users + teams)","durationMs":23424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-6c8759c68ef5992a7234","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should handle term with very long description","durationMs":14081,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-7c48d938e18034fdb3ab","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should replace reviewer on glossary","durationMs":16887,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-7c861f5b15fc8efe5687","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should edit reference name","durationMs":15476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-7e20f808cda196f4b965","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove owner from term","durationMs":17330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-80d0b311299387783e9c","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should replace owner on glossary","durationMs":18636,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-8223e5ca58ae964dbb30","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should clear all synonyms from term","durationMs":14640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-87accf1b092c476fa522","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should change domain on glossary","durationMs":15467,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-a1d727fbf53816e3e867","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create term with custom style color","durationMs":13332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-a5945883ff9686302ca6","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create term with custom style icon URL","durationMs":14203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-ab969a7d4761c13683d1","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create glossary with mutually exclusive toggle OFF","durationMs":15010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-bced7f631eafead67a79","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should update term style to set color","durationMs":15475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-bfd5ef7659767ee9c04c","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove individual reference from term","durationMs":15324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-c0a2104006b98732511e","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should show error when term name exceeds limit","durationMs":12719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-d09abb82cd12494db539","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should update term display name via manage menu","durationMs":15321,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-d6b1141fd8a29c352619","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should show bidirectional related term link","durationMs":14439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-d81fab109e3f20196586","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove reviewer from term","durationMs":17320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-dcac77ccd1673ede0375","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should cancel glossary creation without saving","durationMs":11692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-e6d2869b45eb07973d63","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should update term style to set icon URL","durationMs":14426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-f15ee3dbeb3557870e2a","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should handle term with very long name","durationMs":14358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-f9256cb87400d1374dfe","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create term with related terms","durationMs":16387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-042c40f6b1a54e6c53ae","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when glossary name is empty","durationMs":7785,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-48fa78f24f68871eb1a6","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when creating glossary with duplicate name","durationMs":8511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-7932aa55fdb2a147ece7","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when term description is empty","durationMs":9620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-7fa3c393df4fd3e48395","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when term name is empty","durationMs":8753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-fb157931edfad50a16d6","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when glossary description is empty","durationMs":7839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-44c859cf577d6e1282b4","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 4 (persona) beats rung 5 (tenant default) \u2014 persona says AI, tenant default Classic, no user pref","durationMs":19092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-4f03747abaf3ea97c00c","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"All rungs empty \u2192 DEFAULT_APP_MODE (Classic) wins","durationMs":7026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-886295b14a0b317b8b19","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 1 (session tuple) survives a persona flip mid-session \u2014 user's manual switch wins","durationMs":16847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-960de058c32acd987c1b","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 5 (tenant default) beats rung 6 (DEFAULT_APP_MODE) \u2014 tenant AI, no user pref, no persona","durationMs":16482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-c553a800e70bb231757b","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 3 (user pref) beats rung 4 (persona) \u2014 user has remembered Classic, persona says AI","durationMs":10568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"179dbf18e2af7f4cbec2-3e866d93ac6b4b246fc4","project":"chromium","file":"Features/Permissions/DomainPermissions.spec.ts","title":"Domain allow operations","durationMs":21585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"179dbf18e2af7f4cbec2-f81418f6b9c6495bc826","project":"chromium","file":"Features/Permissions/DomainPermissions.spec.ts","title":"Domain deny operations","durationMs":19426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"18494d13c3e927572e0e-8d190554ecc9cdce0e8b","project":"Basic","file":"Pages/CustomThemeConfig.spec.ts","title":"Update and reset custom theme config","durationMs":7906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"18494d13c3e927572e0e-98fda58f97982dc8e671","project":"Basic","file":"Pages/CustomThemeConfig.spec.ts","title":"Should call customMonogramUrlPath only once after save if the monogram is not valid","durationMs":7880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"18494d13c3e927572e0e-c6dc3de533286e6d221d","project":"Basic","file":"Pages/CustomThemeConfig.spec.ts","title":"Update Hover and selected Color ","durationMs":6357,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-1087a144c5cc50d535ee","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should open right panel when clicking data product card in domain","durationMs":9105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-13aa03b757371c9adb72","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should display overview tab for data product","durationMs":8705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-237ee97a03dc27da8efa","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should display overview tab content for data product in domain context","durationMs":7884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-2cdd99c8ce2bb06b59ed","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should not display glossary terms section in domain data products context","durationMs":7951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-a76035f76a4eea346b55","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should display data product name link in panel in domain context","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-c15c8f4e2f276a832be4","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should edit tags for data product from domain context","durationMs":9149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-cffeac6eeaa76dd6886b","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should edit owners for data product from domain context","durationMs":11725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-de5961ae0dcc1dc1eb7c","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should edit description for data product from domain context","durationMs":10825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-f4986293245e7e080a70","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should assign tier for data product from domain context","durationMs":10186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-537cb9c232ceabecba8e","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"service lineage has pipeline service connected to both services","durationMs":5241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-612653f6947301a02b49","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"database service has pipeline service as downstream in service lineage","durationMs":5578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-80746b789ad7769474c0","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"entity lineage does not include service nodes","durationMs":6320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-a52558b2d5f6468bb5ea","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"entity lineage edge preserves pipeline annotation","durationMs":6486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-02b5ace1b2248b785a49","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with EditAll can export ODCS contract","durationMs":9279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-2125ddb8382292c5fdda","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with EditAll can import ODCS contract","durationMs":10246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-2ff6b56ee053f07bce20","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Admin should see all import and export options for existing contract","durationMs":6701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-4bc8465740aa8464ebd6","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Admin should successfully import ODCS contract","durationMs":7478,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-5cc7d37ab19d320a7f43","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Consumer can export ODCS contract","durationMs":7338,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-5fd734b0bc28d6e08535","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Consumer should see export but not import options","durationMs":7610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-75e594ea4b3040db9f2b","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with ViewOnly should see export but not import options","durationMs":8488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-82f6c0dde199e09a485e","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Admin should successfully export ODCS contract","durationMs":7046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-83e7b1c072c2dde4d9ea","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Steward should see export but not import options","durationMs":7589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-b39b794f3ed9fde9e63c","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"API should allow export for users with view permission","durationMs":5344,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-c6dae5c5f1756c1d0e66","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with EditAll should see all import and export options","durationMs":10366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-d72f4e2dbeb3c195ab46","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Steward can export ODCS contract","durationMs":6868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-ed0768c8b67f4feea53f","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with ViewOnly can export ODCS contract","durationMs":9041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19b2b14ce084d7e3579a-201004f6be67ac9d9065","project":"chromium","file":"Features/CustomMetric.spec.ts","title":"Column custom metric","durationMs":19904,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19b2b14ce084d7e3579a-c4d4be4d5d794d22c090","project":"chromium","file":"Features/CustomMetric.spec.ts","title":"Table custom metric","durationMs":24648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-3b16f2702fc12cd8074e","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create term with tags","durationMs":11412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-45bb6a8bde203b85b1cf","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create glossary with tags, owners, and description","durationMs":9952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-51e4f8807e00f57e0192","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create term with synonyms","durationMs":10277,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-612c0266b544101fdc87","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create child term via row action button","durationMs":10297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-ad5dd701c1d496e2781d","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should navigate between tabs on term page","durationMs":8992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-b3aae0fef2551ec89460","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove owner from glossary","durationMs":10254,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-c2ba3a55bcfac2bf76cb","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create glossary with mutually exclusive enabled","durationMs":8931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-e9fd39fecbc9feeff1f8","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should delete parent term and cascade delete children","durationMs":9662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-ec658667dc5b068c0a42","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove reviewer from glossary","durationMs":9435,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-ee3ddfd6112d2b10da41","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove tag from glossary","durationMs":7631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-f3901eb61f81592f1a02","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should display parent term with children for drag operation","durationMs":9098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-f658c35c19332d4004f1","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove synonym from term","durationMs":8290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-f8e45548f1769c59d321","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create term with references","durationMs":10709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a6f1da61460ebe7ad36-7a6c1a3faf2cfc2648d7","project":"chromium","file":"Features/QueryEntity.spec.ts","title":"Query Entity","durationMs":43534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a6f1da61460ebe7ad36-a06d40e1bc9c3f5e1457","project":"chromium","file":"Features/QueryEntity.spec.ts","title":"Verify query duration","durationMs":11871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a6f1da61460ebe7ad36-cf42d000893656b64dbd","project":"chromium","file":"Features/QueryEntity.spec.ts","title":"Verify Query Pagination","durationMs":15985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-0088ed46eab587c90371","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should restore filters from URL on page load","durationMs":20210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-014321099028e71df84c","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should load the page with stats cards and grid data","durationMs":7320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-170dbfd48cfc4dd5c106","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show Service filter chip from URL","durationMs":14290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-185597b794db3ab6912c","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should update display name and propagate to all occurrences","durationMs":31874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-239c0f77e33ddb02ed00","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should search columns with server-side API call","durationMs":12128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-23c5e0255a245d7bd4a2","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should clear individual filter and update URL","durationMs":27792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-2e96f151f46e62aaae33","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should select and edit nested STRUCT field","durationMs":25172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-32b4d960f036903b8b97","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should open edit drawer when clicking on aggregate row","durationMs":4763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-39e4bd843402570f4339","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show success notification after bulk update","durationMs":25504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-3ef93584d85256069ad4","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show no results when searching for nonexistent column","durationMs":8099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-3ff3cebfc11e44e7369b","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show disabled edit button when no columns are selected","durationMs":6113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-4a4df818cbe72b56fd42","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should not reset stats to zero while search request is loading","durationMs":9093,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-59c5f8a31c7199210394","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should not count aggregate parent row in drawer selected count","durationMs":5339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-5dac5fccf031408603db","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should expand STRUCT column to show nested fields","durationMs":24332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-6c8908c3cd1359e50b2b","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show pending progress spinner after submitting bulk update","durationMs":24358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-7267cda84897fc91f6dd","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should update pending changes counter when editing selected columns","durationMs":23538,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-797101ebe2b800c4b2a4","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should select column, open drawer, and verify form fields","durationMs":23730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-8491c672cd59d38141d9","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show column count for multiple column selection","durationMs":5620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-8b7eb228bf6a6d35884e","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should filter by metadata status and verify API param","durationMs":30768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-94fbdadd8c9d95ead874","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should filter by entity type (Table)","durationMs":10601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-c6b5c6fa386a261c9945","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should cancel selection and disable edit button","durationMs":21076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-c9cf4dffe0aa3ea711bb","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should accept text with spaces in the description field","durationMs":21391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-cef1122673da72e852b8","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should navigate through pages","durationMs":12475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-d2e9a4b29a88686387ab","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should keep latest search results when responses arrive out of order","durationMs":9456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-da1a0b3fd0cc0e01ed6d","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should discard changes when closing drawer without saving","durationMs":26947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-7ff955e7b470d12f6b1f","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve mlFeature description task for MlModel","durationMs":270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-968585514b3da1da4c2e","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve requestSchema field description task","durationMs":766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-9ab19e4c245ad906a5d7","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve responseSchema field description task","durationMs":709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-b59abc2f87ac29cd2972","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve nested field description task for SearchIndex","durationMs":526,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-b8d86ff533deaebb79b9","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve field description task for SearchIndex","durationMs":493,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-ceff75e902b4028fe53b","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve column description task for DashboardDataModel","durationMs":562,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-088888d65c2c12c7041b","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with EditAll on TEST_CASE resource should not be blocked from bulk edit page","durationMs":11787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-10fd0dc506e83a7ecd02","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer should see export but not import & edit options","durationMs":11961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-12f1201233201134e21a","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should redirect to Table Data Quality tab when canceling table-level bulk edit","durationMs":20137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-219eece6de17e298670b","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to import page from Data Quality tab","durationMs":8929,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-2f5d1810bf9a82344168","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should export test cases from Logical Test Suite page","durationMs":12014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-3514378a10d1a2777e69","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should upload and validate CSV file","durationMs":18740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-4469b1ebd6879db66e32","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with EditAll & ViewAll on TEST_CASE resource should see import, export & edit options","durationMs":14078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-47d1b7b068edeb4ac63a","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward should be blocked from import page","durationMs":5387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-570ebf80af90e61924f8","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer can successfully export test cases","durationMs":14361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-62a7e656fc98846ddce6","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer should be blocked from bulk edit page","durationMs":5801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-6647b28c5e6d51f38b7b","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with ViewAll on TEST_CASE resource can successfully export test cases","durationMs":15311,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-66538490a691fb2cadbe","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should redirect to Test Suite page when canceling bulk edit","durationMs":9897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-6f744fd1e24888ade4df","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer should be blocked from import page","durationMs":5749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-76c7b490768e9355c0d9","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward should see export but not import & edit options","durationMs":12200,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-7ebd62f24bf13648f5fe","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward should be blocked from bulk edit page","durationMs":5314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-8b8f266e0c798fecdbf0","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward can successfully export test cases","durationMs":16453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-9aac88cc9731e6741e41","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should show validation errors for invalid CSV","durationMs":9607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-c3b94742e06f23717451","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should redirect to Data Quality page when canceling global bulk edit","durationMs":10479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-c555aec9e622f36a508c","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with EditAll on TEST_CASE resource should not be blocked from import page","durationMs":8501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-d3e2ea3896d13e010edd","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should export all test cases from global data quality page","durationMs":11403,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-e074e2a35b2354778e27","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should export test cases from Data Quality tab","durationMs":19333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-e41293a41d782cbfb0c7","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to import page from global data quality page","durationMs":7747,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-f20e9de461c4e6cfadc6","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to bulk edit page from Logical Test Suite page","durationMs":13609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-f7761c9107599ffa5435","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to import page from Logical Test Suite page","durationMs":5613,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-081025371a2814b4fb5f","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":11903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-0a4191b4db0efcbae0f8","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":10754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-11ad6728a046d81592e9","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":11287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-16216a857e97288f66c5","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-1d2ca67614bbdde8e805","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13365,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-1ea9821cb6097c0ec98f","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":11768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-20781c678687a66fa68b","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":10918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-20f85fdc0656235f5cf7","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":8499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-2abec9f21a8ea3b2cc4f","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":11757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-2e08b3569bf413a4b41d","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":11621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-2eee0c93c970f8d07682","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":15115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-38553a39450ce7270e88","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":12293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-4f11e50f706352784b6e","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":10290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-5bf28053c2a051ccdfa3","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-693a5a472bbdcd5d7c39","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":8722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-6f03ad71cb5cf3694aeb","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":10852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-70f4e24aa49e1afddd61","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":10901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-75aab610bb32463cf2dd","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-7930c4d3ae24ea30f63c","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":12307,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-7bbb32de38f97fcb06e3","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":17019,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-7d221bdeacd5afefd2ab","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":13121,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-88e41b978ee0ef287d92","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-8db06fd539e01dd3bbaf","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":8591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a1a032a22693be0119e4","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":12663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a5652ed373875bbfa978","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":9795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a83ffa17458ba063ab54","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a89c14c356526919c60e","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":9042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-b9b78692b1500d345e57","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":14352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-c458a06a93bfddc93263","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":9939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-cf44adf2e574fb2cbc19","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-cfdcfe160d3952303e12","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":10742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-d1725f195b4f94165c61","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-d3a1704a85d2cfaf31cd","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13430,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-d636fe1feb6796f668e6","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":11916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-f2418d8c375a80d46f69","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":14961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-fd849b08a1243d3a9494","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":11838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ceb1bff96abee8abc39-80f3f55b370556d0a638","project":"DomainIsolation","file":"Features/DomainIsolation/DomainDropdownIsolation.spec.ts","title":"Admin sees every domain and the All Domains option","durationMs":7893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ceb1bff96abee8abc39-cfe97d75645c1db901ff","project":"DomainIsolation","file":"Features/DomainIsolation/DomainDropdownIsolation.spec.ts","title":"Restricted user sees only their own domains in the navbar dropdown","durationMs":6224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-1965ba5132d65f76b54f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should assign tier from tag assets page context","durationMs":10868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-1f93c23ec60eeb578f8f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit owners from tag assets page context","durationMs":11818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-6551d3f84e4ae3617f7f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit description from tag assets page context","durationMs":11904,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-6d105f08c01f5f945b88","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should open right panel when clicking asset in tag assets page","durationMs":11107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-74d2940c2fb33c358ae0","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should display correct tabs for table entity in tag assets page context","durationMs":10721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-8a7973d64b54fd04b10f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should display overview tab content in tag assets page context","durationMs":9615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-9193d8183ffaf8094b63","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit tags from tag assets page context","durationMs":12543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-9613819e7989c4a50ea5","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit domain from tag assets page context","durationMs":11407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-c822ef782390b573e856","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit glossary terms from tag assets page context","durationMs":11862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-cf6d8d95a859ea58c1be","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should display entity name link in panel header in tag assets page context","durationMs":10822,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-fc44c04a118fcf119b28","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Panel should not be visible before any asset is selected","durationMs":2701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1e7ae5f087867b855c68-48cd403ded8704aa6847","project":"chromium","file":"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","title":"navigates to the entity detail page when the link is clicked","durationMs":12452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1e7ae5f087867b855c68-4dc58e52f2b3ef4ddc40","project":"chromium","file":"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","title":"renders a clickable entity link for instances with a related entity","durationMs":12355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1e7ae5f087867b855c68-50e09093829a8af6a7a5","project":"chromium","file":"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","title":"shows the no-data placeholder for instances without a related entity","durationMs":11008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-0b7d1730a6386f5560c5","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"a non-leaf node count reflects the active Data Assets filter","durationMs":11455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-2cbd0173a43e19a49632","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"selecting a schema keeps the drilled path expanded and highlights it","durationMs":10265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-4062943a54eac71c08c2","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"browsing the tree stacks removable QUERY chips and filters results","durationMs":10671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-50dc1266c26cb8e4ef67","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"the entity-type leaf respects the Data Assets filter (Table hides Columns)","durationMs":12666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-622bb480069d7b96ff7f","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"Glossary leaf under Governance filters the results","durationMs":7894,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-86705f5803eae96f692b","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"drills the database hierarchy down to the Tables and Columns leaves with counts","durationMs":9027,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-94b4249e6fb96c12d2b3","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"service type drill-down disables unrelated roots and query-panel Clear resets it","durationMs":10057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-a705079e6c267810beba","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"selecting the Tables leaf highlights the leaf, not its parent schema","durationMs":9031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-a84cc2d736afdc4a7016","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"Tags leaf under Governance filters the results","durationMs":8040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-f1cb8868b95fbc0f7ce2","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"every result-card breadcrumb links to its hierarchy destination","durationMs":10292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-fac7d8785eac504ff222","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"drills a non-database hierarchy (Dashboards) down to the entity-type leaf","durationMs":8130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1f761de977875b0ac365-5f3ed1d5eca7edaa77b7","project":"Basic","file":"Features/TeamsHierarchy.spec.ts","title":"Add teams in hierarchy","durationMs":14285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1f761de977875b0ac365-9f33170dce0c34953135","project":"Basic","file":"Features/TeamsHierarchy.spec.ts","title":"Check hierarchy in Add User page","durationMs":8989,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1f761de977875b0ac365-c663c28071eca27c2f9f","project":"Basic","file":"Features/TeamsHierarchy.spec.ts","title":"Delete Parent Team","durationMs":7725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2001c1c02e517ab398de-49967e402c6c0fbe2572","project":"Basic","file":"Flow/LineageSettings.spec.ts","title":"Verify lineage settings for PipelineViewMode as Edge","durationMs":27871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2001c1c02e517ab398de-79465f7bd5a7cf3d01cc","project":"Basic","file":"Flow/LineageSettings.spec.ts","title":"Verify lineage time filter and tab switch reuse loaded graph","durationMs":10920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2001c1c02e517ab398de-c9abd4818a163664575b","project":"Basic","file":"Flow/LineageSettings.spec.ts","title":"Verify global lineage config","durationMs":37630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-48420345617d1a8ef174","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Resolving incident & re-run pipeline","durationMs":24109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-6defbf65f0f7b32af71a","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Verify filters in Incident Manager's page","durationMs":13194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-77c6d8b0db807c48f0f5","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Rerunning pipeline for an open incident","durationMs":21897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-af5d262d6380615148dc","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Validate Incident Tab in Entity details page","durationMs":7804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-d2d654438df91f046bde","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Complete Incident lifecycle with table owner","durationMs":41988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-137a99fe0f15c4a98a02","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Drives Service Spreadsheets Table should have search functionality","durationMs":10694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-25125140ebe405ad916b","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Drives Service Directories Table should have search functionality","durationMs":10086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-4448687b3721cbb49b49","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Stored Procedure Table should have search functionality","durationMs":10547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-5cf93c1909876091f46c","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Database Schema Tables tab should have search functionality","durationMs":11847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-60cfa1796b7b024699b6","project":"chromium","file":"Features/TableSearch.spec.ts","title":"API Collection page should have search functionality","durationMs":9279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-76b22267beb30e6ce153","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Services page should have search functionality","durationMs":9816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-79db68618d5b1154ffa1","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Data Models Table should find data models by displayName","durationMs":10661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-8f0b48ff70e49c23a10c","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Drives Service Files Table should have search functionality","durationMs":10237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-cc7c974eeb90a2ace251","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Data Models Table should have search functionality","durationMs":10304,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-d705aa5a323d4919dc01","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Data Models Table should find data models by mixed-case name","durationMs":12514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-fede3d39c728e9fc5d3b","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Topics Table should have search functionality","durationMs":8823,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-7a5065f335aef4798767","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Multiple rename + update cycles - assets should be preserved","durationMs":36090,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-8268f8edccd6575fc094","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Rename then change owner - assets should be preserved","durationMs":27784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-e6575adf21443f9e4abc","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Rename then update description - assets should be preserved","durationMs":26238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-f2d0ea7623838b225b12","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Rename then add tags - assets should be preserved","durationMs":24506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"222fe1e5206cdd75a358-7d5f8774b1fce82284d3","project":"Basic","file":"Features/CronValidations.spec.ts","title":"Validate different cron expressions","durationMs":10557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-3c63e984b9371e4d91c8","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All with Draft filter shows all terms including children of non-matching parents","durationMs":10389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-689fbbe40540b5d50eff","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All with default filter shows all terms","durationMs":8943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-b0971994404c76b9db78","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All shows all children regardless of status filter","durationMs":10787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-b5a7414e2cf53479e246","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All with Approved filter shows all terms","durationMs":10302,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2385db9fde781bb59544-ac35955bbae6a48adf8c","project":"chromium","file":"Features/IncidentManagerPagination.spec.ts","title":"Page size dropdown updates list limit and resets to page 1","durationMs":9095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2385db9fde781bb59544-fd49dbad03ff26fc50b3","project":"chromium","file":"Features/IncidentManagerPagination.spec.ts","title":"Next, Previous and page indicator","durationMs":5960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-064c76de14054d025202","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> apiEndpoint","durationMs":49507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-0d9bbd826523da4a8f43","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> apiEndpoint","durationMs":46435,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-0f02f3b748ae134173df","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> table","durationMs":49480,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-13cc491cb5ca92a3ab0c","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - File","durationMs":148864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-14b2454310f82a3c0843","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> searchIndex","durationMs":41186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-16eca21baf156dbcf4a0","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> apiEndpoint","durationMs":56287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-18358f8facc6b4296831","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Spreadsheet","durationMs":197172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-1e0430cd28c2c8054cfa","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"should render temp lineage table nodes on canvas","durationMs":8220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-21ce9dbac82c26a63b8f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify validation for invalid depth","durationMs":8820,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-27638ce37ef6999a284b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> dashboard","durationMs":42098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-2b7f46364906eadbe405","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> mlModel","durationMs":47397,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-2d3070c5aa20d0e6b1a8","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Mlmodel","durationMs":167133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-2e4b6ec4efa6124ddd72","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Dashboard","durationMs":189877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3002f790005cb7ba6c34","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> dashboard","durationMs":41215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3278ea25b8daecaafd8c","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> dashboardDataModel","durationMs":45140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3352b05fd95f5a0fb235","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> container","durationMs":43734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-33ae36b1fd82757cf284","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> mlModel","durationMs":53172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-34679292daa52dbac8ea","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> container","durationMs":51785,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3608f98e2232fd6df0d8","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> mlModel","durationMs":44659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-376d116700017793d718","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> table","durationMs":50784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3f62ca7c8be0ab85c351","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> container","durationMs":44803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3fe7b58036a4a2125b1d","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Topic","durationMs":186243,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-40413374e8b581e88eac","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> dashboard","durationMs":42853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-48e22825f7eae0f3f29e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> container","durationMs":46560,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-49a209210dc5932f5be4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify opening config modal","durationMs":6742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-4bbf4f6c6dd680998645","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> table","durationMs":39671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-4c982c2809b69bbd1a2e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> searchIndex","durationMs":45233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-4fe8582f7af9544ed9ec","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> dashboardDataModel","durationMs":51149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5295edf4c7e15940f709","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> topic","durationMs":50537,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5a8d6ed8c112615ed27e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> dashboardDataModel","durationMs":41543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5ae6ed5a7ee2578ac818","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> apiEndpoint","durationMs":49845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5e542cc97152d8d0705f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> dashboardDataModel","durationMs":48918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6241640d58a39cee5537","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> searchIndex","durationMs":32659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6455912558e4fffeac0e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> container","durationMs":40399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-69c142e64207aaa0a94f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> table","durationMs":32314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-69c9ae55c31c1431989e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify column layer is applied on entering edit mode","durationMs":15631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6de016ff06d3e247fd60","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Table","durationMs":197389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6f9687cfb5ff37d4c970","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> topic","durationMs":49143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-71053c4836b2f2c2bab7","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> topic","durationMs":41028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-74f9f044f9d408f8b511","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Data Model","durationMs":207996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-75b8c3ece17cc1e26d1b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> topic","durationMs":50829,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-77f07e78b114d7e380a6","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> topic","durationMs":46422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-7818a3c39c2e3d1ab93e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Worksheet","durationMs":194348,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-7d446a8e5d1ae09b69ec","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Container","durationMs":208378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-822e290d4cae6826f11b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> dashboardDataModel","durationMs":52875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-84a4f88be0b0883d0548","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> searchIndex","durationMs":31707,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-86837102759c8b88c7ee","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> mlModel","durationMs":49263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-8a4216c454f70b116882","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> apiEndpoint","durationMs":38333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-8fc92b51471bd08b5ee2","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> apiEndpoint","durationMs":40730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-902d02b5e1addc6fbcc4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> searchIndex","durationMs":54273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-904f3f185881ee29c575","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Pipeline","durationMs":169575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-924a8f8064c2cb3d0f90","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> container","durationMs":50343,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-95a4a55f764426dfa3a9","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> table","durationMs":49835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-9607caba24e30eadfc51","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> topic","durationMs":35407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-9751a8c99a2653f2aa30","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Search Index","durationMs":200956,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-9b4c4e7691752df4be4a","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> dashboard","durationMs":48077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-a026fb430f338403d586","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> table","durationMs":47655,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-a81da11d3e68f71662af","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> table","durationMs":50140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-a93a5af92da1405c4d6b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> dashboardDataModel","durationMs":50702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-b1bf9ca4eb8f2934bcf2","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify there is no traced nodes and columns on exiting edit mode","durationMs":10828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-b236ad548d05490edec9","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> dashboardDataModel","durationMs":49292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-b8b8c397dd2d10aef2ed","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> dashboard","durationMs":59293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-bf398b163b9ef3139ff4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> container","durationMs":47482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-bf4451a64295a0504826","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Directory","durationMs":200547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c0636255e8b026bb90ee","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> mlModel","durationMs":49993,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c3a968d05e03db815c90","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> container","durationMs":54640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c711e248c5afd84bbb51","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> dashboardDataModel","durationMs":154580,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"260a9e5977a8ba3ec78b-c7287b311547d884a060","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> dashboard","durationMs":53283,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c7e215f258b4cd2440ff","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> mlModel","durationMs":55399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c7e39beb095c4acf268f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> apiEndpoint","durationMs":54527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ccd10903aa517591cbeb","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> dashboard","durationMs":51341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-cd31152efe795b3feee3","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> mlModel","durationMs":46693,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-d161a00652e6b794a397","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> apiEndpoint","durationMs":50598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-d4f051fa41ede4629590","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> topic","durationMs":55237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-d6dd53d462492cf5c9fd","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> table","durationMs":47492,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-dace76fe5d6fd2759124","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> dashboard","durationMs":48422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-e64fffa15e978be71af6","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> mlModel","durationMs":49204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ea05741da3a8f6c58340","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> topic","durationMs":49372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-efddc2fb2b825c20769e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> searchIndex","durationMs":54256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-f170cfec3b7f57bec7f5","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> searchIndex","durationMs":50819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-f98474a8fa60fbf4ca6a","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Stored Procedure","durationMs":195040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-f996fdec580d71b0adef","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> searchIndex","durationMs":36944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-fecafeaa4ce3edd1b3c4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify updating depth configuration","durationMs":8731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ff9ebdfc07b8ba7d3850","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Metric","durationMs":171368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ffb10f915aca070503ee","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Api Endpoint","durationMs":166590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"265968562dab11101b36-37daa773ced9fd7bf0ec","project":"Reindex","file":"Features/DataQuality/TestCaseStatusAfterReindex.spec.ts","title":"Test case status survives a full entity reindex","durationMs":4003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"26611e95fed0ca4ab3e1-78c7a95661587119e576","project":"chromium","file":"Features/ExploreQueryBar.spec.ts","title":"query bar is persistent and shows the browse placeholder when empty","durationMs":6131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"26611e95fed0ca4ab3e1-b1aa54afdc73b54d2452","project":"chromium","file":"Features/ExploreQueryBar.spec.ts","title":"selecting an asset type grays out incompatible tree categories","durationMs":10941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"26611e95fed0ca4ab3e1-e2061d62ce11ee960ccb","project":"chromium","file":"Features/ExploreQueryBar.spec.ts","title":"filter survives a tree click and both stack as removable chips","durationMs":17809,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-163d094c41184126f1f2","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"cardinality map is populated by default","durationMs":7617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-5092a35ee021c09dd939","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"unconstrained MANY_TO_MANY relation type should omit endpoint labels","durationMs":7931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-6aec5399a49779de077c","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"stats reflect the cardinality-typed edges in the relation count","durationMs":6773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-9c3d277f409e713a7a9b","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"unconstrained built-in relation type omits endpoint labels","durationMs":7892,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-ba9cdadf9cd6dc90ac31","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"graph renders without error when cardinality relation types are active","durationMs":8233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-c70577c08249b8d9c3c0","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"CUSTOM relation type with sourceMax=1 and no targetMax should produce \"M\" \u2192 \"1\"","durationMs":7750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-cf6de7a836a42d2ea8a8","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"ONE_TO_ONE relation type should have label \"1\" on both ends","durationMs":7922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-e1b732ae56c3114e2807","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"ONE_TO_MANY relation type should have \"1\" at source and \"M\" at target","durationMs":7972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-f9ca1f2abcc2eedfbc34","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"MANY_TO_ONE relation type should have \"M\" at source and \"1\" at target","durationMs":7925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-fdfe539794cb79474fb6","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"edges for cardinality-typed relations appear in the graph edge data","durationMs":7950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"27048049e118f657f450-24951d56e8cd5d4b8308","project":"DomainIsolation","file":"Features/DomainIsolation/DomainSearchIsolation.spec.ts","title":"userA finds tenantA and domainless tables but not tenantB","durationMs":3949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"27048049e118f657f450-ad87b762a7e4e02c372b","project":"DomainIsolation","file":"Features/DomainIsolation/DomainSearchIsolation.spec.ts","title":"admin finds tables from both tenants","durationMs":4057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"27048049e118f657f450-c663e9f8f53d1aa53eba","project":"DomainIsolation","file":"Features/DomainIsolation/DomainSearchIsolation.spec.ts","title":"userB finds tenantB and domainless tables but not tenantA","durationMs":4096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"281c15345384604a0b9f-5e289bddf5fb4d98b73c","project":"chromium","file":"Pages/TaskFormSettings.spec.ts","title":"creates and updates a task form schema from settings","durationMs":22763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"281c15345384604a0b9f-b6e254ef505635b44b37","project":"chromium","file":"Pages/TaskFormSettings.spec.ts","title":"loads built-in tag suggestion schema in the visual designer","durationMs":12763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2824251716383e5d36e7-2060084764dd7ff53518","project":"chromium","file":"Pages/EditClassification.spec.ts","title":"Edit a user classification from the manage button","durationMs":14461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2824251716383e5d36e7-a00456cc1a9c0dc1352f","project":"chromium","file":"Pages/EditClassification.spec.ts","title":"System classification name is disabled in the edit drawer","durationMs":15566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28a5e8d47dd39a15b905-bff1a99ffc922deb45bc","project":"Basic","file":"Pages/DataMarketplacePermissions.spec.ts","title":"Admin sees add buttons and customize button","durationMs":5120,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28a5e8d47dd39a15b905-c1e99a61cbaee27a3291","project":"Basic","file":"Pages/DataMarketplacePermissions.spec.ts","title":"Data consumer does NOT see add buttons","durationMs":7003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28dfe7a0de9ed4705a0e-05876c29593dba931db0","project":"chromium","file":"Features/Glossary/GlossaryVoting.spec.ts","title":"should upvote, downvote, and remove vote on glossary","durationMs":12497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28dfe7a0de9ed4705a0e-99e8ed1d5f5e1d0f3445","project":"chromium","file":"Features/Glossary/GlossaryVoting.spec.ts","title":"should persist vote after page reload","durationMs":16631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28dfe7a0de9ed4705a0e-c3e1cb2ae49780d2d5af","project":"chromium","file":"Features/Glossary/GlossaryVoting.spec.ts","title":"should upvote, downvote, and remove vote on glossary term","durationMs":14012,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-01fa65289fdf7772d19a","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Warning shown when removing asset that is also an output port","durationMs":8615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-069bf1431194facaaaf2","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add single output port","durationMs":10223,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-09afee46c87e2c0c5306","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage displays input and output ports","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-11bbd39747f89aaae32c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Remove last port shows empty state","durationMs":14346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-14e8ceea3982385db337","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Tab displays correct port counts","durationMs":9417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-174d16335a712ce9a332","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage controls work","durationMs":10418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-1c9f8da89ee745c9cdca","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output port drawer quick filter - behaviour matrix","durationMs":15585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-21e7b442b2a6c36c89bd","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Tab renders with empty state when no ports exist","durationMs":8786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-3a74fad72d2d54a8e468","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"No warning when data product has no output ports","durationMs":9814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-3d3e7086548e88c3849a","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port drawer quick filter - behaviour matrix","durationMs":16114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-479038eb5f8430331d00","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output ports list displays entity cards","durationMs":8936,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-568c9f18724fb22d5c00","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage with only output ports","durationMs":10193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-5872d10a29e1a2d4b052","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output port drawer shows info banner about data product assets","durationMs":10722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-599f62d906523734a071","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input ports list pagination","durationMs":9837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-623807bc4cef3c742778","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Remove single output port","durationMs":13922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-63e50a82f75c0228edce","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add different entity types as ports","durationMs":19215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-68ed4c25507e6cadedf7","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Cancel adding port","durationMs":10251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-6b0f41ca117d5b0956bb","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add multiple input ports at once","durationMs":15020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-72f0804125828c6f149c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output port drawer only shows data product assets","durationMs":11415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-733ae742a4ce02354d12","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage displays data product center node","durationMs":9952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-79a2f83588f41a76de4c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage loads on expand","durationMs":9357,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-819607994bef4b006508","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage section collapse/expand","durationMs":7275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-8aeba85897967d48c777","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Exit fullscreen with button","durationMs":10608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-94ae8a7689822d8918e3","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage with only input ports","durationMs":9433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-9b8cedfbb43e6bd23630","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input ports section collapse/expand","durationMs":8908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-a73ed6ab8a060722d7d5","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port drawer shows assets from outside data product","durationMs":11671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b1527c09bef737ec3c9e","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Port action dropdown visible with EditAll permission","durationMs":8456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b3dd87c04273c0020ea9","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Multiple sections can be collapsed independently","durationMs":9536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b4817323e9d164afc510","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add single input port","durationMs":12418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b5c149038668b3f7479f","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port drawer does not show info banner","durationMs":9147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-c7afe91593115b6d8e4c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Toggle fullscreen mode","durationMs":9694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-d220e4be7b73acd6cf5c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"No warning when removing asset that is NOT an output port","durationMs":9991,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-d54c0a93937f198e079e","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage section is collapsed by default","durationMs":9029,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-d9854a7ec2e3f18edc97","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Bulk delete shows warning listing only assets in output ports","durationMs":9654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-ddaf39a4e6d62adc4e31","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Exit fullscreen with Escape key","durationMs":9509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-ddb0e52df0f2bb65f38b","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output ports section collapse/expand","durationMs":10164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-e631fe73e88dac5cda61","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Cancel port removal","durationMs":10492,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-e70c9d333f1aebdbede6","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port button visible, output port button hidden when no assets","durationMs":9939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-e8229144fe684928d7de","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add input port from asset not in data product","durationMs":11825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-ee7e0ca8a849e28a74bf","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input ports list displays entity cards","durationMs":10255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-f04ff612f7841b2c6dcf","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Fullscreen lineage is interactive","durationMs":8941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-f0887c631c4e55ebf462","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Removing asset from data product also removes it from output ports","durationMs":12152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-f1ce0182791a75fb7ddd","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Remove single input port","durationMs":10658,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-3c1aaf6e29997cd9b74d","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create and approve entity-level description task for Container","durationMs":361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-c3d9df18c364056c0ec0","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create and approve dataModel column description task for Container","durationMs":592,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-cf8c6964fbe2bb99e5b4","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create DomainUpdate task for Container","durationMs":391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-e777ffbc4ddc1cfbc9ac","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create TierUpdate task for Container","durationMs":232,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-ed5bd6cb911fba4657f4","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create OwnershipUpdate task for Container","durationMs":927,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-3536acf272fc1235a483","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"KPI Widget","durationMs":59664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-39b17deca4f99ff79e80","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Data Products Widget","durationMs":51417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-595be3cd2493a7346dea","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Domains Widget","durationMs":62061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-7e3c2324ccd07d25501a","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Total Data Assets Widget","durationMs":34337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-833499f6d2acc671ad5b","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Activity Feed Widget","durationMs":44164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-8b144a6bf607ae7fadd9","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Following Assets Widget","durationMs":74030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-a3157898561d06d43bc0","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Data Assets Widget","durationMs":39874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-c0a4574b273caeb431b5","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"My Tasks Widget","durationMs":64076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-e084e4a872d20a615bbf","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"My Data Widget","durationMs":41690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2c508ade7638f8bcccac-e7c9382107a42d661bbc","project":"chromium","file":"Flow/MetricSearch.spec.ts","title":"searching for a metric with a long multi-word name should not cause clause explosion","durationMs":6774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-2c9621778a08fadbc834","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit Revert Changes restores all rows to NO_CHANGE","durationMs":21891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-4156e62dca8bfb5afec0","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit shows NO_CHANGE badge and OperationSummary on unmodified rows","durationMs":20721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-88e75e085e61e8618e6a","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit shows UPDATE badge and increments summary after editing a cell","durationMs":21173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-9b4ef19a6cb0199bf241","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit search filters rows and clear restores them","durationMs":18883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-b0ff6e9dd7c295b37f2c","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Database service bulk edit search filters rows and clear restores them","durationMs":20061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-b68f427de8c7c4e4c036","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Database service bulk edit shows NO_CHANGE badge and OperationSummary for all rows","durationMs":21712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-2e044196af23fd48fdb4","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"user classification manage button offers import and export","durationMs":7791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-4f3b6cc72a2fda7d5a29","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"import navigates to the classification bulk import page","durationMs":8162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-9fd61b128204fb745bce","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"export starts a CSV export job for the classification","durationMs":13863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-ae24fdaf98f5050cc28f","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"system classification hides import and export","durationMs":6506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e6c9afba330c97d50b5-1e20636ea4cdf2691c93","project":"chromium","file":"Features/Permissions/DataProductPermissions.spec.ts","title":"Data Product deny operations","durationMs":23410,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e6c9afba330c97d50b5-286bfa812828f22999ee","project":"chromium","file":"Features/Permissions/DataProductPermissions.spec.ts","title":"Data Product expert can edit data product details","durationMs":17719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e6c9afba330c97d50b5-f81d384daa402484ac75","project":"chromium","file":"Features/Permissions/DataProductPermissions.spec.ts","title":"Data Product allow operations","durationMs":25217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2f3ad51ddbdcab4a2a2b-0084dea86addabfd83fa","project":"chromium","file":"Features/StoredProcedureServiceBulkFetch.spec.ts","title":"Stored procedure carries service via the bulk field path even when service is not requested","durationMs":499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30237b3a00cd0fa9b72a-acd0640f861e051504ef","project":"chromium","file":"Features/ColumnBulkOperationsTagsGlossary.spec.ts","title":"should select a glossary term from the tree dropdown inside the drawer","durationMs":26999,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30237b3a00cd0fa9b72a-acde5114dfcdd1395bed","project":"chromium","file":"Features/ColumnBulkOperationsTagsGlossary.spec.ts","title":"should select a classification tag from the dropdown inside the drawer","durationMs":27229,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30263b4dc5f93c4f7d25-1d50e07d9894b470896a","project":"chromium","file":"Features/SampleDataDomainDataProduct.spec.ts","title":"Verify TestDataProduct shows correct details and domain association","durationMs":11595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30263b4dc5f93c4f7d25-5c8b64d664628e73b5fb","project":"chromium","file":"Features/SampleDataDomainDataProduct.spec.ts","title":"Verify TestDataProduct exists under TestDomain","durationMs":9657,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30263b4dc5f93c4f7d25-d7f88ea8c2c406af471f","project":"chromium","file":"Features/SampleDataDomainDataProduct.spec.ts","title":"Verify TestDomain exists from sample data ingestion","durationMs":11188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30fe03f56c8634b423b8-01bd25935cd715188169","project":"chromium","file":"Features/ServiceAgentsPauseResume.spec.ts","title":"should offer pause for an enabled agent and resume in disabled state","durationMs":5079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310213acbd422d208ae5-167f8d8a1b921415200c","project":"SystemCertificationTags","file":"Features/SystemCertificationTags.spec.ts","title":"should NOT show disabled system certification tag in dropdown","durationMs":6456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310213acbd422d208ae5-41471524fd79dda135f9","project":"SystemCertificationTags","file":"Features/SystemCertificationTags.spec.ts","title":"should show certifications after re-enabling classification","durationMs":11534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310213acbd422d208ae5-4a0f943642b77501695f","project":"SystemCertificationTags","file":"Features/SystemCertificationTags.spec.ts","title":"should NOT show any system certification tags when classification is disabled","durationMs":5875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-22b545a43b2d863af043","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"shows how tier and usage signals moved an exact table match","durationMs":5810,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-2e816677f2966a225842","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"returns ranking stage matched queries without explain","durationMs":2657,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-4f1c38196e1dd547eb09","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"shows configurable ranking stages in table search settings","durationMs":5404,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-5a015d2e8f981f75b56f","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks customer and customers identity matches before high-signal description matches","durationMs":3271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-998bd319d41b5fa9c78a","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks customer profile name and column matches before high-signal description matches","durationMs":3104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-a8021c129685daf99088","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"finds customer profiles fixtures across searchable asset indexes","durationMs":3018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-b3d869d6c65350419260","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"finds provider address texas fixtures across searchable asset indexes","durationMs":3118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-c4074fe750ef0ac6936d","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks clear provider address intent above weak high-signal description matches with stopwords","durationMs":3003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-e859181cb88056deb9a4","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"toggles ranking details in search settings preview","durationMs":6969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-f250e708b05339783d84","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"shows readable ranking details for exact table matches","durationMs":6380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-f74d3a290f5428946864","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks name and structural table matches before tier and usage description matches","durationMs":3183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3181935147491aeb55f0-6a8fd0caa84eae7db16f","project":"Ingestion","file":"Features/FailedTestCaseSampleData.spec.ts","title":"FailedTestCaseSampleData","durationMs":8942,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3181935147491aeb55f0-96858048143c07e8fbee","project":"Ingestion","file":"Features/FailedTestCaseSampleData.spec.ts","title":"gates the sample fetch on failed status","durationMs":5964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"31a87c9b2485f1aec7b5-6e697bb7c08c009f3229","project":"Reindex","file":"Features/SearchSeparation/GlossaryRenamePrefixCascade.spec.ts","title":"glossary-term prefix rename keeps linked asset glossary tag consistent","durationMs":1388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-3cef86380e36f0a03159","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Dimension card click should redirect to test cases with applied filters","durationMs":55524,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-3e3ac21dbb78b79b542a","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Tier filter sends tier.tagFQN field in ES query (not tags.tagFQN)","durationMs":7977,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-448cbb52313be9ec70b3","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Dashboard batches all report aggregations into one request (no N+1)","durationMs":6277,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-4497b8a31a310cc90f24","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Tag filter sends tags.tagFQN field in ES query","durationMs":7491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-52bdc43c7c7c66f92d3e","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Entity Health pie chart segment click redirects to Test Cases with correct status","durationMs":8375,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-67e3603da89d1d13dddf","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"DataQualityDashboardTab","durationMs":33717,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-7b1536150d3100c7a16b","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Test Cases list filter \u2014 Data Product","durationMs":8963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-8b76300bfab3a0c4b5ab","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Data Assets Coverage pie chart segment click redirects to Test Suites and Explore","durationMs":14127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-9b9e4b3fa500f737bb52","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Tier and Tag filters produce independent ES filter clauses","durationMs":9199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-d086e0bed7cc7831c38b","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Test Case Result pie chart segment click redirects to Test Cases with correct status","durationMs":23198,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-d7eb33e1ed4ca47318bd","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Reopen resolved incident in place from the Test Case page","durationMs":9395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-0c9296a2b4c0efff016f","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"max assets input clamps values above 1000 for preloaded rules","durationMs":12670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-15ab7c92e6cc4e9e698e","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"Persona AI Context \u2014 Rule CRUD: empty state \u2192 create \u2192 edit \u2192 delete","durationMs":17605,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-9c3f02d123ada83d2aeb","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"changing entity type clears an incomplete filter and unblocks save","durationMs":17195,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-e0fd56c870d3159d545e","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"incomplete condition (no field selected) blocks save with an error message","durationMs":15960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-ee9d29fa394f102ef3d7","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"fully-completed Description Contains condition allows save \u2014 regression #31564","durationMs":16828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-f48f2b0c4ab37b0281ce","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"duplicate rule name is rejected with a validation error","durationMs":17385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-fc51d001d91cc85c0f14","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"Always in context and Fully rendered toggles are visible and interactable","durationMs":14440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-11614026b8dde22a8254","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Search Data Products","durationMs":9543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-1458cccf2156100ad999","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Create data product with tags using TagSuggestion","durationMs":15183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-6fa7bf28459032ee3dc8","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Pagination","durationMs":15841,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-b46995b607c673d5399f","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Empty State - No Data Products","durationMs":10203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-b61a7bbd7a47b1fd89c2","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Data Product \u2014 Data Observability tab","durationMs":13343,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-bed8c16cc4258729a678","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Create Data Product and Manage Assets","durationMs":26809,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-ca3fcd97cc2fd4b90fce","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Data Product List Page - Initial Load","durationMs":9883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-d475230b6e62375a3ff9","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Data Product - Follow/Unfollow","durationMs":14329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-e497da6ffe895e87458b","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"View Toggle - Table and Card Views","durationMs":11384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"34ff05d08ca8430be530-7957ae01d3fc1a5e71d8","project":"chromium","file":"Features/AppMode/AppModeAiPersonaLandsAtRoot.spec.ts","title":"AI-preferring persona lands at \"/\", not \"/my-data\"","durationMs":19029,"attempts":1,"retries":0,"outcome":"expected"},{"id":"386c5e2a979bf842b774-be875acf813e1ecae98e","project":"chromium","file":"Features/SearchIndexNestedColumns.spec.ts","title":"oversized deeply nested column indexes and an in-limit column name is searchable","durationMs":5714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-1e3f50160ad418e033c4","project":"chromium","file":"Pages/Users.spec.ts","title":"Token generation & revocation for Data Steward","durationMs":12609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-25c1589afdcf05b3f9cc","project":"chromium","file":"Pages/Users.spec.ts","title":"Should switch personas correctly","durationMs":8226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-28a4af5feb386d2eb3bf","project":"chromium","file":"Pages/Users.spec.ts","title":"Update own admin details","durationMs":13133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-40bc5d16474bd567fec7","project":"chromium","file":"Pages/Users.spec.ts","title":"Should add, remove, and navigate to persona pages for Default Persona section","durationMs":16749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-4e844addc2d7deb18855","project":"chromium","file":"Pages/Users.spec.ts","title":"Should display persona dropdown with pagination","durationMs":7410,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-55e153f9ef4db1972ec7","project":"chromium","file":"Pages/Users.spec.ts","title":"Permissions for table details page for Data Consumer","durationMs":10648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-8831dc2085f1fc122b29","project":"chromium","file":"Pages/Users.spec.ts","title":"Should add, remove, and navigate to persona pages for Personas section","durationMs":14684,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-90526ec56b570b377292","project":"chromium","file":"Pages/Users.spec.ts","title":"Create and Delete user","durationMs":19849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-9290e51e5e0501556ac1","project":"chromium","file":"Pages/Users.spec.ts","title":"Close the profile dropdown after redirecting to user profile page","durationMs":11421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-92ef91e72262b1cb927e","project":"chromium","file":"Pages/Users.spec.ts","title":"Should navigate to user profile from feed card avatar click","durationMs":13000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-998cbbc9b801f03b3159","project":"chromium","file":"Pages/Users.spec.ts","title":"Reset Password for Data Steward","durationMs":21643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-a075ce3908b993c98ad0","project":"chromium","file":"Pages/Users.spec.ts","title":"Should handle default persona change and removal correctly","durationMs":22779,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-a67e6de8eaa1bac9ba4c","project":"chromium","file":"Pages/Users.spec.ts","title":"Check permissions for Data Steward","durationMs":23345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-b006556d31479323998d","project":"chromium","file":"Pages/Users.spec.ts","title":"Should display default persona tag correctly","durationMs":5960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-ba6d0e4506a5b495f489","project":"chromium","file":"Pages/Users.spec.ts","title":"User Performance across different entities pages","durationMs":100174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-bb7e1f324e137b23fc91","project":"chromium","file":"Pages/Users.spec.ts","title":"Should handle persona sorting correctly","durationMs":6139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-c477ab434b58b5c1462a","project":"chromium","file":"Pages/Users.spec.ts","title":"User should have only view permission for glossary and tags for Data Consumer","durationMs":9926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-cb98769927a83a764470","project":"chromium","file":"Pages/Users.spec.ts","title":"Admin soft & hard delete and restore user","durationMs":19403,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-d3b9e560fd6791c5dbf1","project":"chromium","file":"Pages/Users.spec.ts","title":"Update user details for Data Consumer","durationMs":11240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-d753e04c92cfcfde4334","project":"chromium","file":"Pages/Users.spec.ts","title":"Admin is searchable by email","durationMs":10800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-dcb103b18bbe8e8861ab","project":"chromium","file":"Pages/Users.spec.ts","title":"Token generation & revocation for Data Consumer","durationMs":9156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-e004aa852f1f5c14efb7","project":"chromium","file":"Pages/Users.spec.ts","title":"Reset Password for Data Consumer","durationMs":19575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-e28e9e6eefdde1da98c0","project":"chromium","file":"Pages/Users.spec.ts","title":"Update user details for Data Steward","durationMs":14014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-e61829517b764558d9be","project":"chromium","file":"Pages/Users.spec.ts","title":"Update token expiration for Data Steward","durationMs":21488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-f34104f9785f64f73e81","project":"chromium","file":"Pages/Users.spec.ts","title":"Operations for settings page for Data Steward","durationMs":21204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-f3a2c3c86e3d09c3dd16","project":"chromium","file":"Pages/Users.spec.ts","title":"Operations for settings page for Data Consumer","durationMs":13911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-f64b8f345910b62363a5","project":"chromium","file":"Pages/Users.spec.ts","title":"Update token expiration for Data Consumer","durationMs":14976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-faece1be3db817778a7a","project":"chromium","file":"Pages/Users.spec.ts","title":"Admin soft & hard delete and restore user from profile page","durationMs":17313,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-4739ff2084f3c8e98727","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should not allow dragging term to itself","durationMs":12701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-6737551753852bc1cbf3","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should delete term and remove tag from assets","durationMs":32920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-771c51350f220ab003ef","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should delete glossary and remove tags from assets","durationMs":30177,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-e9b4d20d3effa0991571","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should update child FQN when parent is renamed","durationMs":17530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-f046ff3d00fbffbac1c2","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should delete parent term and remove both parent and child tags from assets","durationMs":53297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39f85eca53b00497835e-5795cfec5f514c0dff0a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":36346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39f85eca53b00497835e-b9d0e082fb7768ae4703","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":34758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-05d0755a10ff7ca86a72","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Search suggestions should be filtered by selected domain","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-106885a3b01e4c2164f2","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain assets tab should NOT show assets from other domains","durationMs":15310,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-107b97cfdd17a1b2e998","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain Data Products tab should NOT show data products from other domains","durationMs":12728,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-2df699eabe74a18aae7b","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain filter should use exact match and prefix with dot to prevent false positives","durationMs":22389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-457e576ead0d5e94d5f8","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Subdomain assets should be visible when parent domain is selected","durationMs":21700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-4cecbd70fae32cde1afd","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Quick filters should persist when domain filter is applied and cleared","durationMs":53926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-4f11dba00d75a16f9ce4","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain page assets tab should show only domain assets","durationMs":15986,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-57e135a57c2400ac872d","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain filter should persist across page navigation","durationMs":22746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-85fa806fabef9e541f8b","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Assets from selected domain should be visible in explore page","durationMs":24210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-a56e2714819093d7a60f","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain filter should work with different asset types","durationMs":19021,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-b501db7d91aa446ad715","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Multi-nested domain hierarchy: filters should scope correctly at every level","durationMs":44033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-cfe1941aeddc2a8aedf3","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"3-level domain hierarchy: SubSubDomain assets visible when SubDomain selected","durationMs":23186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-f757f1d04644bb85b32d","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Queries should inherit every associated table domain","durationMs":33462,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3d714cb874dd7d8d1332-864a1c3f662a3a46b0a2","project":"Ingestion","file":"Pages/HealthCheck.spec.ts","title":"All 5 checks should be successful","durationMs":3221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-1d51ace7c2b9cb0cfb30","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Related Metrics Update","durationMs":12042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-4debf93e2d3cfddfb567","project":"Basic","file":"Flow/Metric.spec.ts","title":"verify metric expression update","durationMs":12236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-50df1fa23ff9349409a6","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Metric Type Update","durationMs":11183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-7fda60583e5879af3268","project":"Basic","file":"Flow/Metric.spec.ts","title":"Dimensions and measures render and description is editable","durationMs":11895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-9acc6f2fc61d63d42017","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Granularity Update","durationMs":11018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-ceb78708ef9d141055da","project":"Basic","file":"Flow/Metric.spec.ts","title":"Metric creation flow should work","durationMs":10840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-d1d3605e00316bbde469","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Unit of Measurement Update","durationMs":11400,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-0bd2eb1e92ac9425b8dd","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Configure column search field settings","durationMs":10947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-19fb7ea74d0da3fa8c0a","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Preview config reflects reverted n-gram weight after save","durationMs":8573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-1f6c82edb0d025fa4d35","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Restore default search settings","durationMs":6888,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-2e3d05e6e1e746b6c156","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Latest preview config wins when a superseded request resolves late","durationMs":9353,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-3ed9d0f3e867e19c934c","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Preview config updates when restore defaults returns empty search fields","durationMs":8883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-3f1486bc755826887709","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Update entity search settings","durationMs":11197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-56543540342adb9b3b9e","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Search preview for searchable table","durationMs":7354,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-84d7fbb0379805c2e76e","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Highlight toggle is offered for analyzed fields","durationMs":8736,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-c8de79795df8ae9d2141","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Update global search settings","durationMs":8671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-cf112303dbb369632c4e","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Reset global search settings to default via confirmation modal","durationMs":6192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-dc51be90f6049672dc25","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Search preview displays column results correctly","durationMs":10360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-091ad1e139ec1aa5aaa7","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Non-admin hitting the App Mode route directly is blocked","durationMs":8949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-368c866c50d87d0d6d32","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Admin sees the \"App Mode\" entry under Settings \u2192 Preferences","durationMs":9591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-6aaf306204b336d44e9e","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"\"No default\" clears the tenant-wide app mode default","durationMs":8768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-8e24a121e78faace2a89","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Save is disabled until the selection changes, then enables","durationMs":8392,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-9b0bce0f8752299f18c3","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Non-admin does not see the \"App Mode\" entry under Settings \u2192 Preferences","durationMs":10976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-a3942979aba174dc0541","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Saving fires the settings PUT and the selection persists on reload","durationMs":11731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40e9622bfe15bcff9ad8-e351a58660693f8ee3e3","project":"chromium","file":"VersionPages/ClassificationVersionPage.spec.ts","title":"Classification version page","durationMs":11569,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4101399d238fe61337fd-26aaa7b16fc4e9c43441","project":"chromium","file":"Features/Announcements/AnnouncementEntity.spec.ts","title":"creates an announcement on a domain","durationMs":15674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4101399d238fe61337fd-3ca48bb1ea1b722e1c1b","project":"chromium","file":"Features/Announcements/AnnouncementEntity.spec.ts","title":"edits an existing announcement on a domain","durationMs":10179,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4101399d238fe61337fd-e35c5e2370a108a1519a","project":"chromium","file":"Features/Announcements/AnnouncementEntity.spec.ts","title":"deletes an existing announcement on a domain","durationMs":17951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-293d2abba1bbe1172a4d","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Data Model with display name filter","durationMs":36764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-2a3509194f4730d8cba7","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Dashboards with display name filter","durationMs":36519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-2b2c7b49221082fedabe","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Data Products with display name filter","durationMs":36770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-341c54345e6b70793b52","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Stored Procedures with display name filter","durationMs":36800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-35ecd7a4557f829ec686","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Containers with display name filter","durationMs":33977,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-369032808baca9262db1","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Search Indexes with display name filter","durationMs":34647,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-399c803a6b55bfebb25d","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Placeholder validation - widget not visible without configuration","durationMs":13630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-433345184533998b95ef","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Database Schemas with display name filter","durationMs":26953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-443dbf0db976c77a9310","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Charts with display name filter","durationMs":34710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-445bc96e17011a12c613","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Pipelines with display name filter","durationMs":34079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-49430d25ae8bdad31291","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Topics with display name filter","durationMs":35112,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-4a8e2d73b07a9622bd37","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Tables with display name filter","durationMs":37766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-522b865a043f08183f74","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test API Endpoints with display name filter","durationMs":37530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-56d6106d21f5cbe8f52e","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Complex nested groups","durationMs":33584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-5dd48016c14d23fccc18","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Multiple entity types with OR conditions","durationMs":38230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-70222d8e09ba6b43fbde","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Metrics with display name filter","durationMs":36451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-8f9c1279b9e0ba86b5ad","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Knowledge Pages with display name filter","durationMs":5583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-9bcab5a6deac24218c64","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test API Collections with display name filter","durationMs":30224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-a06a0a8ac5a0165a48c8","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Multiple entity types with AND conditions","durationMs":38855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-b1e897419449d04dadc7","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Databases with display name filter","durationMs":26297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-b61c4dd6c6c72671c332","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test ML Model with display name filter","durationMs":125969,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"41c98876e1766b5cfd3d-b6bdaacf16de33bb5986","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Glossary Terms with display name filter","durationMs":34384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-ed2ab173d7a73750195c","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Entity type \"ALL\" with basic filter","durationMs":22199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-0a6a0c0a89079822be9b","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: chart","durationMs":5357,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-1826851f56f2f64a88af","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: table","durationMs":10981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-197e96b23c8dfd4534d8","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: dashboard","durationMs":5616,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-1a3701d0ef11c45d2d86","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for pipelineService in platform lineage","durationMs":10985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-1f9fed7ccd1a32e46faa","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for mlmodelService in platform lineage","durationMs":10650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-2d3e40c9d820f5709c19","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: apiEndpoint","durationMs":5514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-2dfc818f81d83de6fdaa","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for messagingService in platform lineage","durationMs":10233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-34bdec5cd3987c0b1474","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for storageService in platform lineage","durationMs":11315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-5812ef9c06312f638121","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: searchIndex","durationMs":5670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-68545723ed07a1581857","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: topic","durationMs":6333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-76cc687e194d0300f524","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: container","durationMs":5811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-770dfa5de4648db0785f","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: mlmodel","durationMs":5560,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-77f956cbb3cdbb432c07","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: metric","durationMs":5547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-da57ff8ea302cc48d77a","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for dashboardService in platform lineage","durationMs":9538,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-ea0b3841423e11276a4c","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for databaseService in platform lineage","durationMs":10448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-ecfd33b33b08fec09293","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: pipeline","durationMs":5703,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-f8d8b2894982189c8fdb","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for apiService in platform lineage","durationMs":11983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-039b9d9949c4ae9f9ca1","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Add Table Test Case","durationMs":15348,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-727c14a4b085f6d7d08e","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Non-owner user should not able to add test case","durationMs":13767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-970712d494efa076b03d","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Add multiple test case from table details page and validate pipeline","durationMs":14155,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-9b9fb01ad7fade5e355b","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Add Column Test Case","durationMs":17060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-1d6fa09a9a2596f90ef9","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify No owner and description redirection to explore page","durationMs":5135,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-254524b7d3aaa13e3040","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify metrics in chart API response","durationMs":2716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-3761ae2928ffed19f52d","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Update KPI","durationMs":4169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-56301182f27c3a7cc07c","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verifying Data assets tab","durationMs":3610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-5d09da8479693162a3cf","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify KPI widget in Landing page","durationMs":5237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-5f88ed46d6737a9bc324","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Create description and owner KPI","durationMs":5934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-82610a9ae35a0e1b158d","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verifying App analytics tab","durationMs":4048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-869f610ab3df9908aa44","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify metrics appear in description chart","durationMs":2787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-944e8c55fd3b896053aa","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verifying KPI tab","durationMs":3583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-9b38808389a222082626","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Delete Kpi","durationMs":4157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"44e454c1973aaa886398-5740db2d3ef229ead0da","project":"chromium","file":"Features/AppMode/AppModePreferenceRoundTrip.spec.ts","title":"Toggle \"remember\" OFF emits a DELETE","durationMs":12252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"44e454c1973aaa886398-fdf5ed85a955e56d2a71","project":"chromium","file":"Features/AppMode/AppModePreferenceRoundTrip.spec.ts","title":"Toggle \"remember\" ON emits a PUT with the typed-union body","durationMs":11568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-9f5733c4dfa61fe13e8f","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"switches between Graph and Tree view surfaces","durationMs":7386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-ac147fa6311f758e140a","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"searches the Model graph and clears the query","durationMs":7173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-bfa7a1e932c6531f0d8f","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"opens with the View, Graph, and Model surfaces selected","durationMs":7435,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-d3781b6e6f0194b71607","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"scopes the Studio graph and stats to a glossary","durationMs":7933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-dc8b76bc66b6e8259ad7","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"covers Edit Graph authoring and the Model workbench","durationMs":10406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-e2a05d4ab84737443ccb","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"switches between Model and Data layers","durationMs":8694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-f9d00c1ff5fd124e8d68","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"renders every relation type between the same concepts","durationMs":7504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45a520c451ca353b2bea-4f5b3eea701877cc38c8","project":"chromium","file":"Features/DataQuality/IncidentManagerAfterSoftDelete.spec.ts","title":"Incident Manager renders without Jackson error after a test case is soft-deleted","durationMs":14156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45c88a6f0c34dbb0e7c7-1d2e961d2b1aba19000b","project":"chromium","file":"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","title":"Create new Bundle Suite with bulk selected test cases","durationMs":16240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45c88a6f0c34dbb0e7c7-9f20c56231a934527813","project":"chromium","file":"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","title":"Add test case to existing Bundle Suite","durationMs":17726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45c88a6f0c34dbb0e7c7-afb2d8d44d708f76b025","project":"chromium","file":"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","title":"Bulk selection operations","durationMs":12448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45e1ab4b06aa23f33aff-f2407ea680c31e534c87","project":"chromium","file":"Pages/PipelineExecution.spec.ts","title":"Execution tab should display start time, end time, and duration columns","durationMs":9028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-68ed63a7d77a329ff399","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should show enabled certification tag in dropdown","durationMs":17388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-a0fa29193e91484a6ef1","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should show certification after re-enabling disabled tag","durationMs":26642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-b024f565212d80a3e351","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should NOT show disabled certification tag in dropdown","durationMs":16030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-de28387173f13d94b5ab","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should handle multiple disabled tags correctly","durationMs":14950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-0570db7f4661ea4e68b4","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display domain and owner of deleted asset in suggestions when showDeleted is off","durationMs":8330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-325ce92dfd704c84764a","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display deleted assets when showDeleted is checked but deleted is false in queryFilter","durationMs":8609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-36286bd8f41799e49212","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display domain and owner of deleted asset in suggestions when showDeleted is on","durationMs":12611,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-6605f6bf34495eb64f57","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display soft deleted assets in search suggestions","durationMs":21052,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-66fc48bbab5da83e551a","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display deleted assets when showDeleted is not checked but deleted is false in queryFilter","durationMs":9856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-960a4db0dbad3161c418","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display deleted assets when showDeleted is not checked and deleted is not present in queryFilter","durationMs":8603,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-a17f0c9007400530095f","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display deleted assets when showDeleted is not checked but deleted is true in queryFilter","durationMs":10269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-d9a2f9139db34ab1f5c7","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display deleted assets when showDeleted is checked and deleted is not present in queryFilter","durationMs":10200,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-f24680ac9fa5499518e4","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display deleted assets when showDeleted is checked and deleted is true in queryFilter","durationMs":10434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-0ae3eee235ec5b54090e","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should display correct tabs for table entity in team assets context","durationMs":9871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-1887262312ad0f4235d2","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should display overview tab content in team assets context","durationMs":11035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-3e9e117558b4023ad650","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should display entity name link in panel header in team assets context","durationMs":9932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-4839ec1ef558a4b2c1e1","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit domain from team assets context","durationMs":11688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-5994beef742f7e20b2e6","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should open right panel when clicking asset in team assets tab","durationMs":9566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-9f9ccb162be898d5c7ce","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit description from team assets context","durationMs":12194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-b2b79442ca34f8eb583c","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit owners from team assets context","durationMs":12849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-e637e0262a842d70ad43","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit tags from team assets context","durationMs":11463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-eaaf971263597a587c9c","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit glossary terms from team assets context","durationMs":11367,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-fe9c6f16ecf7bfb38e71","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should assign tier from team assets context","durationMs":10802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4962513e4ede9efbc6bc-fe90046fdeee5e13ecdf","project":"Ingestion","file":"Features/TestSuitePipelineRedeploy.spec.ts","title":"Re-deploy all test-suite ingestion pipelines","durationMs":3100,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-06daeb511ef00f84fd29","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service deny common operations permissions","durationMs":11912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-0c4645d7bb089c1e321f","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service allow entity-specific permission operations","durationMs":12309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-14321144181f9ce47f79","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Api Service allow common operations permissions","durationMs":15857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-17cd90767af0966bd36c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Pipeline Service deny common operations permissions","durationMs":15184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-18ede5fe24ff674006aa","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":9527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-2e5ac8793860549aeacb","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-343573554ec0d8268d70","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-3484dd5baeedfabcdc0d","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-35a725698998eb2a47f8","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":10011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-38f5f03eb5cf5ae7f033","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":8755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-395e69814743ba2cb187","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":7891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-3a1ec3677e129e362fbc","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":8887,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-3ae259c0d22b1e1ce4d8","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Messaging Service allow common operations permissions","durationMs":10743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-432352edf3dca06c2ef7","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":7223,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-436873586de451fe96d5","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service allow common operations permissions","durationMs":16046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-4c6ea164e911bb693213","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":10398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-5f11cfb879248cf34e4c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":7366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-622ca29cccba013730a4","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":7630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-7b3743d684cf6e117d91","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9562,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-835d301c730efbe11b34","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":9781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-8ddcec058984ec203d3f","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":10087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-8f1bafe670518bc9e83c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-91a5d646919b4d9597e3","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":10193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-93d0ad051bf724091eae","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":7264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-a475e3ade77b9e387765","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-ae6752ff147b57846fac","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service allow entity-specific permission operations","durationMs":14425,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-afc719e0143260d4e040","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Storage Service allow common operations permissions","durationMs":15262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-b77edf9e143ef601fbf9","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-bcc6de800ae0018c8e35","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":8805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-c3aca2c5c8c2d82180af","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-c552350b1e2fa95be986","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service allow common operations permissions","durationMs":11463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-c7c8619b266099fc4f70","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":9847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-cdae34958cb93081829a","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"SearchIndex Service allow common operations permissions","durationMs":12215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-d59b19f223a8f2cc1bbb","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":7884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-dd662649178d493876e0","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Storage Service deny common operations permissions","durationMs":15693,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-ef980385b808a5c01753","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Api Service deny common operations permissions","durationMs":14144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-f03031217bd696b25733","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Mlmodel Service allow common operations permissions","durationMs":10639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-f14d138df6e533dcf29d","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Mlmodel Service deny common operations permissions","durationMs":12539,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-f4ee16bcc2057c7cbe8f","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"SearchIndex Service deny common operations permissions","durationMs":12151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fb8dab4d2fd36f28599c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service deny common operations permissions","durationMs":13750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fc44283d14ba6c42806c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service deny entity-specific permission operations","durationMs":10504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fc52cf1b230c7de377b5","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Pipeline Service allow common operations permissions","durationMs":14683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fee0d4a9f268927eb49b","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service deny entity-specific permission operations","durationMs":15263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-ff25baa5e6705fd87e3c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Messaging Service deny common operations permissions","durationMs":10452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-1bb1a00f45a51a478c52","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should navigate to new page when \"Leave\" is clicked","durationMs":16002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-61dac66ba80ac816590f","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should show navigation blocker modal when trying to navigate away with unsaved changes","durationMs":17370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-91f203d529a815190d96","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should not show navigation blocker after saving changes","durationMs":14091,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-9d1b73de8b80246d8cf7","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should confirm navigation when \"Save changes\" is clicked","durationMs":22881,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-e22c3867f6fc02b097af","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should stay on current page and keep changes when X button is clicked","durationMs":17733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-02496396ede353f7fb35","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"Add tests CTA navigates to the Profiler tab","durationMs":10119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-0fb42a3e78e29d28e22d","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"replaces the setup CTAs with status badges once tests are configured","durationMs":8867,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-983cb693886d03b0dbc8","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"Enable observability CTA navigates to the Profiler tab","durationMs":9820,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-990261b030bde9be3d4c","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"renders the widget with all four category rows","durationMs":9865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-d9f11a53361475875ec7","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"shows setup CTAs for unconfigured categories","durationMs":10056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-da9aa25e75339891381d","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"Create contract CTA navigates to the Contract tab","durationMs":10726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-0810169ebfef6450dab7","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"STATIC config sends all three static-only fields when set","durationMs":6458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-3dd9676e86c529445185","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"STATIC config sends profileSample and no DYNAMIC-only keys","durationMs":5886,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-5b5f30c9f86f701498c6","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"switching STATIC \u2192 DYNAMIC does not leak static-only fields","durationMs":6578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-c227bb3d66ab294ce3b3","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"DYNAMIC threshold remove drops only the selected row","durationMs":6626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-ce6cb46c9ee7e6dd2479","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"DYNAMIC with smart sampling ON sends only DYNAMIC keys","durationMs":6080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-cf4cca44f019913b314a","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"switching DYNAMIC \u2192 STATIC does not leak smartSampling or thresholds","durationMs":6347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-f02c36f33396d9719410","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"DYNAMIC with smart sampling OFF and thresholds sends thresholds array","durationMs":6242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-0acd98f891080c27eb0d","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Custom SQL Query","durationMs":25046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-19b221f23b1996aea714","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column Count To Be Between","durationMs":22286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-45298dd3dedeb1025238","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Row Count To Equal","durationMs":20303,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-6dffe1d54d6631269ef3","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Row Inserted Count To Be Between","durationMs":21965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-9ab6d3fa51599960986f","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column To Match Set","durationMs":23249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-a38fbe8dce53bede33cf","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column Count To Equal","durationMs":20773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-a586dabea686a2746e3a","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Row Count To Be Between","durationMs":24010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-efb7d23b30cf3ec7410c","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column Name To Exist","durationMs":22936,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-1f7188b7b883e25772b4","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Data Product","durationMs":6597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-27cf91afa49b80c2fff9","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Tag","durationMs":7661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-29cc7b194e31b3fdc811","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Dashboard","durationMs":8826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-2b584b4d9a77cdb55d27","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Data Model","durationMs":7911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-382d14fc9018ce22dc30","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Database Schema","durationMs":8173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-4cc3834b03e310e5e602","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Metric","durationMs":7609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-4dae8060a54ac47cc0a8","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - API Collection","durationMs":6306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-54a64bccafdf003b3b5c","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - All","durationMs":6902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-54ad89a5b97bf479cc59","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - ML Model","durationMs":6014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-6316c64b4f391ed5dd7c","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Database","durationMs":7650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-6559c024bdc4ef8d6595","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Search Index","durationMs":6170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-69a557a324f049438f36","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Directory","durationMs":7758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-89015f87c94adc34de54","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Table","durationMs":6359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-92dfb0fb33159b9982bf","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Container","durationMs":7660,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-960f1bace1eb38b1a42a","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Worksheet","durationMs":8431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-9c37b3959482f071ddae","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - API Endpoint","durationMs":7409,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-a8750715d64a09e3c8fc","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Spreadsheet","durationMs":8541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-cae189412fe5f16c69a7","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - File","durationMs":5727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-cd0c011f0719a41d2d68","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Pipeline","durationMs":8470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-cf14b19b99f210391fc6","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Stored Procedure","durationMs":7665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-db96c73de1e2ebd5a423","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Topic","durationMs":6860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-dcfea58dc473f62141b7","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Glossary","durationMs":8522,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e89530d9c0b985f2d2e-8764696c70efbfce6d8f","project":"Basic","file":"Pages/Roles.spec.ts","title":"Roles page should work properly","durationMs":38473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e89530d9c0b985f2d2e-fbf09b1def578f24be64","project":"Basic","file":"Pages/Roles.spec.ts","title":"Delete role action from manage button options","durationMs":14097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-3e47bd48fd77712e1f85","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify columns and edges when a column is hovered","durationMs":8361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-ad6d8832112259fd0251","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify edges for column level lineage between 2 nodes when filter is toggled","durationMs":7642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-b732968444170866a917","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify column visibility across pagination pages","durationMs":16225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-dfc52176b46c289f580c","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify edges when no column is hovered or selected","durationMs":10137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-fa1589a1509ed48faec5","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify columns and edges when a column is clicked","durationMs":7934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-2fe9c1b4e193b0e8a3c1","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Pipeline via UI","durationMs":80868,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"53b3e913ac628cc64131-437893114501837400b1","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Dashboard via UI","durationMs":12292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-69a7106de7c0a6a9eced","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Verify task lifecycle in activity feed","durationMs":23290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-6c54054c4b110926b888","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create tag task for table column via UI","durationMs":20925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-79d67e1c613b05839814","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Table via UI","durationMs":14275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-8605df75810c859fa5df","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create description task for table column via UI","durationMs":20957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-9c3e14eda96c37015d6c","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Pipeline via UI","durationMs":14301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-a6b2c6fca32681720e0d","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Dashboard via UI","durationMs":12708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-b14bef78aecc75cf1e4b","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Topic via UI","durationMs":12505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-b3aafe3db491bbb76c3f","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Table via UI","durationMs":13957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-ca8b24a71c63ee90c746","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Topic via UI","durationMs":12203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-dc5fdbbc55f4323bd01d","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Verify task shows correct metadata","durationMs":21530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53f5e48dc6dd5303275d-f73ee758f1c03b02e338","project":"Basic","file":"Features/MetricCustomUnitFlow.spec.ts","title":"Should create metric and test unit of measurement updates","durationMs":13417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"542738137544ccb7a5b6-ec4052ad168f3715c61c","project":"Basic","file":"Pages/SubDomainPagination.spec.ts","title":"Verify subdomain count and pagination functionality","durationMs":14037,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-20526ba66c2db23ec1b7","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Edit own comment - author can edit","durationMs":199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-3adb3ddf9b6b67100b88","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Admin can delete any comment","durationMs":218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-494755f4b3475416e2de","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Delete own comment - author can delete","durationMs":238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-5282e3382c460cc2d9f9","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Add comment to a task","durationMs":295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-577db3e820f130af6ca7","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Non-author non-admin cannot delete comment - returns 403","durationMs":8673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-6f7978153f6acdcda0dc","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"View comments on task in activity feed","durationMs":10440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-80af15ec5a63db7ec1c7","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Add multiple comments to a task","durationMs":275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-861e0f72c5138e44c9dd","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Comment supports markdown formatting","durationMs":185,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-adf9f8b9a52a48f27809","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Comment with @mention syntax","durationMs":272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-eba5683c6497d7b43096","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Non-author cannot edit comment - returns 403","durationMs":6505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-07bce10ca7c87f76ebc3","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Insights page should trigger collect API","durationMs":5817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-3868472ff94748e79924","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Incident Manager page should trigger collect API","durationMs":5271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-57526628bff2481e11dd","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Explore page should trigger collect API","durationMs":5710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-64c32274d7af4914dbb0","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Tags page should trigger collect API","durationMs":4839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-73b9c5edde2a3debaf93","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Quality page should trigger collect API","durationMs":4632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-a48dd7c323ac0a8ce57a","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Settings page should trigger collect API","durationMs":5514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-ee0a5aeb47d5510b99b5","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Glossary page should trigger collect API","durationMs":4253,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-077585f6e4f0a08cffc6","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should create a new learning resource","durationMs":8596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-24ae7d73ea2582e79ad8","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct pageId param when filtering by context","durationMs":6225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-34c89825a071c90c66cd","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct resourceType param when filtering by type","durationMs":5800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-408a941563d59c4b52db","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should validate required fields when creating a resource","durationMs":6337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-4daf0f2ef98790dfdd5d","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should open resource player when clicking on resource card in drawer","durationMs":8534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-6440dc2b2c05f5ff8244","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should clear all filters and reload without filter params","durationMs":6248,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-7057ea634ebbed2312bb","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should toggle between table and card views","durationMs":7919,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-a5ef027b5906819fe95a","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct status param when filtering by status","durationMs":6009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-b9bfc3ce1ba2ab5785a5","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct category param when filtering by category","durationMs":5576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-d8c73713be3825c12ab8","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should show correct learning resource in drawer on lineage page","durationMs":7000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-db3917dc961a6c6490d9","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should create resource via UI and verify learning icon appears on target page","durationMs":11590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-f5d75cc00a51851d5306","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should preview a learning resource by clicking on row","durationMs":5683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-f761108bc52917eb0642","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct search param to API when searching","durationMs":5227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5609f6479eac3cd9b7a7-683a4b4827384efb9055","project":"chromium","file":"Features/AgentLogStreamHandover.spec.ts","title":"A finished run clears the live state and refetches the log exactly once","durationMs":4308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5609f6479eac3cd9b7a7-8b23b53f970ad335810a","project":"chromium","file":"Features/AgentLogStreamHandover.spec.ts","title":"A run that keeps streaming is never polled, and reconnects from its cursor","durationMs":8212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5609f6479eac3cd9b7a7-d27d4198437bb484a92f","project":"chromium","file":"Features/AgentLogStreamHandover.spec.ts","title":"Scrolling a live log pauses auto-follow and the toolbar toggle resumes it","durationMs":8309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-1d7fa6c7705f360dd57c","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"AI badge should appear on entity description with Suggested source","durationMs":35998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-4d509e367d791e680fce","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"AI badge should NOT appear for manually-edited descriptions","durationMs":16430,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-ad865f0b3a35d329cfae","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"Automated badge should appear on entity description with Automated source","durationMs":17169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-c879ec9ef9cceb2c1db5","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"AI badge should appear on column description with Suggested source","durationMs":132614,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"568c8eba961df9f30237-d7e62feac5044c0d61fa","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"Propagated badge should appear on entity description with Propagated source","durationMs":17825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-00d10c1204dcb1503daf","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"uploaded document card shows name, size, updatedBy, updatedAt, and folder","durationMs":8918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-1333813a8cf577276069","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"expanding a folder shows 10 files, view more loads the rest, and show less collapses back","durationMs":10642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-24e040b4f0daf57f8c2b","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"document appears nested in the folder tree after being moved to a folder","durationMs":10687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-269c7beb9556949e695f","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"moving document to folder shows folder on card; re-opening menu shows current folder selected; clicking it again removes document from folder","durationMs":11283,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-2e28f17914a39684acc0","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"retry on a failed file updates the row to complete and keeps the modal open","durationMs":10339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-2f7b38c26e82cbe867ce","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling the bulk \"Move\" dropdown loads the next page and reveals the page-2 folder","durationMs":17394,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-38c6c355899b59d8b7a4","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"documents view container is rendered","durationMs":12735,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-41757222b5c8359eed12","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"copy link button on document list row copies URL with correct document id and opening the link shows the preview panel","durationMs":14704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-4745dae95484add0ade5","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"create folder appears in sidebar tree and delete folder removes it","durationMs":12648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-485a24ecc4ba1cdad79f","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"delete single document from card menu removes it from the list","durationMs":11506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-4b077df390afe8767316","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"clicking folder in sidebar shows only that folder documents and move menu show the current folder","durationMs":14131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-62c0897bad0eda516e8d","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"attaching a new file does not close the modal when a pre-existing error file is present","durationMs":12202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-639d91951f33be98d7a6","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling the per-file \"Move to Folder\" submenu loads the next page and reveals the page-2 folder","durationMs":10486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-74c465ee083236782524","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"partial batch failure keeps modal open with failed rows showing try again","durationMs":11291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-77de7e00171675e4d461","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"file upload attaches file and closes modal, then appears in list","durationMs":10914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8150a4d5518b4bb29ac0","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"clearing document search restores the full list","durationMs":9697,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8688b851d9e1c94056d6","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"bulk move moves selected documents to a folder with a single API call and folder name appears on both cards","durationMs":19366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8737cb9413dd7cb2e802","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"searching documents with no match shows empty state","durationMs":8713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-88817c4218092444a545","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"clicking document row opens preview panel with name, status, size, folder, updatedBy, updatedAt and copy button copies correct link","durationMs":11235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8d88e17dba6bf2ee365f","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"bulk delete 2 documents removes them from the list and both appear in the archive","durationMs":18405,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-a00b3e03f359967e5d5d","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"Upload File button opens upload modal with correct title and hint","durationMs":10429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-a9f5bd79d23a70cae703","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"oversized file appears in list with failed state and Attach button stays disabled","durationMs":10727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-d5758dd9e35122c24e51","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling the sidebar folder tree loads the next page and reveals the page-2 folder","durationMs":8930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-d6fa28cd9dd0a23fe766","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"searching with folder selected scopes results to that folder only","durationMs":11002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-d716db49c6608dbe0e11","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"shows header with Upload File button","durationMs":8209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-e2345c9897597a5db162","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling to the bottom of the list loads the next page of documents","durationMs":13351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-edb3ac72c05e7f318a35","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"move document to folder via card menu shows folder name on the card","durationMs":9817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-ef0af5d349390d9be21a","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"searching documents filters the list to matching results","durationMs":9759,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-f42e131cca4e98999103","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"duplicate filename in same folder shows retry error; uploading same name to different folder succeeds; delete file and folder from UI","durationMs":18151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-feebbefe7b5c42ddb24e","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"duplicate filename upload fails case-insensitively in the same folder","durationMs":9184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-1a30082a0e8c0134b699","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values Sum To Be Between","durationMs":19110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-220c8abdae85161f7ef1","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Not Match Regex","durationMs":18848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-2bc0479414d1cfb7e52a","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value StdDev To Be Between","durationMs":16579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-527690061879323e9f56","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Mean To Be Between","durationMs":16536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-52a4ac74b376c6248a8b","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values Missing Count To Be Equal","durationMs":16762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-585c361e018618ac3c85","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Min To Be Between","durationMs":16386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-5cf5641d7794e01ed134","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Match Regex","durationMs":16148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-8d0cc261c61869a2e942","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Median To Be Between","durationMs":16854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-941e7252830d062fca15","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be In Set","durationMs":17953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-a728a614c03861fbe05c","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values Length To Be Between","durationMs":17111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-b8c2ba1a531cf17537f6","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Max To Be Between","durationMs":17833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-b9c4fc654f6df8a64278","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value To Be At Expected Location","durationMs":16725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-be68a0dcbf4404b7c60d","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Not In Set","durationMs":17151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-d2b4cbf07a2eb74cafaf","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Unique","durationMs":16660,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-d44e518bd09b8d8cca9d","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Not Null","durationMs":20940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-f0ad21757191a49ab561","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Between","durationMs":18517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"58209e668526b4118920-9962bcde1da3ae180f23","project":"chromium","file":"Features/TableConstraint.spec.ts","title":"Table Constraint","durationMs":27190,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-150f00a8522948ca82c7","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"removing team member should create activity","durationMs":9623,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-281ff782d6a9895b5d37","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should be able to resolve team-assigned task","durationMs":9784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-4218944b90688690d3c8","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should see team-owned entity changes","durationMs":9366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-6a1509d7c1e716eb9550","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should receive notification for team-assigned task","durationMs":7952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-8caa0444f8b3d9f04f71","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"non-team member should NOT see team-assigned task in their tasks","durationMs":8301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-ae919be6e81338fd2a2a","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team page should show activity feed for team","durationMs":6891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-c97f6ef399e1f3cb9b58","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should see tasks assigned to their team","durationMs":7434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-d9e43035c5a38c2b7517","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should see team membership changes in activity feed","durationMs":9352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-e2bc93dfdbdc70314acc","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"non-team member should not see team-only activity","durationMs":7994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-ee6cda8cf796aaead244","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"different team member should also see team-assigned task","durationMs":7791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-12d140d9d851ee24f0e1","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Add teams in hierarchy","durationMs":8664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-651d615e2b611721b171","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop on Division team type","durationMs":4085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-821ac29f15154291c014","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should fail when draggable team type is BusinessUnit and droppable team type is Division","durationMs":3141,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-84b55c520eac6337ee73","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop on Department team type","durationMs":4101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-9eebb114627308bfceda","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should fail when drop team type is Group","durationMs":3674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-c5c76c34a2e5cbd00ce6","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop team on table level","durationMs":3598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-cf4bd8f779f87bb20516","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should fail when droppable team type is Department","durationMs":3440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-e02d0adfda4658ae691c","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop on BusinessUnit team type","durationMs":4240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-17226c8e4fb8758d4c16","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with only VIEW cannot PATCH incidents","durationMs":10066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-40d5b508af0f1557c186","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TABLE.EDIT_TESTS can see edit icon on incidents (alternative)","durationMs":9835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-5b14a963076563878b00","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"Consumer-like user cannot see edit icon and cannot create/edit incidents","durationMs":10075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-6952ddbbfc1aded68ffe","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view incident CONTENT in UI","durationMs":10385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-86854d0ef42ab99072e7","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TABLE.VIEW_TESTS can view incidents in UI (alternative)","durationMs":10084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-906fb153657cd8c10018","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TEST_CASE.EDIT_ALL can see edit icon on incidents","durationMs":10517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-bdbf4bb4dd50592dc6ab","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with only VIEW cannot see edit icon and cannot POST incidents","durationMs":10233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-e24504ddfad39ded9cfe","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view incidents in UI","durationMs":9757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-8fb80db9e9e824864860","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should show loader then render classification content on initial page load","durationMs":3973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-902997d142078395f0b2","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should render correct content when switching between classifications","durationMs":12372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-bc6bf4188428df4e1363","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should render classification correctly after page reload","durationMs":15211,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-d3427f89e0e3492163f4","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should render all classification detail sections after loading","durationMs":15996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a571ecbb30c2877255e-000cc1bf493e11634f32","project":"Ingestion","file":"Pages/LogsViewer.spec.ts","title":"Logs page shows breadcrumb, summary, and log viewer or empty state after opening from bundle suite pipeline tab","durationMs":9640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-00a1cdb503e15dbb492e","project":"chromium","file":"Pages/Domains.spec.ts","title":"Comprehensive domain rename with ALL relationships preserved","durationMs":52954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-058d4f127752c8b36927","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify duplicate domain creation","durationMs":16059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-08165284efa6f293a92a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Should clear assets from data products after deletion of data product in Domain","durationMs":95306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-13c6520c826c7eca4b68","project":"chromium","file":"Pages/Domains.spec.ts","title":"first-time add (no current domain) commits without showing the warning modal","durationMs":21624,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-1810cc2b4c4a408af07f","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify redirect path on data product delete","durationMs":20990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-1edacb9d8c077caa7901","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain","durationMs":30311,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-211da11cb816223351be","project":"chromium","file":"Pages/Domains.spec.ts","title":"Domain owner should able to edit description of domain","durationMs":19862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-28fdb3fda9203a613a93","project":"chromium","file":"Pages/Domains.spec.ts","title":"Data Product announcement create, edit & delete","durationMs":37066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-2bd269f19362ee149752","project":"chromium","file":"Pages/Domains.spec.ts","title":"Should inherit owners and experts from parent domain","durationMs":18217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-2c7f60df9b21b10d852c","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with tags and glossary terms preserves associations","durationMs":20950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-39708973ea128903f12a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify domain and subdomain asset count accuracy","durationMs":75322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-3a657a5b353f23a52971","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with data products attached at domain and subdomain levels","durationMs":21322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-41ad0369adac81ff6b18","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with assets (tables, topics, dashboards) preserves associations","durationMs":51461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-42fe30db5b099636336b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Subdomain rename does not affect parent domain and updates nested children","durationMs":21129,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-468822f47c1bfe7e56ea","project":"chromium","file":"Pages/Domains.spec.ts","title":"Assets tab lists the assigned glossary and its inherited term","durationMs":13672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-4943e305ac2f77dab3e8","project":"chromium","file":"Pages/Domains.spec.ts","title":"AddDomainForm description preserves typed whitespace","durationMs":10958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-4e3971359320b075cbb3","project":"chromium","file":"Pages/Domains.spec.ts","title":"Add-Assets drawer quick filter - behaviour matrix","durationMs":27519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-4ec6b7d25e96a0a0c363","project":"chromium","file":"Pages/Domains.spec.ts","title":"Domain announcement create, edit & delete","durationMs":31017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-54632a239b314fb2b087","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify domain data products count includes subdomain data products","durationMs":53810,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-5ea87aba82de9e69f803","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with deeply nested subdomains (3+ levels) verifies FQN propagation","durationMs":19811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-60ec59c847ceb9594d4a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with subdomains attached verifies subdomain accessibility","durationMs":18140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-78907b1bc71d2fbf4f0a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify data product tags and glossary terms","durationMs":26996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-7aca6831130839a0cec8","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify domain custom property value persistence","durationMs":21527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-832afab7b2e6da27dcd6","project":"chromium","file":"Pages/Domains.spec.ts","title":"slash, mention, and hashtag popups are usable inside the Add Domain drawer","durationMs":24239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-867db2298f498ed22771","project":"chromium","file":"Pages/Domains.spec.ts","title":"Follow & Un-follow domain","durationMs":30426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-877f57fd0b9d6c00c328","project":"chromium","file":"Pages/Domains.spec.ts","title":"User with noDomain() rule cannot access tables without domain","durationMs":13465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-8a19c401185f31534530","project":"chromium","file":"Pages/Domains.spec.ts","title":"Multiple consecutive domain renames preserve all associations","durationMs":85003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-90441b02005e9e698942","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create domain with tags using TagSuggestion","durationMs":15793,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-90d3b0f4f38255032906","project":"chromium","file":"Pages/Domains.spec.ts","title":"cancel on preview modal aborts the move","durationMs":27048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-941ba943b9b6909b181b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create domains and add assets","durationMs":31448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-a64ddf86b530d1b08c7e","project":"chromium","file":"Pages/Domains.spec.ts","title":"Data consumer can manage domain as owner","durationMs":18527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-a91a7b57d2c8980e04ea","project":"chromium","file":"Pages/Domains.spec.ts","title":"shows preview modal on cross-domain move and commits on Move Anyway","durationMs":27987,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-b5b9e238dec299377ac0","project":"chromium","file":"Pages/Domains.spec.ts","title":"Domain Rbac","durationMs":68968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-b9e70b1c81b9ba79fe2b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify Domain entity API calls do not include invalid domains field in glossary term assets","durationMs":23220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-bde707fc5aac0401750a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create subdomain with tags using TagSuggestion","durationMs":19314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-c38fbe441d42c9627329","project":"chromium","file":"Pages/Domains.spec.ts","title":"preview names affected data products when moving across domains","durationMs":19013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-c9d5f9bbc47b87764df6","project":"chromium","file":"Pages/Domains.spec.ts","title":"Follow/unfollow subdomain and create nested sub domain","durationMs":32495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-d88964156dbad267a3fa","project":"chromium","file":"Pages/Domains.spec.ts","title":"should handle domain after description is deleted","durationMs":12246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-dc27f2d87881ab505c0b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify Domain entity API calls do not include invalid domains field in tag assets","durationMs":26308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-dfc370e7cca8f37456f2","project":"chromium","file":"Pages/Domains.spec.ts","title":"should render the domain tree view with correct details","durationMs":9147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-e39301d5c52576b7bc0c","project":"chromium","file":"Pages/Domains.spec.ts","title":"User with hasDomain() rule can access domain and subdomain assets","durationMs":11570,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-e915b74c6eba6a3cb81d","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename to existing domain name shows appropriate error","durationMs":12670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-eba5d9a4be11a73fb40b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with owners and experts preserves assignments","durationMs":18521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-ec0297c4e178bfb838e2","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify clicking All Domains sets active domain to default value","durationMs":24079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-edbb83c1aef23ac5fe9e","project":"chromium","file":"Pages/Domains.spec.ts","title":"should handle data product after description is deleted","durationMs":12136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-f2a49bf85e545308f9cf","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create DataProducts and add remove assets","durationMs":97334,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5b560f2a008735eeb753-59998383f71d95e33941","project":"chromium","file":"Features/DataQuality/IncidentManagerAfterOwnerChange.spec.ts","title":"Incident Manager renders after a test case owner change","durationMs":20450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5c28d935b3c657a6e5bc-73a4cae56b3a100775bc","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportE2eFlow.spec.ts","title":"Admin: Complete export-import-validate flow","durationMs":251167,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5c28d935b3c657a6e5bc-a936c2f91f4ad9769ad0","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportE2eFlow.spec.ts","title":"EditAll User: Complete export-import-validate flow","durationMs":258508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-10b3bf8dd0d55f85d77d","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Tags","durationMs":16125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-18610c86119ed13f58a1","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Search Index","durationMs":15135,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-3aa370ad5eaa21e64275","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"API Collection","durationMs":14174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-4f41b2190e1d1f9d68e2","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Glossary Term","durationMs":13766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-5675237446380d7955da","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Database","durationMs":15742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-7b5d40e65305dc11c3b4","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Stored Procedure","durationMs":17116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-7da97f8239b2930647ac","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Table","durationMs":17792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-993a003b732f85ca70f1","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Dashboard Data Model","durationMs":16125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-a3aaf964369df56c9bdf","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"API Endpoint","durationMs":17276,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-aa4c7687b25f08368410","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Column","durationMs":17791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-aca5963b052c2fbcc208","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"ML Model","durationMs":16209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-adf3ee9562a932f7cfb4","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Topic","durationMs":16551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-c0d85d22753538870e95","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Database Schema","durationMs":16194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-ca00f14c4cb64a35f244","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Dashboard","durationMs":16514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-cd028f49219fc3decf23","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Pipeline","durationMs":16318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-d9b951c102d713db155e","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Container","durationMs":15967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-dc8ba8fe61a148caacd4","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Metrics","durationMs":14113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-247a852a8f9d96911088","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Sort state should be preserved when searching columns","durationMs":6290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-2d5d89cfca8730ffb2c3","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Clicking Original Order option should sort columns by ordinal position","durationMs":5299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-3c6d240db259312d28e5","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Clicking Name column header should toggle sort order","durationMs":5786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-70bcb1d6a1cd9df68f81","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Clicking Alphabetical option should sort columns by name","durationMs":6175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-a5dfbdd951385e32b97a","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Sort dropdown should show Alphabetical and Original Order options","durationMs":4952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-c01e49e259252126d74c","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Sort dropdown should be visible on table schema tab","durationMs":4621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-c86bd28c40019f7bf7ee","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Switching sort field should reset sort order to ascending","durationMs":5622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-0466efa203f90064b580","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary truncates long description and end of text is not visible before expand","durationMs":7828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-197cf17e5b07ddff57de","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Customized Table detail page Description widget shows long description","durationMs":17651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-1d5bdad4fce05f36540c","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Domain long description is scrollable and end of text is visible after scroll","durationMs":9315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-60fae3d5fe2e9ea4edc1","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary long description is visible after expanding","durationMs":7950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-76ee66e52bce790fb914","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Data Product long description is scrollable and end of text is visible after expanding","durationMs":9576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-9380f0005af196f8f8cc","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Domain description comment-thread button opens the activity feed drawer","durationMs":8691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-bf35b4fa3269cd34eb66","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary Term long description is visible after expanding","durationMs":5238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-c84de7d4c776aa2235ca","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary Term truncates long description and end of text is not visible before expand","durationMs":8145,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-c993b188be16c921d381","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Data Product truncates long description and end of text is not visible before expand","durationMs":8708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-2fc13bd486ba204a9b0e","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":70803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-30b6dae7d0a961254f56","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":65452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-4f3a6fb1fb3de6d8217d","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":129231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-92cd730c005813f91465","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":105636,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-94c100d67d396805d1b5","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":13899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-9ecb9ce96078b339d264","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":8832,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-a044c42b96a086d46495","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":165584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-a3b61ed679be08981a84","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":8620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-acddffdad8f69d48d4ce","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":9385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-b3d6519c76369e63a867","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":11535,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-c745b5314f6b89d8d8dc","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":69622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-f5cf031d5d3d53ec8d50","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":11103,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-35843ba93005559bc5b7","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"edit form renders and manifest edits are saved","durationMs":9849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-70976550640ebe56c182","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"manifest editor is full width, clears cleanly and keeps caret stable","durationMs":4756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-8525dc7ae87c5a745a7d","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"confidence field rejects values outside 0-100 and blocks next step","durationMs":6121,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-d301fbab1271274948c4","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"sampleDataCount rejects non-positive values and blocks next step","durationMs":6155,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-e1ac46b0fa3419663979","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"auto-close keeps the caret between the inserted pair","durationMs":4656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-08f0afc5bbbcfddf5fe8","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should display correct status badge color and icon","durationMs":18502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-0c5bb45f7891c174950a","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should inherit reviewers from glossary when term is created","durationMs":16910,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-26b4e489ecf3c2ec93b8","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should start term as Approved when glossary has no reviewers","durationMs":16431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-27f2d6ee3aefa050281a","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should view workflow history on term details page","durationMs":21701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-7faac0bc93febd2581b9","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should delete parent term and cascade delete children","durationMs":16988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-bf53bdbb0a31361d92aa","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should change status when non-reviewer edits approved term","durationMs":24811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-c2809e67875b4136fbc3","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should not auto-approve term when glossary has reviewers","durationMs":15918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-c623fe2508894ad9aa77","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"non-reviewer should not see approve/reject buttons","durationMs":26630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-ea2302b8bcba34efbbcb","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"owner should not see approve/reject buttons if not a reviewer","durationMs":29026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-febeba98e63565adc403","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should show workflow history popover on status badge hover","durationMs":25738,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-17bb560f186a52556b6e","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently created article appears in the Articles pillar card recent list","durationMs":6589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-35ffe7964f4ff382e358","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"clicking each top summary card redirects to its corresponding list page","durationMs":14401,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-591d8e2b0ba501dd7afe","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"Create > Quick Link creates a quick link that appears in the Articles pillar card recent list","durationMs":9738,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-7e65fcaf721dd4c7fc90","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently created memory appears in the Memories pillar card recent list","durationMs":7868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-82c968bc20dd40640260","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"memory with highest usageCount appears at the top of the Most Cited Memories widget","durationMs":7421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-9c9d3267a4439857e600","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"folders widget shows folder with file count and expanding reveals child file","durationMs":7710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-a485be19ead771b720d0","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently viewed article appears in the Recently Viewed widget after visiting it","durationMs":10751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-a7a4ddbacb21212a4925","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently uploaded document appears in the Documents pillar card recent list","durationMs":6766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-b39405d678aebfb3c9d0","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"Upload File button opens the upload modal and uploaded file appears in the recent documents list","durationMs":7507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6371c6e2d907c92358e4-a6573e241600590ee3d5","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":36906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6371c6e2d907c92358e4-c116df633ffcf099a993","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":37580,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-4067d73d89ad7e8a9d7b","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":51123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-4c0a127433aa7dd6e72b","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":38052,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-6cc746feeae7fcde0753","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":31414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-8ed5ae9e4457d894e9a1","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":40807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-c171fd09b78290a7ee3d","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":39071,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-c48e9e0adb431a610c55","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":38470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-d459106bf07dc4b72448","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":36665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-ddd05ab1ec93995dc321","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":42878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-f1417577e5c493c9ed9d","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":36824,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-fc8cffe6fccb985e0363","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":37059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-fe8f25b8cb74ea0c9c11","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":40286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-01215054e737e2c593fb","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Create team with domain and verify visibility of inherited domain in user profile after team removal","durationMs":13152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-16b7d856c97d302db432","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Non admin user should be able to edit display name and description on own profile","durationMs":9860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-2d41661b7fb29796cb11","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Admin user can edit teams from the user profile","durationMs":8924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-761b0901e1a38838b81d","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"User can search for a domain","durationMs":12583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-82f49cf6ec1e1428430f","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"My Data Tab - AssetsTabs search functionality","durationMs":18398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-8d5d1460501ed67f3bfb","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Admin user can assign and remove domain from a user","durationMs":13794,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-a1a41e105bc8e1f05019","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Admin user can get all the roles hierarchy and edit roles","durationMs":12526,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-dd0919f68d1d3f97ba68","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Subdomain is visible when expanding parent domain in tree","durationMs":11815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-e327d2178a45b46d6a94","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Non admin user should not be able to edit the persona or roles","durationMs":9923,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-270895da7594f80804d0","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"Tier1 OR Tier2 union shows assets with either tier across asset types","durationMs":33723,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-2f5e7621dfc5950e7dbe","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"removing one tier chip narrows the union to the remaining tier","durationMs":23634,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-77d802807f3b1de7d1e5","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"domain filter spans asset types and ANDs with an asset-type filter","durationMs":31533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-a5ea7273e17fe2c0b22c","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"certification union shows assets certified with either level","durationMs":29704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-d88a3c506999e00ab9af","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"glossary term filter spans asset types and ANDs with tier","durationMs":19222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-f4233e4ff83a89dfc78b","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"tier and tag filters AND across fields","durationMs":23134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-f629a0aa9880099c7b25","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"asset-type union composes with tier union (AND across, OR within)","durationMs":27299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-00c1b828793ac9ccad42","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15323,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-010a74dfd5f225fdd9ac","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":12017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-02cdcc35da1446d26426","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":31033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-0513f79e653d347c7603","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-05568392368ae2bd8841","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-076047cd3a3cd9186780","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-0b18fe048332aed087f0","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-0e4eed2d6ca3374d26a7","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":12181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-106e894b7b0f76f0a360","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":16440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-13d9772ce8471d90d2fb","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17068,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-19e7e34913aaccebcebd","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-1a342db08b7329cc2010","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-1a8e244a95c0d725bc93","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":20575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-1c6d2e1ac16152f480f0","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-2172832393bae4110f5a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":14264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-21e015047436a930e5a7","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":11884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-241282b34358796f6850","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":19446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-265c0bedcb12d4ef691f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-27dfe3b37ded28891ed3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19660,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-27e953a961e46ba2243b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":30288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-2881886f24b7cb9bedb2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-28a34def86e53882b978","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-28f65a1e4a970d0ce460","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-2ebf49154da3380d587f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-31492e12c2051bbec6b3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-319fb1586353f9bf979c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":18536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-324024e123c76341d586","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":18635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3313a1c7730a0f079c48","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3336421788437383e2cc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":20074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-34f290ac8ac48a8f3681","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":20903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-39b25a08623f358085e3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3abe5cbe7ce08e9c39ef","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19695,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3b834e2e1e9305adc7dc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":35154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3c15dad0de10fcb3940d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3c344177da39d32ebbb3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3d3fc741cd693c321f3c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-42bfa76fce18d5b34428","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-433104e7d8c1442600ca","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":14510,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-43365053282d79a2ef4d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16986,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-43a7b8e6fc2c81346e3f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-448846b13aaa4c960092","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-454d7ae3bb0f64862809","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-46adcce2c19f39334ac2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-47406fd7c5294829cd17","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-48370bd09b976d97dbd8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4935ec04bac029211d03","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":14731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4b4716d8c87319aaa92f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4b72173a8ebe71df8285","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4cbdcc28feeba140f2ea","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4ccbd565695fa5768657","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":17213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4d38fabf8de3bc50313c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":13017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4d933fca87fdac097185","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":11567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-50caa1b488c051292cc8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-52a3ac737815ae734775","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-533ef8c505f142eba030","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":16786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-545e6e53903fed82a826","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5585a4494ff06f0b626c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18948,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-590c184434bac31ae289","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22956,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-59c5b44e80429341d27c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5a969009255a2a964813","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":22194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5b00196bb214ede31674","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":21391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5ba53f6cc22bb1ca824a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":15494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5bd2a819a7b25eb274d2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":12405,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5c4c3f255252af488b0d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5c65ba00083611ce622d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5e2a885b3d21932d846a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6236c10675925edb9b90","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6583488d0da01fc8ef29","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-65d9d74c865640a65a26","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-65dd33291f9b5de7ba4e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-68260693621f862d67b2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17732,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-69fbcd4a7e87daaae068","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":14491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6c2e72a4195b2981a312","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":15105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6c6060cbfda413351fb4","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6f927725b3147cfc1549","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14150,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-70909101625a8fcca6a3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7248df367dfd2960be47","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":17053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7273ab0be89733ad080c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18652,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7618fdc6e84eff5f6dbd","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21797,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7d730e6039e107fd3ae8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7db92659d3391ad65c1a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18180,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7e2dc5e8aac0d5fff8d7","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":30359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-804af1ddf76c49910781","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":20078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-80d7156a1b91ed22287b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":16575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-8150049125a7505036e2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-81d59491a1bf468b229b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-82683edd2cc5c2be916b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":21551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-86bb2767ec2061d053df","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-890d2284ebd3bdb51816","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":17306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-894c46dfabd3533da75b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-8ebf174596f8bd815bea","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-8edcc5e6d6bb0f1a16ba","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":23069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-905877fe766e2211d3da","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":19326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-91dfffdf023fd8d664e4","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-93332f160a13b68f334c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-93399eb07a69f20e4393","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-935d5d6eaae6efff8844","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":33274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-96519457d8bbc8c5c44c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16991,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-97ed7970c64c03db8ca0","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-97f87447094342e0138a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":34021,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-9a0f3261557420a0a829","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":31571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-9db0dc189483c3aa759e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-9e8346362c3dd59d8365","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":28632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a0ac272b87419b411d20","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":29437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a42f2967a883983f7eee","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a4d2e44b270d545690dc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":16661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a562f1607b5d97da27a3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":17871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a5c06614bd30ae670149","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a6d20cb1d84778e47c4c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":13600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a9010f9968be28f37ccb","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":15739,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-add458358c6509860921","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":15346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b081a458527dd4771f99","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b28f4f7e3438b4f89868","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b347863166e253de21ec","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b3a81cc243659b5b22d2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":32948,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b3eab2a5b7bac6d69f9b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":12163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b78de60c5b14eebde42c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":20664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b8fa07d6060299c39f8a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":14278,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-bb3386e61fb78693df7c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-bb40dcab0576d1ea381a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-bbeb537c5b28067ca5d5","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":19861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-be8661dc20d902f3ff6b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c0c35dd94ce719f0b636","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c2a115cc084c1b8d1a18","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15921,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c2cdcf6514943a118a32","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":16315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c3c5ddb9bebf03c0ec16","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17261,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c86bdbbcf24594eef792","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19145,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c871813cde4f307ea67f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17244,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c994ce8b23bc3b24cae8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-ca031813decb3155a1cc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15677,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-cad3b8bff0bfe9d71e62","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":12507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-caffc1fcf9b06d4b8168","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d1223cb6f1374f90ac92","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":14807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d14f44ac967a37b19113","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d2913f43967f6ace073f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d2a12ff88beae508ac9c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d369aa150f9ce35db93b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":32424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d4a6824ffb45dfb27f03","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d624bd1de4f48d8c3f26","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d6759cdd35075bf16730","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d6c7ad5b8c7bf815b262","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dc19daf4b9e9d8bd13ae","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20859,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dd7ab1e9b75187ae8c78","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":18473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dd88ae8713aa827fe8ef","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":9708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dff7569cfc2418f45d23","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e0e5f798bbe87c7693d6","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e1d9500f79f1f507b9d5","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":28217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e2baa8f96ddd44d625fe","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":23390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e2fe242e40e7ecc5c28e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16735,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e4f5b5761c113321a49f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e7a260ce54c82fa93a5a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":31553,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e9a0ac4eadb2bfe66a3b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21419,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-eea4ca892981bf47608e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f4db9223c18459e4eda2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f5032a00993091c46b58","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f82caafb000c9503dedb","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":21778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f9921789c29eb324c1c4","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-fbd7a84a2f9ab8d3d0cc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0248fe591d1b6a3a5869","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Field with OR operator","durationMs":20595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-026f8e3649343e62d447","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Domains with OR operator","durationMs":21454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0300935d35cc19a29177","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Response Schema Field with AND operator","durationMs":20026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-04daeb86394821b90ee0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Schema Field with AND operator","durationMs":11418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-094c9de20fd1c2d6a070","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Service field","durationMs":31030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0a4cc1d3414e8b404d91","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Container Column with AND operator","durationMs":11257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0d4156eaf78cd8c9edf3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags == tag2 returns table2 and hides table1","durationMs":11106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0d61a30b633badaf017f","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Owners field","durationMs":44416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0f440e656cd6a84e5009","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Domains with OR operator","durationMs":22005,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1054e4fd1507fd6e020e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Name with OR operator","durationMs":23454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-124a13495a8560aaadfb","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Is not null returns table with a column tag","durationMs":11637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-12e780c0f83ac670948d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Product with OR operator","durationMs":21222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-15d133a96f1bdbc98b36","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify search with non existing value do not result in infinite search","durationMs":9423,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-166ebb7cc98d71de6829","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Field with AND operator","durationMs":20740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-18f8c9857cc8a55e6328","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Column with AND operator","durationMs":11756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-19db3a9822bc4938a40b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Column with OR operator","durationMs":18246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1bd1daa48254e9f2ec0c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Task with AND operator","durationMs":20470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1c044fcb43f04b1ef411","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tier with AND operator","durationMs":17520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1ca0566ef447ef637735","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tags with AND operator","durationMs":21301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1ddc8aa6a67c0a56455c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Model Type with OR operator","durationMs":24826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-20404d0a7b71c063e6c4","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Request Schema Field field","durationMs":32018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-27eea821a8e96d3044bd","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Field with OR operator","durationMs":22050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-301876fc007aa300fe09","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Name with AND operator","durationMs":23460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-30857c3f47c6494f832c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Chart with OR operator","durationMs":22762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-309cfad978890de2727d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Request Schema Field with OR operator","durationMs":19287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-314e0cb34dca6dd39332","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Field field","durationMs":28033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-36ba9aba26407e597f4f","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Domains with AND operator","durationMs":23448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-380995e467375a200187","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tier with OR operator","durationMs":23322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3a7a4707251636fdeec4","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Container Column with OR operator","durationMs":30036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3be2e1e48a99bdc49944","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Database Schema field","durationMs":32328,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3da64a400651805df6c1","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Response Schema Field field","durationMs":31239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3fa6a50e4b31a62fcefc","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database Schema with OR operator","durationMs":22947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3fd3c1c5ce770254b27d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service with AND operator","durationMs":17193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-40124f0b001489762291","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Container Column with AND operator","durationMs":30330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-41a0c3d07608ba7a60f0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Domains with AND operator","durationMs":23388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-428f3116264c4d8796b8","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Schema Field with AND operator","durationMs":11625,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-430bf9cc13867b7abcd9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tier with OR operator","durationMs":22147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-43a916f7500af0574eb2","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Display Name with OR operator","durationMs":16807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-4bf4446144aba6db7043","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database Schema with OR operator","durationMs":21976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-4ec7f51e5350c3bcd603","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Field with AND operator","durationMs":20022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-53011071a7f8d08768cb","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Chart with AND operator","durationMs":20084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5385ccf02376311255ca","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Name field","durationMs":27168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-55a39ae801ff1804bbd7","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Request Schema Field with AND operator","durationMs":19105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-576839dd004d20fa92b5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Column with AND operator","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5c72efd78d96edf252df","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Request Schema Field with OR operator","durationMs":20413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5ddaeb14ad2cfae00fc5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Project field","durationMs":31250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5e803cdeafc0cf3df548","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Product with OR operator","durationMs":19914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5f4661433eb256fb014d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Container Column with OR operator","durationMs":15437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6082607d2a8ca3a6c049","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Domains field","durationMs":31057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-60d6ac96dbcb08e0c6ec","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify browse mode has no count","durationMs":9802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6133e5f3bbf9e169c223","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Schema Field with OR operator","durationMs":15183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6244eca8ce5e1653360c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Request Schema Field with AND operator","durationMs":18812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-63c17b7a638b067794a7","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Database field","durationMs":31035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-64d81a9e0378dd9487ac","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Schema Field field","durationMs":30980,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-665bca75f0fcb3ff479e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service with OR operator","durationMs":24241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-67286aef4cf78a2f8edf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service with AND operator","durationMs":16323,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-689ce80f27319803b899","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Owners with OR operator","durationMs":20646,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-697cd69a0946fad50e59","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Column with OR operator","durationMs":15487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6b07dd640ef9ff2b3215","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Model Type with OR operator","durationMs":22857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6e34d393747f403f84ed","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Data Product field","durationMs":32715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-704eabb4e3b551dd0b2a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify count shows with Advanced Search filter","durationMs":18345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7136e074bb522235b31e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Column field","durationMs":33542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-77f94ace7ce0fac4c3ee","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Project with OR operator","durationMs":21154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7826a5e737178d96e977","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Owners with AND operator","durationMs":21726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-78bf93dd4f646527ab65","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Description Status == Incomplete \u2013 table with description is NOT visible","durationMs":12121,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7dd67f2a559e9bc79221","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database Schema with AND operator","durationMs":15762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7edadb86ee6154e2d26c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Schema Field with OR operator","durationMs":15084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7f12f95ad8a52a56a8b6","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Description Contains filter returns matching tables","durationMs":9730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7f46dc4640125a3bf82d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Tags field","durationMs":34270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7fa87af5231509ebe40c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Display Name with OR operator","durationMs":16122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-80c28f517a732e6f1dc9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Is null excludes tables that have column tags","durationMs":11165,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-8210b5f1c9886c2cc56e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Chart with AND operator","durationMs":21590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-91c093ab6ae85c8d3be6","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Owners with AND operator","durationMs":21614,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-970f46997f66da1a7aaf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags == tag1 returns table1 and hides table2","durationMs":10999,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-9827ef3bc91ee68afd13","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Product with AND operator","durationMs":21006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-9c411631f0242a50e054","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Display Name field","durationMs":27347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a2b23c2f2a3c1a5cf57b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Project with AND operator","durationMs":21111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a3e45122be7a30fc5b20","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Service Type field","durationMs":31708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a4042d346410e73b459b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Name with AND operator","durationMs":22276,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a809bd258209b1d1d523","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Project with AND operator","durationMs":19287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a8652ca95e7cd6396b9d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Filtering by status \"!=\" excludes matched entity but shows all other entity types","durationMs":21448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-aee1298f00c810baf816","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Filtering by status \"==\" shows matching entity and hides others across entity types","durationMs":22746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-afd4e19b1abb7ae37a6d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Chart with OR operator","durationMs":22965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b0973908aaa09b3b2b55","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Model Type with AND operator","durationMs":25556,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b0b4702e10f6dafb46fd","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tags with OR operator","durationMs":22038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b0ff28e567d179b0362f","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service Type with OR operator","durationMs":15319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b3e575d3edc911973903","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service with OR operator","durationMs":24025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b4526cb54dacefd8439d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Contains tag1 name returns table1","durationMs":11076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b69fab53286ed20c1a51","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database with AND operator","durationMs":16272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b69fd4a4d0a87f754ab2","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Task field","durationMs":29306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b8e9292e9ff4f2818f78","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database Schema with AND operator","durationMs":14604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b9ddebe611fd00b8bbdf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Not Contains \u2013 table IS visible (word absent from description)","durationMs":13151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-ba39b72e8f6b4e01a622","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Task with OR operator","durationMs":19837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-ba60bd953617019f871a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Any in [tag1, tag2] returns both tables","durationMs":10928,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c097eef6ff94177672a9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Tier field","durationMs":33197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c0c03327367c5ca24fdf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service Type with AND operator","durationMs":13106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c21d2ea0f41d212cc4a3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Model Type with AND operator","durationMs":23676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c3e95a55399a37d3f1b1","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Name with OR operator","durationMs":25100,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c3ee7a1a3aa2710ad4a7","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database with AND operator","durationMs":15602,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c617f2c03df01d729928","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Not Contains \u2013 table is NOT visible when filtering by a word that IS in the description","durationMs":13096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c731275f1dc4d90db719","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"should find page-2 items via search without clicking Load more","durationMs":10408,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c9f1c86bad021ef89a3b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Chart field","durationMs":31324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c9f2cfd0960c76d760b0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Response Schema Field with OR operator","durationMs":22100,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-cf859564ed9cea15e82b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Task with OR operator","durationMs":21205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d282c7e91e07f829e8c3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Not in [tag1] excludes table1","durationMs":11716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d36958aea2fdffa9fd7a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tags with AND operator","durationMs":20036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d377990b8a9fb516a6fd","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Display Name with AND operator","durationMs":12626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d45787e0a78146b51b53","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Product with AND operator","durationMs":20415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d528483b823ccd49d713","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service Type with AND operator","durationMs":13437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d81b8b465292e7a45a2b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Container Column field","durationMs":28799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-da5fe6a493ba7e6cfcbc","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Response Schema Field with OR operator","durationMs":20130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-dcdecacfe417a1ad2a96","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Is null \u2013 table with a description is NOT visible","durationMs":10654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-de8aa1b1974ce4a3289a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Response Schema Field with AND operator","durationMs":20072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-df161e422f4f533f68cf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tier with AND operator","durationMs":16874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-df4c63c48ff06a4e86a9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database with OR operator","durationMs":22386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e1e5bce098345866f4e3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"All entity status options are visible in the Status dropdown","durationMs":8441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e25e398635a5d78f1649","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify count matches the API total for a quick filter","durationMs":15425,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e4d7ba38d188aeede6ce","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Owners with OR operator","durationMs":22653,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e5fdf691386304dda8ec","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Data Model Type field","durationMs":28947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e62b72689e69534dc01d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Display Name with AND operator","durationMs":12782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f06878a025bbf0431eb5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service Type with OR operator","durationMs":15420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f177508ed699c02ef979","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Description Status == Complete \u2013 table with description is visible","durationMs":14676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f1d48b8aaef4bfd0e7f0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify the toolbar Clear All button is removed","durationMs":15124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f4ca6d719c7e6cd325ce","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database with OR operator","durationMs":22086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f596bd91c64598ccc8a9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Not contains tag1 name excludes table1","durationMs":12258,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f8c89d3b9d9d7a951219","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Task with AND operator","durationMs":20811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fb4b78ae9c9fbaf75fe5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tags with OR operator","durationMs":22147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fb4f431e025270e86b3c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Project with OR operator","durationMs":21613,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fc662be0ac0eb78c56d5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Is not null \u2013 table with a description is visible","durationMs":11622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fe98cf072c30358e25bc","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags != tag1 excludes table1 from results","durationMs":13040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-030f976d52547ffee6af","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"locks system-defined relation types from edit and delete","durationMs":11644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-2d879466483e971a4aa2","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"parallel API writers both create relationship types","durationMs":9587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-420283d7f82a561357d0","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"edits a custom relation type and keeps the name immutable","durationMs":12855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-4deb76eb39aff4718dac","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"paginates relation types when they exceed a page","durationMs":14951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-6819ceb2313f81ae13c7","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"creates a custom relation type via the drawer","durationMs":13968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-97bdef908422bd78cf90","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"findRowAcrossPages locates a row when the table has multiple pages","durationMs":13830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-a47fe4536a712063a893","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"delete removes the row from the DOM before the caller proceeds","durationMs":13659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-aa95d6162a617f535dcd","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"rejects duplicate relation-type names and keeps the drawer open","durationMs":13350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-eed27231e35e72bb34e0","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"deletes a custom relation type","durationMs":13801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-0d5b9a6fb6b3f1d36fc5","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission cannot see restore or delete actions on an archived document","durationMs":9277,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-10825ea530d9799b47e1","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions but not owner sees read-only banner and no edit/delete on the row","durationMs":10381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-20e0ce562f9ba525f683","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission can see create action but not delete action, and can create an article","durationMs":25731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-2739db8bc9b9a4df8761","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission can see restore action but not delete action on an archived document, and can restore it","durationMs":13751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-27b7063c112f47ef11b2","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission sees no row delete action on memories they do not own, but can delete their own memory from the modal","durationMs":12345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-421f44e2cb09509abf6a","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see create or upload actions","durationMs":6566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-540e879d00fd41114f62","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission sees Add Memory button but no row edit/delete actions or modal action buttons, and can create a memory","durationMs":13818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-54d59da4e5d21f32b45b","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions and owner can see Add Memory button and all row/modal actions","durationMs":12366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-5fd1ea349c43b5f7ade6","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"admin user can edit and save a memory owned by another user","durationMs":10852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-679ff08bf7ab1e9638e8","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"Data Consumer can view and edit content but cannot add article, domain, reviewer, data product, or data assets","durationMs":6549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-67ee0ef55073be2f7ff6","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission sees no Add Memory button, no row actions, and no modal action buttons","durationMs":10745,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-6c7c5e4060896807dfbf","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see upload, folder, or row actions","durationMs":9665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-7048ad1b2cdbba8c7098","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"selecting \"Updated By\" actually reorders rows by updatedBy","durationMs":8077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-75d84722d862535a7d5f","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission cannot see create or upload actions","durationMs":7625,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-7bf2358642df91e09c6f","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission can see upload and folder create actions but no row actions, and can create a folder","durationMs":20368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-7fbf4a859228cd5d2077","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"created-by-me filter on the archive page shows only the current user's archived documents","durationMs":14280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8688c4eab1661197c622","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see upload, folder create, and all row actions","durationMs":9649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8b30f4dc8b9a4455def6","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see create or delete actions, but can use share/vote/conversation actions","durationMs":19863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8e9545a0b5baa5e47cbd","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission cannot see create or delete actions, and can move an article under another article","durationMs":23773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8f70f3d35807262b000c","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission can see create and upload actions and perform them","durationMs":13097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-9688a6c96efd0f62f947","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission cannot see create or upload actions","durationMs":6692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-9c43270f91aa02211126","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission sees row delete action but no upload, folder create, or move actions, and can delete a document","durationMs":12157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-a1a04fa4162c7391462d","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"a document archived by a different user can be permanently deleted, via the UI, by a user with Delete permission","durationMs":12673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-aa88bf1cafba61d0b0c8","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see create and delete actions","durationMs":13581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-b2da0b8d956c9c571e7e","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see restore or delete actions on an archived document","durationMs":9593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-b83ccb07716204f13779","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"Data Steward can edit content, title, owners, tags, and glossary terms but cannot add article, domain, reviewer, data product, or data assets","durationMs":5912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-cbd6a4c438db46a87069","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission sees no row edit action on memories they do not own, but can edit and save their own memory","durationMs":13212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-d406b1d8244bd4837a02","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission sees row move action but no upload, folder create, or delete actions, and can move a document","durationMs":10293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-d5d7c9b8b9a2392b0cc9","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see create and upload actions","durationMs":8059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-e3b36012c515ccf872c2","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission can see delete action but not restore action on an archived document, and can delete it","durationMs":14576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-e45828987ae3f8cf1c7b","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission can see delete action but not create action, and can delete an article","durationMs":25484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-f14a3d0a85483b085cb1","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"ViewAll-only user cannot create or edit articles","durationMs":10638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-f9b86eac13a88a92bf94","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see restore and delete actions on an archived document","durationMs":8453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-fcde0758e6b601a806ce","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission who owns a memory still cannot edit or delete it","durationMs":10115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-18c6f5eb9f9c19c50dde","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Data Product asset count should update when assets are removed","durationMs":46997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-3a3f742e93d47ca84940","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Verify Widgets are having 0 count initially","durationMs":18963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-81becdadc5311eeb58f8","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Domain asset count should update when assets are removed","durationMs":49011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-9c5b7d3adf677a591fe0","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Data Product asset count should update when assets are added","durationMs":53622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-c6a8e0211da1e6bd097b","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Domain asset count should update when assets are added","durationMs":60191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-e2b7b5f7dbe2189375ac","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Assign Widgets","durationMs":42178,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-5e9ae60fe863e3648021","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity feed left panel shows All and Tasks options","durationMs":15662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-78c3f0503d643e660906","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity count badge is displayed in tab header","durationMs":17605,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-78ef0b8aae139b3200d9","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity feed tab shows activity events for entity","durationMs":16717,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-b8948aa10be3f126124a","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity events are created when entity tags are updated","durationMs":21940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-c01253c3651ccbe9853a","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity events are created when entity description is updated","durationMs":24897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-052a649575c460f16115","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should display entity name link in panel header in glossary term assets context","durationMs":6796,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-668b29b178430ef599ee","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit owners from glossary term assets context","durationMs":8550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-7d959402ac411fa1226d","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should display overview tab content in glossary term assets context","durationMs":7015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-7e30f5925bae38e11c8f","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit glossary terms from glossary term assets context","durationMs":8314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-8d7f4224e6da7668b1a0","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should open right panel when clicking asset in glossary term assets tab","durationMs":6706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-9a8a1508351c9a62e774","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should assign tier from glossary term assets context","durationMs":7590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-9fcb2cd0167b25ce5be3","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should display correct tabs for table entity in glossary term assets context","durationMs":6221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-dcabc8f167f7a85fe179","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit description from glossary term assets context","durationMs":7412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-ee18c163cf99218a6116","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit tags from glossary term assets context","durationMs":7305,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-f3abb25309536ec109d8","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit domain from glossary term assets context","durationMs":7399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69cacca71964c08834ec-13d8e90a56a4cbcc29e6","project":"chromium","file":"Features/SchemaDefinition.spec.ts","title":"Verify schema definition (views) of table entity","durationMs":8169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-0d63c51a5b8439797ec4","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test search on Table version page columns","durationMs":4945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-1afaf40ca75b9169745f","project":"Basic","file":"Features/Pagination.spec.ts","title":"should display at most pageSize rows on each page and total matches task count","durationMs":4439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-1effafa017fa24dae3a8","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schema Tables normal pagination","durationMs":10502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-270586167806dc7a45d7","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Notification Alerts page","durationMs":9017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-4536ce90c513ea40babb","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Table columns complete flow with search","durationMs":14209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-4849a60b7f9b9c75970b","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Stored Procedures complete flow with search","durationMs":10926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-4a9e844a35462eb4ed53","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test API Collection normal pagination","durationMs":8719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-522675c74c67c05389c8","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Service version page","durationMs":4737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-569e6236bb343a798340","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Table version page columns","durationMs":10048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5976c978fb8e0412cae3","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Classification Tags page","durationMs":9273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5a0809981ccad3fac96a","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Spreadsheets normal pagination","durationMs":8935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5b1b1a14ee145e3320a2","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Directories complete flow with search","durationMs":11361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5deca5d41faf8cf09f92","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Users page","durationMs":8404,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-61c3a2cd143654c345ea","project":"Basic","file":"Features/Pagination.spec.ts","title":"should reset pagination when switching between Files and Spreadsheets tabs and also verify the api is called with correct payload","durationMs":10001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-62a7e49254bc5ed1c0fd","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Files complete flow with search","durationMs":10584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-65a356df11068eb892a9","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Data Models complete flow with search","durationMs":10979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-6ccab878d5d132496901","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Table columns","durationMs":14276,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-70eff9216ce9baf67def","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schemas complete flow with search","durationMs":12178,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-7230a3d6ac8be6c0b43b","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Bots page","durationMs":8860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-755acad3b9ae48868e50","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Service Databases page","durationMs":10982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-7f9d55e3f06664f27de6","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Spreadsheets complete flow with search","durationMs":10894,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-81562d6199750c91eedf","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Stored Procedures normal pagination","durationMs":11132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-95f815f4af52e846761f","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Data Models normal pagination","durationMs":10748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-ac4a045699a81c56318d","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Service Database Tables complete flow with search","durationMs":10683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-b9120310e2cedd8c5bf0","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schemas normal pagination","durationMs":10765,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-be507602cb869bf3d3a4","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Roles page","durationMs":9255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-c0e169775cd894d676f8","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Metrics page","durationMs":9055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-c5300a813856c71be56c","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Pipeline Tasks normal pagination","durationMs":9604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-cf38d16dc446f8c57869","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Policies page","durationMs":9018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d09956c0604ead156107","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Users complete flow with search","durationMs":9828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d28067dfec2215fc2a1f","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test API Collection complete flow with search","durationMs":9130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d4ee9d0888330156246e","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schema Tables complete flow with search","durationMs":11104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d6cd483f8e72dec2aab6","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Observability Alerts page","durationMs":8784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-dbd8d16a665a04625901","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Directories normal pagination","durationMs":10585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-fa33d3888c5145159d4c","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Files normal pagination","durationMs":9737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ab1a126f5f0454c42dc-aa12aecd843105a4100f","project":"chromium","file":"Pages/PipelineValidation.spec.ts","title":"should reject pipeline creation when task name contains reserved FQN characters","durationMs":9,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ab1a126f5f0454c42dc-efa1da2a9c4231a884ee","project":"chromium","file":"Pages/PipelineValidation.spec.ts","title":"should reject pipeline creation when task name is empty","durationMs":32,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-00d78358a54604aa5230","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Follow & Un-follow entity for Database Entity","durationMs":13581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-05ceb395a88e2b017909","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":17308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-07fa338ea4eb691ca04e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":9668,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-095366bb3f9782e4b4ac","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":16983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-0d9793ea09690a80b966","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":18005,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-0ebb53f319f2a67ff9f4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":11692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-0fe6b99ec9f67bfa9faa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":16151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-12ec4b8c5deb13223785","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":12899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-13e54e4ad192cd9efb73","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-141e1d403d78ee81d20d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":11213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-17428dd1dbd106320b78","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-17c18c4a39bde14e5a5b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Database Service","durationMs":28597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-19d75f5f67db078abe6c","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":17261,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1b6aef52cf71f2f96cd8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":11866,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1cef3376d98ef0bc6845","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":11090,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1d6aa7210486e47f00e3","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":15464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1f7257faa3ff6ee3d90a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2044951d3a73d0b2d996","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":26161,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-22f08f8e66fb0a6b142f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17493,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2339e2d24363f2751c72","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":14601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-23f289761eea5d8ad0d9","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17824,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2415dc37c3890f585aaa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":14205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-28f4e85540f8278e7e5e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":12802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2b3f4a2ef8db1d71465e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2bb0ad11cb7c8c9e83ac","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":16196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2e1bdc838f7d0fd8bcd7","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":16719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-315d4c39979d5b429be4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":16918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-330814fd205fc63c7a89","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":12806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-36a6a7eff3583482208b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":16542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-3d6d96bcfc6c2b28446a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-3f0f017751c0f9e5d24e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":9136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-3fd1a3fbb71265224dd8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-439162d3691b598fbc91","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-44a0649dc047654eaf5d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":12983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-44d28a5b57954577834f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":10600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-456a6d64f84a51837dd9","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":14188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-46581f14ac1a04c5ae14","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Messaging Service","durationMs":29402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-48696a6d0816b53ee59d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":13940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4ab33598b1cfd871bfe7","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":18008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4bf44086b6fb8019ca24","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":14332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4c97fecb78d90497f70f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":14412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4ceda484206529830fc1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Api Service","durationMs":30805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4d7762a289fe4ba86f4c","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4db8a131edf74e52d43e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":21347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4e3b0413aee3a8de3c8e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4eccaafaf317fd3925eb","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-502d8da9de83d9520848","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-5405ded470cb5150a6d0","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":13595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-586f692293f073d1021f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":15828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-58bdff9e058f898c1af8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Search Index Service","durationMs":25737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-5956015465cac568e5fa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":10820,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-59781b41dd8cc26391e1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12938,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-61ca56e64d18f8db0689","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-64ec4bc4779c2028b4f6","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-66c12a591dde84d462a5","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":14353,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-681341682d7d6ff41b5a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":17283,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-68fd12d73abb2789cdb5","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":8935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6b438bbddf9c67179b23","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6b52238501c9dd87c323","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6e97f2492432e11bd72f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":28821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6e9f9c02b1878da34748","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-71ad41b0d7192f9308b0","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":10920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-72b2976f74708121344b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Pipeline Service","durationMs":22627,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-738ae92e7a456d8559cd","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":7650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-74a1e27f45394080d2a2","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":15503,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-79f742b06207108de1fa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":16591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-7c0ca4d50ff297de79ec","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":26730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-7ced936483e254bdc26f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":15859,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-851289553bf3f933e4d1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":27853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-864ac85bd99a9a4cd647","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":15609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8a886064018e6d7ce40d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":14953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8c3e68a1db2f22a89a00","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8dc41e621dab83ad094c","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":21896,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8e67349c98bdd3b3b16b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":8049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-901d2391b8c515986986","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":29111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-90c9ce604f7a5005c6b5","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-90f41a42948dfce135db","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9354d7b199cc56d1285b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Database","durationMs":39166,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-97d8de928397f494de98","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":30123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-98560e031b247e205bee","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9eb835bbaf3d632ff610","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9ed1e087674fbc9e90ca","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9fe5cbbaefa01f3b8088","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":10709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a1aa9e9e55e2aaf5c830","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":18998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a385aaaa6615db8d41b4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a5df7e6bc93587c9c39f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a8858778387f593ba0f8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":15007,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a915ceb90728aafa8624","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a95000b4d2a834bca12a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":13783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a95af30fabe36816ae5b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Certification Add Remove","durationMs":17414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a9ace2bb98e05805214d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":20577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ad6771e7ca6599ec9d2f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":14206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-af5887e77e84824f926f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":12768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b1f3c51ac39336818657","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Follow & Un-follow entity for Database Entity","durationMs":27982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b2f8330ad165aa371918","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":12704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b5448a6d970596d21ff3","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":11632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b66b7fb8d4958d16af63","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":30491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b87b5ff8369052806821","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Storage Service","durationMs":27224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b8a15061fd3f12b20ddd","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Dashboard Service","durationMs":31784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-bd4d81cb27aebc7522c6","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":11511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-beb2a792c179b0e18582","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":16387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-bfbb1f2951aa7247cfcb","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":15119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c059425f0ee306d51262","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":12221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c0e25a61c0c94d058b14","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":16290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c1ee83ea9c55a5143b78","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c5f0c42ad03d6cd1533d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":19454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cd1f1f467e0f30044cdc","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":13662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cd4638ad50da7c16713f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cd6cc1c77ceb3a4f813f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":12147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cdb652309a855e8e8b6e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":11062,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d401b8d4fdec50f4d527","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d41e33cf18f0a0f03d4a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":23518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d5c7e41187ffccee6c2f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d7acb023b21d042a3854","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":16154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ddd593594947a3f2f7e8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":13945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-dfa31604b8badf1fca29","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":11394,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e2f4e4bd31755dce4ba1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":15892,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e56d1b8c2d393ba2eac6","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Mlmodel Service","durationMs":26668,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e5745670b7663e6284ba","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Certification Add Remove","durationMs":21154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e5b8f6da7ae9c9c091d8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":29804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ea74abe48bd512e6d744","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":24181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ea80f5ffeba8e3e514e3","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":8662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ed093e7198e33633d2f4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":14032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f19a60e986c74388fcf1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":19930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f739417ab5977cadad8a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Drive Service","durationMs":28543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f74fb883c671c6c2adff","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":14737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f88eadfd770af9615a31","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":16610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f8908380572ade6ba2bc","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fc556a3cfc34a3a4842b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Database Schema","durationMs":42289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fc6a816a8d68fa625004","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":10492,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fd38fa8ea0050bc11f12","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":17828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fd72e28576cf322baa24","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":13631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fd845648f618a8c8686a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Follow & Un-follow entity for Database Entity","durationMs":22580,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ff8a67b3c643a6de256d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":31701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ff8e8ecfffbb7bc11dbc","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":16107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-3c0db3f1e32defe585a4","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"header stats remain scoped to the selected glossary","durationMs":7328,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-5ffc4fc0cf2cfd5aa7ee","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"only the term and its direct neighbours appear \u2014 unrelated term is absent","durationMs":9724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-753cf016d7a52a57f15c","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"cross-glossary edge is present in graph data","durationMs":7767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-aaf35283868291d0f875","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"ontology explorer is visible in the Relations Graph tab","durationMs":9318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-b8bdc5150f5e8b88b70c","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"term from another glossary is hydrated in as a node","durationMs":8279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-ba90557d390ee6743d30","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"global Studio controls are hidden in term scope","durationMs":8509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-bdc74f11a99a84ad3cb2","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"clicking a neighbour node opens the entity panel","durationMs":9589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-c3e3924b42dfa0df5d55","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"edge between the term and its neighbour is present","durationMs":10317,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-df9182fe91cd52b0acf6","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"zoom and fit-view controls are visible","durationMs":9637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-60c875ad97424dee4e25","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create and approve entity-level description task for Dashboard","durationMs":399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-786e6f8c70160627e0e9","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create and approve TagUpdate task for Dashboard","durationMs":322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-90cedc12661a4643946e","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"rejected task should NOT apply changes","durationMs":381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-b4317d710c370bd24be7","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create OwnershipUpdate task for Dashboard","durationMs":1041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-f378c009570f9449ef08","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should show task in activity feed after creation","durationMs":20863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-f4e63cb88ba395b56c54","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create TierUpdate task for Dashboard","durationMs":321,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-f505580b6048b9e7f4f7","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create DomainUpdate task for Dashboard","durationMs":501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-0f6f29e2f1c4b474fdd2","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"zoom and fit-view controls are visible in glossary scope","durationMs":11285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-155194eb24d2e2caccd9","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"clicking a node in the Relations Graph opens the entity summary panel","durationMs":11882,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-1b32d1add1034bd536eb","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"an edge exists between a nested child and its cross-glossary related term","durationMs":11284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-2b0b559c4357595c86c7","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"search returns empty state when no term matches the query","durationMs":12925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-2d4e6ef72c33fc44d05b","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"deeply nested grandchild term appears as a node in the glossary Relations Graph","durationMs":12015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-4ac81f68eadb0eddd0f1","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"isolated term within the same glossary IS shown in the Relations Graph by default","durationMs":12257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-4d3660629680261514e8","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"a parentOf edge exists between a parent term and its child in the Relations Graph","durationMs":10770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-5ea646b31bc57f6ceb8d","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"cross-glossary related term has an edge to the term in the viewed glossary","durationMs":12623,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-752887931640b36a1b6b","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"Relations Graph tab renders the ontology explorer for a glossary with related terms","durationMs":13541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-8a81ed58944bf0102167","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"search in the Relations Graph filters to the matching node and its neighbours","durationMs":12757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-8d45c5f6a1ebda6dab15","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"term from an unrelated glossary is NOT shown in the Relations Graph","durationMs":12966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-9f75d86f777103f3730b","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"global filter toolbar is NOT shown in glossary scope","durationMs":12641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-a02781b14c6c4a0560a7","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"nested child term appears as a node in the glossary Relations Graph","durationMs":12748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-a6f0673f9f3ec464a1a6","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"related terms from the glossary appear as nodes in the Relations Graph","durationMs":12566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-b7bbd38343ffe4ec95b3","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"an edge with the correct relationType exists between the related terms","durationMs":11629,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-c46a41f4509f43b3c19a","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"cross-glossary related term appears as a node in the glossary Relations Graph","durationMs":12123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-d0894452615bac35da92","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"cross-glossary term related to a nested child appears as a node in the glossary Relations Graph","durationMs":11546,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-02a9f1f5bc2bb9cb4d3f","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"My Data filter should show only owned entity activity","durationMs":9754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-130907f22f9a222f9f78","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"entity tab badge totals conversations, activity and tasks","durationMs":11336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-218075417344154ad45d","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"creating task should immediately appear in entity feed","durationMs":19289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-25c0ae0e67cbf704171c","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should show task in activity feed widget","durationMs":10307,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-2648a94a2a8068a286c0","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"Activity Feed widget filters should switch between All Activity, My Data, and Following","durationMs":14687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-495fa33b459cbee9a0c6","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should show description updates in activity feed","durationMs":11698,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-4f7c55b775868a3cf15c","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should have clickable task links that navigate correctly","durationMs":9126,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-637ba584c4c13c1ec867","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"assignee should see assigned tasks in Tasks filter","durationMs":11580,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-64e4c0054be5e225e0a5","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should display activity feed tab on entity page","durationMs":10561,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-92037e70c926a2ee43db","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"updating entity should create activity in feed","durationMs":12933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-9a99af13dea9f806d0d2","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"clicking activity feed tab should show feed and tasks","durationMs":12422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-bb14751acfa82ef92787","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"entity task filters should request open, closed, and mentions views","durationMs":13880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-c0fb4e74dc25f2e9f4e2","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"All and Tasks panels each show their own seeded items","durationMs":13526,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-c8ec51c30cc18befab0d","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should display activity feed widget on home page","durationMs":10197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-e0b6d76a34064a97d805","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"Tasks filter should show only tasks","durationMs":9898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-fb6c38e52d91ff7a7ad1","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"following an entity should show its activity in Following filter","durationMs":18454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-fef19851f322651f1034","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"All filter should show all activity","durationMs":10980,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-69ef15cf8752da40f2d0","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify table search with special characters as handled","durationMs":18500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-b2d9d31b73fb2eb60e67","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify domain platform view","durationMs":7110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-b6a72c0554063dbc917e","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify platform view switching","durationMs":5733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-f85c9a5692010b56850f","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify service platform view","durationMs":6377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d0fae529d1edab6e47b-b7e0c7af5d202caa41de","project":"DomainIsolation","file":"Features/DomainIsolation/DomainIncidentIsolation.spec.ts","title":"admin sees incidents from every domain","durationMs":7360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d0fae529d1edab6e47b-fa37465f7517bf023bcf","project":"DomainIsolation","file":"Features/DomainIsolation/DomainIncidentIsolation.spec.ts","title":"user without a domain cannot see incidents belonging to a domain","durationMs":7795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-55e0b895422ddbcfcabe","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"should render the service listing page","durationMs":7420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-9661a49fa27744bd3143","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"should send wildcard query_filter on name and displayName when searching","durationMs":6914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-b799453e514626e37076","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"service listing pages should use the correct search index for search","durationMs":23312,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-d7a58326fcfc4813852f","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"should find service when searching by displayName","durationMs":6469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-0e8840821fdd9591c08c","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create glossary term via row action (+) button","durationMs":11506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-0f76b5d2ce502173a58b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Add and Remove Assets","durationMs":23240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-1bbd2c7b10a1630cab95","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify Glossary Term Deny Permission","durationMs":14901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-1f0f00122ded66da4ee5","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - multiple deletes all succeed","durationMs":16908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-24070596b72f9abe027d","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Column dropdown drag-and-drop functionality for Glossary Terms table","durationMs":7911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-250c033f5b7545226c98","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify Glossary Deny Permission","durationMs":15347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-2e2d5dcd6abb731f559b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Add Glossary Term inside another Term","durationMs":16372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-2fc1b4844bf346a49db7","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - WebSocket failure triggers recovery","durationMs":10588,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-324008c43bb03cdc58ba","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify asset selection modal filters are shown upfront","durationMs":23857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-33111021a8e04784f97b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary & terms creation for reviewer as team","durationMs":45615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-33c9092459c128f840b0","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create glossary, change language to Dutch, and delete glossary","durationMs":21768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-39d846e87c6473185980","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary Term Update in Glossary Page should persist tree","durationMs":9521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-3ea56dcec13cfd0cb14b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary & terms creation for reviewer as user","durationMs":43131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-3eb3ff25dcb18cef8261","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Check for duplicate Glossary Term with Glossary having dot in name","durationMs":10602,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-4bb9baa9d5c21cfdbf9f","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify Expand All For Nested Glossary Terms","durationMs":7374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-5a610d0a9eb613d67238","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Request tags for Glossary","durationMs":25377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-5a931a565618611e9157","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary creation with domain selection","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-671802bb890487e49835","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - multiple deletes with mixed results","durationMs":19817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-72c1dc9f8709dfe8230e","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Cancel glossary delete operation","durationMs":9130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-7fe26832ef78f2917c1f","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Update Glossary and Glossary Term","durationMs":36227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-81dc43d85a215ab8b165","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Delete Glossary and Glossary Term using Delete Modal","durationMs":17033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-857ca83e7559df6d36e0","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary Terms Table Status filtering","durationMs":9014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-8cb20faba23be878c6dc","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Request description task for Glossary Term","durationMs":20635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-8d87915326d11af4cefc","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create term with references during creation","durationMs":16337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-8e7d0dee5127a7499a42","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Rename Glossary Term and verify assets","durationMs":86346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a15003491770da48495f","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Cancel glossary term delete operation","durationMs":14968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a19e65f930c31ed62640","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - single delete success","durationMs":15812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a32aed4937ee6208029e","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Change glossary term hierarchy using menu options across glossary","durationMs":18171,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a6cb7e10eba2ff9cdce7","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Column selection and visibility for Glossary Terms table","durationMs":24827,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a710897c7d486fbb4486","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Drag and Drop Glossary Term","durationMs":18451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-b9921bc7a75085d79508","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Change glossary term hierarchy using menu options","durationMs":14173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-c748c4ce0e07a48a2b83","project":"chromium","file":"Pages/Glossary.spec.ts","title":"should handle glossary after description is deleted","durationMs":10078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-c7d137db2fa513ee316c","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Approve and reject glossary term from Glossary Listing","durationMs":36934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-cf340c60c05ff8f90b01","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Drag and Drop Glossary Term Approved Terms having reviewer","durationMs":15440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d0d74d1eebd0e9ec349b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Update glossary display name via rename modal","durationMs":14945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d35fc5f3b1a45324e336","project":"chromium","file":"Pages/Glossary.spec.ts","title":"should handle glossary term after description is deleted","durationMs":11248,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d889c49c19047a815116","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create glossary with all optional fields (tags, owners, reviewers, domain)","durationMs":19309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d9372e9478961f7918e0","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Request description task for Glossary","durationMs":17712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-dae7065ebeb1f43dad4e","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Add, Update and Verify Data Glossary Term","durationMs":18189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-e37cc1dc3d2ab84a987a","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Update glossary term display name via edit modal","durationMs":12631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-e4264aa2f6b7d75c5586","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create term with synonyms during creation","durationMs":14015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-f62b0df349afb243d895","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create term with related terms, tags and owners during creation","durationMs":20010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-fc77f94d1b063e3741af","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Check for duplicate Glossary Term","durationMs":12817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-fd3cdcb2fa734b3b5501","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Term should stay approved when changes made by reviewer","durationMs":34464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-fe267b81be07d2c8b0d4","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Assign Glossary Term to entity and check assets","durationMs":17995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-15e7a6655993cf472f71","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"FAILED import job shows error styling and dismiss button","durationMs":8808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-2c8ea2ed5e902ca58987","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"can cancel a running job from the tray","durationMs":9329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-50a6a22f1167181c90a0","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows Download button for a completed export job","durationMs":8704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-5dc1fd8ecf1e78491cab","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"multiple jobs co-exist in the tray","durationMs":7808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-74fc8dff0080e7079d56","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"auto-opens the tray for download when the poll completes it, minimised and multi-pod","durationMs":10787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-abf606d9a6ab5b15ca5a","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"Clear completed removes all terminal jobs and hides the tray","durationMs":8474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-d3918016bff34a387cf5","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"reaches Completed by polling, without a websocket event","durationMs":10429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-d498b16902150f020cf6","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows a lineage export job in the tray","durationMs":8407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-e8bb44e083b6c9008b89","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows a running export job and its progress text","durationMs":8637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-f4e002a0ef30f8649c0c","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows an import job in the tray","durationMs":8525,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-fd7fc1a370ea9ae52400","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"dismiss button removes a completed import job and hides the tray","durationMs":9242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f0590c0231406c6c5a0-022fa2831b7edf55d8f0","project":"chromium","file":"Features/TierDropdown.spec.ts","title":"should show tier again after re-enabling disabled tag","durationMs":18577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f0590c0231406c6c5a0-26e804d4f6811de98994","project":"chromium","file":"Features/TierDropdown.spec.ts","title":"should show enabled tier tag in dropdown","durationMs":8935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f0590c0231406c6c5a0-468f85de81c9afec7bfc","project":"chromium","file":"Features/TierDropdown.spec.ts","title":"should NOT show disabled tier tag in dropdown","durationMs":9584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-00204bf3d420e3c1362f","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Any_In","durationMs":31532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-0a941e8cff652ad32a0b","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is Not","durationMs":28825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-0ddc285347b228f85206","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is Not","durationMs":26337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-150515a15c5e4f366b88","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Less than <","durationMs":24407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-171540945652ea1c4669","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is_Not","durationMs":27789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-236779457b0d1656b12c","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Less than equal <=","durationMs":23849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-23f7096c73ed3b03ea31","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Greater than >","durationMs":23811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-24f53ec25d5a2ae1b8f0","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Not_In","durationMs":21713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-293d5150c418db58f951","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is_Set","durationMs":24692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-371b66dc6824959e3445","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Any_In","durationMs":26765,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-401cf2233b89cc98bc05","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is_Not_Set","durationMs":24958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-45ea20bc75c5c6030bd0","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is","durationMs":23713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-4f736eab9ff01cba8174","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Not_In","durationMs":32686,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-5837ce00a1f636832c29","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Is Not","durationMs":31380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-69de011bc32436fd94f7","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Is","durationMs":31199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-6b295db5f949a01405ee","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Contains","durationMs":26434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-6b58e52550f8b1fa9dd5","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is_Set","durationMs":24786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-71cc9056833b064bdb3d","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate semantics fields","durationMs":12862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-728dc344e20efb9729b9","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is","durationMs":27386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-761e52994497d5d1e897","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Any_In","durationMs":22349,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-76b8bbfc4abe6888a560","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is_Set","durationMs":24609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-77dab837438ee562ad3f","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is","durationMs":29314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-82a0d03adf940fb889c8","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Greater than","durationMs":25617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-8ff70b2979cf0715ab91","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is_Not_Set","durationMs":17050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-9cfe99b98caf05fddac1","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Is_Not_Set","durationMs":27058,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-a04ece8b45d647faeb43","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Not_Between","durationMs":26057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b00a58585fdb947f1ae7","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Less than Equal","durationMs":26196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b2713e50d8d09a875c66","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Not_In","durationMs":28380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b2f8faabd3ce8bd6fe9c","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is_Set","durationMs":16743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b376a2ffda8ffaaf70fe","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Not Contains","durationMs":26510,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b5b5798172033fc42f0c","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Between","durationMs":24502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-c71827d0e1bc939645d1","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is","durationMs":20454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-c982caaa50eb72dbae85","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is_Not_Set","durationMs":25495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-dcee5e388fad4727090e","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Is_Set","durationMs":31433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-eb537c1fbd594f3b40b2","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Greater Than Equal","durationMs":25921,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-eca97bb8f81b98afc82d","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Not_In","durationMs":32834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-f218a044c71b677a3ff1","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Less than","durationMs":24824,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-f6bec3efb1ea171da67b","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is_Not_Set","durationMs":24265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-fa4ea30a932d11c1087f","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Any_In","durationMs":28860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-fd19177a0b37dd31d6a6","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is Not","durationMs":20306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-ff5f445d50fd4aca74f2","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Greater than equal >=","durationMs":23835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-0dee03971527229cf2b4","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"Copy column link should have valid URL format","durationMs":30485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-19f3266acdd6cf2bbe8a","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"schema table test","durationMs":75124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-55dc5f002f5389dd54c6","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"Copy column link button should copy the column URL to clipboard","durationMs":30539,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-d9fd88aeb278a136b4b9","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"Copy nested column link should include full hierarchical path","durationMs":32094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-10870a5ff304ba82d6e7","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Single Filter Alert","durationMs":42293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-40be061349021020fcd0","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Multiple Filters Alert","durationMs":53795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-5f357d0a8f543a66ce84","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Task source alert","durationMs":22376,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-624bf59d0b99f47aba5f","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"destination should work properly","durationMs":14885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-a5110db8fbca70dbfb81","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Conversation source alert","durationMs":23614,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-df4c09990358fadaa853","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Alert operations for a user with and without permissions","durationMs":66584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-089ac879c8a1bf48e14e","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":9029,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-2123239773951a420d08","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":6961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-607ce3ae26140d8d5214","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":8420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-a9296610d946263c61d6","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":8598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-aec4f097f30f2f6f3d5b","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":6274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-c8f9791788c2c6562291","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":5318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-ebee8e531238cd9a1ce1","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":7557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-1791da577014ae152bcb","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Export maintains hierarchy structure in CSV","durationMs":9316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-3d16c444f1c9c329db61","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Glossary CSV import rejects unknown relation type","durationMs":29764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-493528214858d92fd7a5","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Glossary CSV import preserves typed relations","durationMs":39871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-679f70fff3c550677e9d","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Import partial success - some terms pass, some fail","durationMs":9954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-8ea351f3c7814ef9e3d9","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Export large glossary with many terms","durationMs":20943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-9ffaf4d7a82a18e1f940","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Import validation - missing required fields","durationMs":10007,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-a2b1b1d4e5d988307f70","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Glossary Bulk Import Export","durationMs":147833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-cee2d57c047fe3642660","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Check for Circular Reference in Glossary Import","durationMs":59674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-fdb534fec42101d87676","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Import validation - invalid parent reference","durationMs":20079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-00dc2bfe21cad2f9df2a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":15673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-05419e782211d9d1de2a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":12334,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0734f3c96e7f54ce6c6a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":12903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-07b4ea279b562bfe5f3e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":14554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-098aa2e4c7da1b046465","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-099a8b05c67e2846d078","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":18125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-09ad004942c23feecedd","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":11305,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0af5b5347fe1881e8bd8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0be37046a03f74efd994","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0f1f2d5e8d4043861466","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-104abf45b88605c51ba2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":29748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1233936a260349b16c83","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":22552,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-13079334487a6cadd03d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":13072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-13add27af4975daea758","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":13502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-13e4d9f5ee7a05fd7ba3","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":14113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1505cf28cd885f4777a4","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-159605a397828a93f493","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-15b85784d9980e662aac","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":18138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-171caaaaadb1abdde4e8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":18249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-179a76d9663cf8294023","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19323,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1dc7f85d16a2b90bb9b5","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"DisplayName edit for child entities should not be allowed","durationMs":16499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1fce82f531f7060e9a80","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":11929,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-207d899430f83bd70026","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":11489,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-25d1ff90961691a28f62","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2615b128abf51a2b722e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2846038d5787a94b6221","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-28b4f6bcc80a1469e2a6","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":12359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2b2b7ce855f4c94504cf","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":21621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2fd5d612894f1dc087d2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-313f7934124ca3a6ec1e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-31cac5cc40a390e2ada4","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":13761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-32c128143c6af1999483","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-35d5a3a5220f9b82914e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-3674479f1e1d92294596","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-368e75ff19cf7240c335","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-397071d12f931d852590","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":11974,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-3cf9455e51dd60f34c9c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":13465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-3d5a8b6ded213476ccb9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":20423,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-40e20c32f73b2f1e33db","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-42ed38552b351ed6c93d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":12315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4349f30cfdd7afe581f0","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-451b7a6d09e89e02b130","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4a795e20925174b2ebbf","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4e2068c8100414367241","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":16485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4f77ec64b3961ae26287","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":14787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-55df040662d878f36358","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":14504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-57c6d7653390fa73f1af","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":13466,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-58090467bafe4832be37","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":29308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5bbca01e71559b6833a9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":32734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5bbd17233fbb970090c0","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":16724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5e7dd90d5176a4da519b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":28236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5e913694e9bf25d7a0da","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5fe9f87da680252d5de7","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":16902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-62a7ab20daeb7fd9d75a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16376,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-63ebcb256954060a40e2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19513,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-64c9dec746918237cfc9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":15527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-665195c1bcf8ae7d6dc5","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-66b9bd452e0e1785a5d7","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6a354d7e70e5fc359cec","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6ce1ce593dc1604c0d8c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":13814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6e073fa1c99cfcd9614e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":14877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6e3155a8180681dce32f","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":16649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-741ba010d8001a9fd629","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":22273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-764889744082814f83b9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":21567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-764f83da00cc0a2bc041","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":13111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-77d5fb9465e2342072eb","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10869,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7954ae16633a0595e250","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7c7fe35a843c7aa4c1e7","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":14076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7d8680096167e16dee4e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7ee85a0df418f4685ece","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":13917,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7fe4517367fdf10aeb2e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":21134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-80ea803681cb43d239a8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":15686,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-811ff9238e656b089a1e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"DisplayName edit for child entities should not be allowed","durationMs":14543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-84d793627d1430a44c63","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":15620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-871014d136a919f8ddac","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":12769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-89be5e692516eb5ace57","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":16102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-8d75a1daebe16b4ad248","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-8da24219a87618238385","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":32849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-8f18317ce2a8dedc296b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":14320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-918beeac313c2d5b006f","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17867,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-92203d502969bf810290","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-92af334a81058c115c6d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20698,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-97043d7c0e95c7a9b538","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9b061925110794967937","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":15447,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9b0a261339c941b15ef9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10889,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9b4e7d5a9d9be16b81a2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":30532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9f8fe0076ba3960c5ed6","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a110445f4bb0e5a9249b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a239abd986ca12d3b089","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a4b590de5fc7b09886b5","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a5cb67bbd403c122b448","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17427,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a944d4b83c40d64ad528","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a9fcd65f05b20919cc7b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ac9d289deb13e7de0d5b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ac9dd7137941fa967739","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":23815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-afc588b98fc64a39d3cf","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":19674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b1e7b2c2ce671c777b00","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":13874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b47625127ce7c655c09a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b524c69bb71c565d2b58","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":11663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b65beaa3001a816f6cae","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b6826b78d1ecfa486857","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":18612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b76587fc8ad7db226e8b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-bb1ec5293b3152b029eb","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":19060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-bb31d3b1cdc3a33b4aee","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":14508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-bc218ae35c432f47e3b2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":14990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c2ace8fd6a3946f909d1","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c428f095b19e7cf46395","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":18456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c7722802523210206b72","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c9e3527162de0406d5c1","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-cbc65211b511edc84eef","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":19010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ccb5da6fbf33b4fc343e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":26705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-cd8b6feff9b29b140db3","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":21500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-cef54b49eb30d934016a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":14574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d41355c268d0640de0b2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":12675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d45d573707423b4333c8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":33664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d6a7c54426412861c898","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":13364,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d6dc2c7f4c00079cdea2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":12590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-da2efd47495633f62256","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":16856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-db55f0ef1567c8eb8dc9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":15440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-dc91d3dc044f44f23f34","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-dd6d3dcd3b2bec3dec99","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":14517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-de0da7c7009cd8139681","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":13597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-dee80a2bdb8cdeaae997","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":12902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-df0cc209a2c7e2be249d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":18547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e0e7f3e88e2fe516e148","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e1150544251e50df2ef4","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":28559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e1f548ad3eb98feedc9c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":32595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e2b289727fffe1359476","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e3bf544a74276372dc76","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":20122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e4aa4620bb993ec7c6b0","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":17046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e4cb394bd3ed4d377f45","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":22631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e5368f1856ed3179634b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e54846b3978101495d15","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e627170fb572721ecd2c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":18878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e6683721b86aac6fa89c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ed316521ba0802cb2f9f","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":15884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ed48b466904dfd246b36","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-f37f7f8af59b042bd1fc","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":15360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-f8ce0fccb9088a10ed3b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":15186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-f8d220191366b9f7beef","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":12669,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-fbcfe7b1efb2c8a34834","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10369,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-fd8fee043148b3cd8527","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ffc56bac94bcaaa595e6","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"71f3811ba836bd5d2426-0cef81448f669267012e","project":"chromium","file":"Pages/TestSuite.spec.ts","title":"Test suite tab switching keeps active bundle suite data after stale table suite response","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"71f3811ba836bd5d2426-89887dbf3e98dfa2e74b","project":"Ingestion","file":"Pages/TestSuite.spec.ts","title":"Logical TestSuite","durationMs":29241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-01d1dce9230b25ea2505","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Metric in recently viewed","durationMs":14414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-13b7a204ff200c336897","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check SearchIndex in recently viewed","durationMs":16404,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-24032ed075b8c41897c3","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Dashboard in recently viewed","durationMs":14225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-2586c2bf4dfb82bef75c","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Store Procedure in recently viewed","durationMs":15197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-2f3fd80ebc9a9ce7ed65","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Container in recently viewed","durationMs":15355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-47c55d1985c5945153c6","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Table in recently viewed","durationMs":17054,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-5618482fdd645a26b706","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check ApiEndpoint in recently viewed","durationMs":14455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-5f1972c128aabaab7ad8","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Pipeline in recently viewed","durationMs":15551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-9421df08f5c6615cda5d","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check MlModel in recently viewed","durationMs":14941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-9929792040eb7c5e6031","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Topic in recently viewed","durationMs":14329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-f40caac58f9f81e19025","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check DashboardDataModel in recently viewed","durationMs":14773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-083dec8015a3843e7cd2","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify cycle lineage should be handled properly","durationMs":11712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-32f8b0ccd2482bf59ee5","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify multiple non-platform layers can be active simultaneously","durationMs":11304,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-420eb75a7ad41f3f161d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"grays out non-traced node-to-node edges when a node is selected","durationMs":25792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-590c0cccca1fd8b28312","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify edit mode with edge operations","durationMs":11599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-6c7e50b5a927cef3105e","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Column-level edge deletion persists across a page refresh","durationMs":16476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-7887942fb4b1a81cf4f2","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify function data in edge drawer","durationMs":40935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-893bf3a839f3d965551a","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"highlights traced node-to-node edges when a node is selected","durationMs":22098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-8cbc1d5f3df767e1a30c","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Node-to-node edge deletion persists across a page refresh","durationMs":17744,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-993dfeaec0379736db1d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Node edge tracing state responds to column selection and pane click","durationMs":24061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-a18e7ad071eeb5841602","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"highlights traced column-to-column edges when a column is selected","durationMs":24518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-aaffec18ebc6fd24d065","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"hides non-traced column-to-column edges when a column is selected","durationMs":21851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-bcda310ae42da5f9981d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"grays out node-to-node edges when a column is selected","durationMs":20852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-c817ed50e2845dccca7b","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify node full path is present as breadcrumb in lineage node","durationMs":19468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-d3c613365a48705e9f08","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify edge click opens edge drawer","durationMs":10708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-f060811fb20415a34c46","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify edge delete button in drawer","durationMs":14840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-fd9777143ac55c7ff05d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"hides column-to-column edges when a node is selected","durationMs":27373,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-22575bd0187b55901bec","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should add and accept a requested api endpoint request schema field description","durationMs":24310,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-65c54cf0e0efe55e1890","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should edit and accept a suggested table column description","durationMs":25854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-80f4fe7e66749741bb2f","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should decline a suggested container column description","durationMs":20213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-93993cb9c92e1cd67d6b","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should add and accept a requested topic schema field description","durationMs":23972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-be064f2bb0d81c98522c","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should add and accept a requested table description","durationMs":26120,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-df608fd0fde9ffb3dcd8","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should edit and accept a suggested api endpoint response schema field description","durationMs":23952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-fa64ee029c7d508dae0f","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should decline a requested api endpoint request schema field description","durationMs":19293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-04adac79fce387536d5a","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should replace focused documentation when a new field is focused","durationMs":8182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-136d19e6f39cd1065416","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render code blocks inside pre > code, not as raw text","durationMs":7953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-67847c8372f8e027537e","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render image in Mssql doc panel","durationMs":7730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-7df729b7f0f4b0f06d1a","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render links that open in a new tab","durationMs":6903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-8384bb8c4d3d5c6fceed","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should auto-focus service name input and show name docs when entering step 2","durationMs":7520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-858dc1ba7e867d341974","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show service name docs without requirements when service name is focused","durationMs":7293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-a353893f87d30e844b91","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should update panel when a oneOf select field is focused","durationMs":8069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-a8c66091c37ee0517c7b","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show section docs without a field fallback for fields with no markdown docs","durationMs":7451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-aa3c42f2b54ccca226aa","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should copy code block content to clipboard and show copied tooltip","durationMs":7861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-b605c6fbbd9a2fc001d4","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render headings not raw markdown","durationMs":7626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-cb0cb27b27b2eef3e924","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render admonition blocks with correct class","durationMs":8371,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-cc58195c92559dedbdad","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show general docs when no field is focused","durationMs":7767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-dfb092691560c4c5f613","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should load the correct doc file for the selected service type","durationMs":7530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-fa45cd6f9878dc6c4cbb","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show field documentation when the corresponding form field is focused","durationMs":8065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"75e196e842ebd82840f4-f9512e6353ddfe34a4a3","project":"search-nightly","file":"Search/SearchNightly.spec.ts","title":"should load global search suggestions for sample data query","durationMs":4364,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-0769921c525897eff595","project":"chromium","file":"Features/Container.spec.ts","title":"parent Deleted toggle reveals the deleted grandchild \u2014 its actual direct parent","durationMs":7706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-3913d4f58462a7a3df4e","project":"chromium","file":"Features/Container.spec.ts","title":"Copy column link should have valid URL format","durationMs":20454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-42b547ec6ff262456209","project":"chromium","file":"Features/Container.spec.ts","title":"should correctly load, display breadcrumbs, and navigate deeply nested containers","durationMs":8041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-45da7c2e7258e334c204","project":"chromium","file":"Features/Container.spec.ts","title":"Container page children pagination","durationMs":16485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-4f996668155242b716c3","project":"chromium","file":"Features/Container.spec.ts","title":"Container page should show Schema and Children count","durationMs":12788,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-6d000f93734bfa3641f4","project":"chromium","file":"Features/Container.spec.ts","title":"Deleted toggle reveals and hides soft-deleted children","durationMs":7653,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-74d2687b81ec34d1df25","project":"chromium","file":"Features/Container.spec.ts","title":"Copy column link button should copy the column URL to clipboard","durationMs":15950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-814af37fb8584f11c87e","project":"chromium","file":"Features/Container.spec.ts","title":"grandparent Deleted toggle returns empty \u2014 deleted grandchild does not bubble up","durationMs":7593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-99a5693eb43b1b956e3f","project":"chromium","file":"Features/Container.spec.ts","title":"search + Deleted toggle compose to find soft-deleted children by name","durationMs":7256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-b25813e92d687c1ac664","project":"chromium","file":"Features/Container.spec.ts","title":"auto-collapses the breadcrumb into an overflow menu on a narrow viewport","durationMs":5978,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-db68482bfca9911d3811","project":"chromium","file":"Features/Container.spec.ts","title":"expand / collapse should not appear after updating nested fields for container","durationMs":21107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-dd86738ce9af0c2bd293","project":"chromium","file":"Features/Container.spec.ts","title":"search filters direct children only \u2014 sibling subtree never leaks","durationMs":9187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-46773b2126fe5bb8eb31","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create OwnershipUpdate task for Pipeline","durationMs":1263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-4a8117316e1eb5a1d1fa","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create TierUpdate task for Pipeline","durationMs":379,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-7fd5240fe33065f768e3","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create and approve pipeline task description update","durationMs":577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-bd22bafa09fe5baaf2c2","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create DomainUpdate task for Pipeline","durationMs":496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-c8dccd6e61c2e9dea7de","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create and approve entity-level description task for Pipeline","durationMs":495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78095862efae8cf216ee-6119e7b35fd37214afd1","project":"Ingestion","file":"Pages/IngestionLogStreamLive.spec.ts","title":"Live logs arrive over SSE while the agent runs, with no polling","durationMs":33285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-07402fbc3d954dac78b8","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"searching for a term shows it and its neighbours","durationMs":7751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-092270212c19cdaa4908","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"unconstrained built-in relations omit endpoint labels","durationMs":8219,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-0fd42fa09b4645db923a","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"searching for a non-existent term shows the empty state","durationMs":7699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-11fd427817bd9d655f42","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"cardinality map survives a Data-to-Model round trip","durationMs":8414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-2db29163257de252b256","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"Data mode shows an empty state when the glossary has no assets","durationMs":7250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-37cd6e390ea42415c6e5","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"switching back from Tree to Graph restores the graph and stats","durationMs":7898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-3a301091329822c5d151","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"custom ONE_TO_MANY relation shows \"1\" at source and \"M\" at target","durationMs":6805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-407235e749dda8ee080a","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"returning to Model mode restores graph controls","durationMs":8290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-4eccf3be34c45254b555","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"all three term nodes have canvas positions","durationMs":7909,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-6d49d78bfe49b343cf22","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"Tree surface renders the glossary hierarchy","durationMs":7706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-b03f0a71701825a04fd3","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"stats show 3 terms and 4 relations","durationMs":6775,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-bb1c308761249a94185c","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"concept inspector exposes the full-details action","durationMs":7732,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-ddb75b6bd2bd20a31525","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"graph edges contain all four expected relation types","durationMs":7180,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-dfd025e99a6dc28bd7b3","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"graph renders without empty or error state","durationMs":7994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-f1f2b8e2b3a7545b4790","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"clicking a node opens the concept inspector","durationMs":9271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-022759ec864b56b71bcc","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Copy domain FQN to clipboard","durationMs":6630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-0ebd54efbc2b2b155beb","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Add expert to domain via UI","durationMs":9819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-1f1c563e90bcce9f6d8b","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete data product via UI","durationMs":9347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-2449dd2855d6489495e5","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete domain with assets removes domain from assets","durationMs":8129,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-28a3b2486df912d34410","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Clear domain selection returns to All Domains","durationMs":8381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-2a56fa3766116e1c5585","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Add owner to domain via UI","durationMs":10316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-3b3349f8197353baba62","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Add owner to data product via UI","durationMs":13149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-3c0793e4d0a02a034dd6","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Domain description required validation","durationMs":7596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-572e07b57107a81c8a5a","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Domain name validation - special characters","durationMs":9227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-8257af9327d0aecb1a57","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Navigate from data product to parent domain","durationMs":8087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-94706ce6c0a223ba7d9c","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Select domain from global dropdown filters explore","durationMs":8001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-95eb86ffe8e67da8357f","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Search assets within domain","durationMs":7815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-986797853ac5b5f33e0e","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Navigate from subdomain to parent domain via breadcrumb","durationMs":5009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-a3eec08a270058e9c4a8","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Edit domain style - change icon URL","durationMs":9064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-ac6bba54da09716d0bb1","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete domain with subdomains shows warning","durationMs":10563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-ae62dad6a8513b600bd8","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Remove owner from domain via UI","durationMs":9649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-c792ca79ac2754e7a040","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Rename data product via UI","durationMs":9934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-e665fdbd2e91e08e4f8b","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Rename subdomain via UI","durationMs":10750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-e67dcb1bdd80adb3ef5f","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete subdomain via UI","durationMs":11106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-fe4f73c64fe8c8e5de31","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Domain name validation - max length","durationMs":8347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c313e060173ac894b2b-403f9052a3a13d25ac40","project":"chromium","file":"Flow/AddRoleAndAssignToUser.spec.ts","title":"Verify assigned role to new user","durationMs":8201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c313e060173ac894b2b-cad45ddec1ffc014868e","project":"chromium","file":"Flow/AddRoleAndAssignToUser.spec.ts","title":"Create role","durationMs":8250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c313e060173ac894b2b-ee14ce47b05f65e1ffd4","project":"chromium","file":"Flow/AddRoleAndAssignToUser.spec.ts","title":"Create new user and assign new role to him","durationMs":9282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-5d577d037f46e4e6ac12","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should render connector forms that previously stalled at loading","durationMs":23802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-bff0435e79efac0348cc","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should scroll the form when the wheel is over the blank margin beside it","durationMs":8574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-d2f910cd545265e60c99","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should clear inactive Snowflake auth fields before test connection and unlock ingestion filters","durationMs":13457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-d9a6d1d97ea16fafc5c8","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should align nested sample data storage config fields without overlap","durationMs":9985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-00c5931044e86cac81ab","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should accept a valid name with allowed special characters","durationMs":6516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0198f50c773eac76637b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for mlmodel in right panel","durationMs":13583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-046fb43e97de2c99aded","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on mlmodel","durationMs":21962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0586bf3c032e2e35530a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for table in right panel","durationMs":6988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-06fcc5757ec84237d9d4","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on pipeline","durationMs":15920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-073ad5c7df0d928319e5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Markdown","durationMs":15996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-090b772ba3caf2d12879","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":17797,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-099f20268d1f7b48745e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on dashboard","durationMs":22468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0b461a5e0578cd2efd31","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on container","durationMs":24865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0cb4d8f7a9199c942503","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for dashboardDataModel in right panel","durationMs":14184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0cc0177e680651493e9b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on database","durationMs":19127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0d1c5ed8b0999aa6e657","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time Interval","durationMs":17094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0d1e7593a663f34a4167","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Duration","durationMs":16457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0dbdcff683eb513dc0f5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should accept valid http and https URLs","durationMs":10597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0ede02e520a7dc955605","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Number","durationMs":16940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-11f7e608c623dfca5f06","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for topic in right panel","durationMs":13137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-13131035a68d36358766","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a tilde","durationMs":6494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-13c94bba599eb95dce34","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Timestamp","durationMs":16756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-13e7ba4bc2cad9b1de63","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for storedProcedure in right panel","durationMs":11857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-144b42f1d0bcd87467bb","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for chart in right panel","durationMs":10469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-150a7f419a6502d5f7af","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on glossaryTerm","durationMs":26085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1542edf5a447db147b2c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Create custom property and configure search for Pipeline","durationMs":22872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1661fababed9adc53f9d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for container in right panel","durationMs":14267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-16aa58907a6fdfcaf258","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a colon","durationMs":6799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1928de880af6bb1217b1","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":16449,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1b3f3bdd4a95d12e5782","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Email CP with all operators","durationMs":27758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-20ec70d5fe0c22fab8a3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should display URL when no display text is provided","durationMs":9819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-215123aafd70cf8361ec","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for searchIndex in right panel","durationMs":12122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-22c1d84db9283bdded31","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for topic in right panel","durationMs":12320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-234372fa7573d8422663","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for glossaryTerm in right panel","durationMs":12656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-24855e52e738b6d8cc55","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Duration: advanced search equalTo and Contains operators","durationMs":12544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2666fae5eaf8b524f8b2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for apiEndpoint in right panel","durationMs":14133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-26a002b822c0a4f22189","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a backslash","durationMs":6620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-284272a57881394530a8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for chart in right panel","durationMs":10551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b3f1ca73d2b19cd7829","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Integer CP with all operators","durationMs":32237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b44204ae297960da4ca","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for apiEndpoint in right panel","durationMs":13240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b958f7c7ead420a53cf","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set string custom property on column and verify in UI","durationMs":10361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b9e2f2bf4b05988942e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Integer","durationMs":16940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2dc55bac67402b99ea1c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":20753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-33ead8586aacbd1e7514","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String CP with all operators","durationMs":31679,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-36c2e3f98f9691386383","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Number CP between operator sends gte/lte bounds (Issue #27482)","durationMs":27682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-38c5b4f50e470a21dec5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"DateTime CP with all operators","durationMs":28942,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-39ca4bac99e8c38f4893","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name exceeds 256 characters","durationMs":6784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3af16c42b7e43de3610a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for databaseSchema in right panel","durationMs":12272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3cd6204cfd0c101ede1b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a caret","durationMs":6230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3e66b795beaabcfc4e18","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should accept a valid name starting with a letter","durationMs":6538,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3fc0be82527ff18dbf4d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for container in right panel","durationMs":13384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3fe3da753570171b89f8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference CP with all operators","durationMs":37952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3febd7d88ddcf14f9d74","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for chart in right panel","durationMs":9253,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4106494ea3a0567eb9fa","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"markdown edit button visible and clickable when value contains a table","durationMs":12001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4337412e95b645514b11","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for storedProcedure in right panel","durationMs":13000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-443430595829177dc49b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":14882,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4440d5c29ebf7b879e13","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a less-than sign","durationMs":5722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-44413c5a1543a1f5a65d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show No Data placeholder when hyperlink has no value","durationMs":10759,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4448b5bfa30f03224bd5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for apiCollection in right panel","durationMs":16673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-47b51888cdfc4692d610","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":17061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4827e24fda5a1d45d22f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Hyperlink CP with operators","durationMs":54367,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-48a4ae191a789b00d2b2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on apiCollection","durationMs":24774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4b507b63d20449a81643","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a double quote","durationMs":5679,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4c6f5910036e8a8ecd06","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table CP - Role column with all operators","durationMs":30528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4c7f9c476c2ed0007bee","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for dashboard in right panel","durationMs":13273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-5134cc15da4d82e27660","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for searchIndex in right panel","durationMs":12639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-52d82632ab1dbfb46acb","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Create custom property and configure search for Dashboard","durationMs":35801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-53e6f09a5c52bf7df3ef","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for metric in right panel","durationMs":11922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-55e07b0e789c9713f0e1","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for container in right panel","durationMs":12622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-578a14db66c772d9f19a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time Interval CP with operators","durationMs":54517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-5b8fbffd20b99a05b306","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for dataProduct in right panel","durationMs":11734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-5ec7d3ce5e4c562daa12","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for dashboard in right panel","durationMs":13377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-631d2b822a425a37f1ad","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"sqlQuery shows scrollable CodeMirror container and no expand toggle","durationMs":14380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-65307a93e05183f89aea","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for metric in right panel","durationMs":13374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-656cc7d8ddbc7c49d430","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time CP with all operators","durationMs":22255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6655b40bd42bf7dd92cf","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for dashboardDataModel in right panel","durationMs":13206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-68023ece76e3b9d66801","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"no duplicate card after update","durationMs":23175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6822a41e8f427108e34d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for apiCollection in right panel","durationMs":15033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6d9247cb6f905ac30d36","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for dataProduct in right panel","durationMs":10414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6e0b510a4357a92405ad","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":20968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6e2dcbfa65968e44a7c7","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on dataProduct","durationMs":16086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6f453e86d7a1c3ac71e3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference","durationMs":19567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-706fba167c2158a9f19c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for table in right panel","durationMs":5901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-74f1413fcd08c3e9eea9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for searchIndex in right panel","durationMs":13240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-758a3345517b4a31f72f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for pipeline in right panel","durationMs":10912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-75b13a66cc9bb065087a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for database in right panel","durationMs":11085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-78380c7e57ee93066467","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains an asterisk","durationMs":6984,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7841102043c30e3f1f34","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Enum","durationMs":18066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7b91914a9fad1814c71e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Enum: Set Value, Verify, Remove Value","durationMs":8702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7cc62919e3b9e1b62694","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for pipeline in right panel","durationMs":10006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7d2ecf1e1524a2e1892d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on storedProcedure","durationMs":21288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7d3bdab21816548f036f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Date CP with all operators","durationMs":28242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7d916dac346243f25b87","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for topic in right panel","durationMs":13674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8008a10e168b1c34bc42","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Number CP with all operators","durationMs":29456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8206d4dac7f2ead1c59c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for searchIndex in right panel","durationMs":12918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8465025d34d1ba303095","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for storedProcedure in right panel","durationMs":13032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-85d2000be90731f68ff3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"User visible in right panel when added as entityReferenceList custom property","durationMs":8327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-86a58b48381d1d8e95d3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":23274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-87e8c056c3709eb4e491","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for glossaryTerm in right panel","durationMs":10521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-880378d44be14f2a0d8b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on dashboardDataModel","durationMs":23791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-88b29e301c7885391aba","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8afc594c33cf95e66ff6","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for dataProduct in right panel","durationMs":9634,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8ef70bdc69877ccd56cc","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for table in right panel","durationMs":6053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-918132860676bf7ef176","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for metric in right panel","durationMs":12062,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9188e4d6124f320a46a9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for databaseSchema in right panel","durationMs":12235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-925b2a5ddef6f183d467","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"table-cp shows row count, scrollable container, no expand toggle","durationMs":13169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-92e66352c532d1282ab5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for dashboardDataModel in right panel","durationMs":13895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9543959e2b5605de9ea8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Date","durationMs":13778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-95da432fd800c29682ce","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9642fc35ba00455535b1","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for apiEndpoint in right panel","durationMs":14247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-97e0f312e86c2b042db8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":22746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-98578f04c3c4935811d2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on topic","durationMs":20945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-98c8415db3b1f4ca0569","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for database in right panel","durationMs":10636,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9a7507dc2536c9b96f53","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a greater-than sign","durationMs":6839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9c0b89b0755adc0f5919","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":16669,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a2d9c2586f84fe5251aa","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a dollar sign","durationMs":5531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a4e24951e57deeb9ee69","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference List","durationMs":19575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a55f86c4ec59405c15b9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"entityReferenceList shows item count, scrollable list, no expand toggle","durationMs":16571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a733d29eb95f348d8d7f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for apiEndpoint in right panel","durationMs":16137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a77692b01e6eca70c785","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set all CP types and update representative properties on table","durationMs":35412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-aba34920bf0b82ae95bb","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for dashboardDataModel in right panel","durationMs":11836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b1308b8a516b8cb9ebf8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Verify Pipeline custom property persists in search settings","durationMs":5149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b1b39433ec030281258b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":23183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b29df081605055efcf39","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":14813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b3388fdecc2ad8d1a917","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name starts with a non-alphanumeric character","durationMs":6749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b3574c7e673e7661e1d0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table","durationMs":20242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b42635480458c69c0058","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for databaseSchema in right panel","durationMs":13149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b49c14b444b41ef871c0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b4fe5b76badf6f07556f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for dataProduct in right panel","durationMs":10621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b55d69150fb57f8ebf3d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for table in right panel","durationMs":8127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b5a3c351a5994c7468ba","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for pipeline in right panel","durationMs":7761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b89bfd43a8bfc7e51b34","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table CP - Name column with all operators","durationMs":30961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b8bf915ba142ddcac4c0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":18320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-bd447013e59274885103","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for mlmodel in right panel","durationMs":13016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c00429d0241747787024","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on chart","durationMs":16211,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c2a6e896d6c984cc6a55","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Enum CP with all operators","durationMs":30173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c5145b1f6116551c054a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for dashboard in right panel","durationMs":12822,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c8cd0c7b62f24c8bf605","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for pipeline in right panel","durationMs":9474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c8f4fdafd8c406812655","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on searchIndex","durationMs":21971,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ccbbec56928c924a0364","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a forward slash","durationMs":6474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-cd5c20bf0878e3ddfb88","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains an ampersand","durationMs":5682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-cfb9e8e45a2cf6f8edba","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for databaseSchema in right panel","durationMs":15420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d1f1d6682c54f0eee731","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for dashboard in right panel","durationMs":14550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d367410a3d276e768f1e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Sql Query","durationMs":15401,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d3690b8817694bcb83b7","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Email","durationMs":16228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d404277b926d9d8d2069","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for chart in right panel","durationMs":9249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d47e27129966726f7534","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for glossaryTerm in right panel","durationMs":12019,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d65630934d80acbe62cd","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Duration CP with all operators","durationMs":24981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d7e8ad039d71e8a7c572","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for topic in right panel","durationMs":12619,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d93a7140bf1bd5bdd8d8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for database in right panel","durationMs":7266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-dae6e741e568b0557027","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for mlmodel in right panel","durationMs":12193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-dbc2b32a754a0f964545","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on apiEndpoint","durationMs":24130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-df87952db325e9d6d907","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String CP with numeric-like string value","durationMs":27484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e4ba59ec229c66902e0d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e694ff42b3b887567bfd","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for apiCollection in right panel","durationMs":16003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e769b190aa8fb84b45e4","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Date Time","durationMs":18025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e84c3c0137f1039e28c2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for glossaryTerm in right panel","durationMs":13505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e8ad632e57cd4726f62e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference List CP with all operators","durationMs":37893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e8bc3c66a99f793df1d8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for database in right panel","durationMs":10130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e8fdc4505ec39607a36d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Markdown CP with all operators","durationMs":24050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ea562b6d00e8518d2137","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Timestamp CP with all operators","durationMs":23090,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ea89b0ef843ab4311f58","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":18393,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-eb0bd2320ea66fd86706","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on metric","durationMs":21641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ef476d3b4603c8a4381c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for metric in right panel","durationMs":13009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f079a72c9858cbf038d7","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on databaseSchema","durationMs":22676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f206353a5c99d247c672","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for storedProcedure in right panel","durationMs":12720,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f24f565618b6ef1ce3bd","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Verify Dashboard custom property persists in search settings","durationMs":6736,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f3634eddf4aeb8ede7a5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"SQL Query CP with all operators","durationMs":18641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f3d24db98506074025a9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table CP - Sr No column with all operators","durationMs":30125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f4100ee1ffe0946ec7f0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for mlmodel in right panel","durationMs":12314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f49b660fff35024b8100","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should reject javascript: protocol URLs for XSS protection","durationMs":11026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f5a397a6f934257987e4","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f5a8dbb1a3170bea745a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time","durationMs":16691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f6475c472a261574fcb0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for apiCollection in right panel","durationMs":14208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f9f2a10de961b60567fa","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Hyperlink","durationMs":16855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-fad45bcbe2162604d3b9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for container in right panel","durationMs":14491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-fb579170cd1d7c4a289a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-174101936d3896ce9f47","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should add multiple different target terms in a single save","durationMs":14147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-21c26aaf5eca59e26cc8","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should delete a specific relation while keeping others","durationMs":12885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-347289cdde81b2e86c77","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should add three relations to a single term and persist all after reload","durationMs":15288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-471da3990b61252d964c","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should edit the relation type of an existing related term","durationMs":12705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-99084aaab07cdc368d6b","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should reveal the related terms hidden behind the overflow toggle","durationMs":14084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-ac6e5f3ff65f304cd641","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should add Related To, Narrower, and Has Part to the same target term and persist all after reload","durationMs":15417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-0b22ed09f9439ea8c7ff","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"search for child term name + apply non-matching status filter shows no results","durationMs":10223,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-234737f04928d20473b5","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"expand all button loads all terms","durationMs":11481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-27e6f44e8b15f854d098","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"apply filter, expand parent, verify children shown","durationMs":11573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-466fc3ab5bfc5a841ed3","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"all children have same status different from parent","durationMs":10945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-4f00a63e0200f02e1523","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"search for child term name + matching status shows child","durationMs":11020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-57f0b473b90da6940065","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"expanding grandparent shows parent with any status","durationMs":11101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-79bfb46ac41aa25bf7bf","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"clearing status filter maintains search results","durationMs":11386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-8db8c485b9ff1b220d60","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"search for parent term name with child status filter shows no results","durationMs":11466,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-a3ffe4e7ef370a9818c2","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"filter shows parent when status matches and all children on expand","durationMs":9128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-ac556f0de995587cfa8f","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"clearing search maintains status filter","durationMs":12684,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-ae74ac03d84aac90be70","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"filter by parent status shows parent and allows expansion to see children","durationMs":10202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-b99d3ceddec644ada565","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"multiple status filter shows terms matching any selected status","durationMs":9305,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-c2facc4c319dc59d5305","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"filter by grandparent status shows only approved terms","durationMs":9897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-de1c9c9f19f09f7f3f74","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"only leaf nodes match filter - parent chain does not","durationMs":9327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-ed1a87cd827864150908","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"change filter while expanded updates visible root terms","durationMs":10478,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7f83f47ccb329ee308eb-2d5871a8c22b587d7bc9","project":"chromium","file":"Flow/ApiDocs.spec.ts","title":"API docs should work properly","durationMs":10755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7fe377069ec905157f69-c57732e5a453d5d11e48","project":"chromium","file":"Features/EntityRightCollapsablePanel.spec.ts","title":"Show and Hide Right Collapsable Panel","durationMs":9677,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8353b5bd378f555885cd-ced9991ca1236b535306","project":"chromium","file":"Flow/ApiCollection.spec.ts","title":"Verify Owner Propagation: owner should be propagated to the API Collection's API Endpoint","durationMs":49133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"83b398fa84d933d87686-04e325d8cc12eba5e53e","project":"Basic","file":"Pages/LoginConfiguration.spec.ts","title":"reset login configuration should work","durationMs":6412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"83b398fa84d933d87686-1a9e5feffef3d3445b26","project":"Basic","file":"Pages/LoginConfiguration.spec.ts","title":"update login configuration should work","durationMs":6664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"84796481a57bc647802f-242f17fe293eed0e4f58","project":"chromium","file":"Features/Glossary/GlossaryInheritedReviewerApproval.spec.ts","title":"term inherits reviewer added to the glossary after an earlier term ran the workflow","durationMs":11618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"84796481a57bc647802f-37f3e60b3e7ddf0777cb","project":"chromium","file":"Features/Glossary/GlossaryInheritedReviewerApproval.spec.ts","title":"inherited reviewer is shown on the term page and it is not left in Draft","durationMs":8690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"848329c182e7112e80ae-9df4121368d3676326e8","project":"chromium","file":"Flow/PersonaDeletionUserProfile.spec.ts","title":"User profile loads correctly before and after persona deletion","durationMs":17553,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-21870b80ea06c6c61080","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should be able to select multiple terms for bulk operations","durationMs":13335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-69563df3d8d1bd29ecc4","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should prevent dragging parent to its own child","durationMs":14252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-791826c9cc34ae77ae2a","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should be able to toggle mutually exclusive setting","durationMs":12845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-a3e7717d96e1c52463d5","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should navigate to bulk edit page when clicking bulk edit button","durationMs":15082,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-1845d01e7ccdda0095af","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"renders the stale cache-state badge","durationMs":8045,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-533404d5aa35173d9319","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"caps max assets at the backend maximum of 1000","durationMs":10017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-700160c385a041b6b4c9","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"renders the failed cache-state badge","durationMs":8849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-98777200bcc547a3549c","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"rule card shows the condition count for a multi-condition filter","durationMs":8128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-a3f208ae7d0498a397c3","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"surfaces the persisted generation error on the settings card","durationMs":9541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-aa7a9fec272b5dd4104b","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"rule card shows the all-entities state when no filter is set","durationMs":12059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-39e2d4210de3a6aee51c","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should show term count in glossary listing","durationMs":9715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-51c90aa3d3cbd50f7c3d","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should expand and collapse all terms","durationMs":16068,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-5ce50f557be26da6421c","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle large number of glossary terms with pagination","durationMs":21937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-66452f74ee29979cc6d3","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle large number of glossary child term with pagination","durationMs":15167,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-c321395812e83839cd55","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should maintain scroll position when loading more terms","durationMs":9628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-c75ef376e0e3aeac99e7","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle drag and drop for term reordering","durationMs":19098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-dfd827b0183ea271ab84","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should search and filter glossary terms","durationMs":16934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-f609aa3b78d2f65881fd","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should expand individual terms","durationMs":16458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-fd6356c420635592f5ea","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle status filtering","durationMs":9982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-140cb435ed84863f3897","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Alert operations for a user with and without permissions","durationMs":59745,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-517df8c4e105fea3132d","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Data Contract Name filter lists matching data contracts","durationMs":9609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-8c8069db90344336e8b3","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Test Suite alert","durationMs":34688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-918aa5763e716d122442","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Test case alert","durationMs":37109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-b916a573700fed09d859","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Table alert","durationMs":30448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-c2cb524aacc68f08f74d","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"delivers table schema changes to an external webhook","durationMs":40550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-e080c3944816b4fb8c10","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Pipeline Alert","durationMs":48739,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-f843143498ffba623720","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Ingestion Pipeline alert","durationMs":31617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-05d6b12140e7b158a71e","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should reset pagination when filters change","durationMs":14042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-0a10b0e44065fb8502c3","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should filter test definitions with single-select filters","durationMs":16998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-2f0ed50d9a397315fe21","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should handle filter UI interactions correctly","durationMs":13729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-4537e6e3d565f4a5c602","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should handle multiple filter operations","durationMs":15235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-6220e7b1bc4fccbd3504","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should restore and persist filters from URL","durationMs":24740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-6cfa09b12a7300edb68f","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should not revert to previous value when changing filter selection","durationMs":21116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-8e7b0ff4ff1be00a6fd0","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should make correct API calls and show filtered results","durationMs":10980,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-024f722ac50dd9817b74","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"DataProduct - Certification assign, update, and remove","durationMs":16228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-049fb397dbc7f673f76b","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Edit buttons not visible on Domain","durationMs":9188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-8e0b212ecad90a923a5f","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Domain - UpVote and DownVote","durationMs":10114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-c6fcf77553a572dac672","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"DataProduct - UpVote and DownVote","durationMs":10286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-c82d83f43577ab6478e0","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Domain - Certification assign, update, and remove","durationMs":14972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-d89f229dce3bfd3c5897","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"DataProduct - Tier assign, update, and remove","durationMs":15044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-fd03e39a19b2a7270353","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Edit buttons not visible on DataProduct","durationMs":9298,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-fec525a76b0cc14929bb","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Domain - Tier assign, update, and remove","durationMs":15482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"881e65180b3903b61009-329957068f1e26fcddaa","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":30002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"881e65180b3903b61009-b5eebb5ec29f3085052a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":30047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"886b17c78623def558cb-655d3f46261756c6406e","project":"chromium","file":"Features/Tasks/TaskCustomFormWorkflow.spec.ts","title":"renders and resolves a workflow-driven custom task end to end","durationMs":19081,"attempts":1,"retries":0,"outcome":"expected"},{"id":"88aed568d27816e1e7bc-df00a43a3c43019be57b","project":"Ingestion","file":"Flow/ApiServiceRest.spec.ts","title":"add update and delete api service type REST","durationMs":10595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-0dc418f1c23a4844a197","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should add asset via Add Assets dropdown button","durationMs":21338,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-28906e2384c9a1bab9f6","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should search within assets tab","durationMs":20165,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-4a7e377e96c978147e0a","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should add pipeline asset to glossary term","durationMs":23037,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-61b40f6d4808b291d05e","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should add topic asset to glossary term","durationMs":25445,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-96fa4ed1ffebaddf928d","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should remove glossary term tag from entity page","durationMs":12574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-9f29d348a57a79cc841b","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should bulk select and remove multiple assets","durationMs":17229,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-b0bdefe972c5bed0bcca","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should paginate through assets","durationMs":19491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-b1f3d6ed1b08d1a4bb24","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should filter assets by entity type","durationMs":17831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-cc69574004082d93a6c5","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should remove asset from glossary term","durationMs":20713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-d3d22f75cff0fb556b4b","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should open summary panel when clicking asset card","durationMs":18204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-01b2b9560e74a71c4e80","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for topic","durationMs":13013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-01b32310e41f5a980287","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for databaseSchema","durationMs":10192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-01fb2e8333263723922b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for pipeline","durationMs":17156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-021b43b75a663324a24f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for searchIndex","durationMs":9871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-04c9500a66e07a0f4d19","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for mlmodel","durationMs":7956,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-075ca5b3b707726c1fed","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for container","durationMs":9612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-08f3053810bc0d9eabc9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Data Quality tab should show permission placeholder for ViewBasic-only user in column detail panel","durationMs":13845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-098503b11056d698e6d5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for topic","durationMs":9944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-09e1f1bd7ce4581c08be","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for searchIndex","durationMs":19509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0b0f6011525649c413ca","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for topic","durationMs":9456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0b717bcb08d7229c39ed","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for dashboard","durationMs":6059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0cb8b557b5588a3a58fb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for container","durationMs":10234,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0d014fe4158d6b11b3cc","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for topic","durationMs":9604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-108197f2ea7989151511","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show lineage connections created via API in the lineage tab","durationMs":8554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-10b1487c0530097575fe","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for table","durationMs":11559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-11009753c55f5981d8ac","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should add multiple tags simultaneously","durationMs":15077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1239865fabbb2f7594c2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for database","durationMs":7536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-12b33b3886ab0aba320a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for database","durationMs":9457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-133d2e4520c8ec06a4f8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for mlmodel","durationMs":10734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-13567b059282c60d0137","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for table","durationMs":12544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-13de2cfc701692d2a9ea","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for dashboard","durationMs":7799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-13e86c10ca16df0499a1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for dashboardDataModel","durationMs":14884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-14d4eb746eba76f718ca","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for topic","durationMs":8840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1538d123f2c2a8811c53","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless searchIndex","durationMs":8702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1563e5297bd085a588eb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no tier assigned","durationMs":9319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1585959eee57db3c7549","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for topic","durationMs":7900,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-186ced8275acfdbf9e0d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for dashboard","durationMs":7079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-18ba5f44c0099f79d0a3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless databaseSchema","durationMs":7698,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-19a477c372c716a9b39e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for container","durationMs":9465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b2b323f53e816de1c91","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for searchIndex","durationMs":10399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b34f2684127b3d55c88","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for pipeline","durationMs":7710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b365f5b11a18b0c3a39","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for table","durationMs":8782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b60622e03798838715f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for topic","durationMs":10533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1cca72e08823914fe23d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for dashboardDataModel","durationMs":70422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1e2b0ffad049bc59c8d0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show lineage not found when no lineage exists","durationMs":10360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-210dadbfa945990935c3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for database","durationMs":12443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-244b13ccd0f7b900fb28","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for container","durationMs":8221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-24c9ce8ce0dabd0d509c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for searchIndex","durationMs":10343,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-25d41d54b9b04a45678b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for database","durationMs":54431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-265891ba968cefecc439","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for table","durationMs":9038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2678b9d0b7d021634922","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no domain assigned","durationMs":8924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2a1b4bcab0fcc6c2ce4a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for container","durationMs":10014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2a4c2dca654df7df1006","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for container","durationMs":15954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2d3f1768f2cb5afafa65","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for dashboardDataModel","durationMs":21407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2e6e45b67faa36697299","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for dashboard","durationMs":5887,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2fc3809a0d019d09cae9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for database","durationMs":10589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-30ea32e8028fb027e06a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show incidents tab content and verify incident details when a failed test case exists","durationMs":11558,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3165aa7bde7820a3795c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no glossary terms assigned","durationMs":9675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-32005e753a77f02e59b8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should update panel content when switching between entities","durationMs":19115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-336bac00f4185cc63b6f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for databaseSchema","durationMs":8528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-33c5fbe2f0d2d2b46928","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for table","durationMs":11641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3462732720adea629df6","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for mlmodel","durationMs":7571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3563f62190ac2b1c45b1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for databaseSchema","durationMs":10593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3686e6b7490be9179d9d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for container","durationMs":8934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-36938a136687ea4b0aca","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no tags assigned","durationMs":8837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-379ca13bb8e867f09013","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for table","durationMs":18012,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-38405a0dff0a4e15c280","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for dashboardDataModel","durationMs":15591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3a90fe95b59eae1daa7a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for database","durationMs":11473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3afc31365a9afae9a2b2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for container","durationMs":8237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3bd8882671b45f246ae3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for pipeline","durationMs":7818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3bec1cf9f34fbf374128","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for database","durationMs":7840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3d138dec7cdb5adc679a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for dashboardDataModel","durationMs":9711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3e934042c6730b3de1ce","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for database","durationMs":8043,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3ec0933dab0a3b371888","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for table","durationMs":24551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3f76b3e13a73d4472bf3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for container","durationMs":8080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4043f9e1c36ea0ea6a60","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for container","durationMs":13748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-429f7a20fda2da1e9bbb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for searchIndex","durationMs":10326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-42f94f41e925d9ccfe5b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for searchIndex","durationMs":10891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-43e1553306030ed869f5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for table","durationMs":71688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-473216426419bf5f9a0f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for topic","durationMs":8876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4880722314bd7f82cdfb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for databaseSchema","durationMs":9511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-48fc388a6c2a2863b1f1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for container","durationMs":16017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-499f0373baa46d13eaa4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for topic","durationMs":9854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-49e28f6489c7e97ea574","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for dashboardDataModel","durationMs":10743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4a62b223c60b06477ffb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for table","durationMs":7778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4b303bd077ac40ef58a2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for pipeline","durationMs":14474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4d7466661908a3d14775","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for dashboardDataModel","durationMs":11465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4db7926c584af28e377e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display incidents tab for table","durationMs":10316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4ee18c4acfd795b9804a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for dashboard","durationMs":9598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5233209655e60c3a8994","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for topic","durationMs":16771,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5292139b2be76c19f5f9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for pipeline","durationMs":8966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-530577a1b9881140aa0b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for databaseSchema","durationMs":8038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-54c8de9b6bc6f04c9f93","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for pipeline","durationMs":10892,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-564cf22c841556fb5bfb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for mlmodel","durationMs":14757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-56c2bf919a99f01eaed5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for databaseSchema","durationMs":9127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-57573d1765bdeaa7dd3f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for dashboardDataModel","durationMs":9912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-58a5555b60b70ce5d6b7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for container","durationMs":9124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-59aec5b13e4c7fd0035f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for table","durationMs":12264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5a4c679cefbe0fd7a08f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for searchIndex","durationMs":11519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5bf2dc1bad8025064534","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for dashboard","durationMs":16898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5d117c59ba118aee6ec5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for topic","durationMs":11216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5d3b2212dda5295f2c25","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for searchIndex","durationMs":9858,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5fefb66da2175223e06a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for dashboardDataModel","durationMs":11591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5ff2addc90e11b5b1429","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for database","durationMs":10386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-62eb3a55c6a5df575ff2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for pipeline","durationMs":10639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6473eb373e9b0fb070e0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for topic","durationMs":10104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-656d7787e6bd7e9df922","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for searchIndex","durationMs":8106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-663bba2a53845b8ea55b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for topic","durationMs":61458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-685ed0fc7776cf71b618","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for pipeline","durationMs":6218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-692888610a61ccdff209","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for dashboardDataModel","durationMs":11059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6970a240acfb0e1d8b51","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify empty state when no test cases for table","durationMs":8043,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6d0142300f3217f0e21c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for pipeline","durationMs":10336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6d9d673d723e25f12f7e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for container","durationMs":10673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6ecc15f9f9ba3f23f44a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for mlmodel","durationMs":11148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6f44900a3c4281198d6f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for database","durationMs":9784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7219436bbdd76d7279fe","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for database","durationMs":18460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-727e88a336b4ec778ffc","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for databaseSchema","durationMs":9818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-737a0f1778b15fc44600","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for table","durationMs":11273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-73cb8c486fbda270c14f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for topic","durationMs":9140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-742072c30dbb99bd0484","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for topic","durationMs":22333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-768ccc8bc120323d821b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for mlmodel","durationMs":9924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-798159f734b0c332a42b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for mlmodel","durationMs":10546,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-79e4216446a38640e9a1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless dashboardDataModel","durationMs":8957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7d9f4e48e9dcfe591dce","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for searchIndex","durationMs":9279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7dd33f8b24d0f71db45d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for table","durationMs":10243,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7dd365bcb6c0d8f3c1dd","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for mlmodel","durationMs":9827,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7e0095dfd25254c7f75f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should search and filter test cases in Data Quality tab","durationMs":11974,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7ea3408a9784bedb27b5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for container","durationMs":7368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7eda860aa3972132c9dd","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for databaseSchema","durationMs":16600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-83db68eb1c852d7ff609","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for mlmodel","durationMs":9148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-846a0cefdd1305f9ed1f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for searchIndex","durationMs":8395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-84e1e82f8a7d650659ef","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for database","durationMs":15960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-867ab86eaca612a373f5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for database","durationMs":13699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-870a0dd2d3a32a952a61","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to data quality and verify tab structure for table","durationMs":8791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-88258c610239b8cb1322","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless mlmodel","durationMs":9781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-88c53fddc30f751fa124","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for dashboard","durationMs":14756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-894ae9960c4b6b84a946","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for databaseSchema","durationMs":6922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8956232c87a9e10cb734","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for topic","durationMs":9972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8ad72141d07f120d17f3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for searchIndex","durationMs":8140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8c027a0666e7c0718c7b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show no test cases message when data quality tab is empty","durationMs":10831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8c0f36ededad10ee0c0c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for databaseSchema","durationMs":22153,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8d8ab167de121658e7e7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for topic","durationMs":7080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8e0c627d31aa7c2e7e7c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for topic","durationMs":9339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-930c4957721075839350","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for database","durationMs":9216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-93f9949605954467bc13","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless container","durationMs":9152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-94b895bd39cbeecbf478","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for pipeline","durationMs":9064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9754cdab78f1f70cba04","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for mlmodel","durationMs":14060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-97f0ce9aaeb905d35f7e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for dashboard","durationMs":10161,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-98de6578045812df76c9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for mlmodel","durationMs":8316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-99839712f24fb735f384","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for dashboardDataModel","durationMs":10985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9994533a4719723b9d4b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for searchIndex","durationMs":54534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-99bb36c88847f6d6f3b1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT allow Data Consumer to edit owners when entity has owner","durationMs":22457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9a4b9416d84f1f23c897","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for database","durationMs":8112,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9b25a468e966bd069a74","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for table","durationMs":8262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9fa9aacf3b07fb05ba7d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for dashboardDataModel","durationMs":8245,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a0841d6bc1c9f097bda0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for searchIndex","durationMs":9557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a201f5c4eb58c110901e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for mlmodel","durationMs":16531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a229c05471eda8fa1d5f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for table","durationMs":9814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a31a06cd87f69b9df866","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for mlmodel","durationMs":10962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a58f95651ebdd39a4baf","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should not make forbidden API calls when ViewBasic-only user opens column detail panel","durationMs":11433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a5f2ecf8b4476450c4db","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for dashboard","durationMs":9359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a671dc22f0967afe3bb3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for table","durationMs":9796,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a744c11227116d506e78","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for databaseSchema","durationMs":9457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a7514af88554d985d47e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for pipeline","durationMs":61406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a7c023e88c4f118f6f02","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for databaseSchema","durationMs":57840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a8514f3a07691b47119f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for databaseSchema","durationMs":13631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a96ef28811ef2178b45a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for dashboardDataModel","durationMs":10506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a99d3370ba468f21cab1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for container","durationMs":10654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-aa1561bf1073bcc3c435","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for database","durationMs":14568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-aad46b378dfde5d87619","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for searchIndex","durationMs":9174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-acd8015ef4305973bce6","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for searchIndex","durationMs":9749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ae0d88c8e231ab65349f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for table","durationMs":19617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ae56396e3657654ed95a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for pipeline","durationMs":8067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-afc78822b98d1c640ea5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for searchIndex","durationMs":14484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b0181c53477b65c05d35","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for mlmodel","durationMs":6806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b0cd45603d85986f08c7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for container","durationMs":10816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b15a31f4e5af43faba7c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for container","durationMs":8520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b43a981d6c7c7d843812","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for mlmodel","durationMs":62183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b5a9ed0234ef1e52bc52","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for mlmodel","durationMs":11601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b8d5ea42f6a6b6f8535b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for topic","durationMs":8874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b98a58764e43cdd18b86","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless topic","durationMs":8545,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ba47593ab31c61081912","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for dashboard","durationMs":9712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-bd02f0788f67382d3e11","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for pipeline","durationMs":10250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-bd0ba1f1db8e8ebaba73","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless table","durationMs":9034,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-bff139f834dd62f12ca0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for mlmodel","durationMs":21446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c0ae5ab7d970d296c1c8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for pipeline","durationMs":14293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c263c93a44e29c3e55e4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no owners assigned","durationMs":7948,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c36f059d2c6d8059e39f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for searchIndex","durationMs":8019,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c38d013f1592751af7e8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for table","durationMs":10177,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c441e734d3b80c96fbd8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for database","durationMs":13395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c45af9ddb6911f2c8c08","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for dashboardDataModel","durationMs":9861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c666d823b842348f9a68","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for container","durationMs":9267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c6b66ba86aa55c55c210","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for searchIndex","durationMs":10885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c6b8adb0e10a3fb5bded","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for dashboardDataModel","durationMs":10871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c6d8cc4def9c9829081e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for dashboard","durationMs":10489,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c70c7ab1e9b13167250c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for searchIndex","durationMs":8116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c8767c2bb584879cd982","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless pipeline","durationMs":7494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c9724a2b13445c4d6a92","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for dashboard","durationMs":9975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ca5bb991ac4fd8652e2d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for dashboardDataModel","durationMs":9458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cc4f5e3a70eaab5107d0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for pipeline","durationMs":20183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cdc74314b0b746849d53","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for searchIndex","durationMs":10217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ce9287a9a94ad35fa4f7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for pipeline","durationMs":8439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cf77fd2cc064e138e21d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for container","durationMs":14608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cf880f1b73444ae5e7dc","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for dashboard","durationMs":63468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d24b82b38fba9393a77f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for pipeline","durationMs":9146,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d3313262932f8e5c26e7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for table","durationMs":8607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d423c43dd26c1009523d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display stat cards and filterable test case cards when runs exist","durationMs":8330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d42c7dfcafd0c3d20840","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for dashboard","durationMs":14196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d63bb39fad8fff480982","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for pipeline","durationMs":9784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d775f5c5071bc10a90b1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for dashboard","durationMs":10072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d936ca38aed47123aaf3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for mlmodel","durationMs":10918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d94149b5a027a424200d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for table","durationMs":17103,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-dc17507cea6f5e2a941b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for dashboardDataModel","durationMs":11152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-dd46065e3973aee948da","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for dashboard","durationMs":17932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e04473dc158500311e77","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for mlmodel","durationMs":8256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e0b5cd5b646038da6ef0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for table","durationMs":8460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e192c717ec35efbb64d4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for mlmodel","durationMs":10473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e194f00ae1a12a13554c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for databaseSchema","durationMs":9838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e34c8aed94d117851885","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for pipeline","durationMs":9640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e3cad63d1a8b0b4c2dec","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for database","durationMs":9196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e3fb9bdf40b67d9a1af4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless dashboard","durationMs":8623,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e738a7e725f877070b42","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for pipeline","durationMs":8280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ea6b87c9fc3944212e89","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for container","durationMs":46168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ebd41d2da61ea044cf0a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for dashboard","durationMs":9324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ec8c77e3c18d343605fe","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for topic","durationMs":14798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-eccdbe7dc40257a66039","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for databaseSchema","durationMs":13628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ed2e3b93c0b849fff721","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for table","durationMs":11055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-edced786962dcff47e08","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for dashboard","durationMs":9249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-edef11e1a1af8f147e7b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for dashboard","durationMs":8997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ee8242f1129ae6921c9b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for pipeline","durationMs":12657,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-eff9436d5c602a9c7b94","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for container","durationMs":8663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f1c5fb133e74cb02ba04","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for dashboardDataModel","durationMs":15594,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f1fa161c211323ab8f5f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for topic","durationMs":10699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f2db6acc6a6d463a17a4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for databaseSchema","durationMs":9378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f3fbb9968dd464480148","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for database","durationMs":10035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f4372152a4fcdb25efb7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for databaseSchema","durationMs":8501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f460875c4dd4aceea8ab","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for dashboard","durationMs":9621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f5df5a41b9ea36e9a8c2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for dashboardDataModel","durationMs":9378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f77c37995878f4aa92bb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless database","durationMs":9150,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f8d216682ae91929ed81","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for databaseSchema","durationMs":9777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fbb48b233aa1d7eb84e9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for dashboard","durationMs":9116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fbcddae2be02fc636284","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for dashboardDataModel","durationMs":13005,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fc164bb0e2000feff2d2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for databaseSchema","durationMs":11593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fcd6c78be3acd0f339db","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for dashboardDataModel","durationMs":9162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-021e38b069566a0daa2e","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"task creator CAN close their own task","durationMs":209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-05984b7d2794709c41a6","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"task without assignees should still allow admin to resolve","durationMs":763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-0ae4f3085e70138d8eb2","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"assignee WITHOUT EditDescription should NOT be able to resolve RequestDescription task","durationMs":4473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-3fc026dfedbe459b7b0b","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"assignee WITHOUT EditTags should NOT be able to resolve RequestTag task","durationMs":5661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-4ff4535b84dea3c9a774","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"assignee (owner) should see approve/reject buttons","durationMs":14516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-749c4f5bccd84796fcc1","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"owner (has EditDescription) CAN resolve task","durationMs":4663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-78bbb9afa7c6fd8804ec","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"admin CAN resolve any task","durationMs":509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-873f2c7f083db40f1b18","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"non-assignee without permissions should NOT see approve/reject buttons","durationMs":12834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-88c636be3e54d14ad5a1","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"admin should always see approve/reject buttons","durationMs":12961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-8bd75f03604a4d71ca36","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"non-creator non-assignee CANNOT close task","durationMs":8210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-936f1eccfe11f4493261","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"non-team member should NOT see approve button","durationMs":10315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-d7be48a39e974fcc4df8","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"team member CAN resolve task assigned to team (team owns entity)","durationMs":10436,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-f726bad0f784021dbbd5","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"resolving already closed task should preserve closed status","durationMs":229,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-03f2be6de2c2761ec72e","project":"chromium","file":"Pages/Teams.spec.ts","title":"Delete a user from the table","durationMs":27565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-05575cd61e82f379b794","project":"chromium","file":"Pages/Teams.spec.ts","title":"Team search should work properly","durationMs":11197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-1a55f23c25c53060de8b","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New User in Group Team","durationMs":15384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-1f668e63ea29ab01be29","project":"chromium","file":"Pages/Teams.spec.ts","title":"Teams Page Flow","durationMs":63258,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-2ae1f95f7a82d858d799","project":"chromium","file":"Pages/Teams.spec.ts","title":"Export team","durationMs":16798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-36f0b663f675c074e314","project":"chromium","file":"Pages/Teams.spec.ts","title":"Permanently deleting a team without soft deleting should work properly","durationMs":19571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-4f1e0c1f52584e8f4a5c","project":"chromium","file":"Pages/Teams.spec.ts","title":"Team assets should","durationMs":59207,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-6880dd63ad3dc1c9041a","project":"chromium","file":"Pages/Teams.spec.ts","title":"Create a new public team","durationMs":13383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-7fa42402660989954fc2","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New Team in BusinessUnit Team","durationMs":21049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-8c42ddd21ea38410b62f","project":"chromium","file":"Pages/Teams.spec.ts","title":"Should not have edit access on team page with data available","durationMs":13897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-a496a11b02113f60becd","project":"chromium","file":"Pages/Teams.spec.ts","title":"Create a new private team and check if its visible to admin in teams selection dropdown on user profile","durationMs":15321,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-a5acf3c890d0c5f803f0","project":"chromium","file":"Pages/Teams.spec.ts","title":"Should not have edit access on team page with no data available","durationMs":15727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-c5fe5613722668c57494","project":"chromium","file":"Pages/Teams.spec.ts","title":"should fetch teams with correct include parameter","durationMs":9497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-cc91d06ccdf4881127a6","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add and Remove User for Team","durationMs":18858,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-d3248786cf8970f94aea","project":"chromium","file":"Pages/Teams.spec.ts","title":"Verify breadcrumb navigation for a team with a dot in its name","durationMs":18265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-d3d5abbdc9d39264f83e","project":"chromium","file":"Pages/Teams.spec.ts","title":"User as not owner should not have edit/create permission on Team","durationMs":14084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-dfff4b28227075cd2686","project":"chromium","file":"Pages/Teams.spec.ts","title":"Total User Count should update after a member is deactivated","durationMs":19905,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-e3b63fffd21ca18f715c","project":"chromium","file":"Pages/Teams.spec.ts","title":"Total User Count should be rendered","durationMs":16220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-f21a59b81da22614e543","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New Team in Division Team","durationMs":21279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-f25d2e4da47eecaf9a5d","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New Team in Department Team","durationMs":19175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d689656782b1a6f7390-02e6d12455e39839a2aa","project":"Ingestion","file":"Features/ServiceAgentsLiveProgress.spec.ts","title":"agent discovered from the stream updates card and tab counts without reload","durationMs":4532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d689656782b1a6f7390-0359032648b44be54dd2","project":"Ingestion","file":"Features/ServiceAgentsLiveProgress.spec.ts","title":"agent discovered while on another tab updates count and appears on Agents tab","durationMs":4255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d689656782b1a6f7390-18b39c8b1f7b73274a0a","project":"Ingestion","file":"Features/ServiceAgentsLiveProgress.spec.ts","title":"agent card and summary update live from the progress stream","durationMs":4968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-26379e695749933a92ab","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Glossary - multiple rename + update cycles should preserve terms","durationMs":20844,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-3e546bf80dc1c11ecdc8","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Domain - rename then update description should work","durationMs":11548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-68eddb3465aced4adc35","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Domain - multiple rename + update cycles should work","durationMs":16838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-b01e664284f9a0880abb","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"GlossaryTerm - rename then update description should work","durationMs":15855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-b23330247ae47b829cbe","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Classification - rename then update description should preserve tags","durationMs":11604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-d1fcf7e4f6f6e75c9761","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Glossary - rename then update description should preserve terms","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-dcf818914ebfbadca568","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Classification - multiple rename + update cycles should preserve tags","durationMs":19218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-ebbe7e5db1a435a00b8f","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Tag - multiple rename + update cycles should work","durationMs":19402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-fb1fe9989fbcbf716ad2","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Tag - rename then update description should work","durationMs":12161,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8db3ea1719f4294139d3-393169e3864b22ec2ed6","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":31256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8db3ea1719f4294139d3-8c81d37581eec9265a23","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":32347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8e1475d7a8d4511cde98-972b6ad8f9830b27ead3","project":"chromium","file":"Pages/OmdURLConfiguration.spec.ts","title":"url without a scheme is rejected before saving","durationMs":5548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8e1475d7a8d4511cde98-9dcce7a238957e980241","project":"chromium","file":"Pages/OmdURLConfiguration.spec.ts","title":"update om url configuration should work","durationMs":6184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-2ca00a647f78c1967420","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Test result tooltip stays fixed while the pointer enters its incident link","durationMs":4590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-334d02c260205a6db082","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Pagination functionality in test cases list","durationMs":8361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-49cf503e6a93539fab49","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"shows exactly one banner for the latest test case run","durationMs":7847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-4c790438c32345b62a1b","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Table test case","durationMs":18053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-553212bab134ed00779b","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"shows every section for a scheduled failed test case run","durationMs":4829,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-5ea2f7b91b5b348ee4ba","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Editing display name does not emit a phantom tags patch op","durationMs":6587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-61c21b5abf3c66acede8","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"TestCase filters","durationMs":35584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-9bccae9af98ba5a7c082","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"TestCase with Array params value","durationMs":11212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-b948b3260475ba5169a1","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Column test case","durationMs":14135,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-00f9606596c3016580e0","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel allow entity-specific permission operations","durationMs":11573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-020742af52a481d6b34a","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database allow entity-specific permission operations","durationMs":14941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-02e76560310002da73e9","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"File deny common operations permissions","durationMs":18099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-048cd5bb07db0b092c46","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel deny common operations permissions","durationMs":14761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-07b9537cf71ed31371ed","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table allow common operations permissions","durationMs":20197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-09a091accaad0d82c91e","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel allow common operations permissions","durationMs":11855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-0af671909bde7a013f64","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic deny common operations permissions","durationMs":13565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-0cc373dd04ff8030233f","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Worksheet deny common operations permissions","durationMs":15123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-10deae907d09b964fcfa","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database deny entity-specific permission operations","durationMs":15151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-13452946d5045d9f0db4","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline allow common operations permissions","durationMs":16358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-18ae617d79e5d7b7f079","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"File allow common operations permissions","durationMs":16572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-1f326d25e5fc9a9637ce","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard allow entity-specific permission operations","durationMs":14607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-393b9b78f8201b11c857","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline deny common operations permissions","durationMs":14620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-3ad159e3ed8c31713208","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database allow common operations permissions","durationMs":15485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-3c9a28545246bbdc73fb","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Metric allow common operations permissions","durationMs":14874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-45a17df84917860b8165","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Spreadsheet deny common operations permissions","durationMs":14072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-4d8f171e51cb0d2e42e1","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Worksheet allow common operations permissions","durationMs":15685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-5bfaabe1489bae588f50","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table allow entity-specific permission operations","durationMs":21490,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-638c851f124e342a619e","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline deny entity-specific permission operations","durationMs":14863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-6b2b0ce6cc129f162e51","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Metric deny common operations permissions","durationMs":14282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-7103f95de221bffd41e4","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex allow entity-specific permission operations","durationMs":11469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-76eeb463ff3652b7951f","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table deny entity-specific permission operations","durationMs":17953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-7ae5321fb8e02ddc6a2c","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel allow common operations permissions","durationMs":14674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-7afc5f7035b8498c6583","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard deny common operations permissions","durationMs":15066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-82058782f5a5195dbf14","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"EditAll allowed but EditTier, EditOwners, EditCertification denied \u2013 edit buttons not visible","durationMs":16944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-8497ba3282344447e2e7","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Container deny common operations permissions","durationMs":15651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-852f1640c17c28a14391","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard deny entity-specific permission operations","durationMs":15050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-8cde431a28f77402aa93","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Container allow common operations permissions","durationMs":15928,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-98622cead2f44658d0c6","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel deny common operations permissions","durationMs":11505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-9ecf0c8e4c89f192c4df","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table deny common operations permissions","durationMs":19172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-9ed49d22924150c2919d","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex deny common operations permissions","durationMs":12485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-a21c41bd3db9957ede73","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Directory allow common operations permissions","durationMs":16245,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-af9cea942959e42519d9","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"EditTier, EditOwners, EditCertification allowed but EditAll denied \u2013 edit buttons not visible","durationMs":15802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-b23b07500ce1df682796","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel allow entity-specific permission operations","durationMs":15112,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-b6907275b5a16eba27dc","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic deny entity-specific permission operations","durationMs":13152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-be98efca59a108071401","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex deny entity-specific permission operations","durationMs":12044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-c7b1063f20150b9224a9","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Spreadsheet allow common operations permissions","durationMs":13819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-cdc7161e3a6adaa0c2e4","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Directory deny common operations permissions","durationMs":15089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-ddfdf503467d77c54ffc","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex allow common operations permissions","durationMs":12468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-de36bce534daf48cb1ed","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel deny entity-specific permission operations","durationMs":11201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e064b13617abbe309243","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard allow common operations permissions","durationMs":15596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e4e4e805ca158b580f5f","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic allow common operations permissions","durationMs":12994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e5bb4189f7681667f866","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline allow entity-specific permission operations","durationMs":15460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e84df0a6339c03bd5290","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database deny common operations permissions","durationMs":16420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-ee4a0b3aec10677417e2","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic allow entity-specific permission operations","durationMs":11402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-f2f190d2e4df85e59203","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel deny entity-specific permission operations","durationMs":13993,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-050339a5b3b27948c82d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"view modal switches to edit mode and saves changes","durationMs":10141,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-0cbdc9f31920a92283d9","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"deleting a memory via the row actions menu removes it from the list","durationMs":9573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-115d742c3cab23b0a244","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"ArrowDown + Enter keyboard navigation selects the linked table result","durationMs":11531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-123127191309ad6f3c8a","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Add Memory button opens the create modal","durationMs":9420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1574850a94a988ecbe44","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Private memory shows \"visible only to you\" description","durationMs":10908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-16b3484cc09d5255f8d6","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clearing search restores the unfiltered list","durationMs":9213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1aedfce00d8c5946c8bc","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"shared memory is NOT visible to a user absent from sharedWith","durationMs":13443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1b4f86b0208e986fc6b0","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"adding a linked asset in edit mode shows entity badge on the row","durationMs":15830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1c9d85e1c706f63a2d86","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"form is empty when modal is reopened after cancel","durationMs":10109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2a172730b1b53f63f35e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Create Memory button is enabled once memory content is filled","durationMs":9256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2aa5a395123a8c3cdc3d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Preview tab shows \"nothing to preview\" when content is empty","durationMs":8773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2ad5e7e1ef935567b0ed","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"row shows owner name and memory title","durationMs":8014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2ff20097b005186ec189","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"navigating back to page 1 shows original memories","durationMs":9265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-3867569b1addfa8a9f5c","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"selecting \"Most Used\" actually reorders rows by usageCount","durationMs":9640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-394aa041e4c80c1b07c7","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Preview tab renders markdown content correctly","durationMs":10605,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-46ebbf692c088e16f169","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking \"Total Memories\" count card activates the All view","durationMs":8661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-51a791024388a119e500","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing title updates the memory and the row reflects the new title","durationMs":10567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-54cb6b919c18ad54110c","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"entity-visibility memory is visible to every authenticated user","durationMs":12517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-55e0a815e60bb09ce57c","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"pagination controls are visible when more than 10 memories exist","durationMs":8144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5942dd11a9d4b64ec829","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"sort dropdown shows all three sort options","durationMs":8352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5a7baea2b091d24da57b","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking a memory row opens the view-only modal with owner action buttons","durationMs":9351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5bc1df2528c2b5058f83","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"private memory (admin-owned) is NOT visible to a non-owner","durationMs":13648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5bc84e17ae75eb005f5d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking \"All\" tab after applying an author filter clears the filter","durationMs":13716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5c94648cb13fa0cbffb1","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"copy link button copies URL containing the ?memory= param","durationMs":10285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-64649ab2041f5d3fe8f3","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking \"Created by Me\" count card activates the created-by-me filter","durationMs":9002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-6512f16c5a112b85a606","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"shared memory IS visible to a user explicitly listed in sharedWith","durationMs":14299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-72b54a939c562fb1c204","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"search box filters memories by title","durationMs":8390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-735e01e2899164788fe8","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"content typed in Edit mode is visible in Preview and preserved when switching back","durationMs":8837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-7b3fb940c312905d5060","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"linked asset card shows remove button; clicking it removes the asset","durationMs":9661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-8090e9d3ebd02b77c47e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"creates a memory with title, content, and type \u2014 card appears in the list","durationMs":10753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-833efd0cc52341230add","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"navigating to a URL with ?memory= param auto-opens the memory modal","durationMs":8433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-8b1f26e601d5baa9ff70","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"closing the modal removes ?memory= param from the URL","durationMs":10172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-8ecc1dad1c384a343e2e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"changing visibility from Shared to Private shows \"visible only to you\" after save","durationMs":18117,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-93771ed3a6e8bed91a7e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"link an asset button opens the search popover","durationMs":9604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-94ab0b32cbe40c045b6b","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"row shows linked entity badge when memory has a primary entity","durationMs":10033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-95c9093fdd3ff5e51c44","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"cancel button in edit mode closes the modal without saving","durationMs":15483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-9e097128eef15ee87968","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"delete button inside the edit modal deletes the memory","durationMs":9978,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-9e8a0babb0950a756604","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"\"Clear All\" button resets the author filter and restores the full list","durationMs":16033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-a506eaeb50a155ae247d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing memory type persists after save","durationMs":10482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-a6e380a210b52c7dda25","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Create Memory button is disabled when memory content is empty","durationMs":9220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-abc24ab8a7d2cbc7bbcc","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Shared memory shows the shared-with-specific-people description","durationMs":9655,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-ad770b579565ae2fd108","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing visibility from Shared to Private saves and updates the badge","durationMs":12102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-b91c37ad31594d56093f","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"typing the linked table name in the asset search returns it as a result","durationMs":13370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-bd5714317a0b47826f87","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"data consumer sees a read-only modal for shared memories they do not own","durationMs":13714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-c89dfb6c8cf1605c7ebf","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"\"All Assets\" option in asset filter button resets the asset filter","durationMs":12119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-d1e2a2780b71025dac99","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"\"Created by Me\" tab shows admin's own memories and hides the second author's","durationMs":8292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-d71b0b2f0cec854dd4fe","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"navigating to page 2 loads a different set of memory rows","durationMs":9057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-da46a9af079413eb60af","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"selecting the second author in the author filter shows only their memory","durationMs":11967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-e47a22c54616939b72ef","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking a memory row adds ?memory= param to the URL","durationMs":9799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-e651d4373580504f54fa","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Entity memory shows \"visible to linked entities\" description","durationMs":12163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-ec8e38c378a883334cb8","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"edit-memory button on the row opens the modal in edit mode","durationMs":9329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-ed83a3eeb82edd110766","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"no results message is shown when search matches nothing","durationMs":9413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-f0c1da1240b0e4613ed2","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"switching back to Edit tab restores the textarea","durationMs":9933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-f10ec76507ba30b98ad4","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"shows header with title, breadcrumb and Add Memory button","durationMs":9790,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-f3277503da5d3d73f903","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing memory content updates the memory","durationMs":11187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-215a8878c531328977c2","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"rejected OwnershipUpdate should NOT change ownership","durationMs":672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-2602a3aa080b731b4749","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should create and approve DomainUpdate task","durationMs":1252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-3a096d2f4ebade0afd91","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"rejected TierUpdate should NOT apply tier","durationMs":251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-5d012330bf9c4bc78527","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should approve description update task and apply to entity","durationMs":799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-6e386755207335934c43","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should create and approve OwnershipUpdate task","durationMs":268,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-c0065d9d29e0659d6c34","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should create and approve TierUpdate task","durationMs":361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-cbee75183bf50baef2a7","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should approve column description update task","durationMs":700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90ed2060a2a8751f24f5-24638cee4dd18362bdb5","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Install application","durationMs":4051,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90ed2060a2a8751f24f5-b104994da51b7cdfaabd","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Edit data insight application","durationMs":4368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90ed2060a2a8751f24f5-e421dc1031935e8b877a","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Run application","durationMs":0,"attempts":1,"retries":0,"outcome":"skipped"},{"id":"90ed2060a2a8751f24f5-f7537948d9d62bd69376","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Uninstall application","durationMs":3476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90f483905672abdab8d4-395ef9ff12b9b1cfd420","project":"chromium","file":"Pages/ProfilerConfigurationPage.spec.ts","title":"Sample Data Ingestion Configuration","durationMs":6888,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90f483905672abdab8d4-d388e31b6ee015b2c18e","project":"chromium","file":"Pages/ProfilerConfigurationPage.spec.ts","title":"Admin user","durationMs":11938,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90f483905672abdab8d4-d9c6a62871c623262969","project":"chromium","file":"Pages/ProfilerConfigurationPage.spec.ts","title":"Non admin user","durationMs":9119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-010947e1f2ae5f490fdf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":20038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0204627a501622ee8deb","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":30744,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-04a73b3abdf07d99230b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0515d537e10283b36e45","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":42550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-05cb4526aee30bf31b27","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":19190,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-05cba1d1810b00e6da0c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15328,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-06621cfea096a95864a1","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":12148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-066ed7052e902f07afd7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21717,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-07d3752db441d6dcd5c9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":14499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0808415fef188619b0c3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":24264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-088ab01bbb6af83198b5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":25144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-08a72d1ea60f89919542","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":27871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-09d0849a721c46ed4e27","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":21512,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0a52cbeb44d811c97ae9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":29834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0b285034c080279bfe87","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12735,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0b31a83be6093fccd9a8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":15586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0c601eb8ae577401535c","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":23415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0c9147c3faa959ed6d1f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":24164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0cae867a36cfb2330728","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":11690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0cca9e90033054e752e4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":30724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0df78730b187b80fb609","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Search Index","durationMs":32996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0e9f56083fd2fb5d9faa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":28324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0f315b07f498e7688a32","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":25563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0fea7c50c0a5a82872e1","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-10586eb08b05b663021c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":16756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-10823933e7cc47252622","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-10ddfe5a92169df86b00","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-137ec6b7227be9ad99da","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":10348,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-139c5016d99093c360b7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-14011a0248e6b08f80a7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel key profile metrics validation","durationMs":14664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-14470019ffd97004dcbe","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":28781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-149227e4460fabcd42c6","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-14ac924ed8bcb7e68832","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":23097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-15d1273f787e5fa2d04a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":13132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-163b977d15c76c372a6b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":30044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-164caa239e68ee9d019b","project":"chromium","file":"Pages/Entity.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":16845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1694b0714d00d5c71ac2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1699b841032a65cec187","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":20976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-183d1f957e327795eb4a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":16351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-18a47a9004653643fb64","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":28987,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1943709640011d77ed36","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":17891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-19c2bb2e9c1e146d40e8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel - Data Quality tab shows test cases","durationMs":25979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1b72ac1fa7bcb9a1a474","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":8025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1c94f2df230f3f14fe7c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":18150,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1cecbcaa17cb6913726e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1d091ca31ae29db2c8ea","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":12821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1d1fa86265503c79342c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":14741,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1e2cf9c79c0a9525a66e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1e8f2077ec976b52a489","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1f106521cf5f4bc3d32a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":22139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1fee3fc39291ed69f8d2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-20f71b2d07418575475d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":35481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-20ff1e5b739d9faf71a9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-224784ca851aca125dc5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":10850,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-22a6f18eb0af4e42f50e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-23222301ac380b5bdf2d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17051,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-255c0b0482bb4fe51e92","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":13209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-260a08f521c36666d45e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":28795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-26bf78922e154401df45","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-26c62f4d3d117052c242","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":31063,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-286080b65df7a8bc3d85","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17689,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-298fdb3a31fa6071e859","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":36216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2b98e260a7accd3dd5e3","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":17448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2d387ded98f7768265c4","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2d76b56f14c39477bfa8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2e8162d5d22dc70ab80c","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":9178,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2fb15765b5b25a485ab8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2fd19b049110a1f7576e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Api Endpoint","durationMs":31564,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-30412ac8a486dbe6db56","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3049f221e1833056bb4f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":25234,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-30604efc6717f760cb19","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":28177,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3130e46417f6b8ee0ddf","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-31675e337df06a59163e","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-329014335b0953e9a963","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":27776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-33a2b8dcb127802d7ea4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":15113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3449766d9eea852cb02a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Topic","durationMs":42073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-355b38942f8be1c21038","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-37b56a8c64057cd16849","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":23856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-388ca052aec51e76c129","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":16110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3940d8d78d5447a24d94","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":27255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-39437ad5d0bb92bd3f56","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3a30f163c9cf41e7b0a2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":30699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3af3ec90e38be2bb9b8a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":24715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3c3dc27e5b016fad1c34","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":24931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3cff397f5942cb1e4415","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19555,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3d1743b61f22211f8cde","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":29649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3fd66bb77526bc0549c5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":21405,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-40abc10c3cbf325d0814","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":30486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-40b5f757c2e50ab4c423","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":15755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4186a53379bf3038d6df","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":25849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-41930b02ea7ae699543b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":16550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-423cbdd8a1649ef25e03","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-44558ad1c4b6295c42ef","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Dashboard","durationMs":33907,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-44979265001c53ce1aa3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":28413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-459f81112fb7567b0275","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":22187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-45ce2f3980113cfb8fc3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-48a178691f7d801b79b0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-490c4b163ecfb2791f11","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":12490,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4924df03b181449afbff","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16245,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-492726a2addd8a53a89d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":13932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4a4f175326692f1e1df7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":25949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4ac150db5e30c650fbf6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4b66ca7fb325742907a7","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":17206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4bc0347bfb50f8ba6efa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15525,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4bebf2eddb62c1c0a27d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":16496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4cb9c7949e76cfd2158d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20211,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4d4f0ab999224ca222c3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14024,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4ea337e0978f71f7787a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Complex nested column structures - comprehensive validation","durationMs":22231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4eb7ba29ce3f14453e74","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":40856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4ffc30215ba4fd0f309b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":23157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-520498925292ca429e70","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":29608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-521bba060aebc0805243","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":9063,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5237c058076927c64a4b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":15396,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-528578f052a6a5d372de","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-52ded41a9f92477b9e8d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-545e1e1606596daba844","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":19331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-55c1c83398c224c17777","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":21463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-57413ea2ee24eacebe86","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":23422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5760cca191d53021860e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":37700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-57656fc4e202f6fe94ae","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":25275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-576c627662fa68e8fdf5","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5783fe4fac5585eab4e8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":29477,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-578975ad1fa2b90690ef","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":25594,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-589a2251bfac9347931d","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":20210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-58fcb7bc23b74494562d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":28496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-58ff7eefdb13abde7b0b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":19434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-596d6153699326e4a88a","project":"chromium","file":"Pages/Entity.spec.ts","title":"DashboardDataModel page should show the project name","durationMs":15067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-59f0ea7d5c7e17ed7068","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5a2fd88bc28e89ca1895","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":27443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5a8a4f525e79dc02ee22","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":38677,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5ae58d54d9462234aefd","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":12301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5b54086826771a0d829a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10428,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5b89a6d1f13278f64fb4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":25568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5bdd95036294d02d6aed","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":23643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5bfca70544447baacc27","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":16443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5c2dee6d5dee89070889","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5cca7fa93e2963965949","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":16719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5ce7395d57a38e605045","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5e5602eadda15814cb1d","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":22551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5f55cadeb5b75f2d9827","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":12388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5f73f22159832459f8d6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":21377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5ffbcd9603be554d72cc","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6090b3469968428010ca","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":18208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-60d6762c4b0ae5b80aa3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":21018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-61888ffb206a1f9cd606","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-635acc3dd237ce3372f3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Array type columns with nested structures in NestedColumnsSection","durationMs":19340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-638bed0d16d0fe08b913","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-63d6f16376792bf39ec4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Dashboard Data Model","durationMs":33197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-64cbef5facf9a46414f7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Spreadsheet","durationMs":32890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-658673c37e533eeef774","project":"chromium","file":"Pages/Entity.spec.ts","title":"Data Consumer should be denied edit access in column detail panel when deny policy rule is applied","durationMs":25545,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-65e50d3c39f208f5c8b8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":15170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-660a5d76fe1e2a33c402","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":11481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-665622c28ce75a44b7d1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":23358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6688dd944533a6843776","project":"chromium","file":"Pages/Entity.spec.ts","title":"Data Consumer should be denied access to queries and sample data tabs when deny policy rule is applied on table level","durationMs":27132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-675a7eb6037656e443a8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":24402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-67b5ea7d270e6f0d7212","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":10834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-689e5012886587487afd","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-68c3d140aa232b18343a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-69642132f4c8d46914f0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":33214,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-69a4bb362989003c8fe5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":11192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6a7c1cfa25aee1b88332","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":15284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6bf622162eec9ddb280f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6c45206d1c7e364d3dab","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":37040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6c6d5e53693ae91f974d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":15672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6cb3a9042fe63e651e6f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":21050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6d27b11bd3329db0c3da","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14602,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6db5a8684315b09e586b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":25943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6dd976c84561bec7292c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":23129,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6f27ade629aa21259930","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":10654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7033bd8a589efefc6460","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-714c7c04f6771c55b417","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-715e918fa77d52c93d3d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":21188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-717c3379a8b317c17d8a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":20487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-72de070373835646c330","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-73396497c9550736ee6b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":20390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-733d7d7ac05db37816ba","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":13059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-734125bcdd8222736844","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Ml Model","durationMs":26409,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-738fa5dafee2cc5efba2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":18851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-74d0bd71eeeca6f080ea","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":22614,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7557b6f4c5e94da74b0a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Metric","durationMs":36453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-76f7c1dce024366a65ad","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":20209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-76fed440252571c4ac35","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":13134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7ac6d76c0b0762dc7654","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7c5857a17226f22628da","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":17064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7c7e74ca9adebcc53967","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":36918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7d3b7ccbffa26944736d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7dba101412de85e23071","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":13857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7e2e7b59a31556b2749f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":32111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7ed713af973c88618eab","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":21587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7f0a484980e667964f0b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":28533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7f9e6aef30246153c9f9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":22946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-80c0a4b111e70096228f","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-81886e104470f3edf684","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18411,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-828bef0287fa1c5da67e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-831dbe32138dac09e7d8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-83395592d0affb7528ba","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":21925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-83854023e08436751e88","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel does not call /columns/name GET for DashboardDataModel","durationMs":15158,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-83fd602de32ac38f1777","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":19004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8487bc28a50fe9aa2194","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":27738,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-853d61f316a0d5af5ffd","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":28729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-85936fb882a2786fd7c7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":16312,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-85b99b63d5290506f285","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":11774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-88f8bdd28e992ed4732b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-89255caaa20ed42f11c1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":10708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8a420f6c0389278e14a8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14846,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8c43a40bbe3dab735d28","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":32540,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8c51774ba5e172b0e5df","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":12198,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8e34dc2db65998150cbc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8ea4f124a947e104dfc4","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":24963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8fba808d32c7edb58b11","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Pipeline","durationMs":26264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9040c78d20f9f8c4dd0c","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-90bd676080f86b4a617f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":27056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-91428c93cc268ca60069","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18093,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-91543bc8d8167f5065a1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9231b4fba6be912c3a58","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":12162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-92a98accb4a75ac9bd41","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":24116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-93fb297d11c0da8eb925","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":35088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-94398585e76e7076dd89","project":"chromium","file":"Pages/Entity.spec.ts","title":"Switch from Data Observability tab to Activity Feed tab and verify data appears","durationMs":21835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-974cf3128b2fe509f68e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":11000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-981422561ba577ab278f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":14724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-98295172b077e968710d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":29340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-98a764c8f8883afbfc61","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":16953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-98beffeeb1691cfc46e3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":29335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9947441fa2bdd31d2579","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21302,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-99df0dd4ce461e379bf1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9bb7b088737745749568","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":17939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9bf8262a50e226dc14e0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Dashboard page should show the project name","durationMs":12645,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9d47fed51de1a82ea61b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":20729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9e32c9c3455f40d45c51","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Table","durationMs":44780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9eb19184071a33394559","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":28084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9eb5d4b065166f22f57d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":22374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9ef758d01c78546f9e36","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":29534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9fca75ad842b940cc462","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":24514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a0b8122c30252e10af37","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":15320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a29f3c417fe4c951b553","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Container","durationMs":27796,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a2cfcd0d99157a65bf75","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":26549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a3c11ebaa1e3e2d4c067","project":"chromium","file":"Pages/Entity.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":18452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a492547f9007a342a812","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a5998ef2edac55039257","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":17654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a5d17a88fd978d0b50f0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":11476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a7412694cacae19f6d47","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a76b7d4955e681a340e2","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15546,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a7c74023a04b469dc54a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":23987,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a8a7d0dae0901dc05bbf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":16263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a9d8535c0845968fbeae","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Worksheet","durationMs":30723,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-aa3cf3f233e4209c62d7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":21087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-aa8f971f04aec8ed12d5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ab9125e3be00b247e5c6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":28375,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-acf4ed1c6b31c9deb82b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":26213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ad454c2d5478c288a398","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":24274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ae1753b8395d90f206d5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":11006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ae2e3a33c620656a9e25","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":12242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-aed8de3b484856dea5b5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":11906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-af920abc6c341912e2c4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":14106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b02919d12e5158bbd751","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":24875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b02c0574cfdb0a3c8631","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b03cf38e18dfe4fa6513","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Stored Procedure","durationMs":33648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b147c972de2ca1979612","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19858,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b1bc3c6efd67cde75543","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":13351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b2898eb27b3458212bb9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":17918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b326e8761d37657c85bc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":13859,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b32b7349dcb65de985b6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Directory","durationMs":33890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b3d6c097f77e0b107d33","project":"chromium","file":"Pages/Entity.spec.ts","title":"Mixed sibling columns (simple + nested) at same level","durationMs":16422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b57f4cfea36c6106e54d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b72b1bcf49a07cf93c31","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":29279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b7d62202728d8accd1ff","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":31227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b80d667c0acf38204010","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":15441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b819774aa9824797ce0b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":25572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b8a1c25981278f288325","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Chart","durationMs":23389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ba27de8b1b49b885f461","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":26390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bbb4b786ce82a4dc2641","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bd64ed3fbf1b8cc239da","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14955,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bd7db5cd6f03951867e3","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":23225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-be0fc17cfe43ab5f959f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-beaa3406691cce197eda","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":14898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bf6e8dfcb77c6e2ca2ac","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c0a53f27e3c7f00c3183","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel - Data Quality Incidents tab","durationMs":25299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c1805fb6858404bea377","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":15119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c1ba3f2ea3699ed7ba49","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":29377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c295439fe870d89f8e3e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c2ead24a21c62c63dddf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c37a1dcd7a72a8ab98bc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c419e22430f8d60c5f38","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":13550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c4d5c714289b65cd5065","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":18667,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c723be406a26ef3415bf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":11863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ca5a4347882991d25ec0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-cbee4371fcd3aef15c86","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":10488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-cce5d4d36933d42e3bc0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":29726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-cd1b25a5a5e7c2a942f4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":41501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ce196a55488b928c2d30","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":27531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ce268a04010e8041efb5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":18697,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ce2c9e42affef0f8e984","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d03431d009cfb98964d5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":12515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d19f58e4d5f295f56efa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d1c622df7f7867c3494f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":28895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d246aab59a2dd5f44424","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":29367,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d247c88f16904422d795","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d2612844f69066702a65","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d3b17d6328d0a5be8f9c","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":16167,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d4574f5523cbdbd41ffb","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":16042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d485e529727a1a0f65a3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":8985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d7f2d6a1270f33fc5c96","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d8c173ce639ccb75f5cf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":23491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d91d2f8bb2e0cdc843fe","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dad73eda2f4b068c10c8","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":20289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dbcb8ef877e0a29eaa84","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":10140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dd2889a0fa137f0ce3a9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":20521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dea1ccd58511090988d7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":18067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-debe98100f5126a60f3a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":29935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-df5a5db4037d28aa590b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":21769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e042722a07ea0a3de54d","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":16766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e1446c2f53e8f61fe0aa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":25265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e1bcfa96b3dd42189461","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":13933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e1f23382e9baf6978200","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":18563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e241f0f086944e77301a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":42206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e24c535d92bc2f637cdb","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":24126,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e366da710e50f4f64e8f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":28971,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e4e04c52194d563079e6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":10982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e5c2865265d1af10ee7d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":12427,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e7bfd4ae8f07e04b2381","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":20704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e941ffbc92ab76be5259","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":26596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e9f5e0e08338ec03967f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":104346,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"92f4b5f6dbf60767921f-eb01173d188cbe8393dc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-eb0d5e5b36d7c532a4d6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":13291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ec00f7977e836a98c1d6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":19004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ec976ce21d731948f7ae","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":24022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ed3bfea6fbaba7b39813","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14051,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-eda0173586502e9586b8","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":17428,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-edae0655ec0cb6bdc6a4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":31584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-edee178e64d24e4b5320","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":27909,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ee704d960a0d87348125","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":37213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f3f9c17a2c9aa8bc7f09","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":33561,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f50fa4fafad289f59bf0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":24500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f56e37113ccb0ba50171","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":32413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f5b5f7e6288392d9c64c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":16521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f6b50a299a49f1965028","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":20061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f793562b25de9479b901","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f83796dc12fc01216f2c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":25056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f9b076446ad4902e6057","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":17306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f9f0cc30af4d50635e45","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":29549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb095fce3e726deb2671","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":19092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb1b344006049a57fe6e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":23882,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb26f3d3063f75474b76","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":22548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb54e3be502528a811a3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb5aa2f181bc190325c7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":24577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fbb1b5d546048e8a6ce0","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":15096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fbf0ad523a6b32d423cb","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":23716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd02335b2dcae5e08711","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":22944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd73955b30bfc3f6b34b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":19558,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd7481fb2c651161f990","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":19856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd930e32aac736574382","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fdcf50e13a6a2a4bbd2b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete File","durationMs":32311,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fe5a4733fff8ccf670fa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-0cb6ee0b3584d4c91f21","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"should allow assigning a Data Product from a different domain","durationMs":6826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-0e1b5c1c44a8f2279d06","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the MlModel Service entity item action after rules disabled","durationMs":14877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-1cd87d9dd281b2dece0d","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the SearchIndex Service entity item action after rules disabled","durationMs":16046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-2cb867da73a9a971f77a","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Container entity item action after rules disabled","durationMs":18788,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-30575d4022cfb3b0782b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Storage Service entity item action after rules disabled","durationMs":17875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-38d54bc660f074f9097b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Dashboard Service entity item action after rules disabled","durationMs":15264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-3b609306040a234cbfeb","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Messaging Service entity item action after rules disabled","durationMs":13207,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-4cc494c7283e8466765d","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Database service","durationMs":51559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-52a8397186c3af51af32","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the DashboardDataModel entity item action after rules disabled","durationMs":21231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-609686451a9f7a7ebeea","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Api Collection entity item action after rules disabled","durationMs":17040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-61b78ce0d330fc59d4ec","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Table entity item action after rules disabled","durationMs":24303,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-6737dba688f9167420f0","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Database Schema entity item action after rules disabled","durationMs":21696,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-68f16dbd339a5bdbe466","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Database Service entity item action after rules disabled","durationMs":15533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-6b2ea7bfd8bb286c24f3","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Drive Service entity item action after rules disabled","durationMs":16168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-6efff7b892881b0179ad","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"should allow multiple domain selection for glossary term when entity rules are disabled","durationMs":6189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-7333face1ace08be4fd8","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Worksheet entity item action after rules disabled","durationMs":21425,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-7b50302fbb1ca636773a","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Directory entity item action after rules disabled","durationMs":20651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-80572a8c0e9e51d6d17b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Api Service entity item action after rules disabled","durationMs":14543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-90309c057da02ade63a0","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the File entity item action after rules disabled","durationMs":21406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-90c89420e6df7139aab1","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Topic entity item action after rules disabled","durationMs":19552,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-913e01f78ba46179b9c4","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Pipeline entity item action after rules disabled","durationMs":17434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-982c393f021f67ee967c","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the ApiEndpoint entity item action after rules disabled","durationMs":23136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-98909ef36befccbe6fbb","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Database entity item action after rules disabled","durationMs":23061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-afbe709e30f6facd3dbd","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Database Schema","durationMs":60203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-b06f911eea6817b73cad","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Chart entity item action after rules disabled","durationMs":13497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-b13f119926cde07f3531","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Store Procedure entity item action after rules disabled","durationMs":20517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-c83bce24def2c5be23fa","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Metric entity item action after rules disabled","durationMs":13295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-cc81aa5e99065f424e4b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Spreadsheet entity item action after rules disabled","durationMs":20927,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-d1dd9a785ec3db3fd0e3","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the SearchIndex entity item action after rules disabled","durationMs":19851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-d5c28012a9b0553fdac1","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"should list cross-domain assets in the Add Assets picker","durationMs":11168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-e4bf750e93899dca5942","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Pipeline Service entity item action after rules disabled","durationMs":15054,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-e5bc6e17521e70fe27d4","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Dashboard entity item action after rules disabled","durationMs":20213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-eb3f22266d782e009e06","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Database","durationMs":59408,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-f66c740a854d5362dc0f","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the MlModel entity item action after rules disabled","durationMs":20059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-05afe72e2517126b831c","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S01: Selecting ME child should auto-deselect siblings","durationMs":16932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-07c5485ffe70af9efaf5","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H05: ME glossary (top level) children render checkboxes with ME behavior","durationMs":13246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-1fd7aeb46dbe55939735","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H06: Deep nesting - non-ME parent under ME grandparent allows multi-select","durationMs":14996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-39d8b39132ab09f17d4d","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-T02: Apply ME term to table column via detail panel","durationMs":16228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-490fe051b00e05508785","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S05: Mixed selection - ME siblings deselect, non-ME remain","durationMs":15382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-4eb760f5a611886c7801","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H04: Toggle ME flag via edit after children exist","durationMs":20780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-59cbad295850012fe314","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-R01: Children of ME parent should render checkboxes","durationMs":16271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-7db74194a6481c407de8","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S03: Can deselect currently selected ME term","durationMs":13852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-982e188c2d0faee81352","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S02: Can select multiple children under non-ME parent","durationMs":15345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-c73698374be52746af65","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-T01: Apply single ME glossary term to table","durationMs":16009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-dd551949ba09fa30d34a","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H07: Non-ME parent under ME glossary allows multi-select for its children","durationMs":14341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-19d2e2f60fe8424ceb98","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should cancel deletion and preserve sample data","durationMs":10057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-2d25e25ebbc138c884ef","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should display sample data tab with rows and columns","durationMs":10170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-60a661d10879c9cc9007","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should show only export option for data consumer without edit permissions","durationMs":8363,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-887ef71abcfe0e95a672","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should show empty state for table without sample data","durationMs":8674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-955c7fc1aacedef99996","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should download sample data as CSV when export is clicked","durationMs":9565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-aea7d9d516ae343cd09b","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should open delete confirmation modal","durationMs":9885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-bc8f12de342882c9876e","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should change row limit using the selector","durationMs":10016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-c79b78f0d0a5b6acc220","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should show export and delete options in manage dropdown for admin","durationMs":9385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-d03354ab10143b83b4f1","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should render sample data for columns with reserved names","durationMs":8206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-eabdba275e13219c035b","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should delete sample data and show empty state after confirmation","durationMs":9507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-f5b810780f21ec70c533","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should persist row limit selection after switching tabs and returning","durationMs":10382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"93bd9f4090791ca89375-80c585ad9ba6f0b328b8","project":"Ingestion","file":"Features/TestSuiteMultiPipeline.spec.ts","title":"Edit the pipeline's test case","durationMs":7620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"93bd9f4090791ca89375-9e57b2112f917b31f412","project":"Ingestion","file":"Features/TestSuiteMultiPipeline.spec.ts","title":"TestSuite multi pipeline support","durationMs":19550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9467adbab3a83cfec66c-3dae36d63205fa0caf33","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraphPerf.spec.ts","title":"opening Relations Graph tab does NOT fan out per-Id glossary term fetches","durationMs":11116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-1e4bd98b74ceda0fe09c","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should not offer Test Login for a confidential client","durationMs":7072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-3aa538554a17e9a1b306","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should offer Test Login for auth0 as a public client","durationMs":6875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-80d48f5a288d4db55b18","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should show the resolved identity when the test login succeeds","durationMs":6902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-91d295ca2e48b253e2c9","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should offer Test Login for okta as a public client","durationMs":7193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-a25eb06064c876ff691a","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should not offer Test Login for SAML","durationMs":6681,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-c1c499b12b7762408bb7","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should not offer Test Login for LDAP","durationMs":5905,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-e21597b879b2be344862","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should show the failure reason when the configuration would reject the login","durationMs":7045,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-fed6410cd76bffb3a1f0","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should offer Test Login for google as a public client","durationMs":8431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-28d3656567a51c3d6dd1","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":11380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-2bd6a7f1da1b57259832","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":11139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-351b07cb01348ee01865","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":10532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-680178bebcb35c8d0570","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names in Explore Summary Panel","durationMs":8243,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-addabe3e2b1839a794b3","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names in Version History","durationMs":7856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-c64a38d97f36769aaae3","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":12723,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-e55a329b63a2050517c2","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":9395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f694e0831ef9afa291f6","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":11592,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f73ff4b1baddd098ad83","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":14048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f8a6fc0f3baf8682f689","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names in Profiler Tab","durationMs":14563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f8d08bd67e5189c8a6e8","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":9003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-00c41106f8eca12d9a6a","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Worksheet","durationMs":38198,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-0ec1ae19f5783c5db694","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Database - closing version drawer navigates to entity page without tab","durationMs":19767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-367e0529fecd218661bc","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Directory","durationMs":33555,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-384ea6bd7b52e528d275","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Table","durationMs":47853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-3a435f2426b65f5fcb06","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Container","durationMs":41421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-46b4c939b2a66ef2b79a","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"DatabaseSchema - closing version drawer navigates to entity page without tab","durationMs":16995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-56bad44722170d3bf33b","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Dashboard","durationMs":35074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-5b4eee1a2c982dc07a0b","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"MlModel","durationMs":37464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-79688ef1070ce564ebe8","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"SearchIndex","durationMs":39143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-89220cdd73aa9b8291a7","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Store Procedure","durationMs":34582,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-94b43b544c431b49fa87","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Table - should show historical column descriptions in version view","durationMs":18632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-a2db654e9810d2d0b299","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"ApiEndpoint","durationMs":38286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-ac166e994782e916f5d6","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Table - closing version drawer navigates to entity page without tab","durationMs":19468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-b5ec54360f22d1b13764","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Pipeline","durationMs":38040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-d2324e735fc64ab4d022","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"File","durationMs":31849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-d6a35e540eacbde345fb","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Topic","durationMs":35734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-dcb2e97f35988ad7b740","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"DashboardDataModel","durationMs":39520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-fd945c597e9f89b122f5","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Spreadsheet","durationMs":35816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"95abbb840354c898cbad-34fea57348ad3c34f876","project":"chromium","file":"Features/Glossary/GlossaryApprovalAfterMove.spec.ts","title":"rejecting an open task succeeds after the parent term is moved under a sibling","durationMs":19278,"attempts":1,"retries":0,"outcome":"expected"},{"id":"95abbb840354c898cbad-3aaed8dc99103d883367","project":"chromium","file":"Features/Glossary/GlossaryApprovalAfterMove.spec.ts","title":"approving an open task succeeds after the parent term is moved under a sibling","durationMs":18326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-2fa097ab78b1de01ba8b","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"non-assignee should be able to add comment","durationMs":12377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-4044e26f020808eeeb02","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"assignee should be able to add comment to task","durationMs":12035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-499a39f09e66aa4d428e","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"POST /tasks/{id}/comments should add comment","durationMs":120,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-6615c1b10bfdc115c4f2","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"GET /tasks/{id}?fields=comments should return comments","durationMs":21,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-7d04368e1ade72494167","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"selecting user from @ dropdown should add mention","durationMs":12468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-7d73e30d5f57254faedd","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"should be able to delete own comment","durationMs":12761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-8d821b64fb7359981457","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"non-author should not see edit/delete options","durationMs":11705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-8ecdb599b122929a7165","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"comment author should see edit/delete options","durationMs":13807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-b16f7fa7ab19dc6d68ab","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"admin should be able to add comment to any task","durationMs":12665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-e74262a4256762b27023","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"typing @ should show user suggestion dropdown","durationMs":11499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-ff55d1327b746f190307","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"should be able to edit own comment","durationMs":12407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"96d652106c182a0b882f-1d954b7cfeedd3ba8a97","project":"chromium","file":"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","title":"soft deletes an active test case and lists it as deleted","durationMs":10025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"96d652106c182a0b882f-3a04725579f754e08e03","project":"chromium","file":"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","title":"keeps an API-deleted test case read-only except for restore","durationMs":12847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"96d652106c182a0b882f-f9cc38515a97d61d721d","project":"chromium","file":"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","title":"restores an API-deleted test case without losing its details","durationMs":13065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-10c22cc4ff455b5f16be","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"new tab in the same browser inherits AI mode via the cross-tab hint","durationMs":21139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-5f9f00afa332772caf09","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"refresh preserves AI mode via the session tuple","durationMs":20681,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-be837db8a5e69feddb3c","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"AI mode does NOT survive \"all tabs closed\" without the remember checkbox","durationMs":19108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-d5564c3ec5e5e692ea31","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"AI mode survives \"all tabs closed\" when the remember checkbox is checked","durationMs":17673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-e44539e6127defee2dbd","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"fresh user with no pref, no persona, no hint \u2192 boots Classic","durationMs":11830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-fed739799a1da9cf7be9","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"profile-dropdown toggle switches Classic \u2192 AI and populates session + hint","durationMs":16188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"980a32fafab996c34f4c-3a5c1a8728e9f65e696a","project":"chromium","file":"Features/Tasks/TaskAssigneeManagement.spec.ts","title":"admin can reassign an existing metadata task from the task details page","durationMs":10638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-502ba903b9d98f4b6361","project":"Basic","file":"Features/Dashboards.spec.ts","title":"should change the page size","durationMs":9959,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-606502ef644302893802","project":"Basic","file":"Features/Dashboards.spec.ts","title":"should be able to toggle between deleted and non-deleted charts","durationMs":19205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-a9186932ace2c0e8aded","project":"Basic","file":"Features/Dashboards.spec.ts","title":"should display data model when service name contains dots","durationMs":5450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-ab012b7a43d0b2fea651","project":"chromium","file":"Features/Dashboards.spec.ts","title":"expand / collapse should not appear after updating nested fields for dashboardDataModels","durationMs":15446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a109e5bd20f766cfd0b-cae5f8ac7fb76a194f42","project":"Basic","file":"Features/CustomizeNavigationNewItems.spec.ts","title":"new sidebar items absent from saved persona nav are toggled OFF in admin settings and hidden in sidebar","durationMs":24216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a109e5bd20f766cfd0b-f3a369e4a4413c840fc3","project":"Basic","file":"Features/CustomizeNavigationNewItems.spec.ts","title":"cancel button on customize navigation shows a single confirmation modal and Discard exits the page","durationMs":13417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-01bd0c44f0f49343c457","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5555,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-21df6d035bdfa80c9962","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-2ce7e69a85607992ac60","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-2f39ba17e3d032870fe7","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-3c75ccb62f351a160e0a","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a table-scoped user sees tables but never dashboards","durationMs":12680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-3cc9ff5d69980702f3cd","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-499cc24a0ae76d742af4","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-4abdb862b466e0e7c4ed","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-4d1b8bd26d4658097189","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-574ca7618da3f2f3ca61","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a dashboard-scoped user sees dashboards but never tables","durationMs":12910,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-6c38a2a0c5e8fa49d2ef","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-6ddfec14585b9ddd1059","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"the browse tree only shows the asset-type categories a user can access","durationMs":13917,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-740ca699b4783a25a25e","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-742a40dd2d1eb06da541","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-87cc8fd5ad9434623334","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a fully denied user sees neither asset type when browsing","durationMs":11164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-912df73111d625a0803d","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-950c1df173e71bdc12e8","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-956aebac642646bfa5dd","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-a9257c1d69db95a1fd68","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":6946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-b18d71356f6988da426f","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4850,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-ba2b5d8d484e2f24ea82","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-bb51860dedb5584d3392","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a user permitted on all asset types browses both","durationMs":13004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-bc6de9691f9f161ee64d","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-c079cb6b3b96546c506b","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":4876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-c268cdd384dadfb181a8","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-c54f4b84f6f604c133dd","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":6110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-cc3cb9faa9cc57493e9f","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-ee381a738fbd0dc4377d","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":4583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-eed2b6cdaa2a0c64e969","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":4922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-05f708f2d1cdfd1fa6d1","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify if string input inside oneOf config works properly","durationMs":5023,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-15c93e78abaa0de33616","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should persist empty schemaRegistryTopicSuffixName when the field is cleared","durationMs":5694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-266d14068dc8b304eeca","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify SSL cert upload with long filename and UI overflow handling","durationMs":5932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-47ed6f62b24203eb27e4","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should show service name error and not open modal when test connection clicked without service name","durationMs":4563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-8d4708988dded1567bfb","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should include service name in missing required field count shown on test connection card","durationMs":4149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-a047a9cda0d5b9f201b1","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify form selects are working properly","durationMs":12295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-a5c7eb4bf34fc5b40e02","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify service name field validation errors","durationMs":7205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-f09afb93e68d12f70eac","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should preserve the masked SASL password when the connection is edited","durationMs":5559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-f0abdfb7867ffaf3d72d","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should focus the service name input when test connection is clicked without a name","durationMs":4529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-2135732f3cee91474e0a","project":"chromium","file":"Features/Tasks.spec.ts","title":"task link should NOT navigate to wrong URL like /table/TASK-xxxxx","durationMs":11530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-4cc20545f3ea89a5cb3f","project":"chromium","file":"Features/Tasks.spec.ts","title":"clicking task in activity feed should navigate to entity page with task tab","durationMs":15840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-5f056158560407af55cc","project":"chromium","file":"Features/Tasks.spec.ts","title":"accepting task without edit permission should be rejected by backend","durationMs":1046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-70993b1999a80774e963","project":"chromium","file":"Features/Tasks.spec.ts","title":"should create request description task from entity page","durationMs":12217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-9d610b2a4bf240005c7a","project":"chromium","file":"Features/Tasks.spec.ts","title":"non-assignee without edit permissions should NOT see approve button","durationMs":12055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-cca01761a6bce7840070","project":"chromium","file":"Features/Tasks.spec.ts","title":"task should appear in \"My Tasks\" filter for assignee","durationMs":10913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-ce441478210b113bc6e8","project":"chromium","file":"Features/Tasks.spec.ts","title":"task count in Activity Feed tab should match actual tasks","durationMs":13694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-ce84dc240cc971195d1e","project":"chromium","file":"Features/Tasks.spec.ts","title":"should create suggest tags task","durationMs":14114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-cf8f3ae2b0df3d4acbae","project":"chromium","file":"Features/Tasks.spec.ts","title":"should allow manual assignee selection when entity has no owner","durationMs":13946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-d0117757d14e7f9f21e5","project":"chromium","file":"Features/Tasks.spec.ts","title":"tasks should respect domain filter when domain is selected","durationMs":1224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-e340914676cf0a37e04a","project":"chromium","file":"Features/Tasks.spec.ts","title":"/tasks/count API should return correct counts for aboutEntity filter","durationMs":16,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-e4cc23c6e6759c544109","project":"chromium","file":"Features/Tasks.spec.ts","title":"assignee should be able to approve task","durationMs":11753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-ecba6f0d13b071ccda94","project":"chromium","file":"Features/Tasks.spec.ts","title":"creating a task should appear in entity activity feed","durationMs":12221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9ad28d1300bc7e823686-45b8fb897f98a5e0274c","project":"ImportExport","file":"Features/LineageExportPNGSnapshot.spec.ts","title":"exported PNG includes edge lines between nodes","durationMs":17239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9afd1effa5e585c919c1-0202e91439f881e1c55b","project":"chromium","file":"Pages/AppStopRunModal.spec.ts","title":"should show stop button for running app runs with supportsInterrupt=true","durationMs":4497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9afd1effa5e585c919c1-e120f5235a1f6bdd9b6c","project":"chromium","file":"Pages/AppStopRunModal.spec.ts","title":"should close stop modal when cancel is clicked","durationMs":4285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9afd1effa5e585c919c1-fc943d277ec271917f28","project":"chromium","file":"Pages/AppStopRunModal.spec.ts","title":"should open stop modal when stop button is clicked and call stop API with runId","durationMs":3960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-0f35c21074decaa9ede6","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import full ODCS contract with all sections from test-data file","durationMs":9886,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-192e2055cc5d10d95676","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import button disabled when schema validation fails","durationMs":9627,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-19d6c07cf1b64b9600ef","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with wrong kind shows error","durationMs":8924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-1b2d52f8844a5db4ab7c","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import malformed ODCS YAML from test-data file shows error","durationMs":9065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-1dbb8d203da32d4198bd","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import malformed JSON shows error","durationMs":9036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-2a4f6681e24c3ed945c5","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with wrong apiVersion shows error","durationMs":9183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-2f6345811939517d83af","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Merge mode - adds SLA to existing contract and verifies export","durationMs":11173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-31f5f908ebafe7e82206","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import invalid ODCS missing required fields shows error","durationMs":9083,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-3ced6bde454b2b7e8dd5","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Schema validation shows warning when fields do not exist in entity","durationMs":9510,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-3d1f611b09e8c9ef621f","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Verify SLA mapping from ODCS to OpenMetadata format","durationMs":9413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-4006caf2f955fd60d10c","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS full contract and export both formats","durationMs":9718,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-460adca51a4ffd67a61f","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS and export as OpenMetadata YAML","durationMs":9885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-4a8aff38de2e68a8df0b","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Single-object ODCS contract does not show object selector","durationMs":9385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-5eaab8c7bd23d55a1e79","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Export ODCS YAML and verify download","durationMs":9511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-5ef3cdccd67443bc6683","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS missing apiVersion from test-data file shows error","durationMs":9285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-6625cb02e6927aa9d5f5","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Schema validation shows loading state during validation","durationMs":9685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-6711a9829a0c3d96f2fb","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import basic ODCS contract from test-data file","durationMs":9437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-68261486d0f6a0937ae2","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with security/roles","durationMs":9215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-69ef911b31d21c257033","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with SLA, modify SLA via UI, export and verify SLA changes","durationMs":10008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-716a0af0d51f4b0c05a3","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"OM format export and import round trip - create, export, delete, reimport","durationMs":10436,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-7289ec2ac14dfd1f6f3f","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Create contract from UI, export OM format, import with merge, verify data","durationMs":11516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-7e6cc49f08adc16d1b20","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS missing status from test-data file shows error","durationMs":9031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-81f8e3c6a41a1ca48ae1","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with timezone in SLA properties","durationMs":9627,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-85188b1415ad6420ab68","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import minimal ODCS contract (inline)","durationMs":9049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-8abf2104f87c2c423be3","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS contract with draft status from test-data file","durationMs":9861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-8f5576117ee809a480e6","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import button disabled for empty/invalid file","durationMs":9331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-955bd6b3717101c17e96","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import modal shows contract preview","durationMs":9080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-9bd1f1c0379d9ba1bc85","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Multi-object ODCS contract - selecting object enables import and completes import","durationMs":9934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-9cbea79159672c071dca","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS, modify via UI, export and verify changes","durationMs":11314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-9ecf02851221f72256af","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with quality rules","durationMs":10377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-a067522af929e79d8feb","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS contract with v3.1.0 timestamp types from test-data file","durationMs":9862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-a739845e4bd30e73b5ca","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import malformed ODCS YAML shows error (inline)","durationMs":8682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-b6dd2e6c92f5df98758b","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import empty ODCS file from test-data shows error","durationMs":9015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-bf1bae508168e3d1e634","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with missing kind shows error","durationMs":8475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-c0fa5a97a138476da251","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Replace mode - replaces existing contract completely and verifies export","durationMs":11269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-cdde1df839425a25a0a1","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import basic ODCS contract from JSON file","durationMs":9536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-d6cd55a44daa5b90e276","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with team owner","durationMs":9998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-d811f2d3334254dcd9ed","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with team - contract created successfully","durationMs":9582,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-d9eb674411099336a31c","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with description and verify OpenMetadata export","durationMs":9471,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-e2b3327bc7912c609caf","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS contract with SLA properties from test-data file","durationMs":9599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-e6894a820e4c2bd0b240","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Multi-object ODCS contract - object selector shows all schema objects","durationMs":9914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-ed87d9c194896f26bca4","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import and Export round trip preserves data","durationMs":9387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-f28fe520f971d27d8446","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import modal shows merge/replace options for existing contract","durationMs":10289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-fd4e6a08a2e6352429e4","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Schema validation passes for contract without schema definition","durationMs":8965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-fd4fe81957752c4ec749","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with markdown description and verify proper rendering","durationMs":9314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-ff3c5fa9f1add6937c34","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Multi-object ODCS contract shows object selector","durationMs":9066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-ffaf98193d721452ffae","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with mustBeBetween quality rules","durationMs":9331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-18e907f752a27b9fd8f4","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should remove color style from term via API","durationMs":6241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-2e06e5f79b5342eb895b","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle slow network gracefully","durationMs":6597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-4be98a038f7f6d90544c","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should toggle right panel if available","durationMs":13378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-60f3a3a6f980a1710221","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should maintain session during normal operations","durationMs":14022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-71c925d8cc7e6e9e0f84","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle multiple rapid API calls","durationMs":5463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-76908643a0ccaaad6346","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle concurrent edits gracefully","durationMs":5865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-878af780737d76e41560","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should show error state when navigating to non-existent term","durationMs":10225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-8a7c4e91436fda6d3935","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle back/forward browser navigation","durationMs":9806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-924d084a3f4444d723a0","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should show error state when navigating to non-existent glossary","durationMs":13257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-965c8728bc5707ff2891","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should display vote count correctly","durationMs":12046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-9c0db9327f0f692940cb","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle rapid UI interactions","durationMs":9659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-a80bbe7b29b7f5294127","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should create glossary with unicode characters in name","durationMs":8462,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-d637d349d549b264ba20","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should show loading state during navigation","durationMs":8667,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-db81d92799b0260ba3e1","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle deep nesting","durationMs":7592,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-dd0193b528ac0cc08e96","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle special characters in search","durationMs":9871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-ddf92ab2430d94cef427","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should validate reference URL requires http/https prefix when creating term","durationMs":9920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-ecb9d2b60fc9eca2443a","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle unicode and emoji in description","durationMs":4905,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-ed70fc607bee136a3107","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should remove icon style from term via API","durationMs":5613,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-f43f9cd9f7fbd515d485","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should validate reference URL requires http/https prefix when editing term","durationMs":9937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-f8941f3c4da10be24228","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle special characters in term fields","durationMs":5280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-1335947fa4b03d96813f","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"emoji reactions can be added and toggled off on a feed card","durationMs":21230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-31479e975ac3666e1eb9","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Activity is NOT fetched on the Tasks tab","durationMs":21095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-35c570d98d2467d720f3","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"All tab shows BOTH the change-event activity and the conversation","durationMs":13241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-40fa406eaaf7d034e36b","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"activity cards open a reply drawer on the landing widget","durationMs":12807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-46b3850bbde88dd8310d","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"clicking title navigates to explore page","durationMs":7819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-61bc9c12ef74eb4cf8a2","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"feed body renders seeded activity and no empty state","durationMs":7969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-64596f97a3fbdf51e660","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Auto-selects the first (newest) item on load","durationMs":14396,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-68489d3f1d6a2809b41b","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Mention notification shows correct user details in Notification box","durationMs":47750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-68f33945efb071cc7b3c","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"All badge, header and rendered list agree on the count","durationMs":11239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-83cf6e6b868810252caa","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Should encode the chinese character while mentioning api endpoint","durationMs":27850,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-a51da9cec73635e3f956","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Reacting to an activity updates its reactions in the right panel","durationMs":15950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-b34a388652104d9c2adf","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"renders widget wrapper and header with sort dropdown","durationMs":10260,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-b7a79cfd6d332ab6a9ef","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"feed cards render header text and timestamp","durationMs":13012,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-b8a8e2c7967cf1aec659","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"A change-event activity exposes its reply editor","durationMs":12035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-cad6a5c4e6a065a22382","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Replying to a conversation stays isolated to that thread","durationMs":12665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-e3bfaac1e8763ed104e3","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"changing the filter refetches from that filter endpoint","durationMs":13251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-fe5f04441aa37dd7e33b","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"footer view more navigates to the user activity feed","durationMs":11267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-11140668a17507e05e02","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should decline suggested tags for a container column","durationMs":27776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-3fba22fa292eaa50e22d","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should add and accept requested tags for a topic schema field","durationMs":24284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-9dc22a9af80b1fa9cfae","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should edit and accept suggested tags for an api endpoint response schema field","durationMs":25949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-9fed25271f4f186bfcc7","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should add and accept requested tags for an api endpoint request schema field","durationMs":26088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-ba77fe27b9c8b69516b3","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should decline requested tags for an api endpoint request schema field","durationMs":26095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-d0551ac8b9f8301ca2c4","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should add and accept requested tags for a table asset","durationMs":27635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-d531746745c03d1762f1","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should edit and accept suggested tags for a table column","durationMs":29583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9ed17cc140d9dae5cefa-915b82974cf126a20c07","project":"Basic","file":"Pages/SearchIndexApplication.spec.ts","title":"Search Index Application","durationMs":131317,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f4a33ecae6044b97b31-397a31ef612a9cd22653","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":32590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f4a33ecae6044b97b31-39f179a759a52a3cf6bf","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-0c77063b075cd2218b64","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Add multiple assets to domain at once","durationMs":18476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-150901c3f10832888634","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Domain expert can edit domain description and tags","durationMs":10523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-15e005f1d34e3a6e91bb","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User can access subdomain details page","durationMs":10814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-1fd742df39877e21d187","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Create domain with Consumer-aligned type","durationMs":7399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-282c644961afe61e396f","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User with domain policy is restricted by policy rules","durationMs":12143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-324394d635553ef6bbd9","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Move assets between data products","durationMs":15649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-32f02b57703f0fd30474","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Remove multiple assets from domain at once","durationMs":25153,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-4dcdd2eebb877744a5c5","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"cancel on remove warning modal keeps the asset in the domain","durationMs":17022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-56b6436ccda2c8b73c52","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Domain expert can manage data products","durationMs":12050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-666ba1d32392604cd1bc","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User with domain access can view subdomains","durationMs":11285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-819313d6cecc45fab023","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Search for domain by name","durationMs":7509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-8dc0507b83acfc53b208","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"bulk remove with linked data product shows preview and commits on Remove Anyway","durationMs":16879,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-8e3f81f3f90e64078015","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Domain version history shows changes","durationMs":7079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-955a8dbabb161a4beaa0","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Move table from one domain to another via API","durationMs":22382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-ab211f09d5811053d09e","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Data product version history shows changes","durationMs":9420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-adaeb2de85e70d54ae8b","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User can access assets in their domain","durationMs":11286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-c69dc92b1359a41fe17a","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Admin can edit domain description","durationMs":9459,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-ce0ffa999074479a54bc","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Filter assets by domain from explore page","durationMs":10924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-d37104457e75884f3713","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Create domain with Source System type","durationMs":9208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-d9bf6730027f5b915dd3","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Move asset from domain to subdomain via API","durationMs":12575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-de11d803d3ba43723914","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"single-asset remove with linked data product shows preview and commits on Remove Anyway","durationMs":16705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-e563dc0fe24a7af54e2e","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Admin can edit data product description","durationMs":11270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9fe7868e0725fd08d542-2a33bc057bd25c30e0df","project":"chromium","file":"Features/GlobalSearchSuggestions.spec.ts","title":"Navigate to column from column suggestion","durationMs":11975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a0186dbcfd84f2af2f9f-a40369a24b242b3392ec","project":"Ingestion","file":"Features/SchemaSearch.spec.ts","title":"Search schema in database page","durationMs":5988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-0ae2bb3733d624c024dd","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"unchecking a section removes it from the save payload","durationMs":8620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-128faf764b2094a1dd47","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"blocks saving a rule whose name already exists","durationMs":7945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-13f15301823fa7fc290e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"fully-completed Service Is condition allows save","durationMs":11014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-165117ac5003f66952d3","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"reverts the enabled toggle when the settings update fails","durationMs":6923,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-181d99405195b5be8571","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"measures the large-document preview render cost","durationMs":9359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-1b2cccd7ba58f5524ae5","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"View in Explore link href reflects the selected entity type","durationMs":8916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-25e888b3698832fb24e1","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"preview modal closes via the Close button","durationMs":8646,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-40a176725b94f0690dfe","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"saves a rule that has no filter conditions entered","durationMs":8421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-415ad87de311a2b1b6a4","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"closing the edit drawer without saving leaves the rule card unchanged","durationMs":8231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-4480787c897bd9dc2248","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"blocks saving a rule whose condition has no value entered","durationMs":7665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-6a82cd78885e2806d215","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"builds real version history and restores an earlier version","durationMs":8787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-8090445d856b4d0cd9e8","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"configures every entity type, behavior, section, filter, and setting","durationMs":16234,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-828ef3dceb665f378f3e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"links View in Explore to the entity-type explore tab","durationMs":7734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-8dfdf276499f70900418","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"rule card displays the matched asset count returned by the server","durationMs":7635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-98bada33ef80e6d7e279","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"Custom Properties filter sub-fields load instead of showing No data","durationMs":8524,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-9aaf50b5db8b4df00c5c","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"previews one byte-consistent document in rendered and raw modes","durationMs":9679,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-9c68cfb1faff12a1f1c0","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"compound OR conditions are serialized into the save payload","durationMs":11509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-a4b6b4cc72eb7ef6e32b","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"retries the preview after a failed document load","durationMs":8428,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-b7fd2e2cd7de95d73f93","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"round-trips real configuration, rule CRUD, and preview endpoints","durationMs":136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-b96d656abfc8d38d7e1e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"shows the empty version history state","durationMs":8446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-c7732c7d2e3075a25bfa","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"clears the filter error once the unfinished condition is removed","durationMs":8274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-cdf1397a75540445ad46","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"clears and persists the character budget and cache TTL","durationMs":7829,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-ce5988a4f5195a6025f0","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"edits and deletes a persisted rule and returns to the empty state","durationMs":10345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-cfcd775ce0067edae694","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"rolls back the optimistic rule and toasts when the save fails","durationMs":8536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d03dca810159c545c5e5","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"failed cache state shows the failed badge and the compilation error","durationMs":6835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d5681daa733b359d418e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"stale cache state shows the stale badge on the settings card","durationMs":6482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d800895fca74449be850","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"shows the truncated count in the preview stats","durationMs":8818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d966f6ff2e1a264ff9dd","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"rule description is included in the save payload","durationMs":8293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-ee53f7c7d6fb560349ca","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"surfaces the generating cache state and settles to fresh","durationMs":9281,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-12ea21bc43a14aa83acc","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Certification field","durationMs":11252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-246e661506d36a1825dc","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Domains field","durationMs":13847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-28f6e412ffc6df40796a","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Tags field","durationMs":14729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-6741225215bb41e46a05","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Database field","durationMs":16172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-91cd076c579f49087395","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for API Collection field","durationMs":12578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-9e5984c4da4bd77a035b","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Database Schema field","durationMs":12450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-b66659cc52783fdf9373","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Glossary field","durationMs":13771,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-d47b5c11bf1fb831cc62","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Data Product field","durationMs":12086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-e22c85dbbb620fba80b6","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Tier field","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-009d9c01a74b2fc9aee4","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Verify columns are visible in explore tree hierarchy","durationMs":8080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-020e72fabdce33d085db","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link button should copy the field URL to clipboard for SearchIndex","durationMs":10454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-17559e58aad3ece85d94","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Check listing of entities when index is all","durationMs":5322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-237705007de3a03c4b7b","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link button should copy the field URL to clipboard for APIEndpoint","durationMs":10625,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-363cdb367cd5173de8de","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Explore Tree","durationMs":11287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-39d0a4ec826f84977548","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Check the listing of tags","durationMs":8268,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-3ce419b0b546761dee81","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Verify Database and Database schema after rename","durationMs":20626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-4ebd5bf5ff4dfe3d77ef","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Check listing of entities when index is dataAsset","durationMs":4725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-6b458a8502d75fbed179","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link should have valid URL format for APIEndpoint","durationMs":14700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-95045ebebe3be165bea5","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link should have valid URL format for SearchIndex","durationMs":16266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-99044d1988ae10656e86","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Verify charts are visible in explore tree","durationMs":8798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-990a0328aaf5e714a575","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Clicking Columns node filters search results to show only columns","durationMs":9339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-d04d62e4248018c26b48","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Verify Database and Database Schema available in explore tree","durationMs":8371,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-da2efa16e6d48290a45c","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Verify Tags navigation via Governance tree and breadcrumb renders page correctly","durationMs":9383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-10b386b2aacc3b6d727e","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only VIEW cannot PATCH results","durationMs":18060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-142636b5255a95e79080","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TABLE.VIEW_TESTS can view test case and results in UI (alternative)","durationMs":21919,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-3963fdcac9489a95ffa4","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only TABLE.DELETE (no TEST_CASE.DELETE) cannot DELETE results","durationMs":24958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-44ca4292889113c47191","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only VIEW cannot see edit action and cannot POST results","durationMs":16752,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-458487367c118e1442da","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view test case and results in UI","durationMs":29309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-461ccb242873c7e52186","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TEST_CASE.EDIT_ALL can see edit action on test case","durationMs":26573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-6a3dcd200430fdb22666","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TABLE.DELETE + TEST_CASE.DELETE can see delete option for test case","durationMs":17908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-87ff09dffe6df7343c00","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TABLE.EDIT_TESTS can see edit action on test case (alternative)","durationMs":19077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-a7bebf9b05558d999a1b","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only TABLE.EDIT_TESTS (no TEST_CASE.VIEW_ALL) can still view results in UI via TABLE.VIEW_TESTS","durationMs":9013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-c1ce7eca2ef10ed65ea3","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only TEST_CASE.DELETE (no TABLE.DELETE) cannot DELETE results","durationMs":27817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-e8a653dfadd848daaadd","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view test RESULT CONTENT in UI","durationMs":9910,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a45d1fef427e51507f17-4849e68d9f25db425e8f","project":"chromium","file":"Features/LanguageOverride.spec.ts","title":"App language should override browser language on landing page and user dropdown","durationMs":11356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-4bc0e6edaa3ee5e42269","project":"chromium","file":"Features/Topic.spec.ts","title":"Copy field link should have valid URL format","durationMs":14265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-5f9f332c0569746f0158","project":"chromium","file":"Features/Topic.spec.ts","title":"Copy nested field link should include full hierarchical path","durationMs":14903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-72ed26bcb15b71c6c253","project":"chromium","file":"Features/Topic.spec.ts","title":"Copy field link button should copy the field URL to clipboard","durationMs":8814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-fbfc851a2c0e73a5f14d","project":"chromium","file":"Features/Topic.spec.ts","title":"Topic page should show schema tab with count","durationMs":8833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a59d6b7c9ea22f8d26d1-93579c51cbed397e9691","project":"Reindex","file":"Features/SearchSeparation/DomainRenamePrefixCascade.spec.ts","title":"domain prefix rename keeps linked asset domain reference consistent","durationMs":844,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a6994b74a6f977f55289-e72f2d4a951041c36cef","project":"Basic","file":"Features/DataQuality/TableTestCasePagination.spec.ts","title":"renders pagination and navigates when test cases exceed the page size","durationMs":13347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-09775213f3613c59416b","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display test definitions table with columns","durationMs":8681,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-253b00b0981e1e2a783f","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should handle external test definitions with read-only fields","durationMs":15098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-28bcc3dbcea1ef961645","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display pagination when test definitions exceed page size","durationMs":7999,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-3dde97e966710259e666","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should not show edit and delete buttons for system test definitions","durationMs":8188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-3dfa7d5d186ea5d05eda","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display test platform badges correctly","durationMs":8496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-4c71c4955b660cfea637","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should disable toggle for external test definitions","durationMs":8235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-815b9cf7d82eb0cb5f0d","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should navigate to Test Library page","durationMs":7895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-8c170a06fbda932dbf49","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display system test definitions","durationMs":8529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-8c3c478a7ed4dc0b0d82","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should handle supported services field correctly","durationMs":18871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-a6f857458ffc3102916c","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should require supported data types only when OpenMetadata platform is selected","durationMs":10764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-ae3d0ee4a3aa7eb16c12","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should maintain page on edit and reset to first page on delete","durationMs":15704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-b19e61f67023bc106e0c","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should cancel form and close drawer","durationMs":9841,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-cf4dbef040a07d52aa1f","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should create, edit, and delete a test definition","durationMs":15131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-d0b196e35b293eca54cf","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should allow enabling/disabling system test definitions","durationMs":8643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-df06e19168d3f9683dcb","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should validate required fields in create form","durationMs":9358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"acc5d0eeb3cee45912c8-eec5f01af3a022ae6d87","project":"chromium","file":"Flow/IngestionBot.spec.ts","title":"Ingestion bot should be able to access domain specific domain","durationMs":102742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ad818a91d010e372c30f-6defd7b1cd04246cf88b","project":"Basic","file":"Flow/Tour.spec.ts","title":"Tour should work from welcome screen","durationMs":7314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ad818a91d010e372c30f-9a8d36386767ad693933","project":"Basic","file":"Flow/Tour.spec.ts","title":"Tour should work from URL directly","durationMs":10719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ad818a91d010e372c30f-dc6831d44a4eda4a1911","project":"Basic","file":"Flow/Tour.spec.ts","title":"Tour should work from help section","durationMs":36118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-0d2a8343f2a5a121cb1f","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should render entity title section with link","durationMs":8236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-0f78279b7cd0d2ea968f","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for dashboardDataModel","durationMs":8424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-18c7d8658b0b67febc27","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should edit display name from entity summary panel","durationMs":12503,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-299bab0048d02d5a1ac1","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for databaseSchema","durationMs":8650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-4ccfbac3fd35b05b41ae","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display domain section","durationMs":8456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-4cd6a15a5a4f8e5fa548","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for table","durationMs":9673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-5974da0a98d9ff41bfef","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for database","durationMs":9821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-6e96b7009731b3128a6c","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display owners section","durationMs":9073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-71b91d4510ddc05ada9d","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for dashboard","durationMs":8364,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-9ee466321a0f343c2ebf","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display tags section","durationMs":8572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-b551fb9cd1206bb59afa","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for container","durationMs":7629,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-bb37fdee3aa482bb760f","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for pipeline","durationMs":8762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-c20815e6048903c01440","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should cancel edit display name modal","durationMs":11420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-de6f03d218c62993258e","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display description section","durationMs":6925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-e46c0fa6f29410cb4325","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should navigate between tabs","durationMs":8252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-e9ea0b76744be28bb3a9","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for tableColumn","durationMs":9696,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-ec7d85f516045c6b6e83","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for searchIndex","durationMs":7713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-ee23b3ba8289eba1fc99","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for topic","durationMs":8439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-f6ec16f78eaf97f57e33","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for mlmodel","durationMs":7496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afb2f5a0d4a7b4e36b1b-300bb01fd40e114637cf","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":30431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afb2f5a0d4a7b4e36b1b-45178ac7f9360cca1780","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31978,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-1b2fe4c0f4b3e40c68aa","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit description for knowledgeCenter","durationMs":7133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-200ecb1a398820cba8d1","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Consumer to edit glossary terms for knowledgeCenter","durationMs":7096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2219de8dbcf16282e851","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Consumer to edit description for knowledgeCenter","durationMs":8688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2adde21732850322e910","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update/edit tags for knowledgeCenter","durationMs":6520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2ce281911970fdcbad04","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"validates visible/hidden tabs and tab content for knowledgeCenter","durationMs":5995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2f0073a8f865128ed4f0","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should remove glossary term for knowledgeCenter","durationMs":14494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-431e80d685d3040a591e","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should verify deleted user not visible in owner selection for knowledgeCenter","durationMs":14913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-61dfa16835a0fc53a710","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should add multiple tags simultaneously for knowledgeCenter","durationMs":12210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-62c2c0de67ca104c110b","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should clear description for knowledgeCenter","durationMs":14620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-63aa7ba27f3e16c0b541","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update description for knowledgeCenter","durationMs":10740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-655098bd2e2891f71af6","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should verify deleted glossary term not visible in selection for knowledgeCenter","durationMs":11585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-7c35b7b765009e454966","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for knowledgeCenter","durationMs":6909,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-b20ba9df57bb0bbeb9e5","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Consumer to edit tags for knowledgeCenter","durationMs":7750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-befd9930c632eef22c86","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit glossary terms for knowledgeCenter","durationMs":7610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-d3e2270239e49f6934d0","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit tags for knowledgeCenter","durationMs":6792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e39b2e3c5774cb85f940","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update owners for knowledgeCenter","durationMs":8191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e55d1d3c57e57a116537","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit owners for knowledgeCenter","durationMs":8515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e5b2e0783f40c95ca366","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update/edit glossary terms for knowledgeCenter","durationMs":7226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e5dcf26ca9b2cb634758","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should verify deleted tag not visible in tag selection for knowledgeCenter","durationMs":11966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-edf1487a938c1cea5168","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should follow Data Consumer role policies for ownerless knowledgeCenter","durationMs":11576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-f603a841c789bd2d4743","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should remove tag for knowledgeCenter","durationMs":14718,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-08f24e3da77cd21ce3b3","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edits only selected metric rows","durationMs":6968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-178e2b77ae6556aa3efc","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Adding a new metric row shows CREATE badge once name is filled","durationMs":5022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-2777402b380093228942","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Custom metric editor role can import export and bulk edit metrics","durationMs":12356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-2af739fb696d58987e61","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin can cancel a metric import mid-flight and cancel API is called","durationMs":8170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-591a014ecb6929685d23","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage unchecking header checkbox clears the selection bar","durationMs":6370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-6b17e53c8020ed09e983","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"New metric row without a name shows error pill and SKIP badge","durationMs":5119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-6c741b436f4e5a01b0ad","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edits filtered metrics from the listing API without export jobs","durationMs":20197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-76711958c8d3b0e576ea","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Cancel from metric bulk edit returns to the metrics listing","durationMs":7550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-7daeb1a73fe3cc3529a7","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin imports a metric CSV through preview and async apply","durationMs":26264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-85ed20b16efbca3760aa","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Restricted roles cannot access metric import or bulk edit","durationMs":39630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-a3f990ae4c749a36d952","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edit renders complex fields from listing hydration","durationMs":8007,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-b003905d27f3c841d948","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Bulk edit grid shows NO_CHANGE badge on unmodified rows","durationMs":4876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-b42b25528f0bc555a130","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Clearing the bulk edit search box restores all rows","durationMs":5092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-baa952ede54ac2d44a2d","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage header checkbox selects all visible metrics","durationMs":5224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-c9058e368b41cced0d25","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin imports a CSV update for an existing metric","durationMs":19550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-d618b90203504b6eb375","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage clicking the row checkbox selects without navigating","durationMs":7803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e593eda82739e1962b02","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edit keeps text edits on blur and can revert to no changes","durationMs":5201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e73a3bbef909ec39ca07","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edit hydrates filtered metrics across cursor pages","durationMs":5913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e7724451b74703d8bd55","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin starts exactly one async export job from the metrics listing","durationMs":9076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e7fecf7152863cfba0d2","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Bulk edit grid search filters rows to match the search term","durationMs":5714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e96615940597b28ada02","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage clicking anywhere in a row navigates to metric details","durationMs":5876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-ebb437f18124523e7ce3","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Removing a newly added metric row restores the grid state","durationMs":5044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-ef81d70712fff3b3f5d7","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin sees metric CSV validation failures for missing names and invalid references","durationMs":10209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-ff1aaa2410e296101d5d","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Bulk edit grid shows UPDATE badge and increments summary after editing a cell","durationMs":5054,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b1b675f17c811fa8c75f-2df47237b83960fcce36","project":"chromium","file":"Features/DataProductDomainMigration.spec.ts","title":"Data product remains visible after moving domains and deleting the original domain","durationMs":22949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b1b675f17c811fa8c75f-5843ab60a742af1caac8","project":"chromium","file":"Features/DataProductDomainMigration.spec.ts","title":"Data product with no assets can change domain without confirmation","durationMs":24799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b1b675f17c811fa8c75f-82e7f9a502c188f6f02d","project":"chromium","file":"Features/DataProductDomainMigration.spec.ts","title":"Changing data product domain via API migrates assets to new domain","durationMs":41972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-023d22dc39c48e8d53f4","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.VIEW_BASIC can view test case in UI","durationMs":17805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-225d15df6f71e5d6038d","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.CREATE cannot delete test cases","durationMs":18793,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-2344f0d9500623421fb8","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer cannot create or delete test suites","durationMs":9455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-36d66c70ea2381068e2d","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer can VIEW test cases but sees no edit controls in UI","durationMs":18444,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-3b2675937f5dccd75d2f","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.DELETE can see delete option for test case","durationMs":17331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-41cfeb97e29ffcfe25f5","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.VIEW_ALL can view test suite CONTENT but cannot add test case","durationMs":11232,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-505fe28532602c99aab7","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer cannot edit test case","durationMs":17847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-597de0139daf1d0e4d01","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Steward cannot create or delete test cases (default)","durationMs":18873,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-7805715b82208927b353","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Admin can see Data Quality UI controls (add test case, add test suite)","durationMs":20408,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-7a64848a6500dadc0c80","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.DELETE cannot create test cases","durationMs":19043,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-7a85c789b019754693f6","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.CREATE can see Add test suite button","durationMs":11807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-867f3068db9da0d14660","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.EDIT_ALL can see edit action on test case","durationMs":20386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-8d4b1e27cb6ab75b49f4","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.VIEW_BASIC cannot edit test cases","durationMs":18282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-9d7d81e12e2bea1146ad","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.CREATE can see Add button for test case","durationMs":19913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-a12338af018616a5c43d","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.VIEW_ALL can view test suites page and list suites","durationMs":10591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-bf3ff4cd06cdb0ec6934","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.VIEW_BASIC can view test case CONTENT details in UI","durationMs":23083,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-c53bcbe763c0939caa91","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.EDIT_ALL can see add test case button on suite details","durationMs":9944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-cfbd7e7f4484702c01f0","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TABLE.VIEW_TESTS can view test suites page (alternative permission)","durationMs":9608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-cfbe5dcb809fce114ce5","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with VIEW_BASIC cannot see edit action in UI","durationMs":16402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-d7319bc5b90ed2cb0a11","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User without TEST_SUITE.EDIT cannot add test case to logical suite","durationMs":11758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-e280555757f349c72854","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer cannot create or delete test cases","durationMs":21750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-e4e1a2ebe615aae2117c","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TABLE.EDIT_TESTS can see edit action on test case","durationMs":20255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-eae7b64629c9d1a12de2","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User without TEST_SUITE.DELETE cannot delete test suites","durationMs":12142,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-f34cdcd4f8d4edd4cdfe","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User without TEST_SUITE.CREATE cannot create test suites","durationMs":9576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-ffe3f0d85ac3d552eb09","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TABLE.CREATE_TESTS can see Add button (Table Permission)","durationMs":17891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-07c6afb9a23ebfeb2a6b","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Data product linked to subdomain","durationMs":9362,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-0921be7b13e4f8bb54b9","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Navigate between sibling subdomains","durationMs":8848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-1b8348aa29026ad058d3","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Search data products by name","durationMs":6315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-22b7e17ead94a9522c35","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Search data products by name","durationMs":5490,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-474ca9f2afe893e8b7ac","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Create nested subdomain (subdomain of subdomain)","durationMs":7645,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-5783990ffbdcaeb86ef5","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Entity name cell shows both display name and name","durationMs":5499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-6dbb46279d8e346845b4","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Filter data products by domain in global selector","durationMs":12658,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-720615fe1fb8b4168b26","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Assign assets to different subdomains","durationMs":12662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-73dc3ed8540a79ec973c","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Delete subdomain with data products shows proper cleanup","durationMs":9186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-7d6b5a8d9596aebe56a3","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add expert to data product via UI","durationMs":10400,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-81165f95ed1499970253","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add tags to data product via UI","durationMs":10171,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-91793eae76cc059f0892","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add assets to data product and verify count","durationMs":12914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-adf89ee01b3fc4f97129","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add-Assets drawer quick filter - behaviour matrix","durationMs":15483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-b492800937e43dace798","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Edit data product description via UI","durationMs":9389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-c0f886b6be5ebe890a69","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Create multiple sibling subdomains under a domain","durationMs":7182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-c332ba9a2b88fe69b9cd","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Create data product via UI with description","durationMs":11864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-cb1344fd55e961f79574","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Data products under different subdomains","durationMs":11621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-ffec821644fa472c4af7","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Subdomain assets count reflects in parent domain","durationMs":11395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-197763039c01ba157836","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Owners filter for Lineage","durationMs":24059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-2c56f77f0afe01f5283e","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage service filter selection","durationMs":54413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-5901fe256dc6d4261268","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Tag filter for Lineage","durationMs":21889,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-60b7003c6bf6f5744f3f","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage schema filter selection","durationMs":11916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-6e20bd657decc40af6c7","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify LineageSearchSelect in lineage mode","durationMs":13779,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-70762ee7ffaf711b90f6","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Tier filter for Lineage","durationMs":23163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-76596bc125ee10098e5c","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Impact Analysis service type filter selection","durationMs":23463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-7ae9968177c8c6307df6","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage filter panel toggle","durationMs":11069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-886f4edb739677df5421","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Domains filter for Lineage","durationMs":22303,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-ba38e82802a16ac8b3c2","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"verify upstream count for all the entities","durationMs":97091,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-e36a3455bccfbb250aa8","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Impact Analysis service filter selection","durationMs":35075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-e781b4dbfe0117c8e731","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage database filter selection","durationMs":12642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-eb93467a60001bf9c40c","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage service type filter selection","durationMs":53570,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-faeb0eea7f413d0942a1","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage column filter selection","durationMs":12523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-ffd6ada4fc4adecb41b8","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"verify downstream count for all the entities","durationMs":122831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-1ee660123e4e2cf43b3d","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should create term with all optional fields populated","durationMs":14102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-63880e3b520f38fa0e1c","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should add and remove related terms from glossary term","durationMs":9355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-87e39a7c7fc3fd2476a4","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should keep multiple relation types for the same related term across reload","durationMs":13268,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-c2f9db0d41f956eccc6b","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should add and remove synonyms from glossary term","durationMs":9912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-c368857de9562394274c","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should edit term via pencil icon in table row","durationMs":8202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-d58ed71b3e1a1f7f3079","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should verify bidirectional related term link","durationMs":9832,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-f5dc38dfffc509f2dc8e","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should add and remove references from glossary term","durationMs":9151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-1eb38a10ca22dc7e41b9","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab is not visible for other applications","durationMs":4205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-8c55296c911ed9b878fe","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab shows empty state when no records","durationMs":3836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-bccbe41b46287af5da95","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab displays records with correct status badges","durationMs":4395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-f6f19e89bc91d7bbaef2","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab is visible and loads data","durationMs":4576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b5ac74643fe7ba2d8fe3-ce9f73536f00a5d45e01","project":"Reindex","file":"Features/DataQuality/TestSuiteSummaryAfterReindex.spec.ts","title":"Test suite lastResultTimestamp survives a full entity reindex","durationMs":1202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-0548815eb142c00104e1","project":"chromium","file":"Features/Table.spec.ts","title":"Tags term should be consistent for search","durationMs":23147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-12dbdff48f072e317aba","project":"chromium","file":"Features/Table.spec.ts","title":"Search for column, copy link, and verify side panel behavior","durationMs":21620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-1778f18ede2a1820b4d5","project":"chromium","file":"Features/Table.spec.ts","title":"Table filter with sorting should work","durationMs":8556,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-17efa24eeee45d8e3bef","project":"chromium","file":"Features/Table.spec.ts","title":"expand / collapse should not appear after updating nested fields table","durationMs":21722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-2fb31f7270b5a3caefb9","project":"chromium","file":"Features/Table.spec.ts","title":"should persist current page","durationMs":12639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-55f37c83b82714bc44fe","project":"chromium","file":"Features/Table.spec.ts","title":"Table search with sorting should work","durationMs":7684,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-5faa0ca4d02a0d62d909","project":"chromium","file":"Features/Table.spec.ts","title":"Table page should show schema tab with count","durationMs":8415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-66a209a1e3b6ada95aa1","project":"chromium","file":"Features/Table.spec.ts","title":"Glossary term should be consistent for search","durationMs":16733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-9a7b47c6d7d4c115c405","project":"chromium","file":"Features/Table.spec.ts","title":"Table pagination with sorting should works","durationMs":7424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-b44fe1be53d0f0e7e757","project":"chromium","file":"Features/Table.spec.ts","title":"open-task stat shows the count and links to the Tasks tab","durationMs":10714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-bc1c352c1584708aae20","project":"chromium","file":"Features/Table.spec.ts","title":"expand collapse should only visible for nested columns","durationMs":6791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-bf9aa70f500df59e999a","project":"chromium","file":"Features/Table.spec.ts","title":"source URL button links to the configured source","durationMs":10543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-d5b31f77c93ec1b8e2b9","project":"chromium","file":"Features/Table.spec.ts","title":"should show dbt tab if only path is present","durationMs":11767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-fd7508676be39f5779fc","project":"chromium","file":"Features/Table.spec.ts","title":"should show dbt tab if only source project is present","durationMs":10307,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-067f93c6eeb260535c41","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Editor operations","durationMs":13260,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-15e9f69ba626aec0884b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Quick link lifecycle validates, creates, edits, and deletes from card","durationMs":29724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-1a8244c504b33bd9537b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"displayName: switching articles does not bleed unsaved title into next article","durationMs":25337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-204381832cab1ede446d","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Editor operations","durationMs":13329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-24dc340d8dafc3a9667e","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Slash commands and basic blocks","durationMs":18390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-26157f59f7cb7332dc0b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Nested lists","durationMs":15134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-2ac62df99361241c8ae1","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article listing search filters, clears, and shows empty state","durationMs":13399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-2ba8f331893d4140692d","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Slash commands and basic blocks","durationMs":13600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-30e867f4c2cb533197c0","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Content persistence","durationMs":18347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-33312fa3fcba8fd1eb7f","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Global search and Explore Knowledge Center filter navigate to articles","durationMs":15821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-3b4001e65d812e269530","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Nested lists","durationMs":12768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-3d7c9dc3feed478080fe","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Content persistence","durationMs":22551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-3e336ce29aecac2276b5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article copy, delete, sidebar delete, and same-name recreate do not preserve stale metadata","durationMs":44501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-44141f0094dacc65fb03","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Advanced blocks","durationMs":18023,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-4651a3d8ca18fd5978a8","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article detail layout, drawer, activity tab, and version page work","durationMs":32379,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-51e828109a715ff2b402","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Advanced blocks","durationMs":18091,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5caea89669fac360aeb4","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Left hierarchy pagination and expand collapse actions work","durationMs":25680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5d349d5ef24e6a752ff0","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article edit persistence and unsaved title behavior are correct","durationMs":59805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5e7ba62f70111436e4bb","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article card metadata, widgets, and listing search update from UI edits","durationMs":61672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5f9b4fb91211a9239460","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Text formatting","durationMs":16201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5fe7c1a8b26384d38c3a","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Slash commands and basic blocks","durationMs":17835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-68a6c0a93ff080139c4b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article tags added on the article page are visible in the Explore right-panel summary","durationMs":23055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-69f43bc4beb330d729a2","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Editor operations","durationMs":14959,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-729476f400ca746921b3","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Empty article can be deleted immediately without polluting the list","durationMs":25849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-76e359fc969880358083","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Expanding a multi-level hierarchy does not throw and renders no duplicate nodes","durationMs":12647,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-7c113e606a888c1f3f14","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Advanced blocks","durationMs":21692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-81c3fb7f005013a8c26d","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Quick link created from API can be opened and deleted from hierarchy","durationMs":16105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-93a7f2bbd8e1b2c406fe","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"multiple articles hold independent drafts simultaneously","durationMs":31812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-9c5563ee05c5f3483575","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article list basics and creation entrypoints","durationMs":32247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-b641a2040579b23d75c5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Related assets, activity feed, user mentions, and article mentions work","durationMs":56606,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-bb081fd8a6faef23cf41","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"draft cleared from localStorage when article is deleted","durationMs":26865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-cb1726ba98fa649c2682","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Nested lists","durationMs":11536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-d35e8e76a8cbb00b80cf","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Text formatting","durationMs":15216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-dafef3bc55c97adddca2","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"no spurious sync when content is already saved \u2014 no PATCH on clean reload","durationMs":19998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-e0fab1039a57c80c069c","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article list cards, recently viewed widget, and pagination work","durationMs":26895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-e4dd3c0f394f33812eb5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"draft syncs on page reload \u2014 skeleton shown, content saved","durationMs":15426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-ecee0ea08bf9947064c5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Content persistence","durationMs":24390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-efefa0a8bc5fbc7f29ae","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Quick link card opens the configured url in a new tab","durationMs":11085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-fa401e6d00626065b924","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"description: switching articles does not bleed unsaved content into next article","durationMs":26387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-faf8bd343ccd2da9f03f","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Text formatting","durationMs":16028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-feeaee8a079d7e5adfca","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Other user editing is visible in the article header editor list","durationMs":22140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-53ee56c1e5fef5ae703b","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"keeps the full Russian severity label reachable when the chip is truncated","durationMs":6928,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-55282d41804a711d18ad","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"leaves a short severity label sized to its content, with the nav expanded","durationMs":6937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-8920f0ec33c9ca9955ab","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"bounds the Russian severity chip regardless of its column, with the nav collapsed","durationMs":5002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-982d99e87fec992b640c","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"never truncates a status chip, whose labels are longest in Russian","durationMs":7973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-9fb88b89adb2374cf977","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"leaves a short severity label sized to its content, with the nav collapsed","durationMs":6314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-af868572f1b5280abf4d","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"keeps the Assignee column on screen when the Russian severity placeholder is rendered","durationMs":4449,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-dc07ec68eea589c12b0e","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"bounds the Russian severity chip regardless of its column, with the nav expanded","durationMs":7093,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b833d1df0ed59e353274-cfcdbc6fef10b7352962","project":"chromium","file":"Flow/GlobalSearch.spec.ts","title":"searching for longer description should work","durationMs":11308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-0d0894d0eff588acbda5","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify tag filter for column level impact analysis","durationMs":14205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-0e2a39039601d66193f7","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify search functionality filters table results","durationMs":13383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-14ffe4f55cb631cf8053","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column level table has correct columns","durationMs":13074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-17e3e557dc5d7daf0a70","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify table columns visibility and content","durationMs":14644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-45988883f9736aa212aa","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify impact analysis requests include entityType and explicit depth bounds","durationMs":18173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-4ab0e07a210458f91a36","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify glossary term filter for column level impact analysis","durationMs":15609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-5c9c089589d1b6546ae9","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify node depth display in table level impact analysis","durationMs":13961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-5d1a8029ecad9ed2f200","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify upstream/downstream counts for column level","durationMs":24106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-6eb1d52223d4236a9d5e","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column mode switches direction with directional lineage requests","durationMs":30290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-a21ab6be616ec8d2b646","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"validate upstream/ downstream counts","durationMs":20951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-b6bc96b8f727cbe93b20","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"verify domain for Asset level impact analysis","durationMs":14946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-bd2f8536c50f80a40c78","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column level upstream connections","durationMs":24463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-c5e909fa0bda66087277","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"verify tier for Asset level impact analysis","durationMs":13601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-c9f25440f3b28869b7f1","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column search in column level impact analysis","durationMs":18061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-de731b18c2794ea1d269","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify Upstream connections","durationMs":23308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-dee5fc58e2ec8e454aea","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify service type filter for Asset level impact analysis","durationMs":14259,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-e501b68bc994f0c9a2a0","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"verify owner filter for Asset level impact analysis","durationMs":15004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-e9b173ac180a81ce4678","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify upstream downstream toggle persists pagination","durationMs":15499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-e9d899efa5a5e8c7852b","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column level downstream connections","durationMs":15289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-efe35888f94fa46c4770","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify depth configuration changes impact analysis results","durationMs":16011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-f938981feaa7b431fef5","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify entity popover card appears on asset hover in lineage-card-table","durationMs":14513,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-fa91fe5a25c3405e9b2b","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify Downstream connections","durationMs":23996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-fe838344992277ee44da","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify switching between table and column level clears filters","durationMs":17363,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b9d345b1f0052cfce4e3-50adca26c4f0573f2431","project":"chromium","file":"Features/ServiceAgentsRefresh.spec.ts","title":"should refetch the agents list and nothing else","durationMs":7724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"baaea988202fec9da880-ce88b9d90ae9ffa0b5c6","project":"Ingestion","file":"Features/DataQuality/Dimensionality.spec.ts","title":"Dimensionality Tests","durationMs":9174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-1b8a5e65cdef61c06560","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"data mode renders tagged assets from the ontology data response","durationMs":8578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-5aba9763db29062573ba","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"selected glossary scope shows edges to another glossary","durationMs":5516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-75a8ecf72ec9a7ba5e0f","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"a selected glossary hydrates connected terms from another glossary","durationMs":6067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-c412c54d5e77b2b8d18c","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"should reflect relation add and remove in the graph","durationMs":8656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-c860f2ea90228027f35d","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"Data mode stats do not show Data Assets when no assets are tagged","durationMs":8612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-c9e83dfb5a6c5cf24b27","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"switching back from Data to Model mode restores stats","durationMs":8685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-fa360b277a77c1d11ba8","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"should display terms with a narrower relation in Tree view","durationMs":8242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bca4445f78bc23d9198a-2d3e5bd59f9abf98d8d0","project":"Basic","file":"Pages/Bots.spec.ts","title":"Bots Page should work properly","durationMs":37554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"be1908fe012aeef38284-23b97f41f72ab99a4a7a","project":"chromium","file":"Flow/PlatformLineage.spec.ts","title":"Verify Platform Lineage View","durationMs":108937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-142908820b9bcdce2e47","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A cannot DELETE user B's preference","durationMs":86,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-41c72575a2f7034f1edb","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A cannot GET user B's preferences","durationMs":62,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-59c41022fe088cc0378c","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"Admin can PUT any user's preference","durationMs":90,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-5fe1c0f4741efd0f6b3a","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A can PUT their own preference","durationMs":60,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-65d642a01bcd97b53213","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A can DELETE their own preference","durationMs":79,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-9e0a73eda1446eb56612","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"Admin can PUT /system/settings with configType appConfiguration","durationMs":184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-ad9144851ec72d0b3c25","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A cannot PUT user B's preference","durationMs":51,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-fd4bce1b0e20531d0439","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"Non-admin cannot PUT /system/settings with configType appConfiguration","durationMs":56,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-112f974de894495fbe0f","project":"chromium","file":"Pages/Tag.spec.ts","title":"Tag toggle should be disabled for user without EditAll permission","durationMs":13453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-21b333b8ba624e722147","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets for Data Consumer","durationMs":55174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-26de7b0bca5c04a95283","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Owner Add Delete","durationMs":35247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-36fa997930433fb32eb8","project":"chromium","file":"Pages/Tag.spec.ts","title":"Restyle Tag","durationMs":26981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-43a3e97741d61e4e08ed","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets","durationMs":50663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-4996201f40fba2b4706b","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets and Check Restricted Entity","durationMs":57581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-5529639e695d00eba7e3","project":"chromium","file":"Pages/Tag.spec.ts","title":"Certification Page should not have Asset button","durationMs":13595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-5d78f990ea88fe859e6d","project":"chromium","file":"Pages/Tag.spec.ts","title":"Edit Tag Description for Data Consumer","durationMs":22069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-765dc0d5ad900f88800e","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Tag UI for Data Consumer","durationMs":22350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-7781e587de258e712ab1","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Tag UI","durationMs":21300,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-77fb8739144fe03d6137","project":"chromium","file":"Pages/Tag.spec.ts","title":"Certification Page should not have Asset button for Data Steward","durationMs":13886,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-7c8d2d4b3a5a6b5c5885","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify tag enable/disable toggle","durationMs":13264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-c1a6747ea2611120acd7","project":"chromium","file":"Pages/Tag.spec.ts","title":"Create tag with domain","durationMs":20291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-c6f548dea68f98c1a019","project":"chromium","file":"Pages/Tag.spec.ts","title":"Certification Page should not have Asset button for Data Consumer","durationMs":12835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-cba3bfab34284be22556","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Tag UI for Data Steward","durationMs":21781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-d0c11c5caf849cf711d3","project":"chromium","file":"Pages/Tag.spec.ts","title":"Rename Tag name","durationMs":22206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-dbf18648002dd3ebc901","project":"chromium","file":"Pages/Tag.spec.ts","title":"Edit Tag Description for Data Steward","durationMs":21818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-e25c1fb74b2b0468a491","project":"chromium","file":"Pages/Tag.spec.ts","title":"Edit Tag Description","durationMs":23282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-e535042dd7255d039f34","project":"chromium","file":"Pages/Tag.spec.ts","title":"Delete a Tag","durationMs":23039,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-ef2d4407841e571e6b90","project":"chromium","file":"Pages/Tag.spec.ts","title":"Tag toggle should be disabled when classification is disabled","durationMs":21204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-f4c820b1962c81bd03a4","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets for Data Steward","durationMs":53208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-180a75d5076d96f27c9e","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"team member should be able to approve task assigned to team","durationMs":14088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-212799dfdd593ee4c6ca","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"resolving task should require edit permission on target entity","durationMs":358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-231982a7067ce2e93f31","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"assignee should see approve/reject buttons","durationMs":12878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-3dac766449e6b290b2c9","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"admin should be able to approve task","durationMs":16124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-8e21f7221e157bfcee70","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"recognizer-style data quality task should reject via /tasks/{id}/resolve","durationMs":8008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-8e4fd7cced46a3626635","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"owner/assignee with edit permission should successfully resolve task","durationMs":337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-9aaa4c31cd0d498e6084","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"non-assignee should NOT see approve/reject buttons","durationMs":15848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-af01b3d405099b46a381","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"non-team member should NOT see approve button for team task","durationMs":13566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-f6dedc77d796ebcc1ac8","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"task creator should be able to close/reject their own task","durationMs":552,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c149cc7f2afeaafc22a5-61cfff024ab316b5e7cd","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c149cc7f2afeaafc22a5-c2d70e372af0aacb7e7a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":32009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c2f2fb43f3574526e3cf-47ef5a94739346607a50","project":"Basic","file":"Pages/UserCreationWithPersona.spec.ts","title":"Create user with persona and verify on profile","durationMs":56176,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"c345246d55609214620c-01fad5a002847d8d58c0","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow adding a semantic with multiple rules","durationMs":18165,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-0323470366a0f662aa12","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Store Procedure","durationMs":59515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-07cd60e8fb8b6f4d333a","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":34777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-189e36fb58340c1da0bc","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Database Schema","durationMs":47340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-25f202a29cb96dee010f","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":44682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-26840c03b806453e7fcc","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Semantic with Contains Operator should work for Tier, Tag and Glossary","durationMs":50947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-2d42dd2032ba827235d2","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Container","durationMs":57582,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-39d6283757ce29d63cce","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Topic","durationMs":48880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-3c0a5f962a565d161122","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for SearchIndex","durationMs":58104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-3cb384ab3e3bfc745ae8","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":38606,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-48ecd1973fefd27da4bb","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":36000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-4acb103d01514e7c8e4c","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for File","durationMs":52961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-5d1101e26207fbfe86fa","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":45808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6003134a749e5f980b90","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":40171,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6582ca87cba7ae106b27","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for MlModel","durationMs":54440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6a4cf3a311c440118bec","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":42226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6e4e567d889a4a7c6478","project":"Ingestion","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Table","durationMs":60250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-711bfe9176f5142d1380","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":46648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-72a144851856bc18e7c8","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":44767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-7512c8036edd600f06e0","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":33040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-7ad1c8de93884df3b4fe","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Worksheet","durationMs":55554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-7d700e25a598ac302bd4","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow editing a semantic and reflect changes","durationMs":16418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8069e46712c959e12df3","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Spreadsheet","durationMs":62036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8b603616c0839438800d","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Operation on Old Schema Columns Contract","durationMs":32740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8d0913db8fc367e458fd","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Semantic with Not_Contains Operator should work for Tier, Tag and Glossary","durationMs":39730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8f3a2bc034218b7f11f7","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow adding a second semantic and verify its rule","durationMs":19491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-914f9dfd0316df153e96","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Api Collection","durationMs":49255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-974ffe89078f5491207b","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Directory","durationMs":55954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-99df91fb3dd32d41f319","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":46571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-a3d274cc242d5d110427","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow deleting a semantic and remove it from the list","durationMs":20862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-a87bb726b61df4c7041d","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":55547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-b331405338cbb0ab4acc","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Nested Column should not be selectable","durationMs":11770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-b8223a97360afdf32065","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":42607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-b9d5c52175a64817de15","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Add and update Security and SLA tabs","durationMs":26494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-c4fa0bc60e2e6a8dd707","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":48827,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d28de6dfa66c9a5efc16","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Chart","durationMs":53935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d668b72a65efdcabafb1","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Pagination in Schema Tab with Selection Persistent","durationMs":42599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d8147f11241541ff9323","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Dashboard","durationMs":58994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d8338405b37a0779887d","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":42531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-dbf5e444accfa300b508","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"ODCS Import Modal with Merge Mode should preserve existing contract ID","durationMs":17541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-dc6f6a60c0682cee8023","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Database","durationMs":62275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-df38484d393a5065dad8","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":33964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-e377248f44940da3b646","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"ODCS Import Modal with Replace Mode should overwrite all fields","durationMs":19953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-e82f3725ee0553a9eeaf","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":47442,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-e83c33dcd2e14a49b397","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for ApiEndpoint","durationMs":48107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-f27dd1f4ed08302ad3fa","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":36048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-fe80e1a6b808452d5670","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for DashboardDataModel","durationMs":45942,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-fffaa929851105d619ee","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Pipeline","durationMs":51481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c39768dc6aa2e0276e68-10caaec99edb45710f85","project":"DomainIsolation","file":"Features/DomainIsolation/DomainTaskIsolation.spec.ts","title":"userA sees only their own-domain task","durationMs":3479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c39768dc6aa2e0276e68-4f3310973531f919b5b8","project":"DomainIsolation","file":"Features/DomainIsolation/DomainTaskIsolation.spec.ts","title":"userB sees only their own-domain task","durationMs":3282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c39768dc6aa2e0276e68-da91b22f9303a7b822f0","project":"DomainIsolation","file":"Features/DomainIsolation/DomainTaskIsolation.spec.ts","title":"admin sees tasks from both domains","durationMs":3813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-2242f6cb6cab5485702b","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Widget drag and drop reordering","durationMs":18631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-6f0dbf5beb7bc3c697a2","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Cancel button should show a single confirmation modal and Discard should exit the customize landing page","durationMs":14416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-d2792ca6ac76dfdb0b60","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Check all default widget present","durationMs":12688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-e40a9d9532d26fa1fcf8","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Add, Remove and Reset widget should work properly","durationMs":51693,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-0173c4913e3c4c2ceeac","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should support pagination and page size selection","durationMs":6231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-02767019d7873edaa6f6","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is restored","durationMs":16075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-029bce62073efbde0c0e","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is soft deleted","durationMs":13652,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-102a6a666663aa204ff8","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should support multiple filters from different categories","durationMs":7440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-1542609facbc6309558a","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should include filters and search in export request","durationMs":7469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-1718ce29678e9bfb5835","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should support case-insensitive search","durationMs":6335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-2c47025e103ba0cf18e5","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should complete export flow and trigger download","durationMs":20953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-31bc9a7d808b23935bf4","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should apply both User and EntityType filters simultaneously","durationMs":13429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-364093191ceee41ad0ef","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is hard deleted","durationMs":10630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-3761fc0928da9497c624","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should apply and clear filters","durationMs":6624,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-3ab9ba83e401655059c9","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should handle audit logs access for non-admin users","durationMs":6222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-3bcbbb77fedde5a10c87","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display audit log entry in UI after entity creation","durationMs":7464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-4777f4d3e3c3581f8b00","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display list items with profile picture and user info","durationMs":5464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-52a0b9a9306a5955396c","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is created","durationMs":8442,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-57dad4b9c1a39e25d0dd","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should verify complete audit trail for entity lifecycle","durationMs":23985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-5ff18772f15eae7292d5","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should verify search API returns proper response structure","durationMs":7076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-6c1cf735098804c92262","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should allow searching within User filter","durationMs":5975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-6c2cbb1a4c0ab7593cbe","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should search audit logs","durationMs":6350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-73f0cb6723ad9eb2a8b1","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display entity type in list item metadata","durationMs":6703,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-8bababb17ab053dd01bf","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should remove individual filter by clicking close icon","durationMs":6545,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-a22442a667f924534986","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should deny export access for non-admin users","durationMs":6880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-bc6f6e1c30715e27cfcf","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should allow searching within Entity Type filter","durationMs":5945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-be673c6ff393f52ea948","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display page header with correct title and subtitle","durationMs":6189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-c2b2962c03fbe62d08e7","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is updated","durationMs":11046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-ded0959fe0acb519f6a6","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should validate export response structure","durationMs":5711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-eabfd904a9633233e517","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should replace filter value when selecting new value in same category","durationMs":7075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-f01b7d7c94af12be0cc4","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display relative timestamp in list items","durationMs":5756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-1e1c6cc845ecf39d2205","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can include three custom properties and require one for Data Product","durationMs":4644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-26d55d23606060e07469","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can remove included and required fields from the Domain intake form","durationMs":5872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-2a62a47a84b7cc428b4f","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting an intake form removes it from the list","durationMs":4394,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-3519dafa5283f7746e3d","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"\"Data Product\" option is disabled when a form already exists","durationMs":3786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-58d8629ab3c486f2924f","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"required intake fields are submitted on create and omitted on edit","durationMs":5890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-5d1a4b14949b0f9586c9","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can include three custom properties and require one for Glossary Term","durationMs":4536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-5f404feff62948446f45","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting a required custom property prunes it from the Glossary Term intake form","durationMs":3690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-6289854265d95dec9d0d","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can remove included and required fields from the Glossary Term intake form","durationMs":5710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-6dac8417d0d497aaac00","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting a required custom property prunes it from the Data Product intake form","durationMs":3804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-7a224ded94f3d9482d6d","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can open the Intake Forms settings page","durationMs":4424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-7ba93be75799bd8bb941","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"intake form \u2014 toggling enabled flips enforcement in listing","durationMs":3678,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-a604d8c398d1b3c9e897","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can remove included and required fields from the Data Product intake form","durationMs":5776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-aa15a66e0739e3407915","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"custom property required via intake form renders in Data Product create form","durationMs":6031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-ab8fd64d057f8b4e104b","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can include three custom properties and require one for Domain","durationMs":4675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-b83a4150530f02e4de1e","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting a required custom property prunes it from the Domain intake form","durationMs":3752,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-b94a856ca3586b5fc175","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"designer does not list schema-required fields","durationMs":3990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-c1893bc7c79b8a2c6792","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"pick admin user \u2192 DP create succeeds with correct extension payload","durationMs":7607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-cc65a75585a345725083","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"intake form with required field blocks Data Product create when missing","durationMs":6014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-e7165978ff4c41277836","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"delete popconfirm cancel keeps the intake form intact","durationMs":4518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-fb3de0f6b91c1640f58e","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"Data Product serializes each custom-property type for the create API","durationMs":9402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c701921c8f8a6352b747-1d0279d918ed98fbd853","project":"chromium","file":"Features/Glossary/GlossaryPersonaCustomization.spec.ts","title":"Saving a persona Glossary Term customization keeps Relations Graph visible on the term page","durationMs":21965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c701921c8f8a6352b747-3e4cbd0d17abcacbd4ae","project":"chromium","file":"Features/Glossary/GlossaryPersonaCustomization.spec.ts","title":"Customize UI lists every documented Glossary Term tab including Relations Graph","durationMs":6528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c701921c8f8a6352b747-6b7c8374eaa7bfc7561b","project":"chromium","file":"Features/Glossary/GlossaryPersonaCustomization.spec.ts","title":"Customize UI lists Relations Graph at the Glossary parent level","durationMs":6491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-0324d60b6dbd8f8464f8","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Date picker shows placeholder by default on Incident Manager page","durationMs":7413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-0e4423b59bb3b0def9f6","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should switch back to \"Created at\" and call API with dateField=timestamp","durationMs":10049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-125027e4b32a62c75284","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should show \"Created At\" as the default sort field label","durationMs":8053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-32d7e88cbf346af3509b","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Date picker shows placeholder when no date is selected","durationMs":10803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-4cdd71db2b45b447c142","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should switch to \"Updated At\" and call API with dateField=updatedAt","durationMs":9127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-7070354043463bf443d1","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should open sort field dropdown on click","durationMs":8777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-79b5270c77a649310404","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Select preset date range","durationMs":10726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-7c786efc5cc1d9524a5a","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Clear selected date range","durationMs":11278,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-80618b8599611058eab3","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should close sort dropdown after selecting an option","durationMs":8979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-849cf580e259e941a478","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Select and clear date range on Incident Manager page","durationMs":9000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-f84790313494695fc98e","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Date filter persists on page reload","durationMs":15291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-501f5e15e901e7595667","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should count a run once when every step reports the same rows","durationMs":3804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-80f30314e037b61caf57","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should not treat a queued agent as complete","durationMs":4015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-aa3bafb435a4775d0dcf","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should open the run history drawer oldest-first with the newest run selected","durationMs":5031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-d7e791516d91072c1764","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should render the card run dots oldest-first with the latest one highlighted","durationMs":4662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-d9252481963da7628280","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should report the newest Metadata run rather than the sum of both agents","durationMs":3687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-23c1b9c19b77e1fc296f","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"exports a data product to a valid ODPS YAML document","durationMs":110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-2d68245dcb607af8c0af","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"merge preserves the existing product domain and owners","durationMs":108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-31ec80fca2a586fb193f","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"imports an ODPS document onto an existing data product via the modal","durationMs":9869,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-43821278f0e90b25159f","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"rejects an invalid ODPS document on validation","durationMs":5,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-77e3363f6dbe1ec9bec0","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"exports ODPS YAML from the data product manage menu","durationMs":8750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-89d478c0ae8f83c66123","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"name guard blocks a YAML whose product name targets a different product","durationMs":9626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-8a42f9aa131de5003d2b","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"edits data product metadata (type, visibility, priority) via the modal","durationMs":12549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-a9c2fd5fb6c0b42a6b96","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"name guard blocks a YAML with no readable product name","durationMs":9767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-bab6dc59de12de6a2338","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"validates an exported ODPS document as valid","durationMs":83,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-c475de5d3a03ed61c517","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"round-trips an exported ODPS document into a new data product","durationMs":138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c86397fc7242347df33b-dc47567d7f4a93925962","project":"chromium","file":"VersionPages/TestCaseVersionPage.spec.ts","title":"should show the test case version page","durationMs":14776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-1744342f23a91efe2ac9","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display terms matching multiple selected statuses","durationMs":9962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-17aa0807877786e6d2a1","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should revert changes when Cancel is clicked","durationMs":9361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-290c0b0873f5187f1fe3","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Deprecated terms when filtered","durationMs":8413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-2e04698b958b1f4e22b9","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should return matching terms for search query","durationMs":8415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-497fd1b32f9258b6cdcf","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should maintain search when status filter is changed","durationMs":10269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-5988bf438e2f39e4958e","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only In Review terms when filtered","durationMs":9790,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-5c5d66935a2f20a348b2","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Rejected terms when filtered","durationMs":9542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-71684791e23a0abe70af","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should paginate through search results","durationMs":8926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-7939c6042ce0adcaac14","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should maintain status filter when search is cleared","durationMs":10056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-81598be60b1e8ceceb18","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should restore all terms when search is cleared","durationMs":8951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-8388ea65928d980767ca","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should show no results for non-matching query","durationMs":9086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-9332080e850ab8fb8fd7","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display all terms when All is selected","durationMs":11382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-9c52dee2717033c6e708","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should apply status filter within acceptable time","durationMs":9767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-9fa4a97d5d3f5ab0ac59","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Draft terms when filtered","durationMs":9181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-c8d59fcb5e7f1932a6a5","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should reset pagination when filter changes","durationMs":9721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-dc48d37df803beca4aac","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Approved terms when filtered","durationMs":9181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-e4e0242ef9806b0b92bb","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should maintain filter state across pagination","durationMs":8386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-ea41c0a0b7941de733e5","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should filter search results by selected status","durationMs":9529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-fcff743587908a5e53e7","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should paginate combined search and status results","durationMs":12261,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca5da573930920d9809e-f566ab03bf82734cca1d","project":"chromium","file":"Features/OntologyStudioIsolatedToggle.spec.ts","title":"shows isolated concepts in the graph, health panel, and header count","durationMs":7579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-1dbd614d29e180690a85","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should search for multiple values along with null filters","durationMs":14274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-259e61db1c16d9ad2c56","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"sort order is preserved in URL when explore tree node is clicked after applying a top dropdown filter","durationMs":11308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-3c750142c90fdc4d2ea3","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"search dropdown should work properly for quick filters","durationMs":19431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-41d7cc4f62d5990c09ec","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"tier with assigned asset appears in dropdown, tier without asset does not","durationMs":6520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-440fb6c33a860d6545a3","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should persist quick filter on global search","durationMs":14306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-460b024aaf19267315c5","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should filter assets by data product","durationMs":12470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-6779cdbcc9be1e4ce757","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"tier filter option label uses original casing from _source","durationMs":12194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-6a16b691836f9597267b","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"service filter option label uses original casing from _source","durationMs":8299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-7ac27f96d42f8e47da96","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"selecting a tier filter shows only assets tagged with that tier","durationMs":7815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-7eae1a0879cfe84f3664","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"explore tree sidebar selection is not cleared when a top dropdown filter is applied","durationMs":12601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-848cdf4243eb28f21ee1","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"domain filter option label uses original casing from _source","durationMs":10544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-8d58a7be6a15f6cea337","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"tag filter option label uses original casing from _source","durationMs":8099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-b210b47079c7e8e1b96c","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"Filter by column entity type shows only column results","durationMs":15494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-c33910a88a1d9ed52dda","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"owner filter option label uses original casing from _source","durationMs":10109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-d8b943596fe73627a88c","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should search for empty or null filters","durationMs":21138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-dd2ed41905ade0359cc9","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should show correct count for tier filter options from aggregation","durationMs":16594,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-dd9f678b3ba6fdaee2cc","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"breadcrumb shows the entity category and display name header should have highlighted terms","durationMs":10443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-54366d53e73519025581","project":"chromium","file":"Pages/Tags.spec.ts","title":"Classification Page","durationMs":51888,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-584eb3fb0a38160ba39b","project":"chromium","file":"Pages/Tags.spec.ts","title":"Adds one tag and removes another in the same save preserves appliedBy on the kept tag","durationMs":13497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-816f4c77f914a4a50b2e","project":"chromium","file":"Pages/Tags.spec.ts","title":"Search tag using classification display name should work","durationMs":11596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-b188ae54e303d89cddb7","project":"chromium","file":"Pages/Tags.spec.ts","title":"Verify system classification term counts","durationMs":5416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-f2107feebb5f4a23b7cf","project":"chromium","file":"Pages/Tags.spec.ts","title":"Disabled tag should not allow adding assets from Assets tab","durationMs":20015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-ffaf7183a75f1eb38486","project":"chromium","file":"Pages/Tags.spec.ts","title":"Verify Owner Add Delete","durationMs":24341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-1eb1b3406ab1523f2de6","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Pipeline Services with the tag","durationMs":13568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-22c58402d71610571ef9","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Mlmodel Services","durationMs":20287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-2bf7f552e5db3d18b8ca","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Container with the tag","durationMs":17487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-315faad65c8ba4786093","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Messaging Services with the tag","durationMs":18232,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-42713439b68b86645f59","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Storage Services with the tag","durationMs":18417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-63da70180686ef526abb","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Api Services","durationMs":21070,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-6f451e1ed0db30ada664","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Messaging Services","durationMs":18170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-73757c787b1e891e4942","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Dashboard Services","durationMs":20773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-80ec08540ad5cea8b4bb","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Database Services with the tag","durationMs":17960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-84c48a5cf550dc52c755","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Database Services","durationMs":13807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-9933c0dcae522f034354","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Storage Services","durationMs":13441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-ac002e6c6d6ef1577d60","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Database Schema with the tag","durationMs":14370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-b103417ab8c8c1e51644","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Database Schema","durationMs":12609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-b602604bfc080aa12682","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Database with the tag","durationMs":19187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-bc1209cc5597e98ef443","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Mlmodel Services with the tag","durationMs":19600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-bd75914d1b83464a8474","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Search Services","durationMs":18608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-d153874b1daabe75e2c9","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Api Services with the tag","durationMs":18634,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-d52c7043aa0749c2f533","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Pipeline Services","durationMs":14055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-e55cee40e3dc00883adc","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Database","durationMs":19787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-ee63ecc5cd12d5f14e65","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Container","durationMs":13280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-f299fb8782d3bc530837","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Dashboard Services with the tag","durationMs":21170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-f9fe927671719a4618d6","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Search Services with the tag","durationMs":19040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-05cc587e9bcc4ffc92a5","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should show correct last activity format","durationMs":5207,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-185ba09a3ff40aadfbe2","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should show user displayName in online users table","durationMs":18659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-38ca992a32ea90db749c","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Non-admin users should not see Online Users page","durationMs":4911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-60029151e6f114b7185b","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should update user activity time when user navigates","durationMs":16331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-9635dbc86785af16b680","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should not show bots in online users list","durationMs":4659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-b0a8e448e4aef58b283f","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should filter users by time window","durationMs":4716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-e0123993246421502cb5","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should show online users under Settings > Members > Online Users for admins","durationMs":4319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-0b48b047051e780992f2","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"an edge with the correct relationType exists between the term and its related term","durationMs":11257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-23f4dd06dfefb5daf1e5","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"the directly related term appears as a node in the Relations Graph","durationMs":11819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-40326bcc58edf3800037","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"search in the term Relations Graph returns empty state when no term matches","durationMs":12289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-42b334d07c7288f87fb7","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"Relations Graph tab renders the ontology explorer for a term with a same-glossary relation","durationMs":12423,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-58f0495abfd1f627c778","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"all relation types from the same term appear as separate edges","durationMs":11838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-8446918a7f96b8df7a01","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"search in the Relations Graph filters to matching node and its neighbours","durationMs":11459,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-93c4b3dab6eb63fdc804","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"cross-glossary related term has an edge to the viewed term","durationMs":10932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-ab0d405c8cc01c4864f2","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"the term itself appears as a node in the Relations Graph","durationMs":11697,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-bb529b7f961d4f4e8a9a","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"unrelated term from the same glossary is NOT shown in the Relations Graph","durationMs":11077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-c656cbb70e6b22b42ae1","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"cross-glossary related term appears as a node in the Relations Graph","durationMs":11460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-d160269e303147685186","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"clicking a node in the Relations Graph opens the entity summary panel","durationMs":12221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-dbe5441e2495e4497f75","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"a term with no relations shows only itself as a node with no edges","durationMs":12628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cdd6b2b4fe4563ae6f55-bc4aa4f69f836af1efe2","project":"Basic","file":"Features/Markdown.spec.ts","title":"should render markdown","durationMs":11406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ce9a0dc862be823369ca-a412c4cd2b7d78e6c991","project":"chromium","file":"Features/ArticleReviewerWorkflow.spec.ts","title":"Context Center article reviewer approval flow","durationMs":109220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-1ad99eb42c6a6c2096a1","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Search popover dismisses when input is cleared","durationMs":6501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-976fa9972540355a732f","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Page renders with greeting, search, and default widgets","durationMs":6586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-ac16f93f70cd16752560","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Search with no results shows empty state","durationMs":6799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-adf188e977cee75f20a1","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Admin can create a domain via marketplace drawer","durationMs":7967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-c74336c0b248b65ccc9f","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Admin can create a data product via marketplace drawer","durationMs":7984,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-1bae42cb06598b17b7fa","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"SearchIndex Service","durationMs":24025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-2597a651b0fd7aa710b6","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Api Collection","durationMs":26330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-5df1b00d3538afc3fa45","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Api Service","durationMs":24726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-5e6cd82cadd8b98f7f63","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Database","durationMs":32826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-6554bce0546a1f330453","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Database Service","durationMs":24866,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-6e4bf15cd073001e79cd","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Messaging Service","durationMs":30212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-8ff37410faada701752e","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Mlmodel Service","durationMs":25383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-9459bfdca9bc51b4e6e3","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Storage Service","durationMs":24727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-d311a09902e6d3b6232d","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Drive Service","durationMs":22446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-e3a737a636c50d641ee8","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Dashboard Service","durationMs":26086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-e88d4ed4325a35faf927","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Database Schema","durationMs":26711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-ec14d67dcd8f2fff65e6","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Pipeline Service","durationMs":25280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5e7fcfd64428f1fc30-b5b1e23a960dc4431ef0","project":"chromium","file":"Features/Announcements/EntityHeaderAnnouncements.spec.ts","title":"shows announcements one at a time and pages through them with the counter","durationMs":18620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5e7fcfd64428f1fc30-d1e3929c06f470275dc0","project":"chromium","file":"Features/Announcements/EntityHeaderAnnouncements.spec.ts","title":"opens the announcement drawer from the View all button","durationMs":16259,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5e7fcfd64428f1fc30-e7fa692cbffac1b4f868","project":"chromium","file":"Features/Announcements/EntityHeaderAnnouncements.spec.ts","title":"hides the counter when a single announcement is active","durationMs":18163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf83c959332d7465a60d-b924fafef764456f8048","project":"Basic","file":"Pages/EmailConfiguration.spec.ts","title":"does not submit an unchanged masked password","durationMs":6108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-0844eeb3c8f64dcebe8f","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"delete-node-button absent in node config sidebar (structural edit blocked)","durationMs":11897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-08877a68185e63ad1c70","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"save, cancel, and validate buttons visible; delete absent in edit mode","durationMs":11020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-0b801c2b82a82d70400b","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"save-workflow-button fires PUT API and returns to view mode","durationMs":12315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-150069a8255116907ea7","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"cancel workflow opens confirmation modal; close-without-saving returns to view mode","durationMs":11467,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-18b487d25856aa924680","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"data-asset selector is disabled in OSS","durationMs":11476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-2abad226603f3454795f","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"edit-workflow-button visible; delete-workflow-button and run-workflow-button absent","durationMs":11154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-2bfb42a91f8a9136c462","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"add-event-filter-button is enabled in OSS","durationMs":12060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-412275bb43efcecd6fcc","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"include-fields-select is enabled in OSS","durationMs":12191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-41c9d3565357573bcecf","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"batch-size-input is enabled in OSS","durationMs":12080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-4467d61b5a65f3cd8bc4","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"graph canvas contains workflow nodes","durationMs":11271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-4470c11ebbf089c50e17","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"save-node-configuration-button closes sidebar (local state update)","durationMs":11757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-67ca6377f9ff6be4639b","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"clicking a node in view mode opens read-only config sidebar (no save or delete buttons)","durationMs":11266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-783c6d9cebc65323299e","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"create-workflow-button absent on OSS","durationMs":10800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-8745ccab715b20fcb20f","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"editing a form field and saving node config then workflow fires PUT API with updated data","durationMs":12702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-9723cd69d43bc54d2eb1","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"workflow-name-input is disabled in OSS","durationMs":12282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-9f41bef4230cdec8bde6","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"workflow-node-sidebar (node palette) not rendered in edit mode","durationMs":11947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-baef39c5b1e533c7ce7a","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"trigger-type-select is disabled in OSS","durationMs":11969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-c71f895d70c3ecd5dc4c","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"event-type-select is disabled in OSS","durationMs":11713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-c7fea7d29c8d8403489a","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"workflow-description-input is enabled in OSS","durationMs":11564,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-cf2b0237655a0ceb88f4","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"execution history tab loads and API call succeeds","durationMs":11895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-d93adb831434700a4faf","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"task node config sidebar opens and save button is enabled","durationMs":12609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-f0673f264fa79c7dd7ee","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"schedule-type-select is disabled in OSS","durationMs":12308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-fe7465f17d878dccc48d","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"exclude-fields-select is enabled in OSS","durationMs":11149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-2e6774898e81ffe4c017","project":"Basic","file":"Pages/Login.spec.ts","title":"accessing app with expired token should do auto renew token","durationMs":138387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-82c5ddfb9ec2446b9149","project":"Basic","file":"Pages/Login.spec.ts","title":"Signup and Login with signed up credentials","durationMs":9997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-99d8d08a1bca0dfb45e7","project":"Basic","file":"Pages/Login.spec.ts","title":"Forgot password and login with new password","durationMs":4680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-d5d492b6a1719fc4c6bb","project":"Basic","file":"Pages/Login.spec.ts","title":"Signin using invalid credentials","durationMs":6834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-db2809b113bd2372c8c0","project":"Basic","file":"Pages/Login.spec.ts","title":"Refresh should work","durationMs":141953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d0ed2e2518dfce56f3f7-055a575d29a60700f8c8","project":"chromium","file":"Flow/MetricListSearch.spec.ts","title":"typing in the search box filters the metric list server-side","durationMs":8451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d279ac61280d1069feb3-b65e7f64e44f953e7467","project":"chromium","file":"Features/LandingPageWidgets/DomainWidgetFilter.spec.ts","title":"Domains widget should show only selected domain when domain filter is active","durationMs":16572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d279ac61280d1069feb3-e750f41ca4fc19634b37","project":"chromium","file":"Features/LandingPageWidgets/DomainWidgetFilter.spec.ts","title":"Setup Domains widget on landing page","durationMs":28763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-3d5d145448d6f5cc90ae","project":"chromium","file":"Features/DataQuality/Profiler.spec.ts","title":"Update profiler setting modal","durationMs":23396,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-54c0be66359a8c228744","project":"Ingestion","file":"Features/DataQuality/Profiler.spec.ts","title":"Data consumer role can access profiler and view test case graphs","durationMs":9028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-b7926c0bc21906aa28a2","project":"Ingestion","file":"Features/DataQuality/Profiler.spec.ts","title":"Data steward role can access profiler and view test case graphs","durationMs":9199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-e16c120deba5eb61a549","project":"Ingestion","file":"Features/DataQuality/Profiler.spec.ts","title":"Admin role can access profiler and view test case graphs","durationMs":9398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-2566c24a9ad53d85fb1e","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Export button opens scope modal with correct options","durationMs":8118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-2acfadf8c9ab00eada55","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Filtered search visible export downloads CSV with the filtered record count","durationMs":19588,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-3b304a2ec3fc30ef4837","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Export queues a background job and downloads from the jobs tray","durationMs":14146,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-414a8700c9cff70dc984","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Browse mode visible export downloads CSV with current page row count","durationMs":18669,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-6a546d5a8d744f5ab628","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Search mode visible export downloads CSV with tab-specific row count","durationMs":14251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-9d106ae4569c23f8ea2d","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Search mode visible export count matches the first result tab count","durationMs":10804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-f159c7c0ad1b30a309b2","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Export is disabled when all matching assets exceed 200k","durationMs":6709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-209be753cb89befd2d8a","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"navigating to /table/TASK-XXXXX should show 404 (invalid URL pattern)","durationMs":11073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-3cc2fe9e766015abfde3","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task in home feed widget should navigate to entity page","durationMs":10443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-67253f2989896bce72d9","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"task link should contain correct entity FQN, not task ID","durationMs":12911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-743cfd99537261dac3ad","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"task count badge should match actual task count","durationMs":13057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-77ce1295765dba2968f2","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"two sessions: admin on Columns tab creates task, assignee sees refresh on notification click","durationMs":27030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-7a2ad0726345cbc5accd","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task notification while on entity task tab refreshes the task list","durationMs":12706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-8744e779751df9e9d0f9","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"assignee should see task in notification box","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-950d31f80797a93a58bf","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"task detail page with valid task ID should work","durationMs":11534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-a9ff5c396c0e2d45a234","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task notification should navigate correctly","durationMs":11143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-ad4029189d87e59c6334","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"should display tasks in entity activity feed tab","durationMs":12362,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-c12de98dc82239c7b83c","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task card should open task detail drawer","durationMs":12275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d517907dd258f94ebf35-2be67f3cc73b940823e9","project":"Basic","file":"Pages/DataMarketplaceAnnouncements.spec.ts","title":"Announcements widget renders with active announcements","durationMs":4039,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d5279e73c9dec6bec83c-4b950d2a14ba444c8c16","project":"chromium","file":"Features/RTL.spec.ts","title":"Verify DataAssets widget functionality","durationMs":11514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d5279e73c9dec6bec83c-e61689c57f31e674f9b1","project":"chromium","file":"Features/RTL.spec.ts","title":"Verify Following widget functionality","durationMs":19247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d5762e40d94d71a69e94-168fc5982bb2b04a8130","project":"chromium","file":"Features/AppMode/AppModeCrossDevice.spec.ts","title":"Preference set in browser A is visible on a fresh login in browser B","durationMs":25783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d6fb355c03fdea638db7-305911a4b7881aaba0c1","project":"chromium","file":"Features/GlobalPageSize.spec.ts","title":"Page size should persist across different pages","durationMs":39451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d77ba6914f7f6fb2fca4-98403d78db095df17303","project":"chromium","file":"Features/Workflows/NoOpWorkflowNodeConfig.spec.ts","title":"schema fields for runAppTask node are read-only","durationMs":12699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d77ba6914f7f6fb2fca4-bceee39b29e98183822f","project":"chromium","file":"Features/Workflows/NoOpWorkflowNodeConfig.spec.ts","title":"schema fields for runAppTask node render with correct labels and values","durationMs":13551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-03c031e4678082b99897","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Metric Entity Action items after rules is Enabled","durationMs":7390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-066a9ef811dff65e4cb6","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the MlModel Service Entity Action items after rules is Enabled","durationMs":7783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-08a76fefd534a2c8a6a3","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Worksheet Entity Action items after rules is Enabled","durationMs":14851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-0aac07ed470b079b032f","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Dashboard Service Entity Action items after rules is Enabled","durationMs":11021,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-130fbc8e073e46ded214","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Chart Entity Action items after rules is Enabled","durationMs":17603,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-279a27c38018c01b5a0f","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Database Entity Action items after rules is Enabled","durationMs":14997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-2985a21f038abaa38e2b","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Pipeline Entity Action items after rules is Enabled","durationMs":13757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-3d6a300eada29abc2ffd","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Table Entity Action items after rules is Enabled","durationMs":25612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-41f3fa56ebc98ef754ce","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Storage Service Entity Action items after rules is Enabled","durationMs":14335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-572437ea2ab3f7320552","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Api Service Entity Action items after rules is Enabled","durationMs":11094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-6473d71db2c0b882f00d","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"should enforce single domain selection for glossary term when entity rules are enabled","durationMs":10960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-6d220edd7b3bfd3fe138","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the DashboardDataModel Entity Action items after rules is Enabled","durationMs":8921,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-759333f24dee762aea40","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the MlModel Entity Action items after rules is Enabled","durationMs":14691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-78e2dbbd9c1c1db98900","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the SearchIndex Entity Action items after rules is Enabled","durationMs":10782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-962838d6f4759abd09a2","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Database Service Entity Action items after rules is Enabled","durationMs":10438,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-9de0ee9ba68372b2e008","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"should not list Data Products from a different domain","durationMs":14846,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-aa332cfa334fdbc32d77","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Database Schema Entity Action items after rules is Enabled","durationMs":15270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b0cc34f925752dfb14e5","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Messaging Service Entity Action items after rules is Enabled","durationMs":8624,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b11b9a17326398be8da7","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Topic Entity Action items after rules is Enabled","durationMs":15508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b3308e67ec8457e0dee9","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Directory Entity Action items after rules is Enabled","durationMs":16894,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b7df5538066c06db4364","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the SearchIndex Service Entity Action items after rules is Enabled","durationMs":14970,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b8cb4da9ac2eb43cb997","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"should scope the Add Assets picker to the Data Product domain","durationMs":13156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b9fb2556af6f3008e225","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Dashboard Entity Action items after rules is Enabled","durationMs":14217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-ba8a638ac27ae4f109bd","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the File Entity Action items after rules is Enabled","durationMs":17875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-bfeb0bcea2e0396acdd3","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Container Entity Action items after rules is Enabled","durationMs":13988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-ccf02cb9cfd7b194ec16","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Drive Service Entity Action items after rules is Enabled","durationMs":11325,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-cec8b7118f5a613d3132","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Pipeline Service Entity Action items after rules is Enabled","durationMs":15518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-d444bfd28e07070c2777","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the ApiEndpoint Entity Action items after rules is Enabled","durationMs":19379,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-dd030b4671b685a60fc8","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Spreadsheet Entity Action items after rules is Enabled","durationMs":14930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-e435bf4efd3242cc32d8","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Api Collection Entity Action items after rules is Enabled","durationMs":15574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-ff33cabf88b06ecbd0b9","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Store Procedure Entity Action items after rules is Enabled","durationMs":15231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d9f997795c80930b24d6-bf921a12f0124551e220","project":"Reindex","file":"Features/SearchSeparation/GlossaryRenameCascade.spec.ts","title":"glossary-term rename cascade keeps tags[] + glossaryTags + tier + cert consistent","durationMs":1694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-06b8c08d4cabd6603635","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"DQ dashboard API carries tag filter","durationMs":6013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-2af86017b01f6bdc2b71","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"clicking Data Observability tab loads DQ dashboard widgets","durationMs":6960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-2f9a9790171a0d23ecbe","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"Data Observability tab absent in version history view","durationMs":2711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-3ed728877ac6a48879de","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"clicking Data Observability tab loads DQ dashboard widgets","durationMs":8175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-673ae7c8b7ec3c3affc3","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"clicking Data Observability tab loads DQ dashboard widgets","durationMs":6620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-73606198210a4d7ca076","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"glossaryTerms filter is hidden on GlossaryTerm Data Observability tab","durationMs":7322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-7645dbf4af3497d08343","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"Data Observability tab absent in version history view","durationMs":6870,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-76ec8ab8ce8ce2b149c2","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"DQ dashboard API carries glossaryTerms filter","durationMs":6680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-805007763e0ee5d5ec82","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"standalone DQ dashboard still shows the filter bar","durationMs":7249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-83f5755364b2bb6d8713","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"DQ dashboard API carries domainFqn filter","durationMs":2481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-954f5e30a09edbd7462a","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"switching back to Overview tab hides the DQ dashboard","durationMs":6315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-b4092a35d4098fe815c1","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"filter bar is visible on Domain Data Observability tab","durationMs":2241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-bd8ebaa0e4d04266e712","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"tag filter is hidden on Tag Data Observability tab","durationMs":5789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-f9c38769f3ba40a03d59","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"applying tag filter returns a successful DQ API response","durationMs":8607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-879aff3f25587ae15c61","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"Data Steward is blocked from every bulk edit and import page","durationMs":31931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-cc9be6afc1f0a8405f38","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"Editor with EditAll can access every bulk edit and import page","durationMs":68455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-e2134863425ccaa50016","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"Data Consumer is blocked from every bulk edit and import page","durationMs":33632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-ee37951858f3d500023e","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"View-only user is blocked from every bulk edit and import page","durationMs":31525,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-33f438f6119c431973c9","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"entity tab count equals the sum of the All and Tasks badges","durationMs":21772,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-4f96dce672dfde8bc540","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"badge reflects openTaskCount in Open filter and closedTaskCount in Closed filter","durationMs":27705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-a2e50d3237619ad89525","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"placeholder shows the correct message per filter state","durationMs":18039,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-a6f48b70e845396cd15f","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"Mentions sub-tab lists only the conversations that mention the user","durationMs":25293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dbcbe18b3a0e7a0e4d3b-e3764b90b263fc5cc1e7","project":"chromium","file":"Features/PersonaSessionPersistence.spec.ts","title":"default persona is restored when the session key is cleared","durationMs":12257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dbcbe18b3a0e7a0e4d3b-f4ab91bf0bae8937b36e","project":"chromium","file":"Features/PersonaSessionPersistence.spec.ts","title":"selected persona persists across page refresh","durationMs":12758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-0517bed5a24d15a2ba7f","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should handle multiple items being hidden at once","durationMs":20721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-2fe0ce861993b8034264","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should handle reset functionality and prevent navigation blocker after save","durationMs":13168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-311db8180f2642a6a095","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should save changes and navigate when \"Save changes\" is clicked in blocker","durationMs":20460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-37062c9a70d1d97f2f9e","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should support drag and drop reordering of navigation items","durationMs":13969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-3f83c3e394f2f9d87301","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should reflect a sub-item moved to another group in the sidebar after applying the persona","durationMs":22355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-7a54741073907c77c8ac","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should show navigation blocker when leaving with unsaved changes","durationMs":13854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-d7fe854a3fe31f16df34","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should update navigation sidebar","durationMs":22512,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-df0e4058a5ba929c6f8d","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should persist a reordered sub-item after reload","durationMs":22523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dd642ff9f3c87efa9c10-dba5285969e2c24eec98","project":"ImportExport","file":"Pages/CSVImportWithQuotesAndCommas.spec.ts","title":"Create glossary with CSV, export it, create new glossary and import exported data","durationMs":78786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-17f0abe122865c573a49","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"ViewBasic permission shows read-only access","durationMs":31864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-1f0be66ac1cb6ab2b83d","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Team-based permissions work correctly","durationMs":25770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-2b6740212b2249e5cc01","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Glossary deny operations","durationMs":33065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-3188a2dc2a31bdee3d75","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"EditOwners only permission","durationMs":33911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-33796de90ddf3f62b1f2","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Delete only permission","durationMs":31745,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-450caad10c6db1648382","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Create only permission","durationMs":31106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-4d14e53f4d7b0b15aaed","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"EditTags only permission","durationMs":33089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-e72e8a08ee837b49f474","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"EditDescription only permission","durationMs":33017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-f6f497a28461c645595b","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Glossary allow operations","durationMs":33699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-3007293d39fd27b73cad","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Stored Procedure Table should have sorting on name column","durationMs":7433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-35e294a729e304ae5ecb","project":"chromium","file":"Features/TableSorting.spec.ts","title":"API Endpoint page should have sorting on name column","durationMs":7466,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-417e1899c674ba056816","project":"chromium","file":"Features/TableSorting.spec.ts","title":"should have sorting on name column","durationMs":7196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-897fd6be8d196093945f","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Topics Table should have sorting on name column","durationMs":8114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-8df3b2994395a9dcc5f5","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Drives Service Spreadsheets Table should have sorting on name column","durationMs":7528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-934f69ec265bfc985585","project":"Ingestion","file":"Features/TableSorting.spec.ts","title":"should have sorting on name column","durationMs":5611,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-a54e163ad0d6ada016a4","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Database Schema Tables tab should have sorting on name column","durationMs":8282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-b40a460170ea3e12c7e1","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Services page should have sorting on name column","durationMs":7578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-bdfb9efa450fc8d6224b","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Database Schema page should have sorting on name column","durationMs":8879,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-ca3d2db60a7a4385e32b","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Data Models Table should have sorting on name column","durationMs":8163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-e2cc6fb3ceccaeb1a09c","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Drives Service Files Table should have sorting on name column","durationMs":6791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-2321814453e125b66353","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should move term with children to different glossary","durationMs":24904,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-6b80fdb91ed3204a5d79","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should cancel drag and drop operation","durationMs":12244,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-b00abfec58cbc6f25ba5","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should cancel move operation","durationMs":21462,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-e65e5779dd8c704d0ab2","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should move nested term to root level of same glossary","durationMs":26290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-e7b4a28ff6323e173bb5","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should navigate 5+ levels deep in hierarchy","durationMs":13419,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-eb3d35861683904e3e32","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should drag nested term to root level of same glossary","durationMs":26539,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e13cf584214701b07f57-1afee2626234d27ccae5","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":39108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e13cf584214701b07f57-4ab3e6f02d449cca814a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":34351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e2d639d408792a06975c-7a6c81a675faa6254493","project":"Basic","file":"Flow/UsersPagination.spec.ts","title":"Testing user API calls and pagination","durationMs":6839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e35d7dd71e822f3001e7-3cfbb66ae88e3514c5b2","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":23194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e35d7dd71e822f3001e7-432b8cb5b927d6df6807","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":23095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e35e88e5e591fae7ee5e-fd18fe4e7bef33892aed","project":"chromium","file":"Features/BlockEditorMathEquations.spec.ts","title":"math equation inserted with $$ syntax persists after save and reload","durationMs":20800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-7154f830ca4d55756208","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"a browse-location deep link highlights the tree and clears on chip removal","durationMs":23930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-759bee3eb0181dc15eae","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"reloading the page preserves composed filters","durationMs":15895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-9da821fade89f083f3ed","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"an impossible filter combination shows the no-results placeholder and recovers on clear","durationMs":32092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-9ec4db1c07256b4bbde6","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"applying a filter from a deep page preserves pagination params","durationMs":18937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-adbb03bd2ffa82ca5802","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"selecting an asset type grays out and collapses incompatible categories","durationMs":15777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-b871193e778bd381ca8d","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"a deep-linked filter URL restores chips and filtered results","durationMs":18381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-f2ce25709e1201e3797f","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"owner filter spans asset types and ANDs with an asset-type filter","durationMs":14569,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-0942d72a0198995838ac","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Metric","durationMs":504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-147633f9a3cb97439f47","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for GlossaryTerm","durationMs":461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-20324ac8b868e83321ef","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Table","durationMs":371,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-2b8226ae0f295584a097","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for MLModel","durationMs":599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-2c5fcdbed087327ee250","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Metric","durationMs":400,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-3a95a887039194a669b6","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Table","durationMs":939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-431dd35d48f6c5bcdc40","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Table","durationMs":529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-43cfe0395336c7874d2d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Glossary","durationMs":527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-52e0dd99e1c1dcda9296","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Metric","durationMs":471,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-590d64ea0d6d3432312d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Pipeline","durationMs":474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-6076582e5142165747b7","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for File","durationMs":533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-60b6f2e8e65c4a1d9316","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Container","durationMs":800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-62f33d5a7ba6afa42c5b","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Pipeline","durationMs":391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-65977a8e252c1884495f","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Topic","durationMs":618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-72ca55efac5e37216621","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for MLModel","durationMs":758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-7475dc44973d9389678c","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for DataProduct","durationMs":734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-76375b057ea4b8a3a914","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for MLModel","durationMs":556,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-79a962dcb0d2df39591f","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Glossary","durationMs":495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-7ca8750db292c6811fab","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for SearchIndex","durationMs":666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-8462d9dafd86d4cb7a24","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Dashboard","durationMs":356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-87349bc4da359d33210e","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Container","durationMs":639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-8b624e5fee37ea1427cb","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for SearchIndex","durationMs":873,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-8ea1a343c7b62f387879","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Dashboard","durationMs":680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-9017945823aea8c31e65","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Topic","durationMs":1006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-92f1ec834cf376a73ae6","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for File","durationMs":255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-9676563ef902c007c998","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Dashboard","durationMs":445,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-9724e6857c64f0c5f6fb","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Directory","durationMs":685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-a19e745a80175cd48c5f","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Topic","durationMs":579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-a45bbfe31b09ade0e947","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Container","durationMs":691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-a9bd3aaaf359e0f5e01e","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for DataProduct","durationMs":601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-b05d36b597ce8e148023","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for SearchIndex","durationMs":638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-becea4046545cedb234c","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Pipeline","durationMs":319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-c5d58d76277e5a4a1fa8","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Dashboard","durationMs":447,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-c9d917883dbfefee36a7","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Table","durationMs":486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-ce553d1c2da64d450d17","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Pipeline","durationMs":390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-cea3022de30e27291656","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for GlossaryTerm","durationMs":621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-e17b4094c0f9dbdd345c","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for File","durationMs":380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-eba55dd6b22bb101f65d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for GlossaryTerm","durationMs":622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-ebffb46a0650e1e63b25","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Metric","durationMs":612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-efdd01ba42a7838ececc","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Container","durationMs":448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f1cdb4d14559b84e7e90","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Directory","durationMs":853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f577090e7c0c2c6d1672","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Topic","durationMs":566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f7241889791483b397a1","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for MLModel","durationMs":586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f7f3a5872d0f5075a31d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Glossary","durationMs":436,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-fbf598a3f758d45a8e87","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for SearchIndex","durationMs":741,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-ff39d1cbf073725e11f9","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Directory","durationMs":992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-27bf83ebb148b83122c8","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Database service","durationMs":62916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-393e6fb3b55e026c5927","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Database","durationMs":59505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-80d244c353a9b5239063","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Table","durationMs":37503,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-864b2325f77eb8ef0979","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Database Schema","durationMs":64322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-8b088f9fd4352335f186","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Glossary Term (Nested)","durationMs":57522,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-afada82cd2191181328b","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Glossary","durationMs":53266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-991e22827d785d044de8","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing a child term: parent appears as a 1-hop neighbour via parentOf edge","durationMs":13563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-9a9e5f8ec1ab595d1664","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing a child term: parentOf edge is rendered between parent and child","durationMs":13144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-cb3f581754b8a14c9209","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing the parent term: parentOf edge is rendered between parent and child","durationMs":15041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-ea60b9272f2de2cae5c9","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing the parent term: child appears as a 1-hop neighbour via parentOf edge","durationMs":14366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-0872d0c75b5f4a1eea22","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Bulk edit existing entity with dot in service name","durationMs":42038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-11b6b2822f5d1e76a451","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Import at database level with dot in service name","durationMs":39728,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-2b628617654ecf4bdd25","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Import at schema level with dot in service name","durationMs":28074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-4ae957d1d4bc40c66b27","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Service name with multiple dots","durationMs":28350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-61e520c2d24c8cb303be","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"CSV with quoted FQN loads correctly in import grid","durationMs":27983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-8640e5baa9623705571d","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Column with dot in name under service with dot","durationMs":20139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-9831613d51f1f5074fcd","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Full import cycle with dot in service name","durationMs":32212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-adf1fb39ffb44f305718","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Database service with dot in name - export and reimport","durationMs":37181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-451958641a79328fe77b","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Install application","durationMs":6191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-a3a1e60b3e20e393c2f1","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Edit application","durationMs":6789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-b0cd1177775297960d65","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Uninstall application","durationMs":7074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-d65f3bc388f55deee256","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Run application","durationMs":9800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-00727756ed54b11d9d66","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify fullscreen toggle","durationMs":8952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-0de408c32267fb067d06","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify DQ layer toggle activation","durationMs":10092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-2fd3d671fe79e7aa79e6","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify DQ layer toggle off removes highlights","durationMs":8965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-61f864881a368270e9b4","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify minimap toggle functionality","durationMs":9502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-a50f5062bdbb068e2796","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify invalid entity search handling","durationMs":5331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-b82c3c1c96ccc2c41e8d","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify lineage tab with no lineage data","durationMs":8519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-f67f93500d58072add25","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify zoom in and zoom out controls","durationMs":10125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-fa08f156b0ba6e20421a","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify fit view options menu","durationMs":10638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-3acaa880cb4773e73f12","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk cancel operation","durationMs":188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-3d3e2def8f2e96897376","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should handle partial failures in bulk operations","durationMs":489,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-4a32405d0d74df2c5db6","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk approve on multiple tasks","durationMs":1172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-94ecf2bb50f9c561671f","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should reject non-suggestion task via apply endpoint","durationMs":251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-95ba2888711a203eb077","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk reject on multiple tasks","durationMs":884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-c46ffd4656a5fdf657cc","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk assign operation","durationMs":1107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-febb592c17f5eea5e817","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should apply suggestion via PUT /api/v1/tasks/{id}/suggestion/apply","durationMs":630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f424f0b2de2b8353168d-3a71a044adebef3ad89e","project":"chromium","file":"Features/ContextCenterArchive.spec.ts","title":"full document lifecycle: folder expand icon, upload, delete, restore, and permanent delete","durationMs":40282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f424f0b2de2b8353168d-82b0e753e7d46cd9890c","project":"chromium","file":"Features/ContextCenterArchive.spec.ts","title":"archive page lazy-loads more rows on scroll within its own scroll container","durationMs":10754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f424f0b2de2b8353168d-99117e03aa3c5b328397","project":"chromium","file":"Features/ContextCenterArchive.spec.ts","title":"file in deleted folder is absent from search and not added to archive","durationMs":22141,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-075d5e867770cf289c8d","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"data steward cannot edit team subscriptions","durationMs":14284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-233b01cc9bf79b6f3f4b","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should disable endpoint input when webhook type is None","durationMs":11055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-388f9f7a9983f83d39d1","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should update existing subscription to different webhook type","durationMs":12799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-4089f84abb290168ef0c","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should validate endpoint URL format","durationMs":9981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-54a2d04779b87540a00d","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure Slack webhook subscription","durationMs":9566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-5c2b44855ea7aac27a3f","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should remove subscription by setting webhook to None","durationMs":11675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-67f33babda3fdf4febf5","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"team member without owner role cannot edit subscriptions","durationMs":11913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-842a1076b8d1906ba450","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"admin can edit subscriptions for any team","durationMs":13666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-8609b568b701057602c0","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"data consumer cannot edit team subscriptions","durationMs":14174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-86d32d813fc943a78e43","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should display subscription as None when no subscription configured","durationMs":9138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-8d2d31841b63ddf340ff","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure Google Chat webhook subscription","durationMs":10105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-a27b2e53b3221dbc8290","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should require endpoint when webhook type is selected","durationMs":10088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-a9d0c9c4799698417f3d","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should open and close subscription edit modal","durationMs":9151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-b4f94192f34e07d52e1e","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure MS Teams webhook subscription","durationMs":9963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-bff65aca6ff47e244d26","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should persist subscription after page reload","durationMs":15144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-fca848d6346f22013a7f","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure Generic webhook subscription","durationMs":10670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-ff289db727fd13098421","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"team owner can manage subscriptions","durationMs":15640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-249f2e80e1ed07c92f7e","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should rename data product and verify assets are still associated","durationMs":22113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-600e291c7d231e7f82c1","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should show error when renaming to a name that already exists","durationMs":14035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-6edae00094cd060fc0a5","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should handle multiple consecutive renames and preserve assets","durationMs":34072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-90803266ddfc79e89669","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should update only display name without changing the actual name","durationMs":15739,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4cae74b06fda076f0a1-b770428f72ba5b0a9d85","project":"chromium","file":"Features/BlockEditorEmbedLink.spec.ts","title":"entering an invalid URL shows validation error and does not crash the editor","durationMs":14182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-0462ac71e8c91afbbf6c","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Stored Procedure - customization should work","durationMs":26736,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-0702a83ca7d8b8bbd8c0","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"customize navigation should work","durationMs":33938,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-25846c7a65b11a89cff2","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Container - customization should work","durationMs":25567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-37449f25e978be1788be","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Glossary - customization should work","durationMs":27413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-41d0a892fca6d9343808","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Data Product - customization should work","durationMs":26105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-455659b2d17f62c06d8e","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Domain - customize tab label should only render if it's customized by user","durationMs":20282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-59a82d5c1ea5278c7323","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Search Index - customization should work","durationMs":24661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-59f9c9ce01e8f4c75fa9","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Validate Glossary Term details page after customization of tabs","durationMs":26656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-658ea4555cba25bb9b09","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Ml Model - customization should work","durationMs":27643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-729b695acd411ed7fcb8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Dashboard - customization should work","durationMs":26531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-75c1ec0b785dfbe2e9f8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Pipeline - customization should work","durationMs":24751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-81ab6a13446be00d2236","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Topic - customization should work","durationMs":25273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-a1007d349e35f17016eb","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Database Schema - customization should work","durationMs":26953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-b83e17354b58f3885232","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Database - customization should work","durationMs":29262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-b86710bce42df069ca07","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Dashboard Data Model - customization should work","durationMs":26691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-bccd2187cd76d2275312","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Table - customization should work","durationMs":24598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-c23463689b6a02ae53e8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"customize tab label should only render if it's customize by user","durationMs":29740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-c77322af934d1f2cf284","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"should show all the customize options","durationMs":10441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-ca3857c050b462ada785","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"should show all the governance customize options","durationMs":10417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-cda13e1a745c6788e3ed","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"API Endpoint - customization should work","durationMs":26237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-dc93b1114afcda98e4d8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Navigation check default state","durationMs":11225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-df1705426fee23699c44","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Glossary Term - customization should work","durationMs":27424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-f36a44fc5a95e395227f","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Domain - customization should work","durationMs":24262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-f67ada2b0e7642366d4c","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"should show all the data assets customize options","durationMs":10792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-f6f733b3ac3589b9dfd1","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"API Collection - customization should work","durationMs":27227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-0205ffdfc585cab01ddf","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Database Schema","durationMs":349439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-169d67f201cb81f89740","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Table","durationMs":169899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-642237d4a41dc49da1dd","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Database","durationMs":330383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-95b213492138666fe484","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Keyboard Delete selection","durationMs":142361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-bb8bb17e2fefc0c05203","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Range selection","durationMs":37967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-f582fd9991e819296458","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Database service","durationMs":449031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4f25d988842201e6c20-ae24e2a0aae5144bba18","project":"chromium","file":"Flow/ExploreAggregationCountsMatching.spec.ts","title":"should verify left panel counts and tab search results for normal search","durationMs":14222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f63edb310b70898c32ef-404b1e6d790711af858c","project":"DomainIsolation","file":"Features/DomainIsolation/DomainLineageIsolation.spec.ts","title":"userA sees tableA but not the cross-tenant tableB node","durationMs":7993,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f63edb310b70898c32ef-80db248d069981e2eab0","project":"DomainIsolation","file":"Features/DomainIsolation/DomainLineageIsolation.spec.ts","title":"admin sees both nodes in the lineage graph","durationMs":7737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f63edb310b70898c32ef-9807ba0d848bcddb4727","project":"DomainIsolation","file":"Features/DomainIsolation/DomainLineageIsolation.spec.ts","title":"userB sees tableB but not the cross-tenant tableA node","durationMs":7262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-059206e1428a5297d108","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create TierUpdate task for Topic","durationMs":406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-408ca4feecc6e89950e5","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create OwnershipUpdate task for Topic","durationMs":1565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-448a9a33c07636db1183","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create and approve schema field description task for Topic","durationMs":461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-9833d1f4ad179adb98f1","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create DomainUpdate task for Topic","durationMs":362,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-c54d52f5c5aeaa552192","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create and approve entity-level description task for Topic","durationMs":352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c386facc843a14ec19-6a408855f47e7887f923","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c386facc843a14ec19-ed35b4deecb9ca47009d","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":31907,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-0a44a983974730b89f64","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-H01: ME glossary (top level) children render Radio with ME behavior","durationMs":15179,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-3fcaec003ed89f7e3e4c","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-S02: Can select multiple children under non-ME parent","durationMs":15733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-5651fb4202fceb9735a1","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-R02: Children of non-ME parent should render Checkboxes","durationMs":17675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-5cb89ffa42856f160ca8","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-R01: Children of ME parent should render Radio buttons","durationMs":24195,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-9b44f296c9a6d33e51fb","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-T01: Apply single ME glossary term and save Data Product","durationMs":15830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-9c2585c3aa05ec0e24c0","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-S03: Can deselect currently selected ME term","durationMs":15023,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-efa1868c007a3e6cbd21","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-S01: Selecting ME child should auto-deselect siblings","durationMs":16764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-0dbac478b849946a6c3c","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"Tag - should handle multiple consecutive renames","durationMs":21915,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-17c1918984f0172bbbe9","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"GlossaryTerm - should handle multiple consecutive renames","durationMs":26854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-725c0e89e0d163df757d","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"Glossary - should handle multiple consecutive renames","durationMs":23872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-8c9a6934d3b95c2c1d12","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"Classification - should handle multiple consecutive renames","durationMs":21651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa42a344a1491728c88c-ca790fdf6e37164c48c6","project":"Basic","file":"Features/MutuallyExclusiveColumnTags.spec.ts","title":"Should show error toast when adding mutually exclusive tags to column","durationMs":13975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-1658d542d353f5e8537c","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"success state shows Done button and hides Edit Connection and Retry Test","durationMs":11567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-168f03efee35ec66edfb","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"failure state shows remediation card with error content","durationMs":11831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-2c7d4ad226db72ac9f82","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"changing a form field after a successful test resets the connection badge","durationMs":12128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-4b58db22ce037337317f","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"raw log toggle shows and hides connection log","durationMs":12249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-8cc727200eac97c77b66","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"Edit Connection click dismisses the modal","durationMs":12487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-8e06fc7c08d9ab043ed2","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"validation shows RJSF field errors on first click when only service name is filled","durationMs":8586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-b2346dfc921ce5e28a27","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"failure state shows Edit Connection button and Retry Test button","durationMs":12001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-e8d2f77fc5c536d510c7","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"validation shows all required field errors on first click when all fields are empty","durationMs":7884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-f124d2edb8c14295a059","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"modal opens with gate card and capability checks sections","durationMs":9183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-35df4cdd13ee89a8d38d","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"Different user can view but cannot modify service owned by another user","durationMs":14102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-3c28749487fae15018ac","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User with service creation permission can create a new database service","durationMs":10314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-7e5ca4567f5a88b8e298","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"Owner can update description of their service","durationMs":7011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-8e6d87b24ddeccf497e7","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User can view but cannot modify services they do not own","durationMs":6883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-955a42cfe4f501beb1ab","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"Owner can delete their own service","durationMs":7609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-a51b62db11ad9675f612","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User with EditAll but not Trigger cannot run a pipeline","durationMs":7286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-c733a081bb38e4e8f7e8","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User with Trigger permission can run an ingestion pipeline without EditAll","durationMs":7419,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-f200b75084f8b2928afc","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User can update connection details of their own service","durationMs":7360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-00b4b832ff041854728c","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"renders a description-updated activity item in the feed","durationMs":16240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-264131b8e9c311797619","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"displays feed content in the Activity Feed widget","durationMs":9901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-2cc7490b8f2a552d8433","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"adds a comment to a feed item","durationMs":16542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-38913b446c5ece4b7589","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"adds a reaction to a feed item","durationMs":18000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-8501761be150a7ac4fe9","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"shows the activity detail layout","durationMs":16628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-a2e412bdaf9b280ae91e","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"creates exactly one reply and isolates activities with the same about","durationMs":31729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-b23432aca7892b48a5e2","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"routes each Activity Feed widget filter to its own endpoint","durationMs":20958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-ce699d538b116cbec69b","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"removes an existing reaction from a feed item","durationMs":17992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-d48cfc9fae2794bc1d35","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"shows Activity Feed widget filter options","durationMs":8438,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-ffbf0a15623c2f20aed0","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"shows the followed entity activity under the Following filter","durationMs":9549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc426d31c2c6443c1be6-05800e3a4ea5b64d3da3","project":"DomainIsolation","file":"Features/DomainIsolation/DomainListingIsolation.spec.ts","title":"userA sees only tenantA on the domains listing page","durationMs":7164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc426d31c2c6443c1be6-4518202e8a9e1f36a215","project":"DomainIsolation","file":"Features/DomainIsolation/DomainListingIsolation.spec.ts","title":"userB sees only tenantB on the domains listing page","durationMs":6284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc426d31c2c6443c1be6-d5d4bf170dffa3f33a63","project":"DomainIsolation","file":"Features/DomainIsolation/DomainListingIsolation.spec.ts","title":"admin sees both tenants on the domains listing page","durationMs":7865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc6611f5f281a4e45f8c-75cb78dafb20bfb5e68f","project":"Reindex","file":"Features/DataQuality/TestSuiteListAfterReindex.spec.ts","title":"Basic test suite stays listed on the table-suites page after a full reindex","durationMs":1196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-29eff01a200d84238a47","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should create glossary with special characters in name","durationMs":12841,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-2fe6a9452e85458797d7","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should show history popover on status badge hover","durationMs":13026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-3f4b2313c27eb62355cd","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should show column settings with custom properties option","durationMs":12523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-439407dfe7f6467e411a","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should create term with Draft status when no reviewers","durationMs":15094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-fb8b4435543932423ab6","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should view workflow history on term","durationMs":15520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fca339b293d5e065f784-0714e6ab930bbfcc6ca3","project":"chromium","file":"Features/AppMode/AppModeRouteIsolation.spec.ts","title":"a backgrounded route does not fetch when another route changes the URL","durationMs":13380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fca339b293d5e065f784-791fc866582d60756bb0","project":"chromium","file":"Features/AppMode/AppModeRouteIsolation.spec.ts","title":"returning to a backgrounded route revalidates it","durationMs":13879,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fdb594bf91641dcfe81f-97569a3fda3bc1af5014","project":"chromium","file":"Pages/AppRunsHistoryLogs.spec.ts","title":"External app run logs open in the LogViewerModal","durationMs":11803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-109f244e567c8e05b18a","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"switching to different domain triggers new feed API call","durationMs":10801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-1112ad59f3cbc8039e17","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"entity page activity feed refetches when domain is switched","durationMs":10709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-4957bdf2b1993328fb92","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"switching domain triggers feed API refetch on entity page","durationMs":8470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-5fb1a3cba94644d690fe","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"selecting All Domains removes domain filter from feed API call","durationMs":11989,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-66bc79b3489af009bdb4","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"GET /tasks returns 200","durationMs":98,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-6ecf643f1978bd72b573","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"task count API returns counts for created tasks","durationMs":30,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-ccf80dfe3a0f263a9e03","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"entity page shows task cards for entity in selected domain","durationMs":6564,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-db696b7c8e033f4adfa0","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"GET /tasks/count returns task counts","durationMs":46,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-46426b05e7ad5d6e5c55","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should perform case-insensitive search","durationMs":15064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-55947400922d9b46072b","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should check for nested glossary term search","durationMs":10914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-5afd99790393d19e9894","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should check for glossary term search","durationMs":12534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-749f411c6ea7761e557a","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should filter by InReview status","durationMs":10601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-8995fbfedb67c22e25be","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should show empty state when search returns no results","durationMs":9970,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-c161bb5dadfd704c3625","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should filter by multiple statuses","durationMs":10483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-0da857d629e3f435c6d4","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove reviewer from glossary","durationMs":15086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-40c7edf6cee7c9c38346","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove tags from glossary term","durationMs":19057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-4fb8c23497a80dd2fc28","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove tags from glossary","durationMs":15125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-753d73bb076239505f28","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove reviewer from glossary term","durationMs":18257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-9679675e187bc293844e","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove owner from glossary term","durationMs":17991,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-ace8963a89d7b007752c","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove owner from glossary","durationMs":16374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ffa6959dc235a6a5b1d7-28b5728ddddb5976c831","project":"data-insight-application","file":"dataInsightApp.ts","title":"Run Data Insight application and wait until success","durationMs":53250,"attempts":2,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-2a092efc916913e5b0b5","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"edit-workflow-button is visible (seeding surfaces a non-NoOp flow with no seeded/API filter)","durationMs":6508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-e11f161ef61715502500","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"Edit mode: Review Recognizer Feedback node name and description inputs are disabled with no Save button","durationMs":5237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-12fbcb3be55b8e186e07","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"View mode: Review Recognizer Feedback node name and description inputs are disabled","durationMs":5256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-348873f71422007f8b5e","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"Edit mode: Apply Feedback (Approved) node name and description inputs are disabled with no Save button","durationMs":5548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-46819f9059ab44ca0d5c","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"View mode: Apply Feedback (Approved) node name and description inputs are disabled","durationMs":5183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-e8ef1142cf01892b8c22","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"Edit mode: Reject Feedback node name and description inputs are disabled with no Save button","durationMs":5789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-2c089cb00a3fb9364c46","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"View mode: Reject Feedback node name and description inputs are disabled","durationMs":5587,"attempts":1,"retries":0,"outcome":"expected"}]} \ No newline at end of file +{"version":1,"mode":"full","sourceRunId":34109980157,"sourceSha":"133a22a63ad0784ae9eb24b654c6d2b98fb40aaf","retainedSourceRunId":29980474263,"retainedSourceSha":"9f78d5d741673d44dee0190488ba586cce4fecb1","retainedUnstableTestIds":["10c126ce21ddb47756a4-04d6154814646027d691","10c126ce21ddb47756a4-0741446b51bd1831b1fb","10c126ce21ddb47756a4-211bb353cbf91b58df5a","10c126ce21ddb47756a4-2a8d02fe65e159aa7997","10c126ce21ddb47756a4-326e5741aa3e465e11c0","10c126ce21ddb47756a4-439a804c72c1029b9604","10c126ce21ddb47756a4-485027c527c4c17d746c","10c126ce21ddb47756a4-49aa937a33fa5a8948c9","10c126ce21ddb47756a4-4bca0aa80c53d7c4a24c","10c126ce21ddb47756a4-4f16dd456ed5b31f8f8d","10c126ce21ddb47756a4-5adfe289cb3d8520b0ef","10c126ce21ddb47756a4-7f74b79cdc6913ea9d62","10c126ce21ddb47756a4-89f210443cbeae6bb2c0","10c126ce21ddb47756a4-9585120f51c086d40c8f","10c126ce21ddb47756a4-cda8340b8fcb3bc57b4e","10c126ce21ddb47756a4-d66611608cf890ccc13c","10c126ce21ddb47756a4-e88886cf009eb2d89a24","1c1beaa6e6bb68455687-02db839411b88f88324d","1c1beaa6e6bb68455687-19694be941e5fc5a50d6","1c1beaa6e6bb68455687-4fbd2cc9b2f8b51b955e","1c1beaa6e6bb68455687-620c0ccb2076231e1b46","1c1beaa6e6bb68455687-696baf01722eff41e180","1ce96103ecb38ee49d41-0a4191b4db0efcbae0f8","1ce96103ecb38ee49d41-a83ffa17458ba063ab54","260a9e5977a8ba3ec78b-dace76fe5d6fd2759124","2d5458d5effed0092e57-2c9621778a08fadbc834","2d5458d5effed0092e57-4156e62dca8bfb5afec0","2d5458d5effed0092e57-88e75e085e61e8618e6a","2d5458d5effed0092e57-9b4ef19a6cb0199bf241","2d5458d5effed0092e57-b0ff6e9dd7c295b37f2c","2d5458d5effed0092e57-b68f427de8c7c4e4c036","3f800034a832b756357b-2e3d05e6e1e746b6c156","426c3d5e1c2f1aa09ac8-f8d8b2894982189c8fdb","47563b3c243233393067-36286bd8f41799e49212","4b548bcc60ee243a112c-91f203d529a815190d96","5c28d935b3c657a6e5bc-b0a79157c365565b41e4","5c28d935b3c657a6e5bc-b7e3072f59f508bd7c81","5f37f0e1f4111ad5b126-a044c42b96a086d46495","6491031c3e271b473ed6-a1a41e105bc8e1f05019","6af163fea506aa4566f2-0d9793ea09690a80b966","6f9684bba76ed22e1a8c-76b8bbfc4abe6888a560","6f9684bba76ed22e1a8c-dcee5e388fad4727090e","7c975cd1ceb31d5d60dd-0dbdcff683eb513dc0f5","7c975cd1ceb31d5d60dd-20ec70d5fe0c22fab8a3","7c975cd1ceb31d5d60dd-44413c5a1543a1f5a65d","7c975cd1ceb31d5d60dd-f49b660fff35024b8100","848329c182e7112e80ae-9df4121368d3676326e8","8f00f316c6c46c156a1c-16b3484cc09d5255f8d6","92f4b5f6dbf60767921f-60d6762c4b0ae5b80aa3","9308de5e0d9b01cc3b0e-4cc494c7283e8466765d","9308de5e0d9b01cc3b0e-afbe709e30f6facd3dbd","9308de5e0d9b01cc3b0e-eb3f22266d782e009e06","9cc140ad818dd8f839cb-a80bbe7b29b7f5294127","b63caa6d5c82a89c01d9-930ae77b2adf34892aed","b76310c94a1ee56387bf-eee048f4f8692c102fb6","caebfb61a8a7d76a7401-1dbd614d29e180690a85","caebfb61a8a7d76a7401-7ac27f96d42f8e47da96","caebfb61a8a7d76a7401-dd9f678b3ba6fdaee2cc","d8f8caeb6165f1ef1fcd-2985a21f038abaa38e2b","db1daaef72d72e2312ab-71b65167efedb93432d2","df23f6ad1ee603a6ae65-e2cc6fb3ceccaeb1a09c","e6106fb403b25b398095-eba55dd6b22bb101f65d","e91c95e3d77f8c0bc288-27bf83ebb148b83122c8","e91c95e3d77f8c0bc288-393e6fb3b55e026c5927","e91c95e3d77f8c0bc288-80d244c353a9b5239063","e91c95e3d77f8c0bc288-864b2325f77eb8ef0979","e91c95e3d77f8c0bc288-8b088f9fd4352335f186","e91c95e3d77f8c0bc288-afada82cd2191181328b","fed0153cfc145e829673-749f411c6ea7761e557a"],"tests":[{"id":"004f08191fdf5a664c49-5934f2193bbcf4275249","project":"chromium","file":"Pages/Tasks.spec.ts","title":"List tasks by status","durationMs":88,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-6a8d58070f2721e22772","project":"chromium","file":"Pages/Tasks.spec.ts","title":"All built-in task categories can be created","durationMs":325,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-9a77320621e2e18ce3d6","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Create task with different built-in categories","durationMs":99,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-a034a19fedb3914dc554","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Resolve task with rejection","durationMs":101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-a37baa03858ead321cb3","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Create task with assignees","durationMs":146,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-a6680360eb1c1db3276a","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Task priority levels","durationMs":217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-cf4a9c8c257c776dc018","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Resolve task with approval","durationMs":77,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-dbd17b6aee48089a70bc","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Task ID sequence is unique","durationMs":102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"004f08191fdf5a664c49-e915ae4e13ecb3f579d1","project":"chromium","file":"Pages/Tasks.spec.ts","title":"Task CRUD operations","durationMs":173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0052ab9e28cac302a481-57cf91322cdd33d989d4","project":"chromium","file":"Features/DataProductPersonaCustomization.spec.ts","title":"Data Product - customize tab label should only render if it's customized by user","durationMs":32127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0052ab9e28cac302a481-f1eee6df796efc54fae7","project":"chromium","file":"Features/DataProductPersonaCustomization.spec.ts","title":"Data Product - customization should work","durationMs":34504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-061045104b0501529f9a","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate between tabs on glossary page","durationMs":17106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-254409f9a53adc8e7c67","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate to nested term via deep link","durationMs":11162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-3b75351433e5696dd218","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate between tabs on glossary term page","durationMs":13802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-6092fc9d785185e1febb","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should view activity feed on glossary","durationMs":11780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-9af09dcafe15890a4c22","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should post comment on glossary activity feed","durationMs":12515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-a8188d2dbe1c913f81cb","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should post comment on glossary term activity feed","durationMs":13973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-dc08d608e28379784c90","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should show empty state when glossary has no terms","durationMs":11068,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-ddd5214b0a60bd16b3ab","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should navigate via breadcrumbs","durationMs":14995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"005f0ebf0455d92ba940-f505640efd2508d042ed","project":"chromium","file":"Features/Glossary/GlossaryNavigation.spec.ts","title":"should view activity feed on glossary term","durationMs":13794,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-417dfcf921ef3832d10e","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"TagPage: Certification detail page routes through certification.tagLabel.tagFQN","durationMs":7237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-5b17e1cf7d08cd3cb595","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"Certification filter narrows both table- and testCase-index queries via the flat field path","durationMs":13478,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-b5d9a677fd75a83d66e4","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"Certification filter is rendered between Tier and Tag in the filter row","durationMs":6898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"009d846d280e71301c7f-c2f2bff31097429e61d5","project":"chromium","file":"Features/DataQuality/CertificationFilter.spec.ts","title":"Certification tags are not listed in the generic Tag dropdown","durationMs":6998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-22e2c0617d842764b11b","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"surfaces the index banner and stays usable when search returns an index error","durationMs":11374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-23d8e6ff84c5ddbabe5a","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"does not white-screen when the search request fails at the network level","durationMs":5494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-9eae8c06bfeb61c22fd9","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"renders gracefully for a malformed quickFilter URL parameter","durationMs":8151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01ab199128dd4cbd1401-9f6105f6cdb93d1fd691","project":"chromium","file":"Pages/ExploreResilience.spec.ts","title":"renders gracefully for a malformed browsePath URL parameter","durationMs":9878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"01d9777d939990dabbd7-262dce1d2eeb8d343b4f","project":"chromium","file":"Flow/AppBasic.spec.ts","title":"should call installed app api and it should respond with 200","durationMs":3304,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-22792cd610df6f5cade6","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create request description task for column","durationMs":12422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-2491067d6bcb5a54cb1f","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create request tags task for table","durationMs":16248,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-25a394db38b512ef6f74","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create suggest tags task with suggested tags","durationMs":9957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-3046f4d31958bfd4dbf4","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should allow manual assignee selection when entity has no owner","durationMs":14985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-3557ecd547d5055ef28a","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create request description task for table","durationMs":12299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-64648a6c346cc46feb53","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should prevent task creation without assignee","durationMs":12118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"02d3ad5d2690225c29a3-c8d9ec46c49bded4357b","project":"chromium","file":"Features/Tasks/TaskCreation.spec.ts","title":"should create suggest description task with suggested value","durationMs":12900,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-1d172c84ee80912f5e2b","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Delete Button Disabled - Fully inherited contracts cannot be deleted","durationMs":24971,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-38ad37abf46eb45d83a2","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Edit Asset Contract - Add SLA when inheriting SLA from Data Product (PATCH should use /add not /replace)","durationMs":35439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-46fe2ceba304a71d5ec7","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Edit Inherited Contract - Creates new asset contract instead of modifying parent","durationMs":29864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-567dac3aaaf0ed82e32c","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Run Validation - Inherited contract validation uses entity-based validation","durationMs":24180,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-a3744a7bd7f9ba4362bf","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Partial Contract Inheritance - Asset contract merges with Data Product contract","durationMs":36175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-b132cbad6c8242839b58","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Remove Asset - Inherited contract no longer shown when asset is removed from Data Product","durationMs":32511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-be0fe0b025326af56b6c","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Delete Asset Contract - Falls back to showing inherited contract from Data Product","durationMs":30946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"042edd1236bb429d4881-f085389ed08a523aed7e","project":"chromium","file":"Pages/DataContractInheritance.spec.ts","title":"Full Contract Inheritance - Asset inherits full contract from Data Product","durationMs":31302,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-0515ac5501ef2810b804","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-08ba9d2d9d9dd6d3b4a2","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":11863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-0d28e20e436777cb4128","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":13040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-0fafe939201d31585243","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14772,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-12b31351571057d29cfd","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":13113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-2709b060aa5199ed7c46","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":8825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-3ae1dea8ac49be64dca4","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":17507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-3b46fb9bae34c93ab1e9","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10633,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-41007f7a6fab6e10596e","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-4a9e85c6f398e9f67275","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":13502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-4e3beed6243af81a754f","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":12216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-8cdf8f3a9f746fe00862","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-b73259974a470801efb0","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":7335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-bc4fcb436e3a2259227d","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":15947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-c2d03257ee6a2a9da060","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-cb0b667dbd687968d9a4","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":10495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-d0c505fe536cfd142768","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":16275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-db5d6a1f95b3e473d580","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":14108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"07da7e648d32184b2125-e5b3fd5755c76424ad67","project":"Basic","file":"Pages/EntityHeaderBreadcrumb.spec.ts","title":"should render every breadcrumb crumb exactly once","durationMs":12895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-1cee2b35ca54d4c31c16","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should prevent all users from modifying system test definition entity type via API","durationMs":8373,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-360040f1744491234d09","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should allow viewing and editing but not creating or deleting test definitions","durationMs":11600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-5d4e43fff79360c3f26b","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should allow viewing test definitions but not create, edit, or delete","durationMs":14253,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-6e5f9aa62a0c1a6a0b18","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should allow viewing test definitions but not create, edit, or delete","durationMs":16393,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-7092674b02cee0ed0c42","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should prevent unauthorized users from creating test definitions via API","durationMs":6016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-b2982050987bb5e8b4ee","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should not be able to edit system test definitions","durationMs":10877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08438e4c31be1f112e33-e6aff96f2117419d34a3","project":"chromium","file":"Features/DataQuality/TestDefinitionPermissions.spec.ts","title":"should prevent unauthorized users from deleting test definitions via API","durationMs":17595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-38d034de72fa8cbb70cb","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should not show online status for inactive users","durationMs":7123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-3e05f86121d3c978d4a2","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should show online status badge on user profile for active users","durationMs":7633,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-43e97a2523a7811c8bb0","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should show online status below email in user profile card","durationMs":8762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-b7bc8e5ed7bc4471ba0a","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should update online status in real-time when user becomes active","durationMs":18089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"08acdf02a4232934bfcc-e0bd28c84529a51c89aa","project":"chromium","file":"Features/UserProfileOnlineStatus.spec.ts","title":"Should show \"Active recently\" for users active within last hour","durationMs":7966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0a56168a40b882fe6894-170e1f3eff5aa971e713","project":"chromium","file":"Flow/FrequentlyJoined.spec.ts","title":"should display frequently joined table","durationMs":11522,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0a56168a40b882fe6894-84ac3055d73ecf89a21d","project":"chromium","file":"Flow/FrequentlyJoined.spec.ts","title":"should display frequently joined columns","durationMs":9792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-011fed074239d8794a66","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Admin can remove the default persona for a team","durationMs":8769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-027f80afc1576bc6be86","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Persona rename flow should work properly","durationMs":8106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-1030722b78088d2ec6ec","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"User without permissions cannot edit team persona","durationMs":9637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-135241804761fb629b85","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Delete persona should work properly","durationMs":7861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-187a985529b191d190fb","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Persona update description flow should work properly","durationMs":7616,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-25b967abba28bb47f099","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Description Contains filter – table with matching description appears in widget","durationMs":19118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-2c59da2e1af01cfdfb95","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Remove users in persona should work properly","durationMs":7110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-47c2545428c8641b1aba","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Non-group team types do not have a default persona setting","durationMs":9381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-828969cb1530df18a4e9","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Set default persona for team should work properly","durationMs":11654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-c91b116cdca0ef43878d","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Set and remove default persona should work properly","durationMs":34360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b596e420ec414391b24-e8766d04fa25cb1329b6","project":"chromium","file":"Flow/PersonaFlow.spec.ts","title":"Persona creation should work properly with breadcrumb navigation","durationMs":14390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b721dc6d1e4c283a3d7-254b18deceb1b36bf441","project":"Basic","file":"Pages/Policies.spec.ts","title":"Add new policy with invalid condition","durationMs":19581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b721dc6d1e4c283a3d7-9938e72067584c0c12ab","project":"Basic","file":"Pages/Policies.spec.ts","title":"Delete policy action from manage button options","durationMs":9401,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0b721dc6d1e4c283a3d7-de3a6ddc322ed853fa63","project":"Basic","file":"Pages/Policies.spec.ts","title":"Policy should have associated rules and teams","durationMs":6611,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-047be35b194c9d866468","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide tokenValidationAlgorithm for OIDC providers","durationMs":6297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-0833169ee6407ec5c50d","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide publicKeyUrls field for confidential OIDC providers","durationMs":7050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-0989b149fa1918db6a13","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Azure AD provider","durationMs":6128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-0bcb263825f9b25094cd","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide clientAuthenticationMethod for Auth0 provider","durationMs":5680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-19081ba3791a2c4eba3f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should enable Configure button when provider is selected","durationMs":6360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-1e149432136c7a6db559","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show SAML SP Entity ID and ACS URL as readonly","durationMs":6164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-22abb186177c16862afa","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should stay on /settings/sso when pressing back if SSO is not configured","durationMs":3399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-2474fda7d7d183e84f6f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide publicKeyUrls for LDAP provider","durationMs":6781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-2a2ad991e5c06901f99e","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Okta provider","durationMs":6026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-2e18cb79c436daab7829","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show advanced fields when advanced config is expanded","durationMs":6034,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-34fba19c758dadd4b5cb","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide jwtPrincipalClaims for SAML provider","durationMs":6536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-38ca5d4d684728fccecb","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Google provider","durationMs":6737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-3a87615ac059ba986272","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should navigate to /settings when pressing back if SSO is already configured","durationMs":9792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-3e41514daf189541ef7a","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide SAML SP callback URL field","durationMs":6644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-47ac2af718829befd92f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show tenant field for Azure provider","durationMs":6327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-4daf0d02c9591a8510d5","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should expand and collapse advanced config when clicked","durationMs":5893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-4df25211bef2dfa32e40","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should render authReassignRoles as a searchable dropdown and support role selection, removal, and search filtering","durationMs":8519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-51d4acdbee95dd109eb6","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide preferredJwsAlgorithm and responseType for OIDC providers","durationMs":6708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-546b90ad1991b04d4494","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide serverUrl field for OIDC providers","durationMs":6038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-55b88df9f30715574758","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should collapse advanced config by default","durationMs":6550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-5a6348a858f0bbba6ae2","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting Google provider","durationMs":6351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-61a7fabbf89bc2f26c7f","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields for Okta provider with confidential client","durationMs":7072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-61d0e3405cdc819cc222","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting Okta provider","durationMs":7020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-67b572e98086ce7eac3b","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show upload drop zone for SAML provider","durationMs":5837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-6a1992cd6f70ad36be17","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should parse valid SAML metadata XML and populate form fields, then clear fields on invalid XML","durationMs":7132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-726836846c61acacf72e","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide jwtPrincipalClaims for LDAP provider","durationMs":6579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-79775feb638787094aa2","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should display advanced config collapse for OIDC provider","durationMs":6336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-7a25922674aa447ae188","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should support full LDAP role mapping flow: add, fill, open roles dropdown, detect and resolve duplicates, and remove","durationMs":8309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-7a4121fbd7ff73813e83","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show clientAuthenticationMethod for Okta provider","durationMs":6702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-88267c4e251dfab9d1c7","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide publicKeyUrls for SAML provider","durationMs":6442,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-9571bd75cfb56b064f18","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should not display role mapping widget for non-LDAP providers","durationMs":6119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-977c5309463a2194ae58","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields for Auth0 provider with confidential client","durationMs":6792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-98f71413d99725507f60","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields for Google provider with confidential client","durationMs":7138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-9b94064cfad5336dc576","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting SAML provider","durationMs":6195,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-a2653b3971e7a3dfe31c","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should hide tenant field for Auth0 provider","durationMs":7031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-b415cb2dc167ddb53dda","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting Auth0 provider","durationMs":7001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-c3a47af5c898e89c1d82","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should validate the configuration without saving and show a success banner","durationMs":7517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-d785f2f4f674973f449b","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show OIDC Callback URL as readonly for Auth0 provider","durationMs":5344,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-debfc2945a6f9ce23750","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show correct fields when selecting LDAP provider","durationMs":6902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-ea466a94c0478617e9d8","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should show the Test Configuration button and lockout warning for a new configuration","durationMs":6808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-f6cf49ad9159c898f8ff","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should surface validation errors when the test fails","durationMs":6447,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0da65f5fab90fc1549e2-f74d7edc9c9978851109","project":"chromium","file":"Features/SSOConfiguration.spec.ts","title":"should display all available SSO providers","durationMs":6172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-4e375083d590a9a5acea","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Version diff shows synonym changes","durationMs":13939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-73f6fddc80038a5eae47","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"GlossaryTerm","durationMs":33621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-7cf3cccd2fd4e86bbcd0","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Version diff shows reference changes","durationMs":11715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-926156befd108528b026","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Return to current version from history","durationMs":10118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-abb395dc56eb33d395fb","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Navigate between versions","durationMs":12453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-c125342150e1c90238d5","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Glossary","durationMs":35291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0ee65b8963c2937ca439-c9fa2cbac6df0316a4ae","project":"chromium","file":"VersionPages/GlossaryVersionPage.spec.ts","title":"Version diff shows related term changes","durationMs":12263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0fc3c96fe730fa7ec869-cf1d8bf1cc1db0d05bbf","project":"chromium","file":"Features/IngestionListNameSorting.spec.ts","title":"should keep a sorted page addressable across a reload","durationMs":7569,"attempts":1,"retries":0,"outcome":"expected"},{"id":"0fc3c96fe730fa7ec869-e123a56fe8bf877f9303","project":"chromium","file":"Features/IngestionListNameSorting.spec.ts","title":"should sort the Name column by the name shown in the cell","durationMs":3750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-04d6154814646027d691","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"dataProduct supports removed property value variants","durationMs":7070,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-0741446b51bd1831b1fb","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"dashboardDataModel supports removed property value variants","durationMs":7218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-211bb353cbf91b58df5a","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"apiEndpoint supports removed property value variants","durationMs":7964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-2a8d02fe65e159aa7997","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"mlmodel supports removed property value variants","durationMs":7377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-326e5741aa3e465e11c0","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"searchIndex supports removed property value variants","durationMs":7945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-439a804c72c1029b9604","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"domain supports removed property value variants","durationMs":6255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-485027c527c4c17d746c","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"pipeline supports removed property value variants","durationMs":8196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-49aa937a33fa5a8948c9","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"metric supports removed property value variants","durationMs":6726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-4bca0aa80c53d7c4a24c","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"databaseSchema supports removed property value variants","durationMs":7666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-4f16dd456ed5b31f8f8d","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"container supports removed property value variants","durationMs":9491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-5adfe289cb3d8520b0ef","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"tableColumn supports removed property value variants","durationMs":6193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-7f74b79cdc6913ea9d62","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"glossaryTerm supports removed property value variants","durationMs":8557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-89f210443cbeae6bb2c0","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"database supports removed property value variants","durationMs":7414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-8fec358bf4604e70210f","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"custom property value contract covers the exact removed browser matrix","durationMs":16,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-9585120f51c086d40c8f","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"storedProcedure supports removed property value variants","durationMs":7306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-cda8340b8fcb3bc57b4e","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"apiCollection supports removed property value variants","durationMs":6713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-d66611608cf890ccc13c","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"topic supports removed property value variants","durationMs":8299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10c126ce21ddb47756a4-e88886cf009eb2d89a24","project":"chromium","file":"Pages/CustomPropertiesApiContract.spec.ts","title":"dashboard supports removed property value variants","durationMs":9295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"10d375d35d7071018386-deeb63637a49a6e9339d","project":"chromium","file":"Features/Permission.spec.ts","title":"Permissions","durationMs":107078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-1764dc17d058c43ed0e6","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should keep the run history reachable when the status call fails","durationMs":5483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-373310b628ca43526007","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should list the agents with disabled actions when the status call fails","durationMs":5183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-9438db641e0109169435","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should list the agents while the status call is still in flight","durationMs":4878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"119d3ed577f67a8f9d7a-9f029e8b570eb3564250","project":"chromium","file":"Features/ServiceAgentsStatusDegradation.spec.ts","title":"should still explain itself when the status call answers with no reason","durationMs":4992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"11ab6e55b4b022013005-194dce7291866541bc43","project":"chromium","file":"Features/PersonaAIContextPermissions.spec.ts","title":"a read-only user sees the rules and no way to change them","durationMs":7267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"11ab6e55b4b022013005-34403c6d57e2748d8c14","project":"chromium","file":"Features/PersonaAIContextPermissions.spec.ts","title":"an admin reaches the same page with the edit affordances","durationMs":6102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-15dfb2af7e1db8aec21c","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":21488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-2de09c93fa26511e5882","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":21760,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-3b84db11da31ab9d60f8","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":21332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-412088496e870362a6bb","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":19327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-5185f8d1e5c3bfb6de74","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":22388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-6c3ef71e9c671b248b36","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":19754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-747d62ad76876a268122","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":20450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-7a96261fbe77abc31f4a","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":15746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-cdd1bc8be764f4d1dc7f","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":22095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-d007ef1cc9caf0532ddc","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":24432,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1257a08d694033b99e03-ffab3b8233da881cb344","project":"chromium","file":"Features/LandingPageWidgets/FollowingWidget.spec.ts","title":"Check followed entity present in following widget","durationMs":22926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"138116cad0db6db3e31c-0db6bba1bba36a56c98e","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":33117,"attempts":1,"retries":0,"outcome":"expected"},{"id":"138116cad0db6db3e31c-8ab63046fdfd9ef943c1","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":32517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-140a7d5f2f5ac5c50a19","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"lists only certifications assigned to data products","durationMs":7610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-799e30f552ced32517b3","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"glossary term option keeps its original casing while the filter value stays lowercased","durationMs":11210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-912b7fbd1d0fb3a2fd31","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"tag option keeps its original casing","durationMs":8813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"13ef108ee6fd737d094f-cd1bd3263d38bdd77c03","project":"chromium","file":"Pages/DataProductCertificationFilter.spec.ts","title":"filtering by a certification narrows the listing","durationMs":8086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-29600d766f20a5eaaea8","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should edit reference URL","durationMs":15219,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-296c68d33da16a9dd7d8","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should cancel term creation without saving","durationMs":12457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-2b2204bb8ab1e8834014","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove related term","durationMs":14831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-3b7344c642f950c9343a","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should show error when glossary name exceeds limit","durationMs":11740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-60710dd072ecbdae486b","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove tags from term","durationMs":15361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-67cb7301397b8e2167cb","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove domain from glossary","durationMs":14945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-6aef0428615488839b7e","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create glossary with multiple owners (users + teams)","durationMs":23424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-6c8759c68ef5992a7234","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should handle term with very long description","durationMs":14081,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-7c48d938e18034fdb3ab","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should replace reviewer on glossary","durationMs":16887,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-7c861f5b15fc8efe5687","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should edit reference name","durationMs":15476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-7e20f808cda196f4b965","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove owner from term","durationMs":17330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-80d0b311299387783e9c","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should replace owner on glossary","durationMs":18636,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-8223e5ca58ae964dbb30","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should clear all synonyms from term","durationMs":14640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-87accf1b092c476fa522","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should change domain on glossary","durationMs":15467,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-a1d727fbf53816e3e867","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create term with custom style color","durationMs":13332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-a5945883ff9686302ca6","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create term with custom style icon URL","durationMs":14203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-ab969a7d4761c13683d1","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create glossary with mutually exclusive toggle OFF","durationMs":15010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-bced7f631eafead67a79","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should update term style to set color","durationMs":15475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-bfd5ef7659767ee9c04c","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove individual reference from term","durationMs":15324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-c0a2104006b98732511e","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should show error when term name exceeds limit","durationMs":12719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-d09abb82cd12494db539","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should update term display name via manage menu","durationMs":15321,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-d6b1141fd8a29c352619","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should show bidirectional related term link","durationMs":14439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-d81fab109e3f20196586","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should remove reviewer from term","durationMs":17320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-dcac77ccd1673ede0375","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should cancel glossary creation without saving","durationMs":11692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-e6d2869b45eb07973d63","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should update term style to set icon URL","durationMs":14426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-f15ee3dbeb3557870e2a","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should handle term with very long name","durationMs":14358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"14bd5adb6df9a88c340f-f9256cb87400d1374dfe","project":"chromium","file":"Features/Glossary/GlossaryAdvancedOperations.spec.ts","title":"should create term with related terms","durationMs":16387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-042c40f6b1a54e6c53ae","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when glossary name is empty","durationMs":7785,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-48fa78f24f68871eb1a6","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when creating glossary with duplicate name","durationMs":8511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-7932aa55fdb2a147ece7","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when term description is empty","durationMs":9620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-7fa3c393df4fd3e48395","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when term name is empty","durationMs":8753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"159747fbb5cbe51a0d39-fb157931edfad50a16d6","project":"chromium","file":"Pages/GlossaryFormValidation.spec.ts","title":"should show error when glossary description is empty","durationMs":7839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"15c7077c734447fc03ad-70cff7b58c35e184512a","project":"IntakeForm","file":"Pages/OnboardingConfiguration.spec.ts","title":"Builder preserves dirty edits on Escape and publication failure; old assets keep their version","durationMs":10013,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"15c7077c734447fc03ad-a5d69a7535db033ab565","project":"IntakeForm","file":"Pages/OnboardingConfiguration.spec.ts","title":"Producer preview completes local checks and simulated decisions without creating assets or tasks","durationMs":8419,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"15c7077c734447fc03ad-fa882399ce6250bf8e7b","project":"IntakeForm","file":"Pages/OnboardingConfiguration.spec.ts","title":"Board filters and pagination survive reload and back navigation; errors clear stale rows","durationMs":15707,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"17343e27b90459c2d189-44c859cf577d6e1282b4","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 4 (persona) beats rung 5 (tenant default) — persona says AI, tenant default Classic, no user pref","durationMs":19092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-4f03747abaf3ea97c00c","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"All rungs empty → DEFAULT_APP_MODE (Classic) wins","durationMs":7026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-886295b14a0b317b8b19","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 1 (session tuple) survives a persona flip mid-session — user's manual switch wins","durationMs":16847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-960de058c32acd987c1b","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 5 (tenant default) beats rung 6 (DEFAULT_APP_MODE) — tenant AI, no user pref, no persona","durationMs":16482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"17343e27b90459c2d189-c553a800e70bb231757b","project":"chromium","file":"Features/AppMode/AppModePrecedence.spec.ts","title":"Rung 3 (user pref) beats rung 4 (persona) — user has remembered Classic, persona says AI","durationMs":10568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"179dbf18e2af7f4cbec2-3e866d93ac6b4b246fc4","project":"chromium","file":"Features/Permissions/DomainPermissions.spec.ts","title":"Domain allow operations","durationMs":21585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"179dbf18e2af7f4cbec2-f81418f6b9c6495bc826","project":"chromium","file":"Features/Permissions/DomainPermissions.spec.ts","title":"Domain deny operations","durationMs":19426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"18494d13c3e927572e0e-8d190554ecc9cdce0e8b","project":"Basic","file":"Pages/CustomThemeConfig.spec.ts","title":"Update and reset custom theme config","durationMs":7906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"18494d13c3e927572e0e-98fda58f97982dc8e671","project":"Basic","file":"Pages/CustomThemeConfig.spec.ts","title":"Should call customMonogramUrlPath only once after save if the monogram is not valid","durationMs":7880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"18494d13c3e927572e0e-c6dc3de533286e6d221d","project":"Basic","file":"Pages/CustomThemeConfig.spec.ts","title":"Update Hover and selected Color ","durationMs":6357,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-1087a144c5cc50d535ee","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should open right panel when clicking data product card in domain","durationMs":9105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-13aa03b757371c9adb72","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should display overview tab for data product","durationMs":8705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-237ee97a03dc27da8efa","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should display overview tab content for data product in domain context","durationMs":7884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-2cdd99c8ce2bb06b59ed","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should not display glossary terms section in domain data products context","durationMs":7951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-a76035f76a4eea346b55","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should display data product name link in panel in domain context","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-c15c8f4e2f276a832be4","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should edit tags for data product from domain context","durationMs":9149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-cffeac6eeaa76dd6886b","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should edit owners for data product from domain context","durationMs":11725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-de5961ae0dcc1dc1eb7c","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should edit description for data product from domain context","durationMs":10825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1868f38c02e67c5911d3-f4986293245e7e080a70","project":"chromium","file":"Pages/DomainDataProductsRightPanel.spec.ts","title":"Should assign tier for data product from domain context","durationMs":10186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-537cb9c232ceabecba8e","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"service lineage has pipeline service connected to both services","durationMs":5241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-612653f6947301a02b49","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"database service has pipeline service as downstream in service lineage","durationMs":5578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-80746b789ad7769474c0","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"entity lineage does not include service nodes","durationMs":6320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"191a039569461c2eb042-a52558b2d5f6468bb5ea","project":"chromium","file":"Features/LineagePipelineAnnotator.spec.ts","title":"entity lineage edge preserves pipeline annotation","durationMs":6486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-02b5ace1b2248b785a49","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with EditAll can export ODCS contract","durationMs":9279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-2125ddb8382292c5fdda","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with EditAll can import ODCS contract","durationMs":10246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-2ff6b56ee053f07bce20","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Admin should see all import and export options for existing contract","durationMs":6701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-4bc8465740aa8464ebd6","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Admin should successfully import ODCS contract","durationMs":7478,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-5cc7d37ab19d320a7f43","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Consumer can export ODCS contract","durationMs":7338,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-5fd734b0bc28d6e08535","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Consumer should see export but not import options","durationMs":7610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-75e594ea4b3040db9f2b","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with ViewOnly should see export but not import options","durationMs":8488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-82f6c0dde199e09a485e","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Admin should successfully export ODCS contract","durationMs":7046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-83e7b1c072c2dde4d9ea","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Steward should see export but not import options","durationMs":7589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-b39b794f3ed9fde9e63c","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"API should allow export for users with view permission","durationMs":5344,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-c6dae5c5f1756c1d0e66","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with EditAll should see all import and export options","durationMs":10366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-d72f4e2dbeb3c195ab46","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"Data Steward can export ODCS contract","durationMs":6868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19af7aac2231565e0ab5-ed0768c8b67f4feea53f","project":"ImportExport","file":"Pages/ODCSImportExportPermissions.spec.ts","title":"User with ViewOnly can export ODCS contract","durationMs":9041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19b2b14ce084d7e3579a-201004f6be67ac9d9065","project":"chromium","file":"Features/CustomMetric.spec.ts","title":"Column custom metric","durationMs":19904,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19b2b14ce084d7e3579a-c4d4be4d5d794d22c090","project":"chromium","file":"Features/CustomMetric.spec.ts","title":"Table custom metric","durationMs":24648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-3b16f2702fc12cd8074e","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create term with tags","durationMs":11412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-45bb6a8bde203b85b1cf","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create glossary with tags, owners, and description","durationMs":9952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-51e4f8807e00f57e0192","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create term with synonyms","durationMs":10277,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-612c0266b544101fdc87","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create child term via row action button","durationMs":10297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-ad5dd701c1d496e2781d","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should navigate between tabs on term page","durationMs":8992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-b3aae0fef2551ec89460","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove owner from glossary","durationMs":10254,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-c2ba3a55bcfac2bf76cb","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create glossary with mutually exclusive enabled","durationMs":8931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-e9fd39fecbc9feeff1f8","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should delete parent term and cascade delete children","durationMs":9662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-ec658667dc5b068c0a42","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove reviewer from glossary","durationMs":9435,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-ee3ddfd6112d2b10da41","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove tag from glossary","durationMs":7631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-f3901eb61f81592f1a02","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should display parent term with children for drag operation","durationMs":9098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-f658c35c19332d4004f1","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should remove synonym from term","durationMs":8290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"19e537c12a95217f1b60-f8e45548f1769c59d321","project":"chromium","file":"Features/Glossary/GlossaryCRUDOperations.spec.ts","title":"should create term with references","durationMs":10709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a6f1da61460ebe7ad36-7a6c1a3faf2cfc2648d7","project":"chromium","file":"Features/QueryEntity.spec.ts","title":"Query Entity","durationMs":43534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a6f1da61460ebe7ad36-a06d40e1bc9c3f5e1457","project":"chromium","file":"Features/QueryEntity.spec.ts","title":"Verify query duration","durationMs":11871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a6f1da61460ebe7ad36-cf42d000893656b64dbd","project":"chromium","file":"Features/QueryEntity.spec.ts","title":"Verify Query Pagination","durationMs":15985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-0088ed46eab587c90371","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should restore filters from URL on page load","durationMs":20210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-014321099028e71df84c","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should load the page with stats cards and grid data","durationMs":7320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-170dbfd48cfc4dd5c106","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show Service filter chip from URL","durationMs":14290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-185597b794db3ab6912c","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should update display name and propagate to all occurrences","durationMs":31874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-239c0f77e33ddb02ed00","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should search columns with server-side API call","durationMs":12128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-23c5e0255a245d7bd4a2","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should clear individual filter and update URL","durationMs":27792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-2e96f151f46e62aaae33","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should select and edit nested STRUCT field","durationMs":25172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-32b4d960f036903b8b97","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should open edit drawer when clicking on aggregate row","durationMs":4763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-39e4bd843402570f4339","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show success notification after bulk update","durationMs":25504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-3ef93584d85256069ad4","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show no results when searching for nonexistent column","durationMs":8099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-3ff3cebfc11e44e7369b","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show disabled edit button when no columns are selected","durationMs":6113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-4a4df818cbe72b56fd42","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should not reset stats to zero while search request is loading","durationMs":9093,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-59c5f8a31c7199210394","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should not count aggregate parent row in drawer selected count","durationMs":5339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-5dac5fccf031408603db","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should expand STRUCT column to show nested fields","durationMs":24332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-6c8908c3cd1359e50b2b","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show pending progress spinner after submitting bulk update","durationMs":24358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-7267cda84897fc91f6dd","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should update pending changes counter when editing selected columns","durationMs":23538,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-797101ebe2b800c4b2a4","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should select column, open drawer, and verify form fields","durationMs":23730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-8491c672cd59d38141d9","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should show column count for multiple column selection","durationMs":5620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-8b7eb228bf6a6d35884e","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should filter by metadata status and verify API param","durationMs":30768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-94fbdadd8c9d95ead874","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should filter by entity type (Table)","durationMs":10601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-c6b5c6fa386a261c9945","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should cancel selection and disable edit button","durationMs":21076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-c9cf4dffe0aa3ea711bb","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should accept text with spaces in the description field","durationMs":21391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-cef1122673da72e852b8","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should navigate through pages","durationMs":12475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-d2e9a4b29a88686387ab","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should keep latest search results when responses arrive out of order","durationMs":9456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1a7cffc95ce4e87fc41d-da1a0b3fd0cc0e01ed6d","project":"chromium","file":"Features/ColumnBulkOperations.spec.ts","title":"should discard changes when closing drawer without saving","durationMs":26947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-7ff955e7b470d12f6b1f","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve mlFeature description task for MlModel","durationMs":270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-968585514b3da1da4c2e","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve requestSchema field description task","durationMs":766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-9ab19e4c245ad906a5d7","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve responseSchema field description task","durationMs":709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-b59abc2f87ac29cd2972","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve nested field description task for SearchIndex","durationMs":526,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-b8d86ff533deaebb79b9","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve field description task for SearchIndex","durationMs":493,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1bce88623bfa04916f7a-ceff75e902b4028fe53b","project":"chromium","file":"Features/Tasks/TaskNestedFields.spec.ts","title":"should create and approve column description task for DashboardDataModel","durationMs":562,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-088888d65c2c12c7041b","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with EditAll on TEST_CASE resource should not be blocked from bulk edit page","durationMs":11787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-10fd0dc506e83a7ecd02","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer should see export but not import & edit options","durationMs":11961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-12f1201233201134e21a","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should redirect to Table Data Quality tab when canceling table-level bulk edit","durationMs":20137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-219eece6de17e298670b","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to import page from Data Quality tab","durationMs":8929,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-2f5d1810bf9a82344168","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should export test cases from Logical Test Suite page","durationMs":12014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-3514378a10d1a2777e69","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should upload and validate CSV file","durationMs":18740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-4469b1ebd6879db66e32","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with EditAll & ViewAll on TEST_CASE resource should see import, export & edit options","durationMs":14078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-47d1b7b068edeb4ac63a","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward should be blocked from import page","durationMs":5387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-570ebf80af90e61924f8","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer can successfully export test cases","durationMs":14361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-62a7e656fc98846ddce6","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer should be blocked from bulk edit page","durationMs":5801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-6647b28c5e6d51f38b7b","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with ViewAll on TEST_CASE resource can successfully export test cases","durationMs":15311,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-66538490a691fb2cadbe","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should redirect to Test Suite page when canceling bulk edit","durationMs":9897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-6f744fd1e24888ade4df","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Consumer should be blocked from import page","durationMs":5749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-76c7b490768e9355c0d9","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward should see export but not import & edit options","durationMs":12200,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-7ebd62f24bf13648f5fe","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward should be blocked from bulk edit page","durationMs":5314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-8b8f266e0c798fecdbf0","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"Data Steward can successfully export test cases","durationMs":16453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-9aac88cc9731e6741e41","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should show validation errors for invalid CSV","durationMs":9607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-c3b94742e06f23717451","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should redirect to Data Quality page when canceling global bulk edit","durationMs":10479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-c555aec9e622f36a508c","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"User with EditAll on TEST_CASE resource should not be blocked from import page","durationMs":8501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-d3e2ea3896d13e010edd","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should export all test cases from global data quality page","durationMs":11403,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-e074e2a35b2354778e27","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should export test cases from Data Quality tab","durationMs":19333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-e41293a41d782cbfb0c7","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to import page from global data quality page","durationMs":7747,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-f20e9de461c4e6cfadc6","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to bulk edit page from Logical Test Suite page","durationMs":13609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c1beaa6e6bb68455687-f7761c9107599ffa5435","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportBasic.spec.ts","title":"should navigate to import page from Logical Test Suite page","durationMs":5613,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-12fbcb3be55b8e186e07","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"View mode: Review Recognizer Feedback node name and description inputs are disabled","durationMs":5256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-2a092efc916913e5b0b5","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"edit-workflow-button is visible (seeding surfaces a non-NoOp flow with no seeded/API filter)","durationMs":6508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-2c089cb00a3fb9364c46","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"View mode: Reject Feedback node name and description inputs are disabled","durationMs":5587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-348873f71422007f8b5e","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"Edit mode: Apply Feedback (Approved) node name and description inputs are disabled with no Save button","durationMs":5548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-46819f9059ab44ca0d5c","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"View mode: Apply Feedback (Approved) node name and description inputs are disabled","durationMs":5183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-e11f161ef61715502500","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"Edit mode: Review Recognizer Feedback node name and description inputs are disabled with no Save button","durationMs":5237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c7ab79d8ec39285e708-e8ef1142cf01892b8c22","project":"chromium","file":"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","title":"Edit mode: Reject Feedback node name and description inputs are disabled with no Save button","durationMs":5789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1c92ea11fbdb83912957-187cb345e877d27fec02","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Domain: failed and stale transitions retain saved progress and recover","durationMs":8748,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-34c0654d2b2d4d8e76de","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Domain: retry failed loads and saves, reconcile a concurrent edit","durationMs":11321,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-56f771817e2188a71156","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Data Product: failed and stale transitions retain saved progress and recover","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-72f428bc7a9503b26d2d","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Glossary Term: failed and stale transitions retain saved progress and recover","durationMs":10886,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-7d83ddd6318feaf07561","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Metric: guard dirty actions, validate boundaries and reload saved progress","durationMs":11303,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-807cddd7fec96d2ae2aa","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Data Product: guard dirty actions, validate boundaries and reload saved progress","durationMs":13228,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-811afb8484106cd10b8a","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Domain: guard dirty actions, validate boundaries and reload saved progress","durationMs":12029,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-a50698acdba5c49fc3b9","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Metric: delegated EditReviewers permission and minimum-count check","durationMs":15726,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-a63aa662c391f55e5a5c","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Glossary Term: delegated EditReviewers permission and minimum-count check","durationMs":15909,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-a95975bce8edf641bb76","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Metric: failed and stale transitions retain saved progress and recover","durationMs":9870,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-af51e891f7b188f90410","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Metric: retry failed loads and saves, reconcile a concurrent edit","durationMs":8413,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-c7559225854c28d538c4","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Glossary Term: retry failed loads and saves, reconcile a concurrent edit","durationMs":9187,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-ca26db893dc769015d87","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Glossary Term: guard dirty actions, validate boundaries and reload saved progress","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-cf0bf6c202234c172371","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Data Product: delegated EditReviewers permission and minimum-count check","durationMs":17262,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-d0fe93d7b67c76ed5bbd","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Data Product: retry failed loads and saves, reconcile a concurrent edit","durationMs":9913,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1c92ea11fbdb83912957-eaf2716808ce3da763a3","project":"IntakeForm","file":"Pages/OnboardingRecovery.spec.ts","title":"Glossary Term: type, paste, delete and reload multiple synonyms","durationMs":10843,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"1ce96103ecb38ee49d41-081025371a2814b4fb5f","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":11903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-0a4191b4db0efcbae0f8","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":10754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-11ad6728a046d81592e9","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":11287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-16216a857e97288f66c5","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-1d2ca67614bbdde8e805","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13365,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-1ea9821cb6097c0ec98f","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":11768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-20781c678687a66fa68b","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":10918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-20f85fdc0656235f5cf7","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":8499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-2abec9f21a8ea3b2cc4f","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":11757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-2e08b3569bf413a4b41d","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":11621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-2eee0c93c970f8d07682","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":15115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-38553a39450ce7270e88","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":12293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-4f11e50f706352784b6e","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":10290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-5bf28053c2a051ccdfa3","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-693a5a472bbdcd5d7c39","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":8722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-6f03ad71cb5cf3694aeb","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":10852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-70f4e24aa49e1afddd61","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":10901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-75aab610bb32463cf2dd","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-7930c4d3ae24ea30f63c","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":12307,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-7bbb32de38f97fcb06e3","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":17019,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-7d221bdeacd5afefd2ab","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":13121,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-88e41b978ee0ef287d92","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-8db06fd539e01dd3bbaf","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":8591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a1a032a22693be0119e4","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column displayName immediately without refresh","durationMs":12663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a5652ed373875bbfa978","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":9795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a83ffa17458ba063ab54","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-a89c14c356526919c60e","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":9042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-b9b78692b1500d345e57","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":14352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-c458a06a93bfddc93263","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":9939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-cf44adf2e574fb2cbc19","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-cfdcfe160d3952303e12","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":10742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-d1725f195b4f94165c61","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":13665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-d3a1704a85d2cfaf31cd","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":13430,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-d636fe1feb6796f668e6","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should update nested column description immediately without page refresh","durationMs":11916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-f2418d8c375a80d46f69","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":14961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ce96103ecb38ee49d41-fd849b08a1243d3a9494","project":"chromium","file":"Flow/NestedChildrenUpdates.spec.ts","title":"should add and remove tags to nested column immediately without refresh","durationMs":11838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ceb1bff96abee8abc39-80f3f55b370556d0a638","project":"DomainIsolation","file":"Features/DomainIsolation/DomainDropdownIsolation.spec.ts","title":"Admin sees every domain and the All Domains option","durationMs":7893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ceb1bff96abee8abc39-cfe97d75645c1db901ff","project":"DomainIsolation","file":"Features/DomainIsolation/DomainDropdownIsolation.spec.ts","title":"Restricted user sees only their own domains in the navbar dropdown","durationMs":6224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-1965ba5132d65f76b54f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should assign tier from tag assets page context","durationMs":10868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-1f93c23ec60eeb578f8f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit owners from tag assets page context","durationMs":11818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-6551d3f84e4ae3617f7f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit description from tag assets page context","durationMs":11904,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-6d105f08c01f5f945b88","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should open right panel when clicking asset in tag assets page","durationMs":11107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-74d2940c2fb33c358ae0","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should display correct tabs for table entity in tag assets page context","durationMs":10721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-8a7973d64b54fd04b10f","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should display overview tab content in tag assets page context","durationMs":9615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-9193d8183ffaf8094b63","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit tags from tag assets page context","durationMs":12543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-9613819e7989c4a50ea5","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit domain from tag assets page context","durationMs":11407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-c822ef782390b573e856","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should edit glossary terms from tag assets page context","durationMs":11862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-cf6d8d95a859ea58c1be","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Should display entity name link in panel header in tag assets page context","durationMs":10822,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1dfc98d9ffa275f39c23-fc44c04a118fcf119b28","project":"chromium","file":"Pages/TagPageRightPanel.spec.ts","title":"Panel should not be visible before any asset is selected","durationMs":2701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1e7ae5f087867b855c68-48cd403ded8704aa6847","project":"chromium","file":"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","title":"navigates to the entity detail page when the link is clicked","durationMs":12452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1e7ae5f087867b855c68-4dc58e52f2b3ef4ddc40","project":"chromium","file":"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","title":"renders a clickable entity link for instances with a related entity","durationMs":12355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1e7ae5f087867b855c68-50e09093829a8af6a7a5","project":"chromium","file":"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","title":"shows the no-data placeholder for instances without a related entity","durationMs":11008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-0b7d1730a6386f5560c5","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"a non-leaf node count reflects the active Data Assets filter","durationMs":11455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-2cbd0173a43e19a49632","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"selecting a schema keeps the drilled path expanded and highlights it","durationMs":10265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-4062943a54eac71c08c2","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"browsing the tree stacks removable QUERY chips and filters results","durationMs":10671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-50dc1266c26cb8e4ef67","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"the entity-type leaf respects the Data Assets filter (Table hides Columns)","durationMs":12666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-622bb480069d7b96ff7f","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"Glossary leaf under Governance filters the results","durationMs":7894,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-86705f5803eae96f692b","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"drills the database hierarchy down to the Tables and Columns leaves with counts","durationMs":9027,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-94b4249e6fb96c12d2b3","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"service type drill-down disables unrelated roots and query-panel Clear resets it","durationMs":10057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-a705079e6c267810beba","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"selecting the Tables leaf highlights the leaf, not its parent schema","durationMs":9031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-a84cc2d736afdc4a7016","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"Tags leaf under Governance filters the results","durationMs":8040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-f1cb8868b95fbc0f7ce2","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"every result-card breadcrumb links to its hierarchy destination","durationMs":10292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1ecb1fcf553f8b440284-fac7d8785eac504ff222","project":"chromium","file":"Pages/ExploreBrowse.spec.ts","title":"drills a non-database hierarchy (Dashboards) down to the entity-type leaf","durationMs":8130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1f761de977875b0ac365-5f3ed1d5eca7edaa77b7","project":"Basic","file":"Features/TeamsHierarchy.spec.ts","title":"Add teams in hierarchy","durationMs":14285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1f761de977875b0ac365-9f33170dce0c34953135","project":"Basic","file":"Features/TeamsHierarchy.spec.ts","title":"Check hierarchy in Add User page","durationMs":8989,"attempts":1,"retries":0,"outcome":"expected"},{"id":"1f761de977875b0ac365-c663c28071eca27c2f9f","project":"Basic","file":"Features/TeamsHierarchy.spec.ts","title":"Delete Parent Team","durationMs":7725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2001c1c02e517ab398de-49967e402c6c0fbe2572","project":"Basic","file":"Flow/LineageSettings.spec.ts","title":"Verify lineage settings for PipelineViewMode as Edge","durationMs":27871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2001c1c02e517ab398de-79465f7bd5a7cf3d01cc","project":"Basic","file":"Flow/LineageSettings.spec.ts","title":"Verify lineage time filter and tab switch reuse loaded graph","durationMs":10920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2001c1c02e517ab398de-c9abd4818a163664575b","project":"Basic","file":"Flow/LineageSettings.spec.ts","title":"Verify global lineage config","durationMs":37630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-48420345617d1a8ef174","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Resolving incident & re-run pipeline","durationMs":24109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-6defbf65f0f7b32af71a","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Verify filters in Incident Manager's page","durationMs":13194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-77c6d8b0db807c48f0f5","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Rerunning pipeline for an open incident","durationMs":21897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-af5d262d6380615148dc","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Validate Incident Tab in Entity details page","durationMs":7804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"20371b414745b84fa481-d2d654438df91f046bde","project":"Ingestion","file":"Features/IncidentManager.spec.ts","title":"Complete Incident lifecycle with table owner","durationMs":41988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-137a99fe0f15c4a98a02","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Drives Service Spreadsheets Table should have search functionality","durationMs":10694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-25125140ebe405ad916b","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Drives Service Directories Table should have search functionality","durationMs":10086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-4448687b3721cbb49b49","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Stored Procedure Table should have search functionality","durationMs":10547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-5cf93c1909876091f46c","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Database Schema Tables tab should have search functionality","durationMs":11847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-60cfa1796b7b024699b6","project":"chromium","file":"Features/TableSearch.spec.ts","title":"API Collection page should have search functionality","durationMs":9279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-76b22267beb30e6ce153","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Services page should have search functionality","durationMs":9816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-79db68618d5b1154ffa1","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Data Models Table should find data models by displayName","durationMs":10661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-8f0b48ff70e49c23a10c","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Drives Service Files Table should have search functionality","durationMs":10237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-cc7c974eeb90a2ace251","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Data Models Table should have search functionality","durationMs":10304,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-d705aa5a323d4919dc01","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Data Models Table should find data models by mixed-case name","durationMs":12514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"219bf5247ddf993e2ac8-fede3d39c728e9fc5d3b","project":"chromium","file":"Features/TableSearch.spec.ts","title":"Topics Table should have search functionality","durationMs":8823,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-7a5065f335aef4798767","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Multiple rename + update cycles - assets should be preserved","durationMs":36090,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-8268f8edccd6575fc094","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Rename then change owner - assets should be preserved","durationMs":27784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-e6575adf21443f9e4abc","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Rename then update description - assets should be preserved","durationMs":26238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"22036fdb926ee3722bad-f2d0ea7623838b225b12","project":"chromium","file":"Features/DataProductRenameConsolidation.spec.ts","title":"Rename then add tags - assets should be preserved","durationMs":24506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"222fe1e5206cdd75a358-7d5f8774b1fce82284d3","project":"Basic","file":"Features/CronValidations.spec.ts","title":"Validate different cron expressions","durationMs":10557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-3c63e984b9371e4d91c8","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All with Draft filter shows all terms including children of non-matching parents","durationMs":10389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-689fbbe40540b5d50eff","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All with default filter shows all terms","durationMs":8943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-b0971994404c76b9db78","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All shows all children regardless of status filter","durationMs":10787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"228158f5b924c0adbd50-b5a7414e2cf53479e246","project":"chromium","file":"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","title":"Expand All with Approved filter shows all terms","durationMs":10302,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2385db9fde781bb59544-ac35955bbae6a48adf8c","project":"chromium","file":"Features/IncidentManagerPagination.spec.ts","title":"Page size dropdown updates list limit and resets to page 1","durationMs":9095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2385db9fde781bb59544-fd49dbad03ff26fc50b3","project":"chromium","file":"Features/IncidentManagerPagination.spec.ts","title":"Next, Previous and page indicator","durationMs":5960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-064c76de14054d025202","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> apiEndpoint","durationMs":49507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-0d9bbd826523da4a8f43","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> apiEndpoint","durationMs":46435,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-0f02f3b748ae134173df","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> table","durationMs":49480,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-13cc491cb5ca92a3ab0c","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - File","durationMs":148864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-14b2454310f82a3c0843","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> searchIndex","durationMs":41186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-16eca21baf156dbcf4a0","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> apiEndpoint","durationMs":56287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-18358f8facc6b4296831","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Spreadsheet","durationMs":197172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-1e0430cd28c2c8054cfa","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"should render temp lineage table nodes on canvas","durationMs":8220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-21ce9dbac82c26a63b8f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify validation for invalid depth","durationMs":8820,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-27638ce37ef6999a284b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> dashboard","durationMs":42098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-2b7f46364906eadbe405","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> mlModel","durationMs":47397,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-2d3070c5aa20d0e6b1a8","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Mlmodel","durationMs":167133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-2e4b6ec4efa6124ddd72","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Dashboard","durationMs":189877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3002f790005cb7ba6c34","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> dashboard","durationMs":41215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3278ea25b8daecaafd8c","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> dashboardDataModel","durationMs":45140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3352b05fd95f5a0fb235","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> container","durationMs":43734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-33ae36b1fd82757cf284","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> mlModel","durationMs":53172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-34679292daa52dbac8ea","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> container","durationMs":51785,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3608f98e2232fd6df0d8","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> mlModel","durationMs":44659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-376d116700017793d718","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> table","durationMs":50784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3f62ca7c8be0ab85c351","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> container","durationMs":44803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-3fe7b58036a4a2125b1d","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Topic","durationMs":186243,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-40413374e8b581e88eac","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> dashboard","durationMs":42853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-48e22825f7eae0f3f29e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> container","durationMs":46560,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-49a209210dc5932f5be4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify opening config modal","durationMs":6742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-4bbf4f6c6dd680998645","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> table","durationMs":39671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-4c982c2809b69bbd1a2e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> searchIndex","durationMs":45233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-4fe8582f7af9544ed9ec","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> dashboardDataModel","durationMs":51149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5295edf4c7e15940f709","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> topic","durationMs":50537,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5a8d6ed8c112615ed27e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> dashboardDataModel","durationMs":41543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5ae6ed5a7ee2578ac818","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> apiEndpoint","durationMs":49845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-5e542cc97152d8d0705f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> dashboardDataModel","durationMs":48918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6241640d58a39cee5537","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> searchIndex","durationMs":32659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6455912558e4fffeac0e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> container","durationMs":40399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-69c142e64207aaa0a94f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> table","durationMs":32314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-69c9ae55c31c1431989e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify column layer is applied on entering edit mode","durationMs":15631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6de016ff06d3e247fd60","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Table","durationMs":197389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-6f9687cfb5ff37d4c970","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> topic","durationMs":49143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-71053c4836b2f2c2bab7","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> topic","durationMs":41028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-74f9f044f9d408f8b511","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Data Model","durationMs":207996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-75b8c3ece17cc1e26d1b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> topic","durationMs":50829,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-77f07e78b114d7e380a6","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> topic","durationMs":46422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-7818a3c39c2e3d1ab93e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Worksheet","durationMs":194348,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-7d446a8e5d1ae09b69ec","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Container","durationMs":208378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-822e290d4cae6826f11b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> dashboardDataModel","durationMs":52875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-84a4f88be0b0883d0548","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> searchIndex","durationMs":31707,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-86837102759c8b88c7ee","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> mlModel","durationMs":49263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-8a4216c454f70b116882","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> apiEndpoint","durationMs":38333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-8fc92b51471bd08b5ee2","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> apiEndpoint","durationMs":40730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-902d02b5e1addc6fbcc4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> searchIndex","durationMs":54273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-904f3f185881ee29c575","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Pipeline","durationMs":169575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-924a8f8064c2cb3d0f90","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> container","durationMs":50343,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-95a4a55f764426dfa3a9","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> table","durationMs":49835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-9607caba24e30eadfc51","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> topic","durationMs":35407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-9751a8c99a2653f2aa30","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Search Index","durationMs":200956,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-9b4c4e7691752df4be4a","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> dashboard","durationMs":48077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-a026fb430f338403d586","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> table","durationMs":47655,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-a81da11d3e68f71662af","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> table","durationMs":50140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-a93a5af92da1405c4d6b","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> dashboardDataModel","durationMs":50702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-b1bf9ca4eb8f2934bcf2","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify there is no traced nodes and columns on exiting edit mode","durationMs":10828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-b236ad548d05490edec9","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> dashboardDataModel","durationMs":49292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-b8b8c397dd2d10aef2ed","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> dashboard","durationMs":59293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-bf398b163b9ef3139ff4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> container","durationMs":47482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-bf4451a64295a0504826","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Directory","durationMs":200547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c0636255e8b026bb90ee","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> mlModel","durationMs":49993,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c3a968d05e03db815c90","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> container","durationMs":54640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c711e248c5afd84bbb51","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> dashboardDataModel","durationMs":154580,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"260a9e5977a8ba3ec78b-c7287b311547d884a060","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> dashboard","durationMs":53283,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c7e215f258b4cd2440ff","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> mlModel","durationMs":55399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-c7e39beb095c4acf268f","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> apiEndpoint","durationMs":54527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ccd10903aa517591cbeb","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for mlModel -> dashboard","durationMs":51341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-cd31152efe795b3feee3","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for apiEndpoint -> mlModel","durationMs":46693,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-d161a00652e6b794a397","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for searchIndex -> apiEndpoint","durationMs":50598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-d4f051fa41ede4629590","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> topic","durationMs":55237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-d6dd53d462492cf5c9fd","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboard -> table","durationMs":47492,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-dace76fe5d6fd2759124","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> dashboard","durationMs":48422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-e64fffa15e978be71af6","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for container -> mlModel","durationMs":49204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ea05741da3a8f6c58340","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> topic","durationMs":49372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-efddc2fb2b825c20769e","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for topic -> searchIndex","durationMs":54256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-f170cfec3b7f57bec7f5","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for table -> searchIndex","durationMs":50819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-f98474a8fa60fbf4ca6a","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Stored Procedure","durationMs":195040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-f996fdec580d71b0adef","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Column lineage for dashboardDataModel -> searchIndex","durationMs":36944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-fecafeaa4ce3edd1b3c4","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"Verify updating depth configuration","durationMs":8731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ff9ebdfc07b8ba7d3850","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Metric","durationMs":171368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"260a9e5977a8ba3ec78b-ffb10f915aca070503ee","project":"chromium","file":"Pages/Lineage/DataAssetLineage.spec.ts","title":"verify create lineage for entity - Api Endpoint","durationMs":166590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"265968562dab11101b36-37daa773ced9fd7bf0ec","project":"Reindex","file":"Features/DataQuality/TestCaseStatusAfterReindex.spec.ts","title":"Test case status survives a full entity reindex","durationMs":4003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"26611e95fed0ca4ab3e1-78c7a95661587119e576","project":"chromium","file":"Features/ExploreQueryBar.spec.ts","title":"query bar is persistent and shows the browse placeholder when empty","durationMs":6131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"26611e95fed0ca4ab3e1-b1aa54afdc73b54d2452","project":"chromium","file":"Features/ExploreQueryBar.spec.ts","title":"selecting an asset type grays out incompatible tree categories","durationMs":10941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"26611e95fed0ca4ab3e1-e2061d62ce11ee960ccb","project":"chromium","file":"Features/ExploreQueryBar.spec.ts","title":"filter survives a tree click and both stack as removable chips","durationMs":17809,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-163d094c41184126f1f2","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"cardinality map is populated by default","durationMs":7617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-5092a35ee021c09dd939","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"unconstrained MANY_TO_MANY relation type should omit endpoint labels","durationMs":7931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-6aec5399a49779de077c","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"stats reflect the cardinality-typed edges in the relation count","durationMs":6773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-9c3d277f409e713a7a9b","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"unconstrained built-in relation type omits endpoint labels","durationMs":7892,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-ba9cdadf9cd6dc90ac31","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"graph renders without error when cardinality relation types are active","durationMs":8233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-c70577c08249b8d9c3c0","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"CUSTOM relation type with sourceMax=1 and no targetMax should produce \"M\" → \"1\"","durationMs":7750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-cf6de7a836a42d2ea8a8","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"ONE_TO_ONE relation type should have label \"1\" on both ends","durationMs":7922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-e1b732ae56c3114e2807","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"ONE_TO_MANY relation type should have \"1\" at source and \"M\" at target","durationMs":7972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-f9ca1f2abcc2eedfbc34","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"MANY_TO_ONE relation type should have \"M\" at source and \"1\" at target","durationMs":7925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2670a3074448d0ba887b-fdfe539794cb79474fb6","project":"chromium","file":"Features/OntologyStudioCardinality.spec.ts","title":"edges for cardinality-typed relations appear in the graph edge data","durationMs":7950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"27048049e118f657f450-24951d56e8cd5d4b8308","project":"DomainIsolation","file":"Features/DomainIsolation/DomainSearchIsolation.spec.ts","title":"userA finds tenantA and domainless tables but not tenantB","durationMs":3949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"27048049e118f657f450-ad87b762a7e4e02c372b","project":"DomainIsolation","file":"Features/DomainIsolation/DomainSearchIsolation.spec.ts","title":"admin finds tables from both tenants","durationMs":4057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"27048049e118f657f450-c663e9f8f53d1aa53eba","project":"DomainIsolation","file":"Features/DomainIsolation/DomainSearchIsolation.spec.ts","title":"userB finds tenantB and domainless tables but not tenantA","durationMs":4096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"281c15345384604a0b9f-5e289bddf5fb4d98b73c","project":"chromium","file":"Pages/TaskFormSettings.spec.ts","title":"creates and updates a task form schema from settings","durationMs":22763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"281c15345384604a0b9f-b6e254ef505635b44b37","project":"chromium","file":"Pages/TaskFormSettings.spec.ts","title":"loads built-in tag suggestion schema in the visual designer","durationMs":12763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2824251716383e5d36e7-2060084764dd7ff53518","project":"chromium","file":"Pages/EditClassification.spec.ts","title":"Edit a user classification from the manage button","durationMs":14461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2824251716383e5d36e7-a00456cc1a9c0dc1352f","project":"chromium","file":"Pages/EditClassification.spec.ts","title":"System classification name is disabled in the edit drawer","durationMs":15566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28a5e8d47dd39a15b905-bff1a99ffc922deb45bc","project":"Basic","file":"Pages/DataMarketplacePermissions.spec.ts","title":"Admin sees add buttons and customize button","durationMs":5120,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28a5e8d47dd39a15b905-c1e99a61cbaee27a3291","project":"Basic","file":"Pages/DataMarketplacePermissions.spec.ts","title":"Data consumer does NOT see add buttons","durationMs":7003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28dfe7a0de9ed4705a0e-05876c29593dba931db0","project":"chromium","file":"Features/Glossary/GlossaryVoting.spec.ts","title":"should upvote, downvote, and remove vote on glossary","durationMs":12497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28dfe7a0de9ed4705a0e-99e8ed1d5f5e1d0f3445","project":"chromium","file":"Features/Glossary/GlossaryVoting.spec.ts","title":"should persist vote after page reload","durationMs":16631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"28dfe7a0de9ed4705a0e-c3e1cb2ae49780d2d5af","project":"chromium","file":"Features/Glossary/GlossaryVoting.spec.ts","title":"should upvote, downvote, and remove vote on glossary term","durationMs":14012,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-01fa65289fdf7772d19a","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Warning shown when removing asset that is also an output port","durationMs":8615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-069bf1431194facaaaf2","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add single output port","durationMs":10223,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-09afee46c87e2c0c5306","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage displays input and output ports","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-11bbd39747f89aaae32c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Remove last port shows empty state","durationMs":14346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-14e8ceea3982385db337","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Tab displays correct port counts","durationMs":9417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-174d16335a712ce9a332","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage controls work","durationMs":10418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-1c9f8da89ee745c9cdca","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output port drawer quick filter - behaviour matrix","durationMs":15585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-21e7b442b2a6c36c89bd","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Tab renders with empty state when no ports exist","durationMs":8786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-3a74fad72d2d54a8e468","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"No warning when data product has no output ports","durationMs":9814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-3d3e7086548e88c3849a","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port drawer quick filter - behaviour matrix","durationMs":16114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-479038eb5f8430331d00","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output ports list displays entity cards","durationMs":8936,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-568c9f18724fb22d5c00","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage with only output ports","durationMs":10193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-5872d10a29e1a2d4b052","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output port drawer shows info banner about data product assets","durationMs":10722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-599f62d906523734a071","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input ports list pagination","durationMs":9837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-623807bc4cef3c742778","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Remove single output port","durationMs":13922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-63e50a82f75c0228edce","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add different entity types as ports","durationMs":19215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-68ed4c25507e6cadedf7","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Cancel adding port","durationMs":10251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-6b0f41ca117d5b0956bb","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add multiple input ports at once","durationMs":15020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-72f0804125828c6f149c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output port drawer only shows data product assets","durationMs":11415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-733ae742a4ce02354d12","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage displays data product center node","durationMs":9952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-79a2f83588f41a76de4c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage loads on expand","durationMs":9357,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-819607994bef4b006508","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage section collapse/expand","durationMs":7275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-8aeba85897967d48c777","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Exit fullscreen with button","durationMs":10608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-94ae8a7689822d8918e3","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage with only input ports","durationMs":9433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-9b8cedfbb43e6bd23630","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input ports section collapse/expand","durationMs":8908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-a73ed6ab8a060722d7d5","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port drawer shows assets from outside data product","durationMs":11671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b1527c09bef737ec3c9e","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Port action dropdown visible with EditAll permission","durationMs":8456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b3dd87c04273c0020ea9","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Multiple sections can be collapsed independently","durationMs":9536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b4817323e9d164afc510","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add single input port","durationMs":12418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-b5c149038668b3f7479f","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port drawer does not show info banner","durationMs":9147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-c7afe91593115b6d8e4c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Toggle fullscreen mode","durationMs":9694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-d220e4be7b73acd6cf5c","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"No warning when removing asset that is NOT an output port","durationMs":9991,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-d54c0a93937f198e079e","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Lineage section is collapsed by default","durationMs":9029,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-d9854a7ec2e3f18edc97","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Bulk delete shows warning listing only assets in output ports","durationMs":9654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-ddaf39a4e6d62adc4e31","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Exit fullscreen with Escape key","durationMs":9509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-ddb0e52df0f2bb65f38b","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Output ports section collapse/expand","durationMs":10164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-e631fe73e88dac5cda61","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Cancel port removal","durationMs":10492,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-e70c9d333f1aebdbede6","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input port button visible, output port button hidden when no assets","durationMs":9939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-e8229144fe684928d7de","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Add input port from asset not in data product","durationMs":11825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-ee7e0ca8a849e28a74bf","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Input ports list displays entity cards","durationMs":10255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-f04ff612f7841b2c6dcf","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Fullscreen lineage is interactive","durationMs":8941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-f0887c631c4e55ebf462","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Removing asset from data product also removes it from output ports","durationMs":12152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"29d4e0f3d05ee7ab11db-f1ce0182791a75fb7ddd","project":"chromium","file":"Pages/InputOutputPorts.spec.ts","title":"Remove single input port","durationMs":10658,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-3c1aaf6e29997cd9b74d","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create and approve entity-level description task for Container","durationMs":361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-c3d9df18c364056c0ec0","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create and approve dataModel column description task for Container","durationMs":592,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-cf8c6964fbe2bb99e5b4","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create DomainUpdate task for Container","durationMs":391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-e777ffbc4ddc1cfbc9ac","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create TierUpdate task for Container","durationMs":232,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad3d86ca94d03ac7cb5-ed5bd6cb911fba4657f4","project":"chromium","file":"Features/Tasks/TaskContainerEntity.spec.ts","title":"should create OwnershipUpdate task for Container","durationMs":927,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-3536acf272fc1235a483","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"KPI Widget","durationMs":59664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-39b17deca4f99ff79e80","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Data Products Widget","durationMs":51417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-595be3cd2493a7346dea","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Domains Widget","durationMs":62061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-7e3c2324ccd07d25501a","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Total Data Assets Widget","durationMs":34337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-833499f6d2acc671ad5b","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Activity Feed Widget","durationMs":44164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-8b144a6bf607ae7fadd9","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Following Assets Widget","durationMs":74030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-a3157898561d06d43bc0","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"Data Assets Widget","durationMs":39874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-c0a4574b273caeb431b5","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"My Tasks Widget","durationMs":64076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2ad9a40f0bef94e8eb21-e084e4a872d20a615bbf","project":"chromium","file":"Flow/CustomizeWidgets.spec.ts","title":"My Data Widget","durationMs":41690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2c508ade7638f8bcccac-e7c9382107a42d661bbc","project":"chromium","file":"Flow/MetricSearch.spec.ts","title":"searching for a metric with a long multi-word name should not cause clause explosion","durationMs":6774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-2c9621778a08fadbc834","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit Revert Changes restores all rows to NO_CHANGE","durationMs":21891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-4156e62dca8bfb5afec0","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit shows NO_CHANGE badge and OperationSummary on unmodified rows","durationMs":20721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-88e75e085e61e8618e6a","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit shows UPDATE badge and increments summary after editing a cell","durationMs":21173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-9b4ef19a6cb0199bf241","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Glossary bulk edit search filters rows and clear restores them","durationMs":18883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-b0ff6e9dd7c295b37f2c","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Database service bulk edit search filters rows and clear restores them","durationMs":20061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2d5458d5effed0092e57-b68f427de8c7c4e4c036","project":"chromium","file":"Features/BulkEditOperationBadges.spec.ts","title":"Database service bulk edit shows NO_CHANGE badge and OperationSummary for all rows","durationMs":21712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-2e044196af23fd48fdb4","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"user classification manage button offers import and export","durationMs":7791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-4f3b6cc72a2fda7d5a29","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"import navigates to the classification bulk import page","durationMs":8162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-9fd61b128204fb745bce","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"export starts a CSV export job for the classification","durationMs":13863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e2ae97a273e06dabcb8-ae24fdaf98f5050cc28f","project":"ImportExport","file":"Features/ClassificationImportExport.spec.ts","title":"system classification hides import and export","durationMs":6506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e6c9afba330c97d50b5-1e20636ea4cdf2691c93","project":"chromium","file":"Features/Permissions/DataProductPermissions.spec.ts","title":"Data Product deny operations","durationMs":23410,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e6c9afba330c97d50b5-286bfa812828f22999ee","project":"chromium","file":"Features/Permissions/DataProductPermissions.spec.ts","title":"Data Product expert can edit data product details","durationMs":17719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2e6c9afba330c97d50b5-f81d384daa402484ac75","project":"chromium","file":"Features/Permissions/DataProductPermissions.spec.ts","title":"Data Product allow operations","durationMs":25217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"2f3ad51ddbdcab4a2a2b-0084dea86addabfd83fa","project":"chromium","file":"Features/StoredProcedureServiceBulkFetch.spec.ts","title":"Stored procedure carries service via the bulk field path even when service is not requested","durationMs":499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30237b3a00cd0fa9b72a-acd0640f861e051504ef","project":"chromium","file":"Features/ColumnBulkOperationsTagsGlossary.spec.ts","title":"should select a glossary term from the tree dropdown inside the drawer","durationMs":26999,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30237b3a00cd0fa9b72a-acde5114dfcdd1395bed","project":"chromium","file":"Features/ColumnBulkOperationsTagsGlossary.spec.ts","title":"should select a classification tag from the dropdown inside the drawer","durationMs":27229,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30263b4dc5f93c4f7d25-1d50e07d9894b470896a","project":"chromium","file":"Features/SampleDataDomainDataProduct.spec.ts","title":"Verify TestDataProduct shows correct details and domain association","durationMs":11595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30263b4dc5f93c4f7d25-5c8b64d664628e73b5fb","project":"chromium","file":"Features/SampleDataDomainDataProduct.spec.ts","title":"Verify TestDataProduct exists under TestDomain","durationMs":9657,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30263b4dc5f93c4f7d25-d7f88ea8c2c406af471f","project":"chromium","file":"Features/SampleDataDomainDataProduct.spec.ts","title":"Verify TestDomain exists from sample data ingestion","durationMs":11188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"30fe03f56c8634b423b8-01bd25935cd715188169","project":"chromium","file":"Features/ServiceAgentsPauseResume.spec.ts","title":"should offer pause for an enabled agent and resume in disabled state","durationMs":5079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310213acbd422d208ae5-167f8d8a1b921415200c","project":"SystemCertificationTags","file":"Features/SystemCertificationTags.spec.ts","title":"should NOT show disabled system certification tag in dropdown","durationMs":6456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310213acbd422d208ae5-41471524fd79dda135f9","project":"SystemCertificationTags","file":"Features/SystemCertificationTags.spec.ts","title":"should show certifications after re-enabling classification","durationMs":11534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310213acbd422d208ae5-4a0f943642b77501695f","project":"SystemCertificationTags","file":"Features/SystemCertificationTags.spec.ts","title":"should NOT show any system certification tags when classification is disabled","durationMs":5875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"310e18732f67aa79fd0a-03521297c9f4ea1e1418","project":"IntakeForm","file":"Pages/OnboardingCreation.spec.ts","title":"Data Product: non-admin creation blocks missing requirements and queues later work","durationMs":13265,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"310e18732f67aa79fd0a-77e628b2b5ef4c3ec03f","project":"IntakeForm","file":"Pages/OnboardingCreation.spec.ts","title":"Glossary Term: non-admin creation blocks missing requirements and queues later work","durationMs":10918,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"310e18732f67aa79fd0a-8236d71a516a7d47b6c4","project":"IntakeForm","file":"Pages/OnboardingCreation.spec.ts","title":"Domain: non-admin creation blocks missing requirements and queues later work","durationMs":13885,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"310e18732f67aa79fd0a-925212e0e5a3e73e6171","project":"IntakeForm","file":"Pages/OnboardingCreation.spec.ts","title":"Metric: non-admin creation blocks missing requirements and queues later work","durationMs":12226,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"3117e9587f58f0653c4e-22b545a43b2d863af043","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"shows how tier and usage signals moved an exact table match","durationMs":5810,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-2e816677f2966a225842","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"returns ranking stage matched queries without explain","durationMs":2657,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-4f1c38196e1dd547eb09","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"shows configurable ranking stages in table search settings","durationMs":5404,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-5a015d2e8f981f75b56f","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks customer and customers identity matches before high-signal description matches","durationMs":3271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-998bd319d41b5fa9c78a","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks customer profile name and column matches before high-signal description matches","durationMs":3104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-a8021c129685daf99088","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"finds customer profiles fixtures across searchable asset indexes","durationMs":3018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-b3d869d6c65350419260","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"finds provider address texas fixtures across searchable asset indexes","durationMs":3118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-c4074fe750ef0ac6936d","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks clear provider address intent above weak high-signal description matches with stopwords","durationMs":3003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-e859181cb88056deb9a4","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"toggles ranking details in search settings preview","durationMs":6969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-f250e708b05339783d84","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"shows readable ranking details for exact table matches","durationMs":6380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3117e9587f58f0653c4e-f74d3a290f5428946864","project":"search-nightly","file":"Search/SearchRelevance.spec.ts","title":"ranks name and structural table matches before tier and usage description matches","durationMs":3183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3181935147491aeb55f0-6a8fd0caa84eae7db16f","project":"Ingestion","file":"Features/FailedTestCaseSampleData.spec.ts","title":"FailedTestCaseSampleData","durationMs":8942,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3181935147491aeb55f0-96858048143c07e8fbee","project":"Ingestion","file":"Features/FailedTestCaseSampleData.spec.ts","title":"gates the sample fetch on failed status","durationMs":5964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"31a87c9b2485f1aec7b5-6e697bb7c08c009f3229","project":"Reindex","file":"Features/SearchSeparation/GlossaryRenamePrefixCascade.spec.ts","title":"glossary-term prefix rename keeps linked asset glossary tag consistent","durationMs":1388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-3cef86380e36f0a03159","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Dimension card click should redirect to test cases with applied filters","durationMs":55524,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-3e3ac21dbb78b79b542a","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Tier filter sends tier.tagFQN field in ES query (not tags.tagFQN)","durationMs":7977,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-448cbb52313be9ec70b3","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Dashboard batches all report aggregations into one request (no N+1)","durationMs":6277,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-4497b8a31a310cc90f24","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Tag filter sends tags.tagFQN field in ES query","durationMs":7491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-52bdc43c7c7c66f92d3e","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Entity Health pie chart segment click redirects to Test Cases with correct status","durationMs":8375,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-67e3603da89d1d13dddf","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"DataQualityDashboardTab","durationMs":33717,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-7b1536150d3100c7a16b","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Test Cases list filter — Data Product","durationMs":8963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-8b76300bfab3a0c4b5ab","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Data Assets Coverage pie chart segment click redirects to Test Suites and Explore","durationMs":14127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-9b9e4b3fa500f737bb52","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Tier and Tag filters produce independent ES filter clauses","durationMs":9199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-d086e0bed7cc7831c38b","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Test Case Result pie chart segment click redirects to Test Cases with correct status","durationMs":23198,"attempts":1,"retries":0,"outcome":"expected"},{"id":"320716241c332b3d939a-d7eb33e1ed4ca47318bd","project":"chromium","file":"Features/DataQuality/DataQualityDashboard.spec.ts","title":"Reopen resolved incident in place from the Test Case page","durationMs":9395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-0c9296a2b4c0efff016f","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"max assets input clamps values above 1000 for preloaded rules","durationMs":12670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-15ab7c92e6cc4e9e698e","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"Persona AI Context — Rule CRUD: empty state → create → edit → delete","durationMs":17605,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-9c3f02d123ada83d2aeb","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"changing entity type clears an incomplete filter and unblocks save","durationMs":17195,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-e0fd56c870d3159d545e","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"incomplete condition (no field selected) blocks save with an error message","durationMs":15960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-ee9d29fa394f102ef3d7","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"fully-completed Description Contains condition allows save — regression #31564","durationMs":16828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-f48f2b0c4ab37b0281ce","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"duplicate rule name is rejected with a validation error","durationMs":17385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"325992278c5916a61142-fc51d001d91cc85c0f14","project":"chromium","file":"Features/PersonaAIContextRules.spec.ts","title":"Always in context and Fully rendered toggles are visible and interactable","durationMs":14440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-11614026b8dde22a8254","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Search Data Products","durationMs":9543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-1458cccf2156100ad999","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Create data product with tags using TagSuggestion","durationMs":15183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-6fa7bf28459032ee3dc8","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Pagination","durationMs":15841,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-b46995b607c673d5399f","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Empty State - No Data Products","durationMs":10203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-b61a7bbd7a47b1fd89c2","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Data Product — Data Observability tab","durationMs":13343,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-bed8c16cc4258729a678","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Create Data Product and Manage Assets","durationMs":26809,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-ca3fcd97cc2fd4b90fce","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Data Product List Page - Initial Load","durationMs":9883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-d475230b6e62375a3ff9","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"Data Product - Follow/Unfollow","durationMs":14329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"333d3a17ff58588f3f24-e497da6ffe895e87458b","project":"chromium","file":"Pages/DataProducts.spec.ts","title":"View Toggle - Table and Card Views","durationMs":11384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"34ff05d08ca8430be530-7957ae01d3fc1a5e71d8","project":"chromium","file":"Features/AppMode/AppModeAiPersonaLandsAtRoot.spec.ts","title":"AI-preferring persona lands at \"/\", not \"/my-data\"","durationMs":19029,"attempts":1,"retries":0,"outcome":"expected"},{"id":"386c5e2a979bf842b774-be875acf813e1ecae98e","project":"chromium","file":"Features/SearchIndexNestedColumns.spec.ts","title":"oversized deeply nested column indexes and an in-limit column name is searchable","durationMs":5714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-1e3f50160ad418e033c4","project":"chromium","file":"Pages/Users.spec.ts","title":"Token generation & revocation for Data Steward","durationMs":12609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-25c1589afdcf05b3f9cc","project":"chromium","file":"Pages/Users.spec.ts","title":"Should switch personas correctly","durationMs":8226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-28a4af5feb386d2eb3bf","project":"chromium","file":"Pages/Users.spec.ts","title":"Update own admin details","durationMs":13133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-40bc5d16474bd567fec7","project":"chromium","file":"Pages/Users.spec.ts","title":"Should add, remove, and navigate to persona pages for Default Persona section","durationMs":16749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-4e844addc2d7deb18855","project":"chromium","file":"Pages/Users.spec.ts","title":"Should display persona dropdown with pagination","durationMs":7410,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-55e153f9ef4db1972ec7","project":"chromium","file":"Pages/Users.spec.ts","title":"Permissions for table details page for Data Consumer","durationMs":10648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-8831dc2085f1fc122b29","project":"chromium","file":"Pages/Users.spec.ts","title":"Should add, remove, and navigate to persona pages for Personas section","durationMs":14684,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-90526ec56b570b377292","project":"chromium","file":"Pages/Users.spec.ts","title":"Create and Delete user","durationMs":19849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-9290e51e5e0501556ac1","project":"chromium","file":"Pages/Users.spec.ts","title":"Close the profile dropdown after redirecting to user profile page","durationMs":11421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-92ef91e72262b1cb927e","project":"chromium","file":"Pages/Users.spec.ts","title":"Should navigate to user profile from feed card avatar click","durationMs":13000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-998cbbc9b801f03b3159","project":"chromium","file":"Pages/Users.spec.ts","title":"Reset Password for Data Steward","durationMs":21643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-a075ce3908b993c98ad0","project":"chromium","file":"Pages/Users.spec.ts","title":"Should handle default persona change and removal correctly","durationMs":22779,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-a67e6de8eaa1bac9ba4c","project":"chromium","file":"Pages/Users.spec.ts","title":"Check permissions for Data Steward","durationMs":23345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-b006556d31479323998d","project":"chromium","file":"Pages/Users.spec.ts","title":"Should display default persona tag correctly","durationMs":5960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-ba6d0e4506a5b495f489","project":"chromium","file":"Pages/Users.spec.ts","title":"User Performance across different entities pages","durationMs":100174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-bb7e1f324e137b23fc91","project":"chromium","file":"Pages/Users.spec.ts","title":"Should handle persona sorting correctly","durationMs":6139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-c477ab434b58b5c1462a","project":"chromium","file":"Pages/Users.spec.ts","title":"User should have only view permission for glossary and tags for Data Consumer","durationMs":9926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-cb98769927a83a764470","project":"chromium","file":"Pages/Users.spec.ts","title":"Admin soft & hard delete and restore user","durationMs":19403,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-d3b9e560fd6791c5dbf1","project":"chromium","file":"Pages/Users.spec.ts","title":"Update user details for Data Consumer","durationMs":11240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-d753e04c92cfcfde4334","project":"chromium","file":"Pages/Users.spec.ts","title":"Admin is searchable by email","durationMs":10800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-dcb103b18bbe8e8861ab","project":"chromium","file":"Pages/Users.spec.ts","title":"Token generation & revocation for Data Consumer","durationMs":9156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-e004aa852f1f5c14efb7","project":"chromium","file":"Pages/Users.spec.ts","title":"Reset Password for Data Consumer","durationMs":19575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-e28e9e6eefdde1da98c0","project":"chromium","file":"Pages/Users.spec.ts","title":"Update user details for Data Steward","durationMs":14014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-e61829517b764558d9be","project":"chromium","file":"Pages/Users.spec.ts","title":"Update token expiration for Data Steward","durationMs":21488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-f34104f9785f64f73e81","project":"chromium","file":"Pages/Users.spec.ts","title":"Operations for settings page for Data Steward","durationMs":21204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-f3a2c3c86e3d09c3dd16","project":"chromium","file":"Pages/Users.spec.ts","title":"Operations for settings page for Data Consumer","durationMs":13911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-f64b8f345910b62363a5","project":"chromium","file":"Pages/Users.spec.ts","title":"Update token expiration for Data Consumer","durationMs":14976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"391bbea418bb3322b4c3-faece1be3db817778a7a","project":"chromium","file":"Pages/Users.spec.ts","title":"Admin soft & hard delete and restore user from profile page","durationMs":17313,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-4739ff2084f3c8e98727","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should not allow dragging term to itself","durationMs":12701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-6737551753852bc1cbf3","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should delete term and remove tag from assets","durationMs":32920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-771c51350f220ab003ef","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should delete glossary and remove tags from assets","durationMs":30177,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-e9b4d20d3effa0991571","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should update child FQN when parent is renamed","durationMs":17530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39a15eaa26884810efef-f046ff3d00fbffbac1c2","project":"chromium","file":"Features/Glossary/GlossaryMiscOperations.spec.ts","title":"should delete parent term and remove both parent and child tags from assets","durationMs":53297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39f85eca53b00497835e-5795cfec5f514c0dff0a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":36346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"39f85eca53b00497835e-b9d0e082fb7768ae4703","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":34758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ad4640070d5961c7c42-05478b9d61b72188049f","project":"IntakeForm","file":"Pages/OnboardingFields.spec.ts","title":"Metric: team member completes a conditional custom property through the saved journey","durationMs":9045,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"3ad4640070d5961c7c42-382a525d7e17f9a17b4f","project":"IntakeForm","file":"Pages/OnboardingFields.spec.ts","title":"Metric: a glossary-only editor can add a term while preserving protected classification tags","durationMs":12312,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"3ad4640070d5961c7c42-4deee790c9eb0be17bae","project":"IntakeForm","file":"Pages/OnboardingFields.spec.ts","title":"Metric: a domain owner sees and completes the domain-assigned check","durationMs":8257,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"3ad4640070d5961c7c42-aa39915951f3f7c9cf11","project":"IntakeForm","file":"Pages/OnboardingFields.spec.ts","title":"Metric: saving expression code preserves its language and survives reload","durationMs":8930,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"3bb3cddb781451bf98b7-05d0755a10ff7ca86a72","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Search suggestions should be filtered by selected domain","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-106885a3b01e4c2164f2","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain assets tab should NOT show assets from other domains","durationMs":15310,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-107b97cfdd17a1b2e998","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain Data Products tab should NOT show data products from other domains","durationMs":12728,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-2df699eabe74a18aae7b","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain filter should use exact match and prefix with dot to prevent false positives","durationMs":22389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-457e576ead0d5e94d5f8","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Subdomain assets should be visible when parent domain is selected","durationMs":21700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-4cecbd70fae32cde1afd","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Quick filters should persist when domain filter is applied and cleared","durationMs":53926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-4f11dba00d75a16f9ce4","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain page assets tab should show only domain assets","durationMs":15986,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-57e135a57c2400ac872d","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain filter should persist across page navigation","durationMs":22746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-85fa806fabef9e541f8b","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Assets from selected domain should be visible in explore page","durationMs":24210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-a56e2714819093d7a60f","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Domain filter should work with different asset types","durationMs":19021,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-b501db7d91aa446ad715","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Multi-nested domain hierarchy: filters should scope correctly at every level","durationMs":44033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-cfe1941aeddc2a8aedf3","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"3-level domain hierarchy: SubSubDomain assets visible when SubDomain selected","durationMs":23186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3bb3cddb781451bf98b7-f757f1d04644bb85b32d","project":"chromium","file":"Features/DomainFilterQueryFilter.spec.ts","title":"Queries should inherit every associated table domain","durationMs":33462,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3d714cb874dd7d8d1332-864a1c3f662a3a46b0a2","project":"Ingestion","file":"Pages/HealthCheck.spec.ts","title":"All 5 checks should be successful","durationMs":3221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-1d51ace7c2b9cb0cfb30","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Related Metrics Update","durationMs":12042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-4debf93e2d3cfddfb567","project":"Basic","file":"Flow/Metric.spec.ts","title":"verify metric expression update","durationMs":12236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-50df1fa23ff9349409a6","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Metric Type Update","durationMs":11183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-7fda60583e5879af3268","project":"Basic","file":"Flow/Metric.spec.ts","title":"Dimensions and measures render and description is editable","durationMs":11895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-9acc6f2fc61d63d42017","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Granularity Update","durationMs":11018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-ceb78708ef9d141055da","project":"Basic","file":"Flow/Metric.spec.ts","title":"Metric creation flow should work","durationMs":10840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3ed6e761ea817113c444-d1d3605e00316bbde469","project":"Basic","file":"Flow/Metric.spec.ts","title":"Verify Unit of Measurement Update","durationMs":11400,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-0bd2eb1e92ac9425b8dd","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Configure column search field settings","durationMs":10947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-19fb7ea74d0da3fa8c0a","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Preview config reflects reverted n-gram weight after save","durationMs":8573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-1f6c82edb0d025fa4d35","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Restore default search settings","durationMs":6888,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-2e3d05e6e1e746b6c156","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Latest preview config wins when a superseded request resolves late","durationMs":9353,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-3ed9d0f3e867e19c934c","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Preview config updates when restore defaults returns empty search fields","durationMs":8883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-3f1486bc755826887709","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Update entity search settings","durationMs":11197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-56543540342adb9b3b9e","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Search preview for searchable table","durationMs":7354,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-84d7fbb0379805c2e76e","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Highlight toggle is offered for analyzed fields","durationMs":8736,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-c8de79795df8ae9d2141","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Update global search settings","durationMs":8671,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-cf112303dbb369632c4e","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Reset global search settings to default via confirmation modal","durationMs":6192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"3f800034a832b756357b-dc51be90f6049672dc25","project":"GlobalSettings","file":"Pages/SearchSettings.spec.ts","title":"Search preview displays column results correctly","durationMs":10360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-091ad1e139ec1aa5aaa7","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Non-admin hitting the App Mode route directly is blocked","durationMs":8949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-368c866c50d87d0d6d32","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Admin sees the \"App Mode\" entry under Settings → Preferences","durationMs":9591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-6aaf306204b336d44e9e","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"\"No default\" clears the tenant-wide app mode default","durationMs":8768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-8e24a121e78faace2a89","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Save is disabled until the selection changes, then enables","durationMs":8392,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-9b0bce0f8752299f18c3","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Non-admin does not see the \"App Mode\" entry under Settings → Preferences","durationMs":10976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40339df0d38e594030ad-a3942979aba174dc0541","project":"chromium","file":"Features/AppMode/AppModeSettings.spec.ts","title":"Saving fires the settings PUT and the selection persists on reload","durationMs":11731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"40e9622bfe15bcff9ad8-e351a58660693f8ee3e3","project":"chromium","file":"VersionPages/ClassificationVersionPage.spec.ts","title":"Classification version page","durationMs":11569,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4101399d238fe61337fd-26aaa7b16fc4e9c43441","project":"chromium","file":"Features/Announcements/AnnouncementEntity.spec.ts","title":"creates an announcement on a domain","durationMs":15674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4101399d238fe61337fd-3ca48bb1ea1b722e1c1b","project":"chromium","file":"Features/Announcements/AnnouncementEntity.spec.ts","title":"edits an existing announcement on a domain","durationMs":10179,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4101399d238fe61337fd-e35c5e2370a108a1519a","project":"chromium","file":"Features/Announcements/AnnouncementEntity.spec.ts","title":"deletes an existing announcement on a domain","durationMs":17951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-293d2abba1bbe1172a4d","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Data Model with display name filter","durationMs":36764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-2a3509194f4730d8cba7","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Dashboards with display name filter","durationMs":36519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-2b2c7b49221082fedabe","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Data Products with display name filter","durationMs":36770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-341c54345e6b70793b52","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Stored Procedures with display name filter","durationMs":36800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-35ecd7a4557f829ec686","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Containers with display name filter","durationMs":33977,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-369032808baca9262db1","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Search Indexes with display name filter","durationMs":34647,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-399c803a6b55bfebb25d","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Placeholder validation - widget not visible without configuration","durationMs":13630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-433345184533998b95ef","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Database Schemas with display name filter","durationMs":26953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-443dbf0db976c77a9310","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Charts with display name filter","durationMs":34710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-445bc96e17011a12c613","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Pipelines with display name filter","durationMs":34079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-49430d25ae8bdad31291","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Topics with display name filter","durationMs":35112,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-4a8e2d73b07a9622bd37","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Tables with display name filter","durationMs":37766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-522b865a043f08183f74","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test API Endpoints with display name filter","durationMs":37530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-56d6106d21f5cbe8f52e","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Complex nested groups","durationMs":33584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-5dd48016c14d23fccc18","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Multiple entity types with OR conditions","durationMs":38230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-70222d8e09ba6b43fbde","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Metrics with display name filter","durationMs":36451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-8f9c1279b9e0ba86b5ad","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Knowledge Pages with display name filter","durationMs":5583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-9bcab5a6deac24218c64","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test API Collections with display name filter","durationMs":30224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-a06a0a8ac5a0165a48c8","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Multiple entity types with AND conditions","durationMs":38855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-b1e897419449d04dadc7","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Databases with display name filter","durationMs":26297,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-b61c4dd6c6c72671c332","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test ML Model with display name filter","durationMs":125969,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"41c98876e1766b5cfd3d-b6bdaacf16de33bb5986","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Test Glossary Terms with display name filter","durationMs":34384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"41c98876e1766b5cfd3d-ed2ab173d7a73750195c","project":"chromium","file":"Features/CuratedAssets.spec.ts","title":"Entity type \"ALL\" with basic filter","durationMs":22199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-0a6a0c0a89079822be9b","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: chart","durationMs":5357,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-1826851f56f2f64a88af","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: table","durationMs":10981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-197e96b23c8dfd4534d8","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: dashboard","durationMs":5616,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-1a3701d0ef11c45d2d86","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for pipelineService in platform lineage","durationMs":10985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-1f9fed7ccd1a32e46faa","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for mlmodelService in platform lineage","durationMs":10650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-2d3e40c9d820f5709c19","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: apiEndpoint","durationMs":5514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-2dfc818f81d83de6fdaa","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for messagingService in platform lineage","durationMs":10233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-34bdec5cd3987c0b1474","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for storageService in platform lineage","durationMs":11315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-5812ef9c06312f638121","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: searchIndex","durationMs":5670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-68545723ed07a1581857","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: topic","durationMs":6333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-76cc687e194d0300f524","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: container","durationMs":5811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-770dfa5de4648db0785f","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: mlmodel","durationMs":5560,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-77f956cbb3cdbb432c07","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: metric","durationMs":5547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-da57ff8ea302cc48d77a","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for dashboardService in platform lineage","durationMs":9538,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-ea0b3841423e11276a4c","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for databaseService in platform lineage","durationMs":10448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-ecfd33b33b08fec09293","project":"Basic","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab IS visible for supported type: pipeline","durationMs":5703,"attempts":1,"retries":0,"outcome":"expected"},{"id":"426c3d5e1c2f1aa09ac8-f8d8b2894982189c8fdb","project":"chromium","file":"Pages/Lineage/LineageRightPanel.spec.ts","title":"Verify custom properties tab is NOT visible for apiService in platform lineage","durationMs":11983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-039b9d9949c4ae9f9ca1","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Add Table Test Case","durationMs":15348,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-727c14a4b085f6d7d08e","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Non-owner user should not able to add test case","durationMs":13767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-970712d494efa076b03d","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Add multiple test case from table details page and validate pipeline","durationMs":14155,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43a4e7a0652e3c4a937d-9b9fb01ad7fade5e355b","project":"Ingestion","file":"Features/DataQuality/AddTestCaseNewFlow.spec.ts","title":"Add Column Test Case","durationMs":17060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-1d6fa09a9a2596f90ef9","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify No owner and description redirection to explore page","durationMs":5135,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-254524b7d3aaa13e3040","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify metrics in chart API response","durationMs":2716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-3761ae2928ffed19f52d","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Update KPI","durationMs":4169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-56301182f27c3a7cc07c","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verifying Data assets tab","durationMs":3610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-5d09da8479693162a3cf","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify KPI widget in Landing page","durationMs":5237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-5f88ed46d6737a9bc324","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Create description and owner KPI","durationMs":5934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-82610a9ae35a0e1b158d","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verifying App analytics tab","durationMs":4048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-869f610ab3df9908aa44","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verify metrics appear in description chart","durationMs":2787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-944e8c55fd3b896053aa","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Verifying KPI tab","durationMs":3583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"43d97496a69d8a7a7493-9b38808389a222082626","project":"Data Insight","file":"Pages/DataInsight.spec.ts","title":"Delete Kpi","durationMs":4157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"44e454c1973aaa886398-5740db2d3ef229ead0da","project":"chromium","file":"Features/AppMode/AppModePreferenceRoundTrip.spec.ts","title":"Toggle \"remember\" OFF emits a DELETE","durationMs":12252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"44e454c1973aaa886398-fdf5ed85a955e56d2a71","project":"chromium","file":"Features/AppMode/AppModePreferenceRoundTrip.spec.ts","title":"Toggle \"remember\" ON emits a PUT with the typed-union body","durationMs":11568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-9f5733c4dfa61fe13e8f","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"switches between Graph and Tree view surfaces","durationMs":7386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-ac147fa6311f758e140a","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"searches the Model graph and clears the query","durationMs":7173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-bfa7a1e932c6531f0d8f","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"opens with the View, Graph, and Model surfaces selected","durationMs":7435,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-d3781b6e6f0194b71607","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"scopes the Studio graph and stats to a glossary","durationMs":7933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-dc8b76bc66b6e8259ad7","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"covers Edit Graph authoring and the Model workbench","durationMs":10406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-e2a05d4ab84737443ccb","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"switches between Model and Data layers","durationMs":8694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"455af77f3678efcfb575-f9d00c1ff5fd124e8d68","project":"chromium","file":"Features/OntologyStudio.spec.ts","title":"renders every relation type between the same concepts","durationMs":7504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45a520c451ca353b2bea-4f5b3eea701877cc38c8","project":"chromium","file":"Features/DataQuality/IncidentManagerAfterSoftDelete.spec.ts","title":"Incident Manager renders without Jackson error after a test case is soft-deleted","durationMs":14156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45c88a6f0c34dbb0e7c7-1d2e961d2b1aba19000b","project":"chromium","file":"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","title":"Create new Bundle Suite with bulk selected test cases","durationMs":16240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45c88a6f0c34dbb0e7c7-9f20c56231a934527813","project":"chromium","file":"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","title":"Add test case to existing Bundle Suite","durationMs":17726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45c88a6f0c34dbb0e7c7-afb2d8d44d708f76b025","project":"chromium","file":"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","title":"Bulk selection operations","durationMs":12448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"45e1ab4b06aa23f33aff-f2407ea680c31e534c87","project":"chromium","file":"Pages/PipelineExecution.spec.ts","title":"Execution tab should display start time, end time, and duration columns","durationMs":9028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-68ed63a7d77a329ff399","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should show enabled certification tag in dropdown","durationMs":17388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-a0fa29193e91484a6ef1","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should show certification after re-enabling disabled tag","durationMs":26642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-b024f565212d80a3e351","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should NOT show disabled certification tag in dropdown","durationMs":16030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"46c5b33a1d364708c732-de28387173f13d94b5ab","project":"chromium","file":"Features/CertificationDropdown.spec.ts","title":"should handle multiple disabled tags correctly","durationMs":14950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-0570db7f4661ea4e68b4","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display domain and owner of deleted asset in suggestions when showDeleted is off","durationMs":8330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-325ce92dfd704c84764a","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display deleted assets when showDeleted is checked but deleted is false in queryFilter","durationMs":8609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-36286bd8f41799e49212","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display domain and owner of deleted asset in suggestions when showDeleted is on","durationMs":12611,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-6605f6bf34495eb64f57","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display soft deleted assets in search suggestions","durationMs":21052,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-66fc48bbab5da83e551a","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display deleted assets when showDeleted is not checked but deleted is false in queryFilter","durationMs":9856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-960a4db0dbad3161c418","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should not display deleted assets when showDeleted is not checked and deleted is not present in queryFilter","durationMs":8603,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-a17f0c9007400530095f","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display deleted assets when showDeleted is not checked but deleted is true in queryFilter","durationMs":10269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-d9a2f9139db34ab1f5c7","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display deleted assets when showDeleted is checked and deleted is not present in queryFilter","durationMs":10200,"attempts":1,"retries":0,"outcome":"expected"},{"id":"47563b3c243233393067-f24680ac9fa5499518e4","project":"chromium","file":"Flow/ExploreDiscovery.spec.ts","title":"Should display deleted assets when showDeleted is checked and deleted is true in queryFilter","durationMs":10434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-0ae3eee235ec5b54090e","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should display correct tabs for table entity in team assets context","durationMs":9871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-1887262312ad0f4235d2","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should display overview tab content in team assets context","durationMs":11035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-3e9e117558b4023ad650","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should display entity name link in panel header in team assets context","durationMs":9932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-4839ec1ef558a4b2c1e1","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit domain from team assets context","durationMs":11688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-5994beef742f7e20b2e6","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should open right panel when clicking asset in team assets tab","durationMs":9566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-9f9ccb162be898d5c7ce","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit description from team assets context","durationMs":12194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-b2b79442ca34f8eb583c","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit owners from team assets context","durationMs":12849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-e637e0262a842d70ad43","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit tags from team assets context","durationMs":11463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-eaaf971263597a587c9c","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should edit glossary terms from team assets context","durationMs":11367,"attempts":1,"retries":0,"outcome":"expected"},{"id":"485ad34d6101bfb8625c-fe9c6f16ecf7bfb38e71","project":"chromium","file":"Pages/TeamAssetsRightPanel.spec.ts","title":"Should assign tier from team assets context","durationMs":10802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4962513e4ede9efbc6bc-fe90046fdeee5e13ecdf","project":"Ingestion","file":"Features/TestSuitePipelineRedeploy.spec.ts","title":"Re-deploy all test-suite ingestion pipelines","durationMs":3100,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-06daeb511ef00f84fd29","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service deny common operations permissions","durationMs":11912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-0c4645d7bb089c1e321f","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service allow entity-specific permission operations","durationMs":12309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-14321144181f9ce47f79","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Api Service allow common operations permissions","durationMs":15857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-17cd90767af0966bd36c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Pipeline Service deny common operations permissions","durationMs":15184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-18ede5fe24ff674006aa","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":9527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-2e5ac8793860549aeacb","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-343573554ec0d8268d70","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-3484dd5baeedfabcdc0d","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-35a725698998eb2a47f8","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":10011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-38f5f03eb5cf5ae7f033","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":8755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-395e69814743ba2cb187","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":7891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-3a1ec3677e129e362fbc","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":8887,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-3ae259c0d22b1e1ce4d8","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Messaging Service allow common operations permissions","durationMs":10743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-432352edf3dca06c2ef7","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":7223,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-436873586de451fe96d5","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service allow common operations permissions","durationMs":16046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-4c6ea164e911bb693213","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":10398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-5f11cfb879248cf34e4c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":7366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-622ca29cccba013730a4","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":7630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-7b3743d684cf6e117d91","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9562,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-835d301c730efbe11b34","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":9781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-8ddcec058984ec203d3f","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":10087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-8f1bafe670518bc9e83c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-91a5d646919b4d9597e3","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":10193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-93d0ad051bf724091eae","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":7264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-a475e3ade77b9e387765","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-ae6752ff147b57846fac","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service allow entity-specific permission operations","durationMs":14425,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-afc719e0143260d4e040","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Storage Service allow common operations permissions","durationMs":15262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-b77edf9e143ef601fbf9","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with denied trigger permission","durationMs":9032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-bcc6de800ae0018c8e35","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":8805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-c3aca2c5c8c2d82180af","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":9876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-c552350b1e2fa95be986","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service allow common operations permissions","durationMs":11463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-c7c8619b266099fc4f70","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is hidden with view-only permission","durationMs":9847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-cdae34958cb93081829a","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"SearchIndex Service allow common operations permissions","durationMs":12215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-d59b19f223a8f2cc1bbb","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"AutoPilot trigger button is visible with Trigger permission","durationMs":7884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-dd662649178d493876e0","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Storage Service deny common operations permissions","durationMs":15693,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-ef980385b808a5c01753","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Api Service deny common operations permissions","durationMs":14144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-f03031217bd696b25733","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Mlmodel Service allow common operations permissions","durationMs":10639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-f14d138df6e533dcf29d","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Mlmodel Service deny common operations permissions","durationMs":12539,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-f4ee16bcc2057c7cbe8f","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"SearchIndex Service deny common operations permissions","durationMs":12151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fb8dab4d2fd36f28599c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service deny common operations permissions","durationMs":13750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fc44283d14ba6c42806c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Database Service deny entity-specific permission operations","durationMs":10504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fc52cf1b230c7de377b5","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Pipeline Service allow common operations permissions","durationMs":14683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-fee0d4a9f268927eb49b","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Dashboard Service deny entity-specific permission operations","durationMs":15263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b386b55f31c66fcf0a6-ff25baa5e6705fd87e3c","project":"chromium","file":"Features/Permissions/ServiceEntityPermissions.spec.ts","title":"Messaging Service deny common operations permissions","durationMs":10452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-1bb1a00f45a51a478c52","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should navigate to new page when \"Leave\" is clicked","durationMs":16002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-61dac66ba80ac816590f","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should show navigation blocker modal when trying to navigate away with unsaved changes","durationMs":17370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-91f203d529a815190d96","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should not show navigation blocker after saving changes","durationMs":14091,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-9d1b73de8b80246d8cf7","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should confirm navigation when \"Save changes\" is clicked","durationMs":22881,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b548bcc60ee243a112c-e22c3867f6fc02b097af","project":"Basic","file":"Features/NavigationBlocker.spec.ts","title":"should stay on current page and keep changes when X button is clicked","durationMs":17733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-02496396ede353f7fb35","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"Add tests CTA navigates to the Profiler tab","durationMs":10119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-0fb42a3e78e29d28e22d","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"replaces the setup CTAs with status badges once tests are configured","durationMs":8867,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-983cb693886d03b0dbc8","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"Enable observability CTA navigates to the Profiler tab","durationMs":9820,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-990261b030bde9be3d4c","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"renders the widget with all four category rows","durationMs":9865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-d9f11a53361475875ec7","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"shows setup CTAs for unconfigured categories","durationMs":10056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4b6e4ca7fb13c0fd30cc-da9aa25e75339891381d","project":"chromium","file":"Pages/AssetHealthWidget.spec.ts","title":"Create contract CTA navigates to the Contract tab","durationMs":10726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-0810169ebfef6450dab7","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"STATIC config sends all three static-only fields when set","durationMs":6458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-3dd9676e86c529445185","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"STATIC config sends profileSample and no DYNAMIC-only keys","durationMs":5886,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-5b5f30c9f86f701498c6","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"switching STATIC → DYNAMIC does not leak static-only fields","durationMs":6578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-c227bb3d66ab294ce3b3","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"DYNAMIC threshold remove drops only the selected row","durationMs":6626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-ce6cb46c9ee7e6dd2479","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"DYNAMIC with smart sampling ON sends only DYNAMIC keys","durationMs":6080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-cf4cca44f019913b314a","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"switching DYNAMIC → STATIC does not leak smartSampling or thresholds","durationMs":6347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c104d4f128d8996df97-f02c36f33396d9719410","project":"Ingestion","file":"Features/DataQuality/ProfilerIngestionForm.spec.ts","title":"DYNAMIC with smart sampling OFF and thresholds sends thresholds array","durationMs":6242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-0acd98f891080c27eb0d","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Custom SQL Query","durationMs":25046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-19b221f23b1996aea714","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column Count To Be Between","durationMs":22286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-45298dd3dedeb1025238","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Row Count To Equal","durationMs":20303,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-6dffe1d54d6631269ef3","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Row Inserted Count To Be Between","durationMs":21965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-9ab6d3fa51599960986f","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column To Match Set","durationMs":23249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-a38fbe8dce53bede33cf","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column Count To Equal","durationMs":20773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-a586dabea686a2746e3a","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Row Count To Be Between","durationMs":24010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4c305ec854f9593f5dca-efb7d23b30cf3ec7410c","project":"chromium","file":"Features/DataQuality/TableLevelTests.spec.ts","title":"Table Column Name To Exist","durationMs":22936,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-1f7188b7b883e25772b4","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Data Product","durationMs":6597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-27cf91afa49b80c2fff9","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Tag","durationMs":7661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-29cc7b194e31b3fdc811","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Dashboard","durationMs":8826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-2b584b4d9a77cdb55d27","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Data Model","durationMs":7911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-382d14fc9018ce22dc30","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Database Schema","durationMs":8173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-4cc3834b03e310e5e602","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Metric","durationMs":7609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-4dae8060a54ac47cc0a8","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - API Collection","durationMs":6306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-54a64bccafdf003b3b5c","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - All","durationMs":6902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-54ad89a5b97bf479cc59","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - ML Model","durationMs":6014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-6316c64b4f391ed5dd7c","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Database","durationMs":7650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-6559c024bdc4ef8d6595","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Search Index","durationMs":6170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-69a557a324f049438f36","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Directory","durationMs":7758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-89015f87c94adc34de54","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Table","durationMs":6359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-92dfb0fb33159b9982bf","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Container","durationMs":7660,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-960f1bace1eb38b1a42a","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Worksheet","durationMs":8431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-9c37b3959482f071ddae","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - API Endpoint","durationMs":7409,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-a8750715d64a09e3c8fc","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Spreadsheet","durationMs":8541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-cae189412fe5f16c69a7","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - File","durationMs":5727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-cd0c011f0719a41d2d68","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Pipeline","durationMs":8470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-cf14b19b99f210391fc6","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Stored Procedure","durationMs":7665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-db96c73de1e2ebd5a423","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Topic","durationMs":6860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e43d09217c30828fd6f-dcfea58dc473f62141b7","project":"Basic","file":"Flow/Navbar.spec.ts","title":"Search Term - Glossary","durationMs":8522,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e89530d9c0b985f2d2e-8764696c70efbfce6d8f","project":"Basic","file":"Pages/Roles.spec.ts","title":"Roles page should work properly","durationMs":38473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"4e89530d9c0b985f2d2e-fbf09b1def578f24be64","project":"Basic","file":"Pages/Roles.spec.ts","title":"Delete role action from manage button options","durationMs":14097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-3e47bd48fd77712e1f85","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify columns and edges when a column is hovered","durationMs":8361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-ad6d8832112259fd0251","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify edges for column level lineage between 2 nodes when filter is toggled","durationMs":7642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-b732968444170866a917","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify column visibility across pagination pages","durationMs":16225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-dfc52176b46c289f580c","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify edges when no column is hovered or selected","durationMs":10137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"52cbec20b84b33e4e196-fa1589a1509ed48faec5","project":"Basic","file":"Pages/Lineage/LineageNodePagination.spec.ts","title":"Verify columns and edges when a column is clicked","durationMs":7934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-2fe9c1b4e193b0e8a3c1","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Pipeline via UI","durationMs":80868,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"53b3e913ac628cc64131-437893114501837400b1","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Dashboard via UI","durationMs":12292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-69a7106de7c0a6a9eced","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Verify task lifecycle in activity feed","durationMs":23290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-6c54054c4b110926b888","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create tag task for table column via UI","durationMs":20925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-79d67e1c613b05839814","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Table via UI","durationMs":14275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-8605df75810c859fa5df","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create description task for table column via UI","durationMs":20957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-9c3e14eda96c37015d6c","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Pipeline via UI","durationMs":14301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-a6b2c6fca32681720e0d","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Dashboard via UI","durationMs":12708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-b14bef78aecc75cf1e4b","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Topic via UI","durationMs":12505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-b3aafe3db491bbb76c3f","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and resolve description task for Table via UI","durationMs":13957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-ca8b24a71c63ee90c746","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Create and reject tag task for Topic via UI","durationMs":12203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53b3e913ac628cc64131-dc5fdbbc55f4323bd01d","project":"chromium","file":"Pages/TasksUIFlow.spec.ts","title":"Verify task shows correct metadata","durationMs":21530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"53f5e48dc6dd5303275d-f73ee758f1c03b02e338","project":"Basic","file":"Features/MetricCustomUnitFlow.spec.ts","title":"Should create metric and test unit of measurement updates","durationMs":13417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"542738137544ccb7a5b6-ec4052ad168f3715c61c","project":"Basic","file":"Pages/SubDomainPagination.spec.ts","title":"Verify subdomain count and pagination functionality","durationMs":14037,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-20526ba66c2db23ec1b7","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Edit own comment - author can edit","durationMs":199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-3adb3ddf9b6b67100b88","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Admin can delete any comment","durationMs":218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-494755f4b3475416e2de","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Delete own comment - author can delete","durationMs":238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-5282e3382c460cc2d9f9","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Add comment to a task","durationMs":295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-577db3e820f130af6ca7","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Non-author non-admin cannot delete comment - returns 403","durationMs":8673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-6f7978153f6acdcda0dc","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"View comments on task in activity feed","durationMs":10440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-80af15ec5a63db7ec1c7","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Add multiple comments to a task","durationMs":275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-861e0f72c5138e44c9dd","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Comment supports markdown formatting","durationMs":185,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-adf9f8b9a52a48f27809","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Comment with @mention syntax","durationMs":272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"54aa5f49255417e56514-eba5683c6497d7b43096","project":"chromium","file":"Pages/TaskComments.spec.ts","title":"Non-author cannot edit comment - returns 403","durationMs":6505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-07bce10ca7c87f76ebc3","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Insights page should trigger collect API","durationMs":5817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-3868472ff94748e79924","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Incident Manager page should trigger collect API","durationMs":5271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-57526628bff2481e11dd","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Explore page should trigger collect API","durationMs":5710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-64c32274d7af4914dbb0","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Tags page should trigger collect API","durationMs":4839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-73b9c5edde2a3debaf93","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Quality page should trigger collect API","durationMs":4632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-a48dd7c323ac0a8ce57a","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Settings page should trigger collect API","durationMs":5514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5527d5d87b7ebfcf0ae8-ee0a5aeb47d5510b99b5","project":"Basic","file":"Flow/Collect.spec.ts","title":"Visit Glossary page should trigger collect API","durationMs":4253,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-077585f6e4f0a08cffc6","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should create a new learning resource","durationMs":8596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-24ae7d73ea2582e79ad8","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct pageId param when filtering by context","durationMs":6225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-34c89825a071c90c66cd","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct resourceType param when filtering by type","durationMs":5800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-408a941563d59c4b52db","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should validate required fields when creating a resource","durationMs":6337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-4daf0f2ef98790dfdd5d","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should open resource player when clicking on resource card in drawer","durationMs":8534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-6440dc2b2c05f5ff8244","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should clear all filters and reload without filter params","durationMs":6248,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-7057ea634ebbed2312bb","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should toggle between table and card views","durationMs":7919,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-a5ef027b5906819fe95a","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct status param when filtering by status","durationMs":6009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-b9bfc3ce1ba2ab5785a5","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct category param when filtering by category","durationMs":5576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-d8c73713be3825c12ab8","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should show correct learning resource in drawer on lineage page","durationMs":7000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-db3917dc961a6c6490d9","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should create resource via UI and verify learning icon appears on target page","durationMs":11590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-f5d75cc00a51851d5306","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should preview a learning resource by clicking on row","durationMs":5683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"552de93d12db93b47527-f761108bc52917eb0642","project":"chromium","file":"Pages/LearningResources.spec.ts","title":"should send correct search param to API when searching","durationMs":5227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5609f6479eac3cd9b7a7-683a4b4827384efb9055","project":"chromium","file":"Features/AgentLogStreamHandover.spec.ts","title":"A finished run clears the live state and refetches the log exactly once","durationMs":4308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5609f6479eac3cd9b7a7-8b23b53f970ad335810a","project":"chromium","file":"Features/AgentLogStreamHandover.spec.ts","title":"A run that keeps streaming is never polled, and reconnects from its cursor","durationMs":8212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5609f6479eac3cd9b7a7-d27d4198437bb484a92f","project":"chromium","file":"Features/AgentLogStreamHandover.spec.ts","title":"Scrolling a live log pauses auto-follow and the toolbar toggle resumes it","durationMs":8309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-1d7fa6c7705f360dd57c","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"AI badge should appear on entity description with Suggested source","durationMs":35998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-4d509e367d791e680fce","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"AI badge should NOT appear for manually-edited descriptions","durationMs":16430,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-ad865f0b3a35d329cfae","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"Automated badge should appear on entity description with Automated source","durationMs":17169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"568c8eba961df9f30237-c879ec9ef9cceb2c1db5","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"AI badge should appear on column description with Suggested source","durationMs":132614,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"568c8eba961df9f30237-d7e62feac5044c0d61fa","project":"chromium","file":"Features/ChangeSummaryBadge.spec.ts","title":"Propagated badge should appear on entity description with Propagated source","durationMs":17825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-00d10c1204dcb1503daf","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"uploaded document card shows name, size, updatedBy, updatedAt, and folder","durationMs":8918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-1333813a8cf577276069","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"expanding a folder shows 10 files, view more loads the rest, and show less collapses back","durationMs":10642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-24e040b4f0daf57f8c2b","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"document appears nested in the folder tree after being moved to a folder","durationMs":10687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-269c7beb9556949e695f","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"moving document to folder shows folder on card; re-opening menu shows current folder selected; clicking it again removes document from folder","durationMs":11283,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-2e28f17914a39684acc0","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"retry on a failed file updates the row to complete and keeps the modal open","durationMs":10339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-2f7b38c26e82cbe867ce","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling the bulk \"Move\" dropdown loads the next page and reveals the page-2 folder","durationMs":17394,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-38c6c355899b59d8b7a4","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"documents view container is rendered","durationMs":12735,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-41757222b5c8359eed12","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"copy link button on document list row copies URL with correct document id and opening the link shows the preview panel","durationMs":14704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-4745dae95484add0ade5","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"create folder appears in sidebar tree and delete folder removes it","durationMs":12648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-485a24ecc4ba1cdad79f","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"delete single document from card menu removes it from the list","durationMs":11506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-4b077df390afe8767316","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"clicking folder in sidebar shows only that folder documents and move menu show the current folder","durationMs":14131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-62c0897bad0eda516e8d","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"attaching a new file does not close the modal when a pre-existing error file is present","durationMs":12202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-639d91951f33be98d7a6","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling the per-file \"Move to Folder\" submenu loads the next page and reveals the page-2 folder","durationMs":10486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-74c465ee083236782524","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"partial batch failure keeps modal open with failed rows showing try again","durationMs":11291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-77de7e00171675e4d461","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"file upload attaches file and closes modal, then appears in list","durationMs":10914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8150a4d5518b4bb29ac0","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"clearing document search restores the full list","durationMs":9697,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8688b851d9e1c94056d6","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"bulk move moves selected documents to a folder with a single API call and folder name appears on both cards","durationMs":19366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8737cb9413dd7cb2e802","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"searching documents with no match shows empty state","durationMs":8713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-88817c4218092444a545","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"clicking document row opens preview panel with name, status, size, folder, updatedBy, updatedAt and copy button copies correct link","durationMs":11235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-8d88e17dba6bf2ee365f","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"bulk delete 2 documents removes them from the list and both appear in the archive","durationMs":18405,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-a00b3e03f359967e5d5d","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"Upload File button opens upload modal with correct title and hint","durationMs":10429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-a9f5bd79d23a70cae703","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"oversized file appears in list with failed state and Attach button stays disabled","durationMs":10727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-d5758dd9e35122c24e51","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling the sidebar folder tree loads the next page and reveals the page-2 folder","durationMs":8930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-d6fa28cd9dd0a23fe766","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"searching with folder selected scopes results to that folder only","durationMs":11002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-d716db49c6608dbe0e11","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"shows header with Upload File button","durationMs":8209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-e2345c9897597a5db162","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"scrolling to the bottom of the list loads the next page of documents","durationMs":13351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-edb3ac72c05e7f318a35","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"move document to folder via card menu shows folder name on the card","durationMs":9817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-ef0af5d349390d9be21a","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"searching documents filters the list to matching results","durationMs":9759,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-f42e131cca4e98999103","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"duplicate filename in same folder shows retry error; uploading same name to different folder succeeds; delete file and folder from UI","durationMs":18151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"56ea56135a0dd653746e-feebbefe7b5c42ddb24e","project":"chromium","file":"Features/ContextCenterDocument.spec.ts","title":"duplicate filename upload fails case-insensitively in the same folder","durationMs":9184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-1a30082a0e8c0134b699","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values Sum To Be Between","durationMs":19110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-220c8abdae85161f7ef1","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Not Match Regex","durationMs":18848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-2bc0479414d1cfb7e52a","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value StdDev To Be Between","durationMs":16579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-527690061879323e9f56","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Mean To Be Between","durationMs":16536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-52a4ac74b376c6248a8b","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values Missing Count To Be Equal","durationMs":16762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-585c361e018618ac3c85","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Min To Be Between","durationMs":16386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-5cf5641d7794e01ed134","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Match Regex","durationMs":16148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-8d0cc261c61869a2e942","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Median To Be Between","durationMs":16854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-941e7252830d062fca15","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be In Set","durationMs":17953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-a728a614c03861fbe05c","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values Length To Be Between","durationMs":17111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-b8c2ba1a531cf17537f6","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value Max To Be Between","durationMs":17833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-b9c4fc654f6df8a64278","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Value To Be At Expected Location","durationMs":16725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-be68a0dcbf4404b7c60d","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Not In Set","durationMs":17151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-d2b4cbf07a2eb74cafaf","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Unique","durationMs":16660,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-d44e518bd09b8d8cca9d","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Not Null","durationMs":20940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"57f6f59b8a2fbb0240c4-f0ad21757191a49ab561","project":"chromium","file":"Features/DataQuality/ColumnLevelTests.spec.ts","title":"Column Values To Be Between","durationMs":18517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"58209e668526b4118920-9962bcde1da3ae180f23","project":"chromium","file":"Features/TableConstraint.spec.ts","title":"Table Constraint","durationMs":27190,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-150f00a8522948ca82c7","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"removing team member should create activity","durationMs":9623,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-281ff782d6a9895b5d37","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should be able to resolve team-assigned task","durationMs":9784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-4218944b90688690d3c8","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should see team-owned entity changes","durationMs":9366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-6a1509d7c1e716eb9550","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should receive notification for team-assigned task","durationMs":7952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-8caa0444f8b3d9f04f71","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"non-team member should NOT see team-assigned task in their tasks","durationMs":8301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-ae919be6e81338fd2a2a","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team page should show activity feed for team","durationMs":6891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-c97f6ef399e1f3cb9b58","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should see tasks assigned to their team","durationMs":7434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-d9e43035c5a38c2b7517","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"team member should see team membership changes in activity feed","durationMs":9352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-e2bc93dfdbdc70314acc","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"non-team member should not see team-only activity","durationMs":7994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840c29779fa06dc8fc9-ee6cda8cf796aaead244","project":"chromium","file":"Features/Tasks/TeamActivity.spec.ts","title":"different team member should also see team-assigned task","durationMs":7791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5840e223f2d5eb9f4dac-328a9ff1aeecfb6c1bbf","project":"IntakeForm","file":"Pages/OnboardingRollout.spec.ts","title":"Enrollment status recovers from a failed load and leaves existing reviews, approvals and tasks intact","durationMs":24718,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"5840e223f2d5eb9f4dac-bda1ffa0c4ef007636d9","project":"IntakeForm","file":"Pages/OnboardingRollout.spec.ts","title":"A viewer can monitor work but cannot edit checks, approve another user task or open configuration","durationMs":11591,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"5937f45c8a0b55964dfb-12d140d9d851ee24f0e1","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Add teams in hierarchy","durationMs":8664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-651d615e2b611721b171","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop on Division team type","durationMs":4085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-821ac29f15154291c014","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should fail when draggable team type is BusinessUnit and droppable team type is Division","durationMs":3141,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-84b55c520eac6337ee73","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop on Department team type","durationMs":4101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-9eebb114627308bfceda","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should fail when drop team type is Group","durationMs":3674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-c5c76c34a2e5cbd00ce6","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop team on table level","durationMs":3598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-cf4bd8f779f87bb20516","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should fail when droppable team type is Department","durationMs":3440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5937f45c8a0b55964dfb-e02d0adfda4658ae691c","project":"Basic","file":"Features/TeamsDragAndDrop.spec.ts","title":"Should drag and drop on BusinessUnit team type","durationMs":4240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-17226c8e4fb8758d4c16","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with only VIEW cannot PATCH incidents","durationMs":10066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-40d5b508af0f1557c186","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TABLE.EDIT_TESTS can see edit icon on incidents (alternative)","durationMs":9835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-5b14a963076563878b00","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"Consumer-like user cannot see edit icon and cannot create/edit incidents","durationMs":10075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-6952ddbbfc1aded68ffe","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view incident CONTENT in UI","durationMs":10385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-86854d0ef42ab99072e7","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TABLE.VIEW_TESTS can view incidents in UI (alternative)","durationMs":10084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-906fb153657cd8c10018","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TEST_CASE.EDIT_ALL can see edit icon on incidents","durationMs":10517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-bdbf4bb4dd50592dc6ab","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with only VIEW cannot see edit icon and cannot POST incidents","durationMs":10233,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5985cb00d8cd09145705-e24504ddfad39ded9cfe","project":"chromium","file":"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view incidents in UI","durationMs":9757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-8fb80db9e9e824864860","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should show loader then render classification content on initial page load","durationMs":3973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-902997d142078395f0b2","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should render correct content when switching between classifications","durationMs":12372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-bc6bf4188428df4e1363","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should render classification correctly after page reload","durationMs":15211,"attempts":1,"retries":0,"outcome":"expected"},{"id":"59effc6c36037d92b112-d3427f89e0e3492163f4","project":"chromium","file":"Pages/ClassificationConditionalRendering.spec.ts","title":"Should render all classification detail sections after loading","durationMs":15996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a571ecbb30c2877255e-000cc1bf493e11634f32","project":"Ingestion","file":"Pages/LogsViewer.spec.ts","title":"Logs page shows breadcrumb, summary, and log viewer or empty state after opening from bundle suite pipeline tab","durationMs":9640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-00a1cdb503e15dbb492e","project":"chromium","file":"Pages/Domains.spec.ts","title":"Comprehensive domain rename with ALL relationships preserved","durationMs":52954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-058d4f127752c8b36927","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify duplicate domain creation","durationMs":16059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-08165284efa6f293a92a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Should clear assets from data products after deletion of data product in Domain","durationMs":95306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-13c6520c826c7eca4b68","project":"chromium","file":"Pages/Domains.spec.ts","title":"first-time add (no current domain) commits without showing the warning modal","durationMs":21624,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-1810cc2b4c4a408af07f","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify redirect path on data product delete","durationMs":20990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-1edacb9d8c077caa7901","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain","durationMs":30311,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-211da11cb816223351be","project":"chromium","file":"Pages/Domains.spec.ts","title":"Domain owner should able to edit description of domain","durationMs":19862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-28fdb3fda9203a613a93","project":"chromium","file":"Pages/Domains.spec.ts","title":"Data Product announcement create, edit & delete","durationMs":37066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-2bd269f19362ee149752","project":"chromium","file":"Pages/Domains.spec.ts","title":"Should inherit owners and experts from parent domain","durationMs":18217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-2c7f60df9b21b10d852c","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with tags and glossary terms preserves associations","durationMs":20950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-39708973ea128903f12a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify domain and subdomain asset count accuracy","durationMs":75322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-3a657a5b353f23a52971","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with data products attached at domain and subdomain levels","durationMs":21322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-41ad0369adac81ff6b18","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with assets (tables, topics, dashboards) preserves associations","durationMs":51461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-42fe30db5b099636336b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Subdomain rename does not affect parent domain and updates nested children","durationMs":21129,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-468822f47c1bfe7e56ea","project":"chromium","file":"Pages/Domains.spec.ts","title":"Assets tab lists the assigned glossary and its inherited term","durationMs":13672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-4943e305ac2f77dab3e8","project":"chromium","file":"Pages/Domains.spec.ts","title":"AddDomainForm description preserves typed whitespace","durationMs":10958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-4e3971359320b075cbb3","project":"chromium","file":"Pages/Domains.spec.ts","title":"Add-Assets drawer quick filter - behaviour matrix","durationMs":27519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-4ec6b7d25e96a0a0c363","project":"chromium","file":"Pages/Domains.spec.ts","title":"Domain announcement create, edit & delete","durationMs":31017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-54632a239b314fb2b087","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify domain data products count includes subdomain data products","durationMs":53810,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-5ea87aba82de9e69f803","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with deeply nested subdomains (3+ levels) verifies FQN propagation","durationMs":19811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-60ec59c847ceb9594d4a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with subdomains attached verifies subdomain accessibility","durationMs":18140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-78907b1bc71d2fbf4f0a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify data product tags and glossary terms","durationMs":26996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-7aca6831130839a0cec8","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify domain custom property value persistence","durationMs":21527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-832afab7b2e6da27dcd6","project":"chromium","file":"Pages/Domains.spec.ts","title":"slash, mention, and hashtag popups are usable inside the Add Domain drawer","durationMs":24239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-867db2298f498ed22771","project":"chromium","file":"Pages/Domains.spec.ts","title":"Follow & Un-follow domain","durationMs":30426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-877f57fd0b9d6c00c328","project":"chromium","file":"Pages/Domains.spec.ts","title":"User with noDomain() rule cannot access tables without domain","durationMs":13465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-8a19c401185f31534530","project":"chromium","file":"Pages/Domains.spec.ts","title":"Multiple consecutive domain renames preserve all associations","durationMs":85003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-90441b02005e9e698942","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create domain with tags using TagSuggestion","durationMs":15793,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-90d3b0f4f38255032906","project":"chromium","file":"Pages/Domains.spec.ts","title":"cancel on preview modal aborts the move","durationMs":27048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-941ba943b9b6909b181b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create domains and add assets","durationMs":31448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-a64ddf86b530d1b08c7e","project":"chromium","file":"Pages/Domains.spec.ts","title":"Data consumer can manage domain as owner","durationMs":18527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-a91a7b57d2c8980e04ea","project":"chromium","file":"Pages/Domains.spec.ts","title":"shows preview modal on cross-domain move and commits on Move Anyway","durationMs":27987,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-b5b9e238dec299377ac0","project":"chromium","file":"Pages/Domains.spec.ts","title":"Domain Rbac","durationMs":68968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-b9e70b1c81b9ba79fe2b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify Domain entity API calls do not include invalid domains field in glossary term assets","durationMs":23220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-bde707fc5aac0401750a","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create subdomain with tags using TagSuggestion","durationMs":19314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-c38fbe441d42c9627329","project":"chromium","file":"Pages/Domains.spec.ts","title":"preview names affected data products when moving across domains","durationMs":19013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-c9d5f9bbc47b87764df6","project":"chromium","file":"Pages/Domains.spec.ts","title":"Follow/unfollow subdomain and create nested sub domain","durationMs":32495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-d88964156dbad267a3fa","project":"chromium","file":"Pages/Domains.spec.ts","title":"should handle domain after description is deleted","durationMs":12246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-dc27f2d87881ab505c0b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify Domain entity API calls do not include invalid domains field in tag assets","durationMs":26308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-dfc370e7cca8f37456f2","project":"chromium","file":"Pages/Domains.spec.ts","title":"should render the domain tree view with correct details","durationMs":9147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-e39301d5c52576b7bc0c","project":"chromium","file":"Pages/Domains.spec.ts","title":"User with hasDomain() rule can access domain and subdomain assets","durationMs":11570,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-e915b74c6eba6a3cb81d","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename to existing domain name shows appropriate error","durationMs":12670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-eba5d9a4be11a73fb40b","project":"chromium","file":"Pages/Domains.spec.ts","title":"Rename domain with owners and experts preserves assignments","durationMs":18521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-ec0297c4e178bfb838e2","project":"chromium","file":"Pages/Domains.spec.ts","title":"Verify clicking All Domains sets active domain to default value","durationMs":24079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-edbb83c1aef23ac5fe9e","project":"chromium","file":"Pages/Domains.spec.ts","title":"should handle data product after description is deleted","durationMs":12136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5a5bc63dc66e3147e5e8-f2a49bf85e545308f9cf","project":"chromium","file":"Pages/Domains.spec.ts","title":"Create DataProducts and add remove assets","durationMs":97334,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5b560f2a008735eeb753-59998383f71d95e33941","project":"chromium","file":"Features/DataQuality/IncidentManagerAfterOwnerChange.spec.ts","title":"Incident Manager renders after a test case owner change","durationMs":20450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5c28d935b3c657a6e5bc-73a4cae56b3a100775bc","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportE2eFlow.spec.ts","title":"Admin: Complete export-import-validate flow","durationMs":251167,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5c28d935b3c657a6e5bc-a936c2f91f4ad9769ad0","project":"ImportExport","file":"Features/DataQuality/TestCaseImportExportE2eFlow.spec.ts","title":"EditAll User: Complete export-import-validate flow","durationMs":258508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-10b3bf8dd0d55f85d77d","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Tags","durationMs":16125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-18610c86119ed13f58a1","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Search Index","durationMs":15135,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-3aa370ad5eaa21e64275","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"API Collection","durationMs":14174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-4f41b2190e1d1f9d68e2","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Glossary Term","durationMs":13766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-5675237446380d7955da","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Database","durationMs":15742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-7b5d40e65305dc11c3b4","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Stored Procedure","durationMs":17116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-7da97f8239b2930647ac","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Table","durationMs":17792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-993a003b732f85ca70f1","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Dashboard Data Model","durationMs":16125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-a3aaf964369df56c9bdf","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"API Endpoint","durationMs":17276,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-aa4c7687b25f08368410","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Column","durationMs":17791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-aca5963b052c2fbcc208","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"ML Model","durationMs":16209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-adf3ee9562a932f7cfb4","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Topic","durationMs":16551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-c0d85d22753538870e95","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Database Schema","durationMs":16194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-ca00f14c4cb64a35f244","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Dashboard","durationMs":16514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-cd028f49219fc3decf23","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Pipeline","durationMs":16318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-d9b951c102d713db155e","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Container","durationMs":15967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5d2c333690b61eef10ec-dc8ba8fe61a148caacd4","project":"Basic","file":"Features/ExploreSortOrderFilter.spec.ts","title":"Metrics","durationMs":14113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-247a852a8f9d96911088","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Sort state should be preserved when searching columns","durationMs":6290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-2d5d89cfca8730ffb2c3","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Clicking Original Order option should sort columns by ordinal position","durationMs":5299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-3c6d240db259312d28e5","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Clicking Name column header should toggle sort order","durationMs":5786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-70bcb1d6a1cd9df68f81","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Clicking Alphabetical option should sort columns by name","durationMs":6175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-a5dfbdd951385e32b97a","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Sort dropdown should show Alphabetical and Original Order options","durationMs":4952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-c01e49e259252126d74c","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Sort dropdown should be visible on table schema tab","durationMs":4621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e32522fea48c4685990-c86bd28c40019f7bf7ee","project":"Ingestion","file":"Features/ColumnSorting.spec.ts","title":"Switching sort field should reset sort order to ascending","durationMs":5622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-0466efa203f90064b580","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary truncates long description and end of text is not visible before expand","durationMs":7828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-197cf17e5b07ddff57de","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Customized Table detail page Description widget shows long description","durationMs":17651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-1d5bdad4fce05f36540c","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Domain long description is scrollable and end of text is visible after scroll","durationMs":9315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-60fae3d5fe2e9ea4edc1","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary long description is visible after expanding","durationMs":7950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-76ee66e52bce790fb914","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Data Product long description is scrollable and end of text is visible after expanding","durationMs":9576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-9380f0005af196f8f8cc","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Domain description comment-thread button opens the activity feed drawer","durationMs":8691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-bf35b4fa3269cd34eb66","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary Term long description is visible after expanding","durationMs":5238,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-c84de7d4c776aa2235ca","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Glossary Term truncates long description and end of text is not visible before expand","durationMs":8145,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5e3a40cd5a33dbdfc6db-c993b188be16c921d381","project":"Basic","file":"Pages/DescriptionVisibility.spec.ts","title":"Data Product truncates long description and end of text is not visible before expand","durationMs":8708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-2fc13bd486ba204a9b0e","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":70803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-30b6dae7d0a961254f56","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":65452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-4f3a6fb1fb3de6d8217d","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":129231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-92cd730c005813f91465","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":105636,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-94c100d67d396805d1b5","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":13899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-9ecb9ce96078b339d264","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":8832,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-a044c42b96a086d46495","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":165584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-a3b61ed679be08981a84","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":8620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-acddffdad8f69d48d4ce","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":9385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-b3d6519c76369e63a867","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":11535,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-c745b5314f6b89d8d8dc","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Create Service and check the AutoPilot status","durationMs":69622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f37f0e1f4111ad5b126-f5cf031d5d3d53ec8d50","project":"Ingestion","file":"Features/AutoPilot.spec.ts","title":"Agents created by AutoPilot should be deleted","durationMs":11103,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-35843ba93005559bc5b7","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"edit form renders and manifest edits are saved","durationMs":9849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-70976550640ebe56c182","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"manifest editor is full width, clears cleanly and keeps caret stable","durationMs":4756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-8525dc7ae87c5a745a7d","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"confidence field rejects values outside 0-100 and blocks next step","durationMs":6121,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-d301fbab1271274948c4","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"sampleDataCount rejects non-positive values and blocks next step","durationMs":6155,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5f9b7046cb92d05086b1-e1ac46b0fa3419663979","project":"Ingestion","file":"Features/StorageMetadataAgentForm.spec.ts","title":"auto-close keeps the caret between the inserted pair","durationMs":4656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-08f0afc5bbbcfddf5fe8","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should display correct status badge color and icon","durationMs":18502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-0c5bb45f7891c174950a","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should inherit reviewers from glossary when term is created","durationMs":16910,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-26b4e489ecf3c2ec93b8","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should start term as Approved when glossary has no reviewers","durationMs":16431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-27f2d6ee3aefa050281a","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should view workflow history on term details page","durationMs":21701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-7faac0bc93febd2581b9","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should delete parent term and cascade delete children","durationMs":16988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-bf53bdbb0a31361d92aa","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should change status when non-reviewer edits approved term","durationMs":24811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-c2809e67875b4136fbc3","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should not auto-approve term when glossary has reviewers","durationMs":15918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-c623fe2508894ad9aa77","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"non-reviewer should not see approve/reject buttons","durationMs":26630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-ea2302b8bcba34efbbcb","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"owner should not see approve/reject buttons if not a reviewer","durationMs":29026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"5fdbea9f250338b68a5a-febeba98e63565adc403","project":"chromium","file":"Features/Glossary/GlossaryWorkflow.spec.ts","title":"should show workflow history popover on status badge hover","durationMs":25738,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-17bb560f186a52556b6e","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently created article appears in the Articles pillar card recent list","durationMs":6589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-35ffe7964f4ff382e358","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"clicking each top summary card redirects to its corresponding list page","durationMs":14401,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-591d8e2b0ba501dd7afe","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"Create > Quick Link creates a quick link that appears in the Articles pillar card recent list","durationMs":9738,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-7e65fcaf721dd4c7fc90","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently created memory appears in the Memories pillar card recent list","durationMs":7868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-82c968bc20dd40640260","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"memory with highest usageCount appears at the top of the Most Cited Memories widget","durationMs":7421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-9c9d3267a4439857e600","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"folders widget shows folder with file count and expanding reveals child file","durationMs":7710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-a485be19ead771b720d0","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently viewed article appears in the Recently Viewed widget after visiting it","durationMs":10751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-a7a4ddbacb21212a4925","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"recently uploaded document appears in the Documents pillar card recent list","durationMs":6766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"625aedead59fb3070a5e-b39405d678aebfb3c9d0","project":"chromium","file":"Features/ContextCenterDashboard.spec.ts","title":"Upload File button opens the upload modal and uploaded file appears in the recent documents list","durationMs":7507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6371c6e2d907c92358e4-a6573e241600590ee3d5","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":36906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6371c6e2d907c92358e4-c116df633ffcf099a993","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":37580,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-4067d73d89ad7e8a9d7b","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":51123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-4c0a127433aa7dd6e72b","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":38052,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-6cc746feeae7fcde0753","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":31414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-8ed5ae9e4457d894e9a1","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":40807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-c171fd09b78290a7ee3d","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":39071,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-c48e9e0adb431a610c55","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":38470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-d459106bf07dc4b72448","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":36665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-ddd05ab1ec93995dc321","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":42878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-f1417577e5c493c9ed9d","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":36824,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-fc8cffe6fccb985e0363","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":37059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64585c575e6fcefb6853-fe8f25b8cb74ea0c9c11","project":"chromium","file":"Features/RestoreEntityInheritedFields.spec.ts","title":"Validate restore with Inherited domain and data products assigned","durationMs":40286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-01215054e737e2c593fb","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Create team with domain and verify visibility of inherited domain in user profile after team removal","durationMs":13152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-16b7d856c97d302db432","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Non admin user should be able to edit display name and description on own profile","durationMs":9860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-2d41661b7fb29796cb11","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Admin user can edit teams from the user profile","durationMs":8924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-761b0901e1a38838b81d","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"User can search for a domain","durationMs":12583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-82f49cf6ec1e1428430f","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"My Data Tab - AssetsTabs search functionality","durationMs":18398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-8d5d1460501ed67f3bfb","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Admin user can assign and remove domain from a user","durationMs":13794,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-a1a41e105bc8e1f05019","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Admin user can get all the roles hierarchy and edit roles","durationMs":12526,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-dd0919f68d1d3f97ba68","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Subdomain is visible when expanding parent domain in tree","durationMs":11815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6491031c3e271b473ed6-e327d2178a45b46d6a94","project":"chromium","file":"Pages/UserDetails.spec.ts","title":"Non admin user should not be able to edit the persona or roles","durationMs":9923,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-270895da7594f80804d0","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"Tier1 OR Tier2 union shows assets with either tier across asset types","durationMs":33723,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-2f5e7621dfc5950e7dbe","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"removing one tier chip narrows the union to the remaining tier","durationMs":23634,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-77d802807f3b1de7d1e5","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"domain filter spans asset types and ANDs with an asset-type filter","durationMs":31533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-a5ea7273e17fe2c0b22c","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"certification union shows assets certified with either level","durationMs":29704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-d88a3c506999e00ab9af","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"glossary term filter spans asset types and ANDs with tier","durationMs":19222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-f4233e4ff83a89dfc78b","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"tier and tag filters AND across fields","durationMs":23134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"64ebf94c09564950d872-f629a0aa9880099c7b25","project":"chromium","file":"Features/ExploreFilterComposition.spec.ts","title":"asset-type union composes with tier union (AND across, OR within)","durationMs":27299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-00c1b828793ac9ccad42","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15323,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-010a74dfd5f225fdd9ac","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":12017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-02cdcc35da1446d26426","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":31033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-0513f79e653d347c7603","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-05568392368ae2bd8841","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-076047cd3a3cd9186780","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-0b18fe048332aed087f0","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-0e4eed2d6ca3374d26a7","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":12181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-106e894b7b0f76f0a360","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":16440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-13d9772ce8471d90d2fb","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17068,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-19e7e34913aaccebcebd","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-1a342db08b7329cc2010","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-1a8e244a95c0d725bc93","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":20575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-1c6d2e1ac16152f480f0","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-2172832393bae4110f5a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":14264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-21e015047436a930e5a7","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":11884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-241282b34358796f6850","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":19446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-265c0bedcb12d4ef691f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-27dfe3b37ded28891ed3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19660,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-27e953a961e46ba2243b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":30288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-2881886f24b7cb9bedb2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-28a34def86e53882b978","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-28f65a1e4a970d0ce460","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-2ebf49154da3380d587f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-31492e12c2051bbec6b3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-319fb1586353f9bf979c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":18536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-324024e123c76341d586","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":18635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3313a1c7730a0f079c48","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3336421788437383e2cc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":20074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-34f290ac8ac48a8f3681","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":20903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-39b25a08623f358085e3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3abe5cbe7ce08e9c39ef","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19695,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3b834e2e1e9305adc7dc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":35154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3c15dad0de10fcb3940d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3c344177da39d32ebbb3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-3d3fc741cd693c321f3c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-42bfa76fce18d5b34428","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-433104e7d8c1442600ca","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":14510,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-43365053282d79a2ef4d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16986,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-43a7b8e6fc2c81346e3f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-448846b13aaa4c960092","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-454d7ae3bb0f64862809","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-46adcce2c19f39334ac2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-47406fd7c5294829cd17","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-48370bd09b976d97dbd8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4935ec04bac029211d03","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":14731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4b4716d8c87319aaa92f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4b72173a8ebe71df8285","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4cbdcc28feeba140f2ea","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4ccbd565695fa5768657","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":17213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4d38fabf8de3bc50313c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":13017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-4d933fca87fdac097185","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":11567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-50caa1b488c051292cc8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-52a3ac737815ae734775","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-533ef8c505f142eba030","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":16786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-545e6e53903fed82a826","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5585a4494ff06f0b626c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18948,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-590c184434bac31ae289","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22956,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-59c5b44e80429341d27c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5a969009255a2a964813","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":22194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5b00196bb214ede31674","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":21391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5ba53f6cc22bb1ca824a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":15494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5bd2a819a7b25eb274d2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":12405,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5c4c3f255252af488b0d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":16543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5c65ba00083611ce622d","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-5e2a885b3d21932d846a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6236c10675925edb9b90","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6583488d0da01fc8ef29","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-65d9d74c865640a65a26","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-65dd33291f9b5de7ba4e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-68260693621f862d67b2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17732,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-69fbcd4a7e87daaae068","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":14491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6c2e72a4195b2981a312","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":15105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6c6060cbfda413351fb4","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-6f927725b3147cfc1549","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14150,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-70909101625a8fcca6a3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7248df367dfd2960be47","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":17053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7273ab0be89733ad080c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18652,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7618fdc6e84eff5f6dbd","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21797,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7d730e6039e107fd3ae8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7db92659d3391ad65c1a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18180,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-7e2dc5e8aac0d5fff8d7","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":30359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-804af1ddf76c49910781","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":20078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-80d7156a1b91ed22287b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":16575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-8150049125a7505036e2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-81d59491a1bf468b229b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-82683edd2cc5c2be916b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":21551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-86bb2767ec2061d053df","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-890d2284ebd3bdb51816","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":17306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-894c46dfabd3533da75b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-8ebf174596f8bd815bea","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-8edcc5e6d6bb0f1a16ba","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":23069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-905877fe766e2211d3da","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":19326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-91dfffdf023fd8d664e4","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-93332f160a13b68f334c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-93399eb07a69f20e4393","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-935d5d6eaae6efff8844","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":33274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-96519457d8bbc8c5c44c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16991,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-97ed7970c64c03db8ca0","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-97f87447094342e0138a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":34021,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-9a0f3261557420a0a829","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":31571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-9db0dc189483c3aa759e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-9e8346362c3dd59d8365","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":28632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a0ac272b87419b411d20","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":29437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a42f2967a883983f7eee","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a4d2e44b270d545690dc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":16661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a562f1607b5d97da27a3","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":17871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a5c06614bd30ae670149","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a6d20cb1d84778e47c4c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":13600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-a9010f9968be28f37ccb","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":15739,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-add458358c6509860921","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":15346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b081a458527dd4771f99","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b28f4f7e3438b4f89868","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b347863166e253de21ec","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":16757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b3a81cc243659b5b22d2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":32948,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b3eab2a5b7bac6d69f9b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":12163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b78de60c5b14eebde42c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":20664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-b8fa07d6060299c39f8a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":14278,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-bb3386e61fb78693df7c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-bb40dcab0576d1ea381a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-bbeb537c5b28067ca5d5","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":19861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-be8661dc20d902f3ff6b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c0c35dd94ce719f0b636","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c2a115cc084c1b8d1a18","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":15921,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c2cdcf6514943a118a32","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":16315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c3c5ddb9bebf03c0ec16","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17261,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c86bdbbcf24594eef792","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19145,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c871813cde4f307ea67f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17244,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-c994ce8b23bc3b24cae8","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-ca031813decb3155a1cc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15677,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-cad3b8bff0bfe9d71e62","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":12507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-caffc1fcf9b06d4b8168","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d1223cb6f1374f90ac92","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update displayName","durationMs":14807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d14f44ac967a37b19113","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d2913f43967f6ace073f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d2a12ff88beae508ac9c","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d369aa150f9ce35db93b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":32424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d4a6824ffb45dfb27f03","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d624bd1de4f48d8c3f26","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d6759cdd35075bf16730","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-d6c7ad5b8c7bf815b262","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dc19daf4b9e9d8bd13ae","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20859,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dd7ab1e9b75187ae8c78","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":18473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dd88ae8713aa827fe8ef","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":9708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-dff7569cfc2418f45d23","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e0e5f798bbe87c7693d6","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":19893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e1d9500f79f1f507b9d5","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":28217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e2baa8f96ddd44d625fe","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tag Add, Update and Remove","durationMs":23390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e2fe242e40e7ecc5c28e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16735,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e4f5b5761c113321a49f","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17868,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e7a260ce54c82fa93a5a","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":31553,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-e9a0ac4eadb2bfe66a3b","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21419,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-eea4ca892981bf47608e","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Tier Add, Update and Remove","durationMs":17754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f4db9223c18459e4eda2","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f5032a00993091c46b58","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":15398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f82caafb000c9503dedb","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Follow & Un-follow entity","durationMs":21778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-f9921789c29eb324c1c4","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"UpVote & DownVote entity","durationMs":14838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"659315df23bffa2c64e3-fbd7a84a2f9ab8d3d0cc","project":"chromium","file":"Pages/EntityDataSteward.spec.ts","title":"Update description","durationMs":15257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0248fe591d1b6a3a5869","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Field with OR operator","durationMs":20595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-026f8e3649343e62d447","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Domains with OR operator","durationMs":21454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0300935d35cc19a29177","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Response Schema Field with AND operator","durationMs":20026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-04daeb86394821b90ee0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Schema Field with AND operator","durationMs":11418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-094c9de20fd1c2d6a070","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Service field","durationMs":31030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0a4cc1d3414e8b404d91","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Container Column with AND operator","durationMs":11257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0d4156eaf78cd8c9edf3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags == tag2 returns table2 and hides table1","durationMs":11106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0d61a30b633badaf017f","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Owners field","durationMs":44416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-0f440e656cd6a84e5009","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Domains with OR operator","durationMs":22005,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1054e4fd1507fd6e020e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Name with OR operator","durationMs":23454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-124a13495a8560aaadfb","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Is not null returns table with a column tag","durationMs":11637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-12e780c0f83ac670948d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Product with OR operator","durationMs":21222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-15d133a96f1bdbc98b36","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify search with non existing value do not result in infinite search","durationMs":9423,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-166ebb7cc98d71de6829","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Field with AND operator","durationMs":20740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-18f8c9857cc8a55e6328","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Column with AND operator","durationMs":11756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-19db3a9822bc4938a40b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Column with OR operator","durationMs":18246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1bd1daa48254e9f2ec0c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Task with AND operator","durationMs":20470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1c044fcb43f04b1ef411","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tier with AND operator","durationMs":17520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1ca0566ef447ef637735","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tags with AND operator","durationMs":21301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-1ddc8aa6a67c0a56455c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Model Type with OR operator","durationMs":24826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-20404d0a7b71c063e6c4","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Request Schema Field field","durationMs":32018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-27eea821a8e96d3044bd","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Field with OR operator","durationMs":22050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-301876fc007aa300fe09","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Name with AND operator","durationMs":23460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-30857c3f47c6494f832c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Chart with OR operator","durationMs":22762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-309cfad978890de2727d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Request Schema Field with OR operator","durationMs":19287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-314e0cb34dca6dd39332","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Field field","durationMs":28033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-36ba9aba26407e597f4f","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Domains with AND operator","durationMs":23448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-380995e467375a200187","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tier with OR operator","durationMs":23322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3a7a4707251636fdeec4","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Container Column with OR operator","durationMs":30036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3be2e1e48a99bdc49944","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Database Schema field","durationMs":32328,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3da64a400651805df6c1","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Response Schema Field field","durationMs":31239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3fa6a50e4b31a62fcefc","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database Schema with OR operator","durationMs":22947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-3fd3c1c5ce770254b27d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service with AND operator","durationMs":17193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-40124f0b001489762291","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Container Column with AND operator","durationMs":30330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-41a0c3d07608ba7a60f0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Domains with AND operator","durationMs":23388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-428f3116264c4d8796b8","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Schema Field with AND operator","durationMs":11625,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-430bf9cc13867b7abcd9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tier with OR operator","durationMs":22147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-43a916f7500af0574eb2","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Display Name with OR operator","durationMs":16807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-4bf4446144aba6db7043","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database Schema with OR operator","durationMs":21976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-4ec7f51e5350c3bcd603","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Field with AND operator","durationMs":20022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-53011071a7f8d08768cb","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Chart with AND operator","durationMs":20084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5385ccf02376311255ca","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Name field","durationMs":27168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-55a39ae801ff1804bbd7","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Request Schema Field with AND operator","durationMs":19105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-576839dd004d20fa92b5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Column with AND operator","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5c72efd78d96edf252df","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Request Schema Field with OR operator","durationMs":20413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5ddaeb14ad2cfae00fc5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Project field","durationMs":31250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5e803cdeafc0cf3df548","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Product with OR operator","durationMs":19914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-5f4661433eb256fb014d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Container Column with OR operator","durationMs":15437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6082607d2a8ca3a6c049","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Domains field","durationMs":31057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-60d6ac96dbcb08e0c6ec","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify browse mode has no count","durationMs":9802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6133e5f3bbf9e169c223","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Schema Field with OR operator","durationMs":15183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6244eca8ce5e1653360c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Request Schema Field with AND operator","durationMs":18812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-63c17b7a638b067794a7","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Database field","durationMs":31035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-64d81a9e0378dd9487ac","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Schema Field field","durationMs":30980,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-665bca75f0fcb3ff479e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service with OR operator","durationMs":24241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-67286aef4cf78a2f8edf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service with AND operator","durationMs":16323,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-689ce80f27319803b899","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Owners with OR operator","durationMs":20646,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-697cd69a0946fad50e59","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Column with OR operator","durationMs":15487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6b07dd640ef9ff2b3215","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Model Type with OR operator","durationMs":22857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-6e34d393747f403f84ed","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Data Product field","durationMs":32715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-704eabb4e3b551dd0b2a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify count shows with Advanced Search filter","durationMs":18345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7136e074bb522235b31e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Column field","durationMs":33542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-77f94ace7ce0fac4c3ee","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Project with OR operator","durationMs":21154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7826a5e737178d96e977","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Owners with AND operator","durationMs":21726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-78bf93dd4f646527ab65","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Description Status == Incomplete – table with description is NOT visible","durationMs":12121,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7dd67f2a559e9bc79221","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database Schema with AND operator","durationMs":15762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7edadb86ee6154e2d26c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Schema Field with OR operator","durationMs":15084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7f12f95ad8a52a56a8b6","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Description Contains filter returns matching tables","durationMs":9730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7f46dc4640125a3bf82d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Tags field","durationMs":34270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-7fa87af5231509ebe40c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Display Name with OR operator","durationMs":16122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-80c28f517a732e6f1dc9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Is null excludes tables that have column tags","durationMs":11165,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-8210b5f1c9886c2cc56e","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Chart with AND operator","durationMs":21590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-91c093ab6ae85c8d3be6","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Owners with AND operator","durationMs":21614,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-970f46997f66da1a7aaf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags == tag1 returns table1 and hides table2","durationMs":10999,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-9827ef3bc91ee68afd13","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Product with AND operator","durationMs":21006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-9c411631f0242a50e054","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Display Name field","durationMs":27347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a2b23c2f2a3c1a5cf57b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Project with AND operator","durationMs":21111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a3e45122be7a30fc5b20","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Service Type field","durationMs":31708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a4042d346410e73b459b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Name with AND operator","durationMs":22276,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a809bd258209b1d1d523","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Project with AND operator","durationMs":19287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-a8652ca95e7cd6396b9d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Filtering by status \"!=\" excludes matched entity but shows all other entity types","durationMs":21448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-aee1298f00c810baf816","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Filtering by status \"==\" shows matching entity and hides others across entity types","durationMs":22746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-afd4e19b1abb7ae37a6d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Chart with OR operator","durationMs":22965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b0973908aaa09b3b2b55","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Model Type with AND operator","durationMs":25556,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b0b4702e10f6dafb46fd","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tags with OR operator","durationMs":22038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b0ff28e567d179b0362f","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service Type with OR operator","durationMs":15319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b3e575d3edc911973903","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service with OR operator","durationMs":24025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b4526cb54dacefd8439d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Contains tag1 name returns table1","durationMs":11076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b69fab53286ed20c1a51","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database with AND operator","durationMs":16272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b69fd4a4d0a87f754ab2","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Task field","durationMs":29306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b8e9292e9ff4f2818f78","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database Schema with AND operator","durationMs":14604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-b9ddebe611fd00b8bbdf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Not Contains – table IS visible (word absent from description)","durationMs":13151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-ba39b72e8f6b4e01a622","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Task with OR operator","durationMs":19837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-ba60bd953617019f871a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Any in [tag1, tag2] returns both tables","durationMs":10928,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c097eef6ff94177672a9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Tier field","durationMs":33197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c0c03327367c5ca24fdf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Service Type with AND operator","durationMs":13106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c21d2ea0f41d212cc4a3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Data Model Type with AND operator","durationMs":23676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c3e95a55399a37d3f1b1","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Name with OR operator","durationMs":25100,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c3ee7a1a3aa2710ad4a7","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database with AND operator","durationMs":15602,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c617f2c03df01d729928","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Not Contains – table is NOT visible when filtering by a word that IS in the description","durationMs":13096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c731275f1dc4d90db719","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"should find page-2 items via search without clicking Load more","durationMs":10408,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c9f1c86bad021ef89a3b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Chart field","durationMs":31324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-c9f2cfd0960c76d760b0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Response Schema Field with OR operator","durationMs":22100,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-cf859564ed9cea15e82b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Task with OR operator","durationMs":21205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d282c7e91e07f829e8c3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Not in [tag1] excludes table1","durationMs":11716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d36958aea2fdffa9fd7a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tags with AND operator","durationMs":20036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d377990b8a9fb516a6fd","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Display Name with AND operator","durationMs":12626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d45787e0a78146b51b53","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Data Product with AND operator","durationMs":20415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d528483b823ccd49d713","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service Type with AND operator","durationMs":13437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-d81b8b465292e7a45a2b","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Container Column field","durationMs":28799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-da5fe6a493ba7e6cfcbc","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Response Schema Field with OR operator","durationMs":20130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-dcdecacfe417a1ad2a96","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Is null – table with a description is NOT visible","durationMs":10654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-de8aa1b1974ce4a3289a","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Response Schema Field with AND operator","durationMs":20072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-df161e422f4f533f68cf","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Tier with AND operator","durationMs":16874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-df4c63c48ff06a4e86a9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Database with OR operator","durationMs":22386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e1e5bce098345866f4e3","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"All entity status options are visible in the Status dropdown","durationMs":8441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e25e398635a5d78f1649","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify count matches the API total for a quick filter","durationMs":15425,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e4d7ba38d188aeede6ce","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Owners with OR operator","durationMs":22653,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e5fdf691386304dda8ec","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify All conditions for Data Model Type field","durationMs":28947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-e62b72689e69534dc01d","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Display Name with AND operator","durationMs":12782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f06878a025bbf0431eb5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Service Type with OR operator","durationMs":15420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f177508ed699c02ef979","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Description Status == Complete – table with description is visible","durationMs":14676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f1d48b8aaef4bfd0e7f0","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify the toolbar Clear All button is removed","durationMs":15124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f4ca6d719c7e6cd325ce","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Database with OR operator","durationMs":22086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f596bd91c64598ccc8a9","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags Not contains tag1 name excludes table1","durationMs":12258,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-f8c89d3b9d9d7a951219","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Rule functionality for field Task with AND operator","durationMs":20811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fb4b78ae9c9fbaf75fe5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Tags with OR operator","durationMs":22147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fb4f431e025270e86b3c","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Verify Group functionality for field Project with OR operator","durationMs":21613,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fc662be0ac0eb78c56d5","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Is not null – table with a description is visible","durationMs":11622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"665a509785f6ae98f014-fe98cf072c30358e25bc","project":"AdvancedSearch","file":"Features/AdvancedSearch.spec.ts","title":"Column Tags != tag1 excludes table1 from results","durationMs":13040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-030f976d52547ffee6af","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"locks system-defined relation types from edit and delete","durationMs":11644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-2d879466483e971a4aa2","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"parallel API writers both create relationship types","durationMs":9587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-420283d7f82a561357d0","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"edits a custom relation type and keeps the name immutable","durationMs":12855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-4deb76eb39aff4718dac","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"paginates relation types when they exceed a page","durationMs":14951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-6819ceb2313f81ae13c7","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"creates a custom relation type via the drawer","durationMs":13968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-97bdef908422bd78cf90","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"findRowAcrossPages locates a row when the table has multiple pages","durationMs":13830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-a47fe4536a712063a893","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"delete removes the row from the DOM before the caller proceeds","durationMs":13659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-aa95d6162a617f535dcd","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"rejects duplicate relation-type names and keeps the drawer open","durationMs":13350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6662893a8541aca2ba9c-eed27231e35e72bb34e0","project":"chromium","file":"Pages/GlossaryTermRelationSettings.spec.ts","title":"deletes a custom relation type","durationMs":13801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-0d5b9a6fb6b3f1d36fc5","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission cannot see restore or delete actions on an archived document","durationMs":9277,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-10825ea530d9799b47e1","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions but not owner sees read-only banner and no edit/delete on the row","durationMs":10381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-20e0ce562f9ba525f683","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission can see create action but not delete action, and can create an article","durationMs":25731,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-2739db8bc9b9a4df8761","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission can see restore action but not delete action on an archived document, and can restore it","durationMs":13751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-27b7063c112f47ef11b2","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission sees no row delete action on memories they do not own, but can delete their own memory from the modal","durationMs":12345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-421f44e2cb09509abf6a","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see create or upload actions","durationMs":6566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-540e879d00fd41114f62","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission sees Add Memory button but no row edit/delete actions or modal action buttons, and can create a memory","durationMs":13818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-54d59da4e5d21f32b45b","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions and owner can see Add Memory button and all row/modal actions","durationMs":12366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-5fd1ea349c43b5f7ade6","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"admin user can edit and save a memory owned by another user","durationMs":10852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-679ff08bf7ab1e9638e8","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"Data Consumer can view and edit content but cannot add article, domain, reviewer, data product, or data assets","durationMs":6549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-67ee0ef55073be2f7ff6","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission sees no Add Memory button, no row actions, and no modal action buttons","durationMs":10745,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-6c7c5e4060896807dfbf","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see upload, folder, or row actions","durationMs":9665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-7048ad1b2cdbba8c7098","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"selecting \"Updated By\" actually reorders rows by updatedBy","durationMs":8077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-75d84722d862535a7d5f","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission cannot see create or upload actions","durationMs":7625,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-7bf2358642df91e09c6f","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission can see upload and folder create actions but no row actions, and can create a folder","durationMs":20368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-7fbf4a859228cd5d2077","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"created-by-me filter on the archive page shows only the current user's archived documents","durationMs":14280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8688c4eab1661197c622","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see upload, folder create, and all row actions","durationMs":9649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8b30f4dc8b9a4455def6","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see create or delete actions, but can use share/vote/conversation actions","durationMs":19863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8e9545a0b5baa5e47cbd","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission cannot see create or delete actions, and can move an article under another article","durationMs":23773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-8f70f3d35807262b000c","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with createAll permission can see create and upload actions and perform them","durationMs":13097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-9688a6c96efd0f62f947","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission cannot see create or upload actions","durationMs":6692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-9c43270f91aa02211126","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission sees row delete action but no upload, folder create, or move actions, and can delete a document","durationMs":12157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-a1a04fa4162c7391462d","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"a document archived by a different user can be permanently deleted, via the UI, by a user with Delete permission","durationMs":12673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-aa88bf1cafba61d0b0c8","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see create and delete actions","durationMs":13581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-b2da0b8d956c9c571e7e","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission cannot see restore or delete actions on an archived document","durationMs":9593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-b83ccb07716204f13779","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"Data Steward can edit content, title, owners, tags, and glossary terms but cannot add article, domain, reviewer, data product, or data assets","durationMs":5912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-cbd6a4c438db46a87069","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission sees no row edit action on memories they do not own, but can edit and save their own memory","durationMs":13212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-d406b1d8244bd4837a02","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with editAll permission sees row move action but no upload, folder create, or delete actions, and can move a document","durationMs":10293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-d5d7c9b8b9a2392b0cc9","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see create and upload actions","durationMs":8059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-e3b36012c515ccf872c2","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission can see delete action but not restore action on an archived document, and can delete it","durationMs":14576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-e45828987ae3f8cf1c7b","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with deleteAll permission can see delete action but not create action, and can delete an article","durationMs":25484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-f14a3d0a85483b085cb1","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"ViewAll-only user cannot create or edit articles","durationMs":10638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-f9b86eac13a88a92bf94","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with all permissions can see restore and delete actions on an archived document","durationMs":8453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6687b1971592d72be17a-fcde0758e6b601a806ce","project":"chromium","file":"Features/ContextCenterPermission.spec.ts","title":"user with view-only permission who owns a memory still cannot edit or delete it","durationMs":10115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-18c6f5eb9f9c19c50dde","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Data Product asset count should update when assets are removed","durationMs":46997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-3a3f742e93d47ca84940","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Verify Widgets are having 0 count initially","durationMs":18963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-81becdadc5311eeb58f8","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Domain asset count should update when assets are removed","durationMs":49011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-9c5b7d3adf677a591fe0","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Data Product asset count should update when assets are added","durationMs":53622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-c6a8e0211da1e6bd097b","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Domain asset count should update when assets are added","durationMs":60191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69931a0cdf9d00fcd477-e2b7b5f7dbe2189375ac","project":"chromium","file":"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","title":"Assign Widgets","durationMs":42178,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-5e9ae60fe863e3648021","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity feed left panel shows All and Tasks options","durationMs":15662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-78c3f0503d643e660906","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity count badge is displayed in tab header","durationMs":17605,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-78ef0b8aae139b3200d9","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity feed tab shows activity events for entity","durationMs":16717,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-b8948aa10be3f126124a","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity events are created when entity tags are updated","durationMs":21940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69abfe37c0839c35e30f-c01253c3651ccbe9853a","project":"chromium","file":"Features/ActivityStream.spec.ts","title":"activity events are created when entity description is updated","durationMs":24897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-052a649575c460f16115","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should display entity name link in panel header in glossary term assets context","durationMs":6796,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-668b29b178430ef599ee","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit owners from glossary term assets context","durationMs":8550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-7d959402ac411fa1226d","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should display overview tab content in glossary term assets context","durationMs":7015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-7e30f5925bae38e11c8f","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit glossary terms from glossary term assets context","durationMs":8314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-8d7f4224e6da7668b1a0","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should open right panel when clicking asset in glossary term assets tab","durationMs":6706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-9a8a1508351c9a62e774","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should assign tier from glossary term assets context","durationMs":7590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-9fcb2cd0167b25ce5be3","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should display correct tabs for table entity in glossary term assets context","durationMs":6221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-dcabc8f167f7a85fe179","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit description from glossary term assets context","durationMs":7412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-ee18c163cf99218a6116","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit tags from glossary term assets context","durationMs":7305,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69c0e3238d1349fa05cd-f3abb25309536ec109d8","project":"chromium","file":"Pages/GlossaryTermRightPanel.spec.ts","title":"Should edit domain from glossary term assets context","durationMs":7399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69cacca71964c08834ec-13d8e90a56a4cbcc29e6","project":"chromium","file":"Features/SchemaDefinition.spec.ts","title":"Verify schema definition (views) of table entity","durationMs":8169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-0d63c51a5b8439797ec4","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test search on Table version page columns","durationMs":4945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-1afaf40ca75b9169745f","project":"Basic","file":"Features/Pagination.spec.ts","title":"should display at most pageSize rows on each page and total matches task count","durationMs":4439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-1effafa017fa24dae3a8","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schema Tables normal pagination","durationMs":10502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-270586167806dc7a45d7","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Notification Alerts page","durationMs":9017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-4536ce90c513ea40babb","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Table columns complete flow with search","durationMs":14209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-4849a60b7f9b9c75970b","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Stored Procedures complete flow with search","durationMs":10926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-4a9e844a35462eb4ed53","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test API Collection normal pagination","durationMs":8719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-522675c74c67c05389c8","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Service version page","durationMs":4737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-569e6236bb343a798340","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Table version page columns","durationMs":10048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5976c978fb8e0412cae3","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Classification Tags page","durationMs":9273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5a0809981ccad3fac96a","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Spreadsheets normal pagination","durationMs":8935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5b1b1a14ee145e3320a2","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Directories complete flow with search","durationMs":11361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-5deca5d41faf8cf09f92","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Users page","durationMs":8404,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-61c3a2cd143654c345ea","project":"Basic","file":"Features/Pagination.spec.ts","title":"should reset pagination when switching between Files and Spreadsheets tabs and also verify the api is called with correct payload","durationMs":10001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-62a7e49254bc5ed1c0fd","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Files complete flow with search","durationMs":10584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-65a356df11068eb892a9","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Data Models complete flow with search","durationMs":10979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-6ccab878d5d132496901","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Table columns","durationMs":14276,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-70eff9216ce9baf67def","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schemas complete flow with search","durationMs":12178,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-7230a3d6ac8be6c0b43b","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Bots page","durationMs":8860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-755acad3b9ae48868e50","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Service Databases page","durationMs":10982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-7f9d55e3f06664f27de6","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Spreadsheets complete flow with search","durationMs":10894,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-81562d6199750c91eedf","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Stored Procedures normal pagination","durationMs":11132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-95f815f4af52e846761f","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Data Models normal pagination","durationMs":10748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-ac4a045699a81c56318d","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Service Database Tables complete flow with search","durationMs":10683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-b9120310e2cedd8c5bf0","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schemas normal pagination","durationMs":10765,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-be507602cb869bf3d3a4","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Roles page","durationMs":9255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-c0e169775cd894d676f8","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Metrics page","durationMs":9055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-c5300a813856c71be56c","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Pipeline Tasks normal pagination","durationMs":9604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-cf38d16dc446f8c57869","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Policies page","durationMs":9018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d09956c0604ead156107","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Users complete flow with search","durationMs":9828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d28067dfec2215fc2a1f","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test API Collection complete flow with search","durationMs":9130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d4ee9d0888330156246e","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Database Schema Tables complete flow with search","durationMs":11104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-d6cd483f8e72dec2aab6","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test pagination on Observability Alerts page","durationMs":8784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-dbd8d16a665a04625901","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Directories normal pagination","durationMs":10585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"69f04d167d027522a57a-fa33d3888c5145159d4c","project":"Basic","file":"Features/Pagination.spec.ts","title":"should test Files normal pagination","durationMs":9737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ab1a126f5f0454c42dc-aa12aecd843105a4100f","project":"chromium","file":"Pages/PipelineValidation.spec.ts","title":"should reject pipeline creation when task name contains reserved FQN characters","durationMs":9,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ab1a126f5f0454c42dc-efa1da2a9c4231a884ee","project":"chromium","file":"Pages/PipelineValidation.spec.ts","title":"should reject pipeline creation when task name is empty","durationMs":32,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-00d78358a54604aa5230","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Follow & Un-follow entity for Database Entity","durationMs":13581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-05ceb395a88e2b017909","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":17308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-07fa338ea4eb691ca04e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":9668,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-095366bb3f9782e4b4ac","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":16983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-0d9793ea09690a80b966","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":18005,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-0ebb53f319f2a67ff9f4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":11692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-0fe6b99ec9f67bfa9faa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":16151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-12ec4b8c5deb13223785","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":12899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-13e54e4ad192cd9efb73","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-141e1d403d78ee81d20d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":11213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-17428dd1dbd106320b78","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-17c18c4a39bde14e5a5b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Database Service","durationMs":28597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-19d75f5f67db078abe6c","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":17261,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1b6aef52cf71f2f96cd8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":11866,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1cef3376d98ef0bc6845","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":11090,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1d6aa7210486e47f00e3","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":15464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-1f7257faa3ff6ee3d90a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2044951d3a73d0b2d996","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":26161,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-22f08f8e66fb0a6b142f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17493,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2339e2d24363f2751c72","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":14601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-23f289761eea5d8ad0d9","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17824,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2415dc37c3890f585aaa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":14205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-28f4e85540f8278e7e5e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":12802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2b3f4a2ef8db1d71465e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2bb0ad11cb7c8c9e83ac","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":16196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-2e1bdc838f7d0fd8bcd7","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":16719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-315d4c39979d5b429be4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":16918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-330814fd205fc63c7a89","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":12806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-36a6a7eff3583482208b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":16542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-3d6d96bcfc6c2b28446a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-3f0f017751c0f9e5d24e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":9136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-3fd1a3fbb71265224dd8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-439162d3691b598fbc91","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-44a0649dc047654eaf5d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":12983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-44d28a5b57954577834f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":10600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-456a6d64f84a51837dd9","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":14188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-46581f14ac1a04c5ae14","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Messaging Service","durationMs":29402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-48696a6d0816b53ee59d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":13940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4ab33598b1cfd871bfe7","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":18008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4bf44086b6fb8019ca24","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":14332,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4c97fecb78d90497f70f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":14412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4ceda484206529830fc1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Api Service","durationMs":30805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4d7762a289fe4ba86f4c","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4db8a131edf74e52d43e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":21347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4e3b0413aee3a8de3c8e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-4eccaafaf317fd3925eb","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-502d8da9de83d9520848","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-5405ded470cb5150a6d0","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":13595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-586f692293f073d1021f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":15828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-58bdff9e058f898c1af8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Search Index Service","durationMs":25737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-5956015465cac568e5fa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":10820,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-59781b41dd8cc26391e1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12938,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-61ca56e64d18f8db0689","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-64ec4bc4779c2028b4f6","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-66c12a591dde84d462a5","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":14353,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-681341682d7d6ff41b5a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":17283,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-68fd12d73abb2789cdb5","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":8935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6b438bbddf9c67179b23","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6b52238501c9dd87c323","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6e97f2492432e11bd72f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":28821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-6e9f9c02b1878da34748","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-71ad41b0d7192f9308b0","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":10920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-72b2976f74708121344b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Pipeline Service","durationMs":22627,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-738ae92e7a456d8559cd","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":7650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-74a1e27f45394080d2a2","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":15503,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-79f742b06207108de1fa","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":16591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-7c0ca4d50ff297de79ec","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":26730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-7ced936483e254bdc26f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":15859,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-851289553bf3f933e4d1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":27853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-864ac85bd99a9a4cd647","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":15609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8a886064018e6d7ce40d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":14953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8c3e68a1db2f22a89a00","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8dc41e621dab83ad094c","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":21896,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-8e67349c98bdd3b3b16b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":8049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-901d2391b8c515986986","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":29111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-90c9ce604f7a5005c6b5","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-90f41a42948dfce135db","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9354d7b199cc56d1285b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Database","durationMs":39166,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-97d8de928397f494de98","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":30123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-98560e031b247e205bee","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9eb835bbaf3d632ff610","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9ed1e087674fbc9e90ca","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-9fe5cbbaefa01f3b8088","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":10709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a1aa9e9e55e2aaf5c830","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":18998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a385aaaa6615db8d41b4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a5df7e6bc93587c9c39f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a8858778387f593ba0f8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":15007,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a915ceb90728aafa8624","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a95000b4d2a834bca12a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":13783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a95af30fabe36816ae5b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Certification Add Remove","durationMs":17414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-a9ace2bb98e05805214d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":20577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ad6771e7ca6599ec9d2f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":14206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-af5887e77e84824f926f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":12768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b1f3c51ac39336818657","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Follow & Un-follow entity for Database Entity","durationMs":27982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b2f8330ad165aa371918","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":12704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b5448a6d970596d21ff3","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":11632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b66b7fb8d4958d16af63","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":30491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b87b5ff8369052806821","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Storage Service","durationMs":27224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-b8a15061fd3f12b20ddd","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Dashboard Service","durationMs":31784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-bd4d81cb27aebc7522c6","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Verify Search Placeholder","durationMs":11511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-beb2a792c179b0e18582","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":16387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-bfbb1f2951aa7247cfcb","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":15119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c059425f0ee306d51262","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":12221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c0e25a61c0c94d058b14","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":16290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c1ee83ea9c55a5143b78","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-c5f0c42ad03d6cd1533d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":19454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cd1f1f467e0f30044cdc","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":13662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cd4638ad50da7c16713f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cd6cc1c77ceb3a4f813f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":12147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-cdb652309a855e8e8b6e","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":11062,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d401b8d4fdec50f4d527","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d41e33cf18f0a0f03d4a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":23518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d5c7e41187ffccee6c2f","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-d7acb023b21d042a3854","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":16154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ddd593594947a3f2f7e8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":13945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-dfa31604b8badf1fca29","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":11394,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e2f4e4bd31755dce4ba1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":15892,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e56d1b8c2d393ba2eac6","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Mlmodel Service","durationMs":26668,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e5745670b7663e6284ba","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Certification Add Remove","durationMs":21154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-e5b8f6da7ae9c9c091d8","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":29804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ea74abe48bd512e6d744","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":24181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ea80f5ffeba8e3e514e3","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":8662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ed093e7198e33633d2f4","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update description","durationMs":14032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f19a60e986c74388fcf1","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Domain Add, Update and Remove","durationMs":19930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f739417ab5977cadad8a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Drive Service","durationMs":28543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f74fb883c671c6c2adff","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":14737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f88eadfd770af9615a31","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Inactive Announcement create & delete","durationMs":16610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-f8908380572ade6ba2bc","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fc556a3cfc34a3a4842b","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Delete Database Schema","durationMs":42289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fc6a816a8d68fa625004","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tag Add, Update and Remove","durationMs":10492,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fd38fa8ea0050bc11f12","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Update displayName","durationMs":17828,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fd72e28576cf322baa24","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":13631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-fd845648f618a8c8686a","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Follow & Un-follow entity for Database Entity","durationMs":22580,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ff8a67b3c643a6de256d","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Announcement create, edit & delete","durationMs":31701,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6af163fea506aa4566f2-ff8e8ecfffbb7bc11dbc","project":"chromium","file":"Pages/ServiceEntity.spec.ts","title":"Tier Add, Update and Remove","durationMs":16107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-3c0db3f1e32defe585a4","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"header stats remain scoped to the selected glossary","durationMs":7328,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-5ffc4fc0cf2cfd5aa7ee","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"only the term and its direct neighbours appear — unrelated term is absent","durationMs":9724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-753cf016d7a52a57f15c","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"cross-glossary edge is present in graph data","durationMs":7767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-aaf35283868291d0f875","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"ontology explorer is visible in the Relations Graph tab","durationMs":9318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-b8bdc5150f5e8b88b70c","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"term from another glossary is hydrated in as a node","durationMs":8279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-ba90557d390ee6743d30","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"global Studio controls are hidden in term scope","durationMs":8509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-bdc74f11a99a84ad3cb2","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"clicking a neighbour node opens the entity panel","durationMs":9589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-c3e3924b42dfa0df5d55","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"edge between the term and its neighbour is present","durationMs":10317,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b2b1e1aeb3c54d4729d-df9182fe91cd52b0acf6","project":"chromium","file":"Features/OntologyStudioInteractions.spec.ts","title":"zoom and fit-view controls are visible","durationMs":9637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-60c875ad97424dee4e25","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create and approve entity-level description task for Dashboard","durationMs":399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-786e6f8c70160627e0e9","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create and approve TagUpdate task for Dashboard","durationMs":322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-90cedc12661a4643946e","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"rejected task should NOT apply changes","durationMs":381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-b4317d710c370bd24be7","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create OwnershipUpdate task for Dashboard","durationMs":1041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-f378c009570f9449ef08","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should show task in activity feed after creation","durationMs":20863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-f4e63cb88ba395b56c54","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create TierUpdate task for Dashboard","durationMs":321,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b3af04ece311f75689a-f505580b6048b9e7f4f7","project":"chromium","file":"Features/Tasks/TaskDashboardEntity.spec.ts","title":"should create DomainUpdate task for Dashboard","durationMs":501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-0f6f29e2f1c4b474fdd2","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"zoom and fit-view controls are visible in glossary scope","durationMs":11285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-155194eb24d2e2caccd9","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"clicking a node in the Relations Graph opens the entity summary panel","durationMs":11882,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-1b32d1add1034bd536eb","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"an edge exists between a nested child and its cross-glossary related term","durationMs":11284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-2b0b559c4357595c86c7","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"search returns empty state when no term matches the query","durationMs":12925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-2d4e6ef72c33fc44d05b","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"deeply nested grandchild term appears as a node in the glossary Relations Graph","durationMs":12015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-4ac81f68eadb0eddd0f1","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"isolated term within the same glossary IS shown in the Relations Graph by default","durationMs":12257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-4d3660629680261514e8","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"a parentOf edge exists between a parent term and its child in the Relations Graph","durationMs":10770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-5ea646b31bc57f6ceb8d","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"cross-glossary related term has an edge to the term in the viewed glossary","durationMs":12623,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-752887931640b36a1b6b","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"Relations Graph tab renders the ontology explorer for a glossary with related terms","durationMs":13541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-8a81ed58944bf0102167","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"search in the Relations Graph filters to the matching node and its neighbours","durationMs":12757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-8d45c5f6a1ebda6dab15","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"term from an unrelated glossary is NOT shown in the Relations Graph","durationMs":12966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-9f75d86f777103f3730b","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"global filter toolbar is NOT shown in glossary scope","durationMs":12641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-a02781b14c6c4a0560a7","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"nested child term appears as a node in the glossary Relations Graph","durationMs":12748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-a6f0673f9f3ec464a1a6","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"related terms from the glossary appear as nodes in the Relations Graph","durationMs":12566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-b7bbd38343ffe4ec95b3","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"an edge with the correct relationType exists between the related terms","durationMs":11629,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-c46a41f4509f43b3c19a","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"cross-glossary related term appears as a node in the glossary Relations Graph","durationMs":12123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6b41c0bfb13cd7424837-d0894452615bac35da92","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraph.spec.ts","title":"cross-glossary term related to a nested child appears as a node in the glossary Relations Graph","durationMs":11546,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-02a9f1f5bc2bb9cb4d3f","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"My Data filter should show only owned entity activity","durationMs":9754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-130907f22f9a222f9f78","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"entity tab badge totals conversations, activity and tasks","durationMs":11336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-218075417344154ad45d","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"creating task should immediately appear in entity feed","durationMs":19289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-25c0ae0e67cbf704171c","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should show task in activity feed widget","durationMs":10307,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-2648a94a2a8068a286c0","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"Activity Feed widget filters should switch between All Activity, My Data, and Following","durationMs":14687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-495fa33b459cbee9a0c6","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should show description updates in activity feed","durationMs":11698,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-4f7c55b775868a3cf15c","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should have clickable task links that navigate correctly","durationMs":9126,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-637ba584c4c13c1ec867","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"assignee should see assigned tasks in Tasks filter","durationMs":11580,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-64e4c0054be5e225e0a5","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should display activity feed tab on entity page","durationMs":10561,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-92037e70c926a2ee43db","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"updating entity should create activity in feed","durationMs":12933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-9a99af13dea9f806d0d2","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"clicking activity feed tab should show feed and tasks","durationMs":12422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-bb14751acfa82ef92787","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"entity task filters should request open, closed, and mentions views","durationMs":13880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-c0fb4e74dc25f2e9f4e2","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"All and Tasks panels each show their own seeded items","durationMs":13526,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-c8ec51c30cc18befab0d","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"should display activity feed widget on home page","durationMs":10197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-e0b6d76a34064a97d805","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"Tasks filter should show only tasks","durationMs":9898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-fb6c38e52d91ff7a7ad1","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"following an entity should show its activity in Following filter","durationMs":18454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6cc7ad72eff3575197d7-fef19851f322651f1034","project":"chromium","file":"Features/Tasks/ActivityFeed.spec.ts","title":"All filter should show all activity","durationMs":10980,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-69ef15cf8752da40f2d0","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify table search with special characters as handled","durationMs":18500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-b2d9d31b73fb2eb60e67","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify domain platform view","durationMs":7110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-b6a72c0554063dbc917e","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify platform view switching","durationMs":5733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6ced39ffec1acbbdd0e0-f85c9a5692010b56850f","project":"Basic","file":"Pages/Lineage/PlatformLineage.spec.ts","title":"Verify service platform view","durationMs":6377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d0fae529d1edab6e47b-b7e0c7af5d202caa41de","project":"DomainIsolation","file":"Features/DomainIsolation/DomainIncidentIsolation.spec.ts","title":"admin sees incidents from every domain","durationMs":7360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d0fae529d1edab6e47b-fa37465f7517bf023bcf","project":"DomainIsolation","file":"Features/DomainIsolation/DomainIncidentIsolation.spec.ts","title":"user without a domain cannot see incidents belonging to a domain","durationMs":7795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-55e0b895422ddbcfcabe","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"should render the service listing page","durationMs":7420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-9661a49fa27744bd3143","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"should send wildcard query_filter on name and displayName when searching","durationMs":6914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-b799453e514626e37076","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"service listing pages should use the correct search index for search","durationMs":23312,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d35fb77b389ad17aaae-d7a58326fcfc4813852f","project":"chromium","file":"Pages/ServiceListing.spec.ts","title":"should find service when searching by displayName","durationMs":6469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-0e8840821fdd9591c08c","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create glossary term via row action (+) button","durationMs":11506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-0f76b5d2ce502173a58b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Add and Remove Assets","durationMs":23240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-1bbd2c7b10a1630cab95","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify Glossary Term Deny Permission","durationMs":14901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-1f0f00122ded66da4ee5","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - multiple deletes all succeed","durationMs":16908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-24070596b72f9abe027d","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Column dropdown drag-and-drop functionality for Glossary Terms table","durationMs":7911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-250c033f5b7545226c98","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify Glossary Deny Permission","durationMs":15347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-2e2d5dcd6abb731f559b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Add Glossary Term inside another Term","durationMs":16372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-2fc1b4844bf346a49db7","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - WebSocket failure triggers recovery","durationMs":10588,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-324008c43bb03cdc58ba","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify asset selection modal filters are shown upfront","durationMs":23857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-33111021a8e04784f97b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary & terms creation for reviewer as team","durationMs":45615,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-33c9092459c128f840b0","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create glossary, change language to Dutch, and delete glossary","durationMs":21768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-39d846e87c6473185980","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary Term Update in Glossary Page should persist tree","durationMs":9521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-3ea56dcec13cfd0cb14b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary & terms creation for reviewer as user","durationMs":43131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-3eb3ff25dcb18cef8261","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Check for duplicate Glossary Term with Glossary having dot in name","durationMs":10602,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-4bb9baa9d5c21cfdbf9f","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Verify Expand All For Nested Glossary Terms","durationMs":7374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-5a610d0a9eb613d67238","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Request tags for Glossary","durationMs":25377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-5a931a565618611e9157","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary creation with domain selection","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-671802bb890487e49835","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - multiple deletes with mixed results","durationMs":19817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-72c1dc9f8709dfe8230e","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Cancel glossary delete operation","durationMs":9130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-7fe26832ef78f2917c1f","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Update Glossary and Glossary Term","durationMs":36227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-81dc43d85a215ab8b165","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Delete Glossary and Glossary Term using Delete Modal","durationMs":17033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-857ca83e7559df6d36e0","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Glossary Terms Table Status filtering","durationMs":9014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-8cb20faba23be878c6dc","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Request description task for Glossary Term","durationMs":20635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-8d87915326d11af4cefc","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create term with references during creation","durationMs":16337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-8e7d0dee5127a7499a42","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Rename Glossary Term and verify assets","durationMs":86346,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a15003491770da48495f","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Cancel glossary term delete operation","durationMs":14968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a19e65f930c31ed62640","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Async Delete - single delete success","durationMs":15812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a32aed4937ee6208029e","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Change glossary term hierarchy using menu options across glossary","durationMs":18171,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a6cb7e10eba2ff9cdce7","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Column selection and visibility for Glossary Terms table","durationMs":24827,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-a710897c7d486fbb4486","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Drag and Drop Glossary Term","durationMs":18451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-b9921bc7a75085d79508","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Change glossary term hierarchy using menu options","durationMs":14173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-c748c4ce0e07a48a2b83","project":"chromium","file":"Pages/Glossary.spec.ts","title":"should handle glossary after description is deleted","durationMs":10078,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-c7d137db2fa513ee316c","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Approve and reject glossary term from Glossary Listing","durationMs":36934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-cf340c60c05ff8f90b01","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Drag and Drop Glossary Term Approved Terms having reviewer","durationMs":15440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d0d74d1eebd0e9ec349b","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Update glossary display name via rename modal","durationMs":14945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d35fc5f3b1a45324e336","project":"chromium","file":"Pages/Glossary.spec.ts","title":"should handle glossary term after description is deleted","durationMs":11248,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d889c49c19047a815116","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create glossary with all optional fields (tags, owners, reviewers, domain)","durationMs":19309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-d9372e9478961f7918e0","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Request description task for Glossary","durationMs":17712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-dae7065ebeb1f43dad4e","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Add, Update and Verify Data Glossary Term","durationMs":18189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-e37cc1dc3d2ab84a987a","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Update glossary term display name via edit modal","durationMs":12631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-e4264aa2f6b7d75c5586","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create term with synonyms during creation","durationMs":14015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-f62b0df349afb243d895","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Create term with related terms, tags and owners during creation","durationMs":20010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-fc77f94d1b063e3741af","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Check for duplicate Glossary Term","durationMs":12817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-fd3cdcb2fa734b3b5501","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Term should stay approved when changes made by reviewer","durationMs":34464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6d3641a6caa36e9cc3cb-fe267b81be07d2c8b0d4","project":"chromium","file":"Pages/Glossary.spec.ts","title":"Assign Glossary Term to entity and check assets","durationMs":17995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-15e7a6655993cf472f71","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"FAILED import job shows error styling and dismiss button","durationMs":8808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-2c8ea2ed5e902ca58987","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"can cancel a running job from the tray","durationMs":9329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-50a6a22f1167181c90a0","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows Download button for a completed export job","durationMs":8704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-5dc1fd8ecf1e78491cab","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"multiple jobs co-exist in the tray","durationMs":7808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-74fc8dff0080e7079d56","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"auto-opens the tray for download when the poll completes it, minimised and multi-pod","durationMs":10787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-abf606d9a6ab5b15ca5a","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"Clear completed removes all terminal jobs and hides the tray","durationMs":8474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-d3918016bff34a387cf5","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"reaches Completed by polling, without a websocket event","durationMs":10429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-d498b16902150f020cf6","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows a lineage export job in the tray","durationMs":8407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-e8bb44e083b6c9008b89","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows a running export job and its progress text","durationMs":8637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-f4e002a0ef30f8649c0c","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"shows an import job in the tray","durationMs":8525,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6daebe33bb608edafce7-fd7fc1a370ea9ae52400","project":"chromium","file":"Features/CsvJobsTray.spec.ts","title":"dismiss button removes a completed import job and hides the tray","durationMs":9242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f0590c0231406c6c5a0-022fa2831b7edf55d8f0","project":"chromium","file":"Features/TierDropdown.spec.ts","title":"should show tier again after re-enabling disabled tag","durationMs":18577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f0590c0231406c6c5a0-26e804d4f6811de98994","project":"chromium","file":"Features/TierDropdown.spec.ts","title":"should show enabled tier tag in dropdown","durationMs":8935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f0590c0231406c6c5a0-468f85de81c9afec7bfc","project":"chromium","file":"Features/TierDropdown.spec.ts","title":"should NOT show disabled tier tag in dropdown","durationMs":9584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-00204bf3d420e3c1362f","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Any_In","durationMs":31532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-0a941e8cff652ad32a0b","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is Not","durationMs":28825,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-0ddc285347b228f85206","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is Not","durationMs":26337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-150515a15c5e4f366b88","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Less than <","durationMs":24407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-171540945652ea1c4669","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is_Not","durationMs":27789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-236779457b0d1656b12c","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Less than equal <=","durationMs":23849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-23f7096c73ed3b03ea31","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Greater than >","durationMs":23811,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-24f53ec25d5a2ae1b8f0","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Not_In","durationMs":21713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-293d5150c418db58f951","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is_Set","durationMs":24692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-371b66dc6824959e3445","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Any_In","durationMs":26765,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-401cf2233b89cc98bc05","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is_Not_Set","durationMs":24958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-45ea20bc75c5c6030bd0","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is","durationMs":23713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-4f736eab9ff01cba8174","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Not_In","durationMs":32686,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-5837ce00a1f636832c29","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Is Not","durationMs":31380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-69de011bc32436fd94f7","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Is","durationMs":31199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-6b295db5f949a01405ee","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Contains","durationMs":26434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-6b58e52550f8b1fa9dd5","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is_Set","durationMs":24786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-71cc9056833b064bdb3d","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate semantics fields","durationMs":12862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-728dc344e20efb9729b9","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is","durationMs":27386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-761e52994497d5d1e897","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Any_In","durationMs":22349,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-76b8bbfc4abe6888a560","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is_Set","durationMs":24609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-77dab837438ee562ad3f","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Is","durationMs":29314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-82a0d03adf940fb889c8","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Greater than","durationMs":25617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-8ff70b2979cf0715ab91","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is_Not_Set","durationMs":17050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-9cfe99b98caf05fddac1","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Is_Not_Set","durationMs":27058,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-a04ece8b45d647faeb43","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Not_Between","durationMs":26057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b00a58585fdb947f1ae7","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Less than Equal","durationMs":26196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b2713e50d8d09a875c66","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Not_In","durationMs":28380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b2f8faabd3ce8bd6fe9c","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is_Set","durationMs":16743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b376a2ffda8ffaaf70fe","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Not Contains","durationMs":26510,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-b5b5798172033fc42f0c","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Between","durationMs":24502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-c71827d0e1bc939645d1","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is","durationMs":20454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-c982caaa50eb72dbae85","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Is_Not_Set","durationMs":25495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-dcee5e388fad4727090e","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Description Rule Is_Set","durationMs":31433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-eb537c1fbd594f3b40b2","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Greater Than Equal","durationMs":25921,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-eca97bb8f81b98afc82d","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Owner Rule Not_In","durationMs":32834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-f218a044c71b677a3ff1","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate UpdatedOn Rule Less than","durationMs":24824,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-f6bec3efb1ea171da67b","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DataProduct Rule Is_Not_Set","durationMs":24265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-fa4ea30a932d11c1087f","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate DisplayName Rule Any_In","durationMs":28860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-fd19177a0b37dd31d6a6","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Domain Rule Is Not","durationMs":20306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6f9684bba76ed22e1a8c-ff5f445d50fd4aca74f2","project":"chromium","file":"Pages/DataContractsSemanticRules.spec.ts","title":"Validate Entity Version Greater than equal >=","durationMs":23835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-0dee03971527229cf2b4","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"Copy column link should have valid URL format","durationMs":30485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-19f3266acdd6cf2bbe8a","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"schema table test","durationMs":75124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-55dc5f002f5389dd54c6","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"Copy column link button should copy the column URL to clipboard","durationMs":30539,"attempts":1,"retries":0,"outcome":"expected"},{"id":"6faed9784dd78915caa3-d9fd88aeb278a136b4b9","project":"chromium","file":"Flow/SchemaTable.spec.ts","title":"Copy nested column link should include full hierarchical path","durationMs":32094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-10870a5ff304ba82d6e7","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Single Filter Alert","durationMs":42293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-40be061349021020fcd0","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Multiple Filters Alert","durationMs":53795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-5f357d0a8f543a66ce84","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Task source alert","durationMs":22376,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-624bf59d0b99f47aba5f","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"destination should work properly","durationMs":14885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-a5110db8fbca70dbfb81","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Conversation source alert","durationMs":23614,"attempts":1,"retries":0,"outcome":"expected"},{"id":"702cf19111f276bfa648-df4c09990358fadaa853","project":"chromium","file":"Flow/NotificationAlerts.spec.ts","title":"Alert operations for a user with and without permissions","durationMs":66584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-089ac879c8a1bf48e14e","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":9029,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-2123239773951a420d08","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":6961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-607ce3ae26140d8d5214","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":8420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-a9296610d946263c61d6","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":8598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-aec4f097f30f2f6f3d5b","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":6274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-c8f9791788c2c6562291","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":5318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7056daffd6e7ec39475f-ebee8e531238cd9a1ce1","project":"chromium","file":"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","title":"Check Data Asset and Service Filtration","durationMs":7557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-1791da577014ae152bcb","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Export maintains hierarchy structure in CSV","durationMs":9316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-3d16c444f1c9c329db61","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Glossary CSV import rejects unknown relation type","durationMs":29764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-493528214858d92fd7a5","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Glossary CSV import preserves typed relations","durationMs":39871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-679f70fff3c550677e9d","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Import partial success - some terms pass, some fail","durationMs":9954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-8ea351f3c7814ef9e3d9","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Export large glossary with many terms","durationMs":20943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-9ffaf4d7a82a18e1f940","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Import validation - missing required fields","durationMs":10007,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-a2b1b1d4e5d988307f70","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Glossary Bulk Import Export","durationMs":147833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-cee2d57c047fe3642660","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Check for Circular Reference in Glossary Import","durationMs":59674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"706a63ec57eceb58c5a5-fdb534fec42101d87676","project":"ImportExport","file":"Pages/GlossaryImportExport.spec.ts","title":"Import validation - invalid parent reference","durationMs":20079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-00dc2bfe21cad2f9df2a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":15673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-05419e782211d9d1de2a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":12334,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0734f3c96e7f54ce6c6a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":12903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-07b4ea279b562bfe5f3e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":14554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-098aa2e4c7da1b046465","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-099a8b05c67e2846d078","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":18125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-09ad004942c23feecedd","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":11305,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0af5b5347fe1881e8bd8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0be37046a03f74efd994","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-0f1f2d5e8d4043861466","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-104abf45b88605c51ba2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":29748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1233936a260349b16c83","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":22552,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-13079334487a6cadd03d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":13072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-13add27af4975daea758","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":13502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-13e4d9f5ee7a05fd7ba3","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":14113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1505cf28cd885f4777a4","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-159605a397828a93f493","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15637,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-15b85784d9980e662aac","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":18138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-171caaaaadb1abdde4e8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":18249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-179a76d9663cf8294023","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19323,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1dc7f85d16a2b90bb9b5","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"DisplayName edit for child entities should not be allowed","durationMs":16499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-1fce82f531f7060e9a80","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":11929,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-207d899430f83bd70026","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":11489,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-25d1ff90961691a28f62","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2615b128abf51a2b722e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2846038d5787a94b6221","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-28b4f6bcc80a1469e2a6","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":12359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2b2b7ce855f4c94504cf","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":21621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-2fd5d612894f1dc087d2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":17496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-313f7934124ca3a6ec1e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":19475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-31cac5cc40a390e2ada4","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":13761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-32c128143c6af1999483","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-35d5a3a5220f9b82914e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-3674479f1e1d92294596","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-368e75ff19cf7240c335","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-397071d12f931d852590","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":11974,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-3cf9455e51dd60f34c9c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":13465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-3d5a8b6ded213476ccb9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":20423,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-40e20c32f73b2f1e33db","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-42ed38552b351ed6c93d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":12315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4349f30cfdd7afe581f0","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-451b7a6d09e89e02b130","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4a795e20925174b2ebbf","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4e2068c8100414367241","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":16485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-4f77ec64b3961ae26287","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":14787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-55df040662d878f36358","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":14504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-57c6d7653390fa73f1af","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":13466,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-58090467bafe4832be37","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":29308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5bbca01e71559b6833a9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":32734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5bbd17233fbb970090c0","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":16724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5e7dd90d5176a4da519b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":28236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5e913694e9bf25d7a0da","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-5fe9f87da680252d5de7","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":16902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-62a7ab20daeb7fd9d75a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16376,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-63ebcb256954060a40e2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":19513,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-64c9dec746918237cfc9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":15527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-665195c1bcf8ae7d6dc5","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-66b9bd452e0e1785a5d7","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6a354d7e70e5fc359cec","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6ce1ce593dc1604c0d8c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":13814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6e073fa1c99cfcd9614e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":14877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-6e3155a8180681dce32f","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":16649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-741ba010d8001a9fd629","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":22273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-764889744082814f83b9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":21567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-764f83da00cc0a2bc041","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":13111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-77d5fb9465e2342072eb","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10869,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7954ae16633a0595e250","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7c7fe35a843c7aa4c1e7","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":14076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7d8680096167e16dee4e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7ee85a0df418f4685ece","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":13917,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-7fe4517367fdf10aeb2e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":21134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-80ea803681cb43d239a8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":15686,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-811ff9238e656b089a1e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"DisplayName edit for child entities should not be allowed","durationMs":14543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-84d793627d1430a44c63","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":15620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-871014d136a919f8ddac","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":12769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-89be5e692516eb5ace57","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":16102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-8d75a1daebe16b4ad248","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-8da24219a87618238385","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":32849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-8f18317ce2a8dedc296b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":14320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-918beeac313c2d5b006f","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17867,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-92203d502969bf810290","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-92af334a81058c115c6d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20698,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-97043d7c0e95c7a9b538","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9b061925110794967937","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":15447,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9b0a261339c941b15ef9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10889,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9b4e7d5a9d9be16b81a2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":30532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-9f8fe0076ba3960c5ed6","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a110445f4bb0e5a9249b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a239abd986ca12d3b089","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":17016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a4b590de5fc7b09886b5","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a5cb67bbd403c122b448","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17427,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a944d4b83c40d64ad528","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-a9fcd65f05b20919cc7b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ac9d289deb13e7de0d5b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ac9dd7137941fa967739","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":23815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-afc588b98fc64a39d3cf","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":19674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b1e7b2c2ce671c777b00","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":13874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b47625127ce7c655c09a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":14891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b524c69bb71c565d2b58","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":11663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b65beaa3001a816f6cae","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b6826b78d1ecfa486857","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":18612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-b76587fc8ad7db226e8b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":18865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-bb1ec5293b3152b029eb","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":19060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-bb31d3b1cdc3a33b4aee","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":14508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-bc218ae35c432f47e3b2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":14990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c2ace8fd6a3946f909d1","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c428f095b19e7cf46395","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":18456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c7722802523210206b72","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-c9e3527162de0406d5c1","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-cbc65211b511edc84eef","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":19010,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ccb5da6fbf33b4fc343e","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":26705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-cd8b6feff9b29b140db3","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":21500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-cef54b49eb30d934016a","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":14574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d41355c268d0640de0b2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":12675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d45d573707423b4333c8","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":33664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d6a7c54426412861c898","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":13364,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-d6dc2c7f4c00079cdea2","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":12590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-da2efd47495633f62256","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":16856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-db55f0ef1567c8eb8dc9","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":15440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-dc91d3dc044f44f23f34","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-dd6d3dcd3b2bec3dec99","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":14517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-de0da7c7009cd8139681","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":13597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-dee80a2bdb8cdeaae997","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":12902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-df0cc209a2c7e2be249d","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":18547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e0e7f3e88e2fe516e148","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e1150544251e50df2ef4","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":28559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e1f548ad3eb98feedc9c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":32595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e2b289727fffe1359476","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":17979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e3bf544a74276372dc76","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Follow & Un-follow entity","durationMs":20122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e4aa4620bb993ec7c6b0","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":17046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e4cb394bd3ed4d377f45","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":22631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e5368f1856ed3179634b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove","durationMs":20899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e54846b3978101495d15","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":17651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e627170fb572721ecd2c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tier Add, Update and Remove","durationMs":18878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-e6683721b86aac6fa89c","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":15107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ed316521ba0802cb2f9f","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":15884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ed48b466904dfd246b36","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-f37f7f8af59b042bd1fc","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"No edit owner permission","durationMs":15360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-f8ce0fccb9088a10ed3b","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":15186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-f8d220191366b9f7beef","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":12669,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-fbcfe7b1efb2c8a34834","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"UpVote & DownVote entity","durationMs":10369,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-fd8fee043148b3cd8527","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Update description","durationMs":10429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"719a1c77382793645da8-ffc56bac94bcaaa595e6","project":"chromium","file":"Pages/EntityDataConsumer.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":20854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"71f3811ba836bd5d2426-0cef81448f669267012e","project":"chromium","file":"Pages/TestSuite.spec.ts","title":"Test suite tab switching keeps active bundle suite data after stale table suite response","durationMs":9022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"71f3811ba836bd5d2426-89887dbf3e98dfa2e74b","project":"Ingestion","file":"Pages/TestSuite.spec.ts","title":"Logical TestSuite","durationMs":29241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-01d1dce9230b25ea2505","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Metric in recently viewed","durationMs":14414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-13b7a204ff200c336897","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check SearchIndex in recently viewed","durationMs":16404,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-24032ed075b8c41897c3","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Dashboard in recently viewed","durationMs":14225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-2586c2bf4dfb82bef75c","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Store Procedure in recently viewed","durationMs":15197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-2f3fd80ebc9a9ce7ed65","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Container in recently viewed","durationMs":15355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-47c55d1985c5945153c6","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Table in recently viewed","durationMs":17054,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-5618482fdd645a26b706","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check ApiEndpoint in recently viewed","durationMs":14455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-5f1972c128aabaab7ad8","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Pipeline in recently viewed","durationMs":15551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-9421df08f5c6615cda5d","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check MlModel in recently viewed","durationMs":14941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-9929792040eb7c5e6031","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check Topic in recently viewed","durationMs":14329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"721771e7f27c31f3ac50-f40caac58f9f81e19025","project":"chromium","file":"Features/RecentlyViewed.spec.ts","title":"Check DashboardDataModel in recently viewed","durationMs":14773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-083dec8015a3843e7cd2","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify cycle lineage should be handled properly","durationMs":11712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-32f8b0ccd2482bf59ee5","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify multiple non-platform layers can be active simultaneously","durationMs":11304,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-420eb75a7ad41f3f161d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"grays out non-traced node-to-node edges when a node is selected","durationMs":25792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-590c0cccca1fd8b28312","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify edit mode with edge operations","durationMs":11599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-6c7e50b5a927cef3105e","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Column-level edge deletion persists across a page refresh","durationMs":16476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-7887942fb4b1a81cf4f2","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify function data in edge drawer","durationMs":40935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-893bf3a839f3d965551a","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"highlights traced node-to-node edges when a node is selected","durationMs":22098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-8cbc1d5f3df767e1a30c","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Node-to-node edge deletion persists across a page refresh","durationMs":17744,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-993dfeaec0379736db1d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Node edge tracing state responds to column selection and pane click","durationMs":24061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-a18e7ad071eeb5841602","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"highlights traced column-to-column edges when a column is selected","durationMs":24518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-aaffec18ebc6fd24d065","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"hides non-traced column-to-column edges when a column is selected","durationMs":21851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-bcda310ae42da5f9981d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"grays out node-to-node edges when a column is selected","durationMs":20852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-c817ed50e2845dccca7b","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify node full path is present as breadcrumb in lineage node","durationMs":19468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-d3c613365a48705e9f08","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify edge click opens edge drawer","durationMs":10708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-f060811fb20415a34c46","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"Verify edge delete button in drawer","durationMs":14840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"72d52555450cf448e344-fd9777143ac55c7ff05d","project":"Basic","file":"Pages/Lineage/LineageInteraction.spec.ts","title":"hides column-to-column edges when a node is selected","durationMs":27373,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73c06f97abda8955eada-2e577a9bedbff9ac9a68","project":"IntakeForm","file":"Pages/OnboardingNavigation.spec.ts","title":"Browser Back preserves dirty input until the producer explicitly discards it","durationMs":6517,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"73c06f97abda8955eada-401f5c9e64443e3168a1","project":"IntakeForm","file":"Pages/OnboardingNavigation.spec.ts","title":"Browser Forward preserves dirty input without replacing the original history entry","durationMs":6734,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"73c06f97abda8955eada-c697751642b8a25e3438","project":"IntakeForm","file":"Pages/OnboardingNavigation.spec.ts","title":"A producer can reach, edit and save a check with Tab and Enter at 320px","durationMs":8496,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"73d31798764c6937a787-22575bd0187b55901bec","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should add and accept a requested api endpoint request schema field description","durationMs":24310,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-65c54cf0e0efe55e1890","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should edit and accept a suggested table column description","durationMs":25854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-80f4fe7e66749741bb2f","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should decline a suggested container column description","durationMs":20213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-93993cb9c92e1cd67d6b","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should add and accept a requested topic schema field description","durationMs":23972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-be064f2bb0d81c98522c","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should add and accept a requested table description","durationMs":26120,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-df608fd0fde9ffb3dcd8","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should edit and accept a suggested api endpoint response schema field description","durationMs":23952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"73d31798764c6937a787-fa64ee029c7d508dae0f","project":"Basic","file":"Features/DescriptionSuggestion.spec.ts","title":"should decline a requested api endpoint request schema field description","durationMs":19293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-04adac79fce387536d5a","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should replace focused documentation when a new field is focused","durationMs":8182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-136d19e6f39cd1065416","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render code blocks inside pre > code, not as raw text","durationMs":7953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-67847c8372f8e027537e","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render image in Mssql doc panel","durationMs":7730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-7df729b7f0f4b0f06d1a","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render links that open in a new tab","durationMs":6903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-8384bb8c4d3d5c6fceed","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should auto-focus service name input and show name docs when entering step 2","durationMs":7520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-858dc1ba7e867d341974","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show service name docs without requirements when service name is focused","durationMs":7293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-a353893f87d30e844b91","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should update panel when a oneOf select field is focused","durationMs":8069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-a8c66091c37ee0517c7b","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show section docs without a field fallback for fields with no markdown docs","durationMs":7451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-aa3c42f2b54ccca226aa","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should copy code block content to clipboard and show copied tooltip","durationMs":7861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-b605c6fbbd9a2fc001d4","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render headings not raw markdown","durationMs":7626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-cb0cb27b27b2eef3e924","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should render admonition blocks with correct class","durationMs":8371,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-cc58195c92559dedbdad","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show general docs when no field is focused","durationMs":7767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-dfb092691560c4c5f613","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should load the correct doc file for the selected service type","durationMs":7530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"741dcf110393f398e3fc-fa45cd6f9878dc6c4cbb","project":"Basic","file":"Flow/ServiceDocPanel.spec.ts","title":"should show field documentation when the corresponding form field is focused","durationMs":8065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"75e196e842ebd82840f4-f9512e6353ddfe34a4a3","project":"search-nightly","file":"Search/SearchNightly.spec.ts","title":"should load global search suggestions for sample data query","durationMs":4364,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-0769921c525897eff595","project":"chromium","file":"Features/Container.spec.ts","title":"parent Deleted toggle reveals the deleted grandchild — its actual direct parent","durationMs":7706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-3913d4f58462a7a3df4e","project":"chromium","file":"Features/Container.spec.ts","title":"Copy column link should have valid URL format","durationMs":20454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-42b547ec6ff262456209","project":"chromium","file":"Features/Container.spec.ts","title":"should correctly load, display breadcrumbs, and navigate deeply nested containers","durationMs":8041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-45da7c2e7258e334c204","project":"chromium","file":"Features/Container.spec.ts","title":"Container page children pagination","durationMs":16485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-4f996668155242b716c3","project":"chromium","file":"Features/Container.spec.ts","title":"Container page should show Schema and Children count","durationMs":12788,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-6d000f93734bfa3641f4","project":"chromium","file":"Features/Container.spec.ts","title":"Deleted toggle reveals and hides soft-deleted children","durationMs":7653,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-74d2687b81ec34d1df25","project":"chromium","file":"Features/Container.spec.ts","title":"Copy column link button should copy the column URL to clipboard","durationMs":15950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-814af37fb8584f11c87e","project":"chromium","file":"Features/Container.spec.ts","title":"grandparent Deleted toggle returns empty — deleted grandchild does not bubble up","durationMs":7593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-99a5693eb43b1b956e3f","project":"chromium","file":"Features/Container.spec.ts","title":"search + Deleted toggle compose to find soft-deleted children by name","durationMs":7256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-b25813e92d687c1ac664","project":"chromium","file":"Features/Container.spec.ts","title":"auto-collapses the breadcrumb into an overflow menu on a narrow viewport","durationMs":5978,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-db68482bfca9911d3811","project":"chromium","file":"Features/Container.spec.ts","title":"expand / collapse should not appear after updating nested fields for container","durationMs":21107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"769d362cfe237d3b404b-dd86738ce9af0c2bd293","project":"chromium","file":"Features/Container.spec.ts","title":"search filters direct children only — sibling subtree never leaks","durationMs":9187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-46773b2126fe5bb8eb31","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create OwnershipUpdate task for Pipeline","durationMs":1263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-4a8117316e1eb5a1d1fa","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create TierUpdate task for Pipeline","durationMs":379,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-7fd5240fe33065f768e3","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create and approve pipeline task description update","durationMs":577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-bd22bafa09fe5baaf2c2","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create DomainUpdate task for Pipeline","durationMs":496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"77d7aa39b50e81c9c70d-c8dccd6e61c2e9dea7de","project":"chromium","file":"Features/Tasks/TaskPipelineEntity.spec.ts","title":"should create and approve entity-level description task for Pipeline","durationMs":495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78095862efae8cf216ee-6119e7b35fd37214afd1","project":"Ingestion","file":"Pages/IngestionLogStreamLive.spec.ts","title":"Live logs arrive over SSE while the agent runs, with no polling","durationMs":33285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-07402fbc3d954dac78b8","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"searching for a term shows it and its neighbours","durationMs":7751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-092270212c19cdaa4908","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"unconstrained built-in relations omit endpoint labels","durationMs":8219,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-0fd42fa09b4645db923a","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"searching for a non-existent term shows the empty state","durationMs":7699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-11fd427817bd9d655f42","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"cardinality map survives a Data-to-Model round trip","durationMs":8414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-2db29163257de252b256","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"Data mode shows an empty state when the glossary has no assets","durationMs":7250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-37cd6e390ea42415c6e5","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"switching back from Tree to Graph restores the graph and stats","durationMs":7898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-3a301091329822c5d151","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"custom ONE_TO_MANY relation shows \"1\" at source and \"M\" at target","durationMs":6805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-407235e749dda8ee080a","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"returning to Model mode restores graph controls","durationMs":8290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-4eccf3be34c45254b555","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"all three term nodes have canvas positions","durationMs":7909,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-6d49d78bfe49b343cf22","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"Tree surface renders the glossary hierarchy","durationMs":7706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-b03f0a71701825a04fd3","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"stats show 3 terms and 4 relations","durationMs":6775,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-bb1c308761249a94185c","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"concept inspector exposes the full-details action","durationMs":7732,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-ddb75b6bd2bd20a31525","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"graph edges contain all four expected relation types","durationMs":7180,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-dfd025e99a6dc28bd7b3","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"graph renders without empty or error state","durationMs":7994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"78853c2eb541e6f033ba-f1f2b8e2b3a7545b4790","project":"chromium","file":"Features/OntologyStudioE2E.spec.ts","title":"clicking a node opens the concept inspector","durationMs":9271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-022759ec864b56b71bcc","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Copy domain FQN to clipboard","durationMs":6630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-0ebd54efbc2b2b155beb","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Add expert to domain via UI","durationMs":9819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-1f1c563e90bcce9f6d8b","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete data product via UI","durationMs":9347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-2449dd2855d6489495e5","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete domain with assets removes domain from assets","durationMs":8129,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-28a3b2486df912d34410","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Clear domain selection returns to All Domains","durationMs":8381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-2a56fa3766116e1c5585","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Add owner to domain via UI","durationMs":10316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-3b3349f8197353baba62","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Add owner to data product via UI","durationMs":13149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-3c0793e4d0a02a034dd6","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Domain description required validation","durationMs":7596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-572e07b57107a81c8a5a","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Domain name validation - special characters","durationMs":9227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-8257af9327d0aecb1a57","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Navigate from data product to parent domain","durationMs":8087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-94706ce6c0a223ba7d9c","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Select domain from global dropdown filters explore","durationMs":8001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-95eb86ffe8e67da8357f","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Search assets within domain","durationMs":7815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-986797853ac5b5f33e0e","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Navigate from subdomain to parent domain via breadcrumb","durationMs":5009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-a3eec08a270058e9c4a8","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Edit domain style - change icon URL","durationMs":9064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-ac6bba54da09716d0bb1","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete domain with subdomains shows warning","durationMs":10563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-ae62dad6a8513b600bd8","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Remove owner from domain via UI","durationMs":9649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-c792ca79ac2754e7a040","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Rename data product via UI","durationMs":9934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-e665fdbd2e91e08e4f8b","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Rename subdomain via UI","durationMs":10750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-e67dcb1bdd80adb3ef5f","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Delete subdomain via UI","durationMs":11106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c01e63d87f0aa6b4172-fe4f73c64fe8c8e5de31","project":"chromium","file":"Pages/DomainUIInteractions.spec.ts","title":"Domain name validation - max length","durationMs":8347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c313e060173ac894b2b-403f9052a3a13d25ac40","project":"chromium","file":"Flow/AddRoleAndAssignToUser.spec.ts","title":"Verify assigned role to new user","durationMs":8201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c313e060173ac894b2b-cad45ddec1ffc014868e","project":"chromium","file":"Flow/AddRoleAndAssignToUser.spec.ts","title":"Create role","durationMs":8250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c313e060173ac894b2b-ee14ce47b05f65e1ffd4","project":"chromium","file":"Flow/AddRoleAndAssignToUser.spec.ts","title":"Create new user and assign new role to him","durationMs":9282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-5d577d037f46e4e6ac12","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should render connector forms that previously stalled at loading","durationMs":23802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-bff0435e79efac0348cc","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should scroll the form when the wheel is over the blank margin beside it","durationMs":8574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-d2f910cd545265e60c99","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should clear inactive Snowflake auth fields before test connection and unlock ingestion filters","durationMs":13457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c5ee51f50dc4397de9c-d9a6d1d97ea16fafc5c8","project":"chromium","file":"Flow/ConnectionConfigLayout.spec.ts","title":"should align nested sample data storage config fields without overlap","durationMs":9985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-00c5931044e86cac81ab","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should accept a valid name with allowed special characters","durationMs":6516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0198f50c773eac76637b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for mlmodel in right panel","durationMs":13583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-046fb43e97de2c99aded","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on mlmodel","durationMs":21962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0586bf3c032e2e35530a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for table in right panel","durationMs":6988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-06fcc5757ec84237d9d4","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on pipeline","durationMs":15920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-073ad5c7df0d928319e5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Markdown","durationMs":15996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-090b772ba3caf2d12879","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":17797,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-099f20268d1f7b48745e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on dashboard","durationMs":22468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0b461a5e0578cd2efd31","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on container","durationMs":24865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0cb4d8f7a9199c942503","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for dashboardDataModel in right panel","durationMs":14184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0cc0177e680651493e9b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on database","durationMs":19127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0d1c5ed8b0999aa6e657","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time Interval","durationMs":17094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0d1e7593a663f34a4167","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Duration","durationMs":16457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0dbdcff683eb513dc0f5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should accept valid http and https URLs","durationMs":10597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-0ede02e520a7dc955605","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Number","durationMs":16940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-11f7e608c623dfca5f06","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for topic in right panel","durationMs":13137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-13131035a68d36358766","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a tilde","durationMs":6494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-13c94bba599eb95dce34","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Timestamp","durationMs":16756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-13e7ba4bc2cad9b1de63","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for storedProcedure in right panel","durationMs":11857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-144b42f1d0bcd87467bb","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for chart in right panel","durationMs":10469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-150a7f419a6502d5f7af","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on glossaryTerm","durationMs":26085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1542edf5a447db147b2c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Create custom property and configure search for Pipeline","durationMs":22872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1661fababed9adc53f9d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for container in right panel","durationMs":14267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-16aa58907a6fdfcaf258","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a colon","durationMs":6799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1928de880af6bb1217b1","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":16449,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-1b3f3bdd4a95d12e5782","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Email CP with all operators","durationMs":27758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-20ec70d5fe0c22fab8a3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should display URL when no display text is provided","durationMs":9819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-215123aafd70cf8361ec","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for searchIndex in right panel","durationMs":12122,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-22c1d84db9283bdded31","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for topic in right panel","durationMs":12320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-234372fa7573d8422663","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for glossaryTerm in right panel","durationMs":12656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-24855e52e738b6d8cc55","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Duration: advanced search equalTo and Contains operators","durationMs":12544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2666fae5eaf8b524f8b2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for apiEndpoint in right panel","durationMs":14133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-26a002b822c0a4f22189","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a backslash","durationMs":6620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-284272a57881394530a8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for chart in right panel","durationMs":10551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b3f1ca73d2b19cd7829","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Integer CP with all operators","durationMs":32237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b44204ae297960da4ca","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for apiEndpoint in right panel","durationMs":13240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b958f7c7ead420a53cf","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set string custom property on column and verify in UI","durationMs":10361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2b9e2f2bf4b05988942e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Integer","durationMs":16940,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-2dc55bac67402b99ea1c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":20753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-33ead8586aacbd1e7514","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String CP with all operators","durationMs":31679,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-36c2e3f98f9691386383","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Number CP between operator sends gte/lte bounds (Issue #27482)","durationMs":27682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-38c5b4f50e470a21dec5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"DateTime CP with all operators","durationMs":28942,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-39ca4bac99e8c38f4893","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name exceeds 256 characters","durationMs":6784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3af16c42b7e43de3610a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for databaseSchema in right panel","durationMs":12272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3cd6204cfd0c101ede1b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a caret","durationMs":6230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3e66b795beaabcfc4e18","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should accept a valid name starting with a letter","durationMs":6538,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3fc0be82527ff18dbf4d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for container in right panel","durationMs":13384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3fe3da753570171b89f8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference CP with all operators","durationMs":37952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-3febd7d88ddcf14f9d74","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for chart in right panel","durationMs":9253,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4106494ea3a0567eb9fa","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"markdown edit button visible and clickable when value contains a table","durationMs":12001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4337412e95b645514b11","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for storedProcedure in right panel","durationMs":13000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-443430595829177dc49b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":14882,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4440d5c29ebf7b879e13","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a less-than sign","durationMs":5722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-44413c5a1543a1f5a65d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show No Data placeholder when hyperlink has no value","durationMs":10759,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4448b5bfa30f03224bd5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for apiCollection in right panel","durationMs":16673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-47b51888cdfc4692d610","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":17061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4827e24fda5a1d45d22f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Hyperlink CP with operators","durationMs":54367,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-48a4ae191a789b00d2b2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on apiCollection","durationMs":24774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4b507b63d20449a81643","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a double quote","durationMs":5679,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4c6f5910036e8a8ecd06","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table CP - Role column with all operators","durationMs":30528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-4c7f9c476c2ed0007bee","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for dashboard in right panel","durationMs":13273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-5134cc15da4d82e27660","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for searchIndex in right panel","durationMs":12639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-52d82632ab1dbfb46acb","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Create custom property and configure search for Dashboard","durationMs":35801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-53e6f09a5c52bf7df3ef","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for metric in right panel","durationMs":11922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-55e07b0e789c9713f0e1","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for container in right panel","durationMs":12622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-578a14db66c772d9f19a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time Interval CP with operators","durationMs":54517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-5b8fbffd20b99a05b306","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for dataProduct in right panel","durationMs":11734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-5ec7d3ce5e4c562daa12","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for dashboard in right panel","durationMs":13377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-631d2b822a425a37f1ad","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"sqlQuery shows scrollable CodeMirror container and no expand toggle","durationMs":14380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-65307a93e05183f89aea","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for metric in right panel","durationMs":13374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-656cc7d8ddbc7c49d430","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time CP with all operators","durationMs":22255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6655b40bd42bf7dd92cf","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for dashboardDataModel in right panel","durationMs":13206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-68023ece76e3b9d66801","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"no duplicate card after update","durationMs":23175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6822a41e8f427108e34d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for apiCollection in right panel","durationMs":15033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6d9247cb6f905ac30d36","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for dataProduct in right panel","durationMs":10414,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6e0b510a4357a92405ad","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":20968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6e2dcbfa65968e44a7c7","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on dataProduct","durationMs":16086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-6f453e86d7a1c3ac71e3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference","durationMs":19567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-706fba167c2158a9f19c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for table in right panel","durationMs":5901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-74f1413fcd08c3e9eea9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for searchIndex in right panel","durationMs":13240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-758a3345517b4a31f72f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for pipeline in right panel","durationMs":10912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-75b13a66cc9bb065087a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for database in right panel","durationMs":11085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-78380c7e57ee93066467","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains an asterisk","durationMs":6984,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7841102043c30e3f1f34","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Enum","durationMs":18066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7b91914a9fad1814c71e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Enum: Set Value, Verify, Remove Value","durationMs":8702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7cc62919e3b9e1b62694","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for pipeline in right panel","durationMs":10006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7d2ecf1e1524a2e1892d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on storedProcedure","durationMs":21288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7d3bdab21816548f036f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Date CP with all operators","durationMs":28242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-7d916dac346243f25b87","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for topic in right panel","durationMs":13674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8008a10e168b1c34bc42","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Number CP with all operators","durationMs":29456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8206d4dac7f2ead1c59c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for searchIndex in right panel","durationMs":12918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8465025d34d1ba303095","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for storedProcedure in right panel","durationMs":13032,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-85d2000be90731f68ff3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"User visible in right panel when added as entityReferenceList custom property","durationMs":8327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-86a58b48381d1d8e95d3","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":23274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-87e8c056c3709eb4e491","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for glossaryTerm in right panel","durationMs":10521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-880378d44be14f2a0d8b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on dashboardDataModel","durationMs":23791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-88b29e301c7885391aba","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8afc594c33cf95e66ff6","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for dataProduct in right panel","durationMs":9634,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-8ef70bdc69877ccd56cc","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for table in right panel","durationMs":6053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-918132860676bf7ef176","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for metric in right panel","durationMs":12062,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9188e4d6124f320a46a9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for databaseSchema in right panel","durationMs":12235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-925b2a5ddef6f183d467","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"table-cp shows row count, scrollable container, no expand toggle","durationMs":13169,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-92e66352c532d1282ab5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for dashboardDataModel in right panel","durationMs":13895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9543959e2b5605de9ea8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Date","durationMs":13778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-95da432fd800c29682ce","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9642fc35ba00455535b1","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for apiEndpoint in right panel","durationMs":14247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-97e0f312e86c2b042db8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":22746,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-98578f04c3c4935811d2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on topic","durationMs":20945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-98c8415db3b1f4ca0569","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for database in right panel","durationMs":10636,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9a7507dc2536c9b96f53","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a greater-than sign","durationMs":6839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-9c0b89b0755adc0f5919","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":16669,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a2d9c2586f84fe5251aa","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a dollar sign","durationMs":5531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a4e24951e57deeb9ee69","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference List","durationMs":19575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a55f86c4ec59405c15b9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"entityReferenceList shows item count, scrollable list, no expand toggle","durationMs":16571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a733d29eb95f348d8d7f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for apiEndpoint in right panel","durationMs":16137,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-a77692b01e6eca70c785","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set all CP types and update representative properties on table","durationMs":35412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-aba34920bf0b82ae95bb","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for dashboardDataModel in right panel","durationMs":11836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b1308b8a516b8cb9ebf8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Verify Pipeline custom property persists in search settings","durationMs":5149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b1b39433ec030281258b","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":23183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b29df081605055efcf39","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":14813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b3388fdecc2ad8d1a917","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name starts with a non-alphanumeric character","durationMs":6749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b3574c7e673e7661e1d0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table","durationMs":20242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b42635480458c69c0058","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for databaseSchema in right panel","durationMs":13149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b49c14b444b41ef871c0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b4fe5b76badf6f07556f","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for dataProduct in right panel","durationMs":10621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b55d69150fb57f8ebf3d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for table in right panel","durationMs":8127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b5a3c351a5994c7468ba","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for pipeline in right panel","durationMs":7761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b89bfd43a8bfc7e51b34","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table CP - Name column with all operators","durationMs":30961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-b8bf915ba142ddcac4c0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":18320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-bd447013e59274885103","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for mlmodel in right panel","durationMs":13016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c00429d0241747787024","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on chart","durationMs":16211,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c2a6e896d6c984cc6a55","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Enum CP with all operators","durationMs":30173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c5145b1f6116551c054a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for dashboard in right panel","durationMs":12822,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c8cd0c7b62f24c8bf605","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for pipeline in right panel","durationMs":9474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-c8f4fdafd8c406812655","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on searchIndex","durationMs":21971,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ccbbec56928c924a0364","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains a forward slash","durationMs":6474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-cd5c20bf0878e3ddfb88","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should show error when name contains an ampersand","durationMs":5682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-cfb9e8e45a2cf6f8edba","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for databaseSchema in right panel","durationMs":15420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d1f1d6682c54f0eee731","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for dashboard in right panel","durationMs":14550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d367410a3d276e768f1e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Sql Query","durationMs":15401,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d3690b8817694bcb83b7","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Email","durationMs":16228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d404277b926d9d8d2069","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for chart in right panel","durationMs":9249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d47e27129966726f7534","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for glossaryTerm in right panel","durationMs":12019,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d65630934d80acbe62cd","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Duration CP with all operators","durationMs":24981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d7e8ad039d71e8a7c572","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for topic in right panel","durationMs":12619,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-d93a7140bf1bd5bdd8d8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for database in right panel","durationMs":7266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-dae6e741e568b0557027","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for mlmodel in right panel","durationMs":12193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-dbc2b32a754a0f964545","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on apiEndpoint","durationMs":24130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-df87952db325e9d6d907","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String CP with numeric-like string value","durationMs":27484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e4ba59ec229c66902e0d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e694ff42b3b887567bfd","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for apiCollection in right panel","durationMs":16003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e769b190aa8fb84b45e4","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Date Time","durationMs":18025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e84c3c0137f1039e28c2","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should display custom properties for glossaryTerm in right panel","durationMs":13505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e8ad632e57cd4726f62e","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Entity Reference List CP with all operators","durationMs":37893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e8bc3c66a99f793df1d8","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for database in right panel","durationMs":10130,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-e8fdc4505ec39607a36d","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Markdown CP with all operators","durationMs":24050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ea562b6d00e8518d2137","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Timestamp CP with all operators","durationMs":23090,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ea89b0ef843ab4311f58","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":18393,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-eb0bd2320ea66fd86706","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on metric","durationMs":21641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-ef476d3b4603c8a4381c","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for metric in right panel","durationMs":13009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f079a72c9858cbf038d7","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Set & Update String CP on databaseSchema","durationMs":22676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f206353a5c99d247c672","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for storedProcedure in right panel","durationMs":12720,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f24f565618b6ef1ce3bd","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Verify Dashboard custom property persists in search settings","durationMs":6736,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f3634eddf4aeb8ede7a5","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"SQL Query CP with all operators","durationMs":18641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f3d24db98506074025a9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Table CP - Sr No column with all operators","durationMs":30125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f4100ee1ffe0946ec7f0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should clear search and show all properties for mlmodel in right panel","durationMs":12314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f49b660fff35024b8100","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"should reject javascript: protocol URLs for XSS protection","durationMs":11026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f5a397a6f934257987e4","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f5a8dbb1a3170bea745a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Time","durationMs":16691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f6475c472a261574fcb0","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should verify property name is visible for apiCollection in right panel","durationMs":14208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-f9f2a10de961b60567fa","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Hyperlink","durationMs":16855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-fad45bcbe2162604d3b9","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"Should search custom properties for container in right panel","durationMs":14491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7c975cd1ceb31d5d60dd-fb579170cd1d7c4a289a","project":"chromium","file":"Pages/CustomProperties.spec.ts","title":"String","durationMs":19274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-174101936d3896ce9f47","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should add multiple different target terms in a single save","durationMs":14147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-21c26aaf5eca59e26cc8","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should delete a specific relation while keeping others","durationMs":12885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-347289cdde81b2e86c77","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should add three relations to a single term and persist all after reload","durationMs":15288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-471da3990b61252d964c","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should edit the relation type of an existing related term","durationMs":12705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-99084aaab07cdc368d6b","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should reveal the related terms hidden behind the overflow toggle","durationMs":14084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7d2965287e0679e85b3b-ac6e5f3ff65f304cd641","project":"chromium","file":"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","title":"should add Related To, Narrower, and Has Part to the same target term and persist all after reload","durationMs":15417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-0b22ed09f9439ea8c7ff","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"search for child term name + apply non-matching status filter shows no results","durationMs":10223,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-234737f04928d20473b5","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"expand all button loads all terms","durationMs":11481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-27e6f44e8b15f854d098","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"apply filter, expand parent, verify children shown","durationMs":11573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-466fc3ab5bfc5a841ed3","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"all children have same status different from parent","durationMs":10945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-4f00a63e0200f02e1523","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"search for child term name + matching status shows child","durationMs":11020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-57f0b473b90da6940065","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"expanding grandparent shows parent with any status","durationMs":11101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-79bfb46ac41aa25bf7bf","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"clearing status filter maintains search results","durationMs":11386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-8db8c485b9ff1b220d60","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"search for parent term name with child status filter shows no results","durationMs":11466,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-a3ffe4e7ef370a9818c2","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"filter shows parent when status matches and all children on expand","durationMs":9128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-ac556f0de995587cfa8f","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"clearing search maintains status filter","durationMs":12684,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-ae74ac03d84aac90be70","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"filter by parent status shows parent and allows expansion to see children","durationMs":10202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-b99d3ceddec644ada565","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"multiple status filter shows terms matching any selected status","durationMs":9305,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-c2facc4c319dc59d5305","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"filter by grandparent status shows only approved terms","durationMs":9897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-de1c9c9f19f09f7f3f74","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"only leaf nodes match filter - parent chain does not","durationMs":9327,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7ee79c9e9918f9ca7835-ed1a87cd827864150908","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","title":"change filter while expanded updates visible root terms","durationMs":10478,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7f83f47ccb329ee308eb-2d5871a8c22b587d7bc9","project":"chromium","file":"Flow/ApiDocs.spec.ts","title":"API docs should work properly","durationMs":10755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"7fe377069ec905157f69-c57732e5a453d5d11e48","project":"chromium","file":"Features/EntityRightCollapsablePanel.spec.ts","title":"Show and Hide Right Collapsable Panel","durationMs":9677,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8353b5bd378f555885cd-ced9991ca1236b535306","project":"chromium","file":"Flow/ApiCollection.spec.ts","title":"Verify Owner Propagation: owner should be propagated to the API Collection's API Endpoint","durationMs":49133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"83b398fa84d933d87686-04e325d8cc12eba5e53e","project":"Basic","file":"Pages/LoginConfiguration.spec.ts","title":"reset login configuration should work","durationMs":6412,"attempts":1,"retries":0,"outcome":"expected"},{"id":"83b398fa84d933d87686-1a9e5feffef3d3445b26","project":"Basic","file":"Pages/LoginConfiguration.spec.ts","title":"update login configuration should work","durationMs":6664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"84796481a57bc647802f-242f17fe293eed0e4f58","project":"chromium","file":"Features/Glossary/GlossaryInheritedReviewerApproval.spec.ts","title":"term inherits reviewer added to the glossary after an earlier term ran the workflow","durationMs":11618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"84796481a57bc647802f-37f3e60b3e7ddf0777cb","project":"chromium","file":"Features/Glossary/GlossaryInheritedReviewerApproval.spec.ts","title":"inherited reviewer is shown on the term page and it is not left in Draft","durationMs":8690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"848329c182e7112e80ae-9df4121368d3676326e8","project":"chromium","file":"Flow/PersonaDeletionUserProfile.spec.ts","title":"User profile loads correctly before and after persona deletion","durationMs":17553,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-21870b80ea06c6c61080","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should be able to select multiple terms for bulk operations","durationMs":13335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-69563df3d8d1bd29ecc4","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should prevent dragging parent to its own child","durationMs":14252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-791826c9cc34ae77ae2a","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should be able to toggle mutually exclusive setting","durationMs":12845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"851d7513080497ad708a-a3e7717d96e1c52463d5","project":"chromium","file":"Features/Glossary/GlossaryBulkOperations.spec.ts","title":"should navigate to bulk edit page when clicking bulk edit button","durationMs":15082,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-1845d01e7ccdda0095af","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"renders the stale cache-state badge","durationMs":8045,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-533404d5aa35173d9319","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"caps max assets at the backend maximum of 1000","durationMs":10017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-700160c385a041b6b4c9","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"renders the failed cache-state badge","durationMs":8849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-98777200bcc547a3549c","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"rule card shows the condition count for a multi-condition filter","durationMs":8128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-a3f208ae7d0498a397c3","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"surfaces the persisted generation error on the settings card","durationMs":9541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"862718b332a943bd0c11-aa7a9fec272b5dd4104b","project":"chromium","file":"Features/PersonaAIContextRuleCardAndStates.spec.ts","title":"rule card shows the all-entities state when no filter is set","durationMs":12059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-39e2d4210de3a6aee51c","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should show term count in glossary listing","durationMs":9715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-51c90aa3d3cbd50f7c3d","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should expand and collapse all terms","durationMs":16068,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-5ce50f557be26da6421c","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle large number of glossary terms with pagination","durationMs":21937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-66452f74ee29979cc6d3","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle large number of glossary child term with pagination","durationMs":15167,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-c321395812e83839cd55","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should maintain scroll position when loading more terms","durationMs":9628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-c75ef376e0e3aeac99e7","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle drag and drop for term reordering","durationMs":19098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-dfd827b0183ea271ab84","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should search and filter glossary terms","durationMs":16934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-f609aa3b78d2f65881fd","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should expand individual terms","durationMs":16458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8727528fe1628229cdad-fd6356c420635592f5ea","project":"chromium","file":"Features/Glossary/LargeGlossaryPerformance.spec.ts","title":"should handle status filtering","durationMs":9982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-140cb435ed84863f3897","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Alert operations for a user with and without permissions","durationMs":59745,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-517df8c4e105fea3132d","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Data Contract Name filter lists matching data contracts","durationMs":9609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-8c8069db90344336e8b3","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Test Suite alert","durationMs":34688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-918aa5763e716d122442","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Test case alert","durationMs":37109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-b916a573700fed09d859","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Table alert","durationMs":30448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-c2cb524aacc68f08f74d","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"delivers table schema changes to an external webhook","durationMs":40550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-e080c3944816b4fb8c10","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Pipeline Alert","durationMs":48739,"attempts":1,"retries":0,"outcome":"expected"},{"id":"87456cf819b0233163b3-f843143498ffba623720","project":"chromium","file":"Flow/ObservabilityAlerts.spec.ts","title":"Ingestion Pipeline alert","durationMs":31617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-05d6b12140e7b158a71e","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should reset pagination when filters change","durationMs":14042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-0a10b0e44065fb8502c3","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should filter test definitions with single-select filters","durationMs":16998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-2f0ed50d9a397315fe21","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should handle filter UI interactions correctly","durationMs":13729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-4537e6e3d565f4a5c602","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should handle multiple filter operations","durationMs":15235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-6220e7b1bc4fccbd3504","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should restore and persist filters from URL","durationMs":24740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-6cfa09b12a7300edb68f","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should not revert to previous value when changing filter selection","durationMs":21116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8774de73139c5a67ca33-8e7b0ff4ff1be00a6fd0","project":"chromium","file":"Features/DataQuality/TestDefinitionFilters.spec.ts","title":"should make correct API calls and show filtered results","durationMs":10980,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-024f722ac50dd9817b74","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"DataProduct - Certification assign, update, and remove","durationMs":16228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-049fb397dbc7f673f76b","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Edit buttons not visible on Domain","durationMs":9188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-8e0b212ecad90a923a5f","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Domain - UpVote and DownVote","durationMs":10114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-c6fcf77553a572dac672","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"DataProduct - UpVote and DownVote","durationMs":10286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-c82d83f43577ab6478e0","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Domain - Certification assign, update, and remove","durationMs":14972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-d89f229dce3bfd3c5897","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"DataProduct - Tier assign, update, and remove","durationMs":15044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-fd03e39a19b2a7270353","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Edit buttons not visible on DataProduct","durationMs":9298,"attempts":1,"retries":0,"outcome":"expected"},{"id":"877ab5ffd9592be99930-fec525a76b0cc14929bb","project":"chromium","file":"Features/DomainTierCertificationVoting.spec.ts","title":"Domain - Tier assign, update, and remove","durationMs":15482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"881e65180b3903b61009-329957068f1e26fcddaa","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":30002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"881e65180b3903b61009-b5eebb5ec29f3085052a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":30047,"attempts":1,"retries":0,"outcome":"expected"},{"id":"886b17c78623def558cb-655d3f46261756c6406e","project":"chromium","file":"Features/Tasks/TaskCustomFormWorkflow.spec.ts","title":"renders and resolves a workflow-driven custom task end to end","durationMs":19081,"attempts":1,"retries":0,"outcome":"expected"},{"id":"88aed568d27816e1e7bc-df00a43a3c43019be57b","project":"Ingestion","file":"Flow/ApiServiceRest.spec.ts","title":"add update and delete api service type REST","durationMs":10595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-0dc418f1c23a4844a197","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should add asset via Add Assets dropdown button","durationMs":21338,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-28906e2384c9a1bab9f6","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should search within assets tab","durationMs":20165,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-4a7e377e96c978147e0a","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should add pipeline asset to glossary term","durationMs":23037,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-61b40f6d4808b291d05e","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should add topic asset to glossary term","durationMs":25445,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-96fa4ed1ffebaddf928d","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should remove glossary term tag from entity page","durationMs":12574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-9f29d348a57a79cc841b","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should bulk select and remove multiple assets","durationMs":17229,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-b0bdefe972c5bed0bcca","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should paginate through assets","durationMs":19491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-b1f3d6ed1b08d1a4bb24","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should filter assets by entity type","durationMs":17831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-cc69574004082d93a6c5","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should remove asset from glossary term","durationMs":20713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"890c0d202106a51b1736-d3d22f75cff0fb556b4b","project":"chromium","file":"Features/Glossary/GlossaryAssets.spec.ts","title":"should open summary panel when clicking asset card","durationMs":18204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-01b2b9560e74a71c4e80","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for topic","durationMs":13013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-01b32310e41f5a980287","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for databaseSchema","durationMs":10192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-01fb2e8333263723922b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for pipeline","durationMs":17156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-021b43b75a663324a24f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for searchIndex","durationMs":9871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-04c9500a66e07a0f4d19","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for mlmodel","durationMs":7956,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-075ca5b3b707726c1fed","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for container","durationMs":9612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-08f3053810bc0d9eabc9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Data Quality tab should show permission placeholder for ViewBasic-only user in column detail panel","durationMs":13845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-098503b11056d698e6d5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for topic","durationMs":9944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-09e1f1bd7ce4581c08be","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for searchIndex","durationMs":19509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0b0f6011525649c413ca","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for topic","durationMs":9456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0b717bcb08d7229c39ed","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for dashboard","durationMs":6059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0cb8b557b5588a3a58fb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for container","durationMs":10234,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-0d014fe4158d6b11b3cc","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for topic","durationMs":9604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-108197f2ea7989151511","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show lineage connections created via API in the lineage tab","durationMs":8554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-10b1487c0530097575fe","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for table","durationMs":11559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-11009753c55f5981d8ac","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should add multiple tags simultaneously","durationMs":15077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1239865fabbb2f7594c2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for database","durationMs":7536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-12b33b3886ab0aba320a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for database","durationMs":9457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-133d2e4520c8ec06a4f8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for mlmodel","durationMs":10734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-13567b059282c60d0137","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for table","durationMs":12544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-13de2cfc701692d2a9ea","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for dashboard","durationMs":7799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-13e86c10ca16df0499a1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for dashboardDataModel","durationMs":14884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-14d4eb746eba76f718ca","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for topic","durationMs":8840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1538d123f2c2a8811c53","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless searchIndex","durationMs":8702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1563e5297bd085a588eb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no tier assigned","durationMs":9319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1585959eee57db3c7549","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for topic","durationMs":7900,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-186ced8275acfdbf9e0d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for dashboard","durationMs":7079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-18ba5f44c0099f79d0a3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless databaseSchema","durationMs":7698,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-19a477c372c716a9b39e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for container","durationMs":9465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b2b323f53e816de1c91","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for searchIndex","durationMs":10399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b34f2684127b3d55c88","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for pipeline","durationMs":7710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b365f5b11a18b0c3a39","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for table","durationMs":8782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1b60622e03798838715f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for topic","durationMs":10533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1cca72e08823914fe23d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for dashboardDataModel","durationMs":70422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-1e2b0ffad049bc59c8d0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show lineage not found when no lineage exists","durationMs":10360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-210dadbfa945990935c3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for database","durationMs":12443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-244b13ccd0f7b900fb28","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for container","durationMs":8221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-24c9ce8ce0dabd0d509c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for searchIndex","durationMs":10343,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-25d41d54b9b04a45678b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for database","durationMs":54431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-265891ba968cefecc439","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for table","durationMs":9038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2678b9d0b7d021634922","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no domain assigned","durationMs":8924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2a1b4bcab0fcc6c2ce4a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for container","durationMs":10014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2a4c2dca654df7df1006","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for container","durationMs":15954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2d3f1768f2cb5afafa65","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for dashboardDataModel","durationMs":21407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2e6e45b67faa36697299","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for dashboard","durationMs":5887,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-2fc3809a0d019d09cae9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for database","durationMs":10589,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-30ea32e8028fb027e06a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show incidents tab content and verify incident details when a failed test case exists","durationMs":11558,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3165aa7bde7820a3795c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no glossary terms assigned","durationMs":9675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-32005e753a77f02e59b8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should update panel content when switching between entities","durationMs":19115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-336bac00f4185cc63b6f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for databaseSchema","durationMs":8528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-33c5fbe2f0d2d2b46928","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for table","durationMs":11641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3462732720adea629df6","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for mlmodel","durationMs":7571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3563f62190ac2b1c45b1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for databaseSchema","durationMs":10593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3686e6b7490be9179d9d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for container","durationMs":8934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-36938a136687ea4b0aca","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no tags assigned","durationMs":8837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-379ca13bb8e867f09013","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for table","durationMs":18012,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-38405a0dff0a4e15c280","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for dashboardDataModel","durationMs":15591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3a90fe95b59eae1daa7a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for database","durationMs":11473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3afc31365a9afae9a2b2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for container","durationMs":8237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3bd8882671b45f246ae3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for pipeline","durationMs":7818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3bec1cf9f34fbf374128","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for database","durationMs":7840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3d138dec7cdb5adc679a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for dashboardDataModel","durationMs":9711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3e934042c6730b3de1ce","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for database","durationMs":8043,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3ec0933dab0a3b371888","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for table","durationMs":24551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-3f76b3e13a73d4472bf3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for container","durationMs":8080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4043f9e1c36ea0ea6a60","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for container","durationMs":13748,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-429f7a20fda2da1e9bbb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for searchIndex","durationMs":10326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-42f94f41e925d9ccfe5b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for searchIndex","durationMs":10891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-43e1553306030ed869f5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for table","durationMs":71688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-473216426419bf5f9a0f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for topic","durationMs":8876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4880722314bd7f82cdfb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for databaseSchema","durationMs":9511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-48fc388a6c2a2863b1f1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for container","durationMs":16017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-499f0373baa46d13eaa4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for topic","durationMs":9854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-49e28f6489c7e97ea574","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for dashboardDataModel","durationMs":10743,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4a62b223c60b06477ffb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for table","durationMs":7778,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4b303bd077ac40ef58a2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for pipeline","durationMs":14474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4d7466661908a3d14775","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for dashboardDataModel","durationMs":11465,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4db7926c584af28e377e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display incidents tab for table","durationMs":10316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-4ee18c4acfd795b9804a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for dashboard","durationMs":9598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5233209655e60c3a8994","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for topic","durationMs":16771,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5292139b2be76c19f5f9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for pipeline","durationMs":8966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-530577a1b9881140aa0b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for databaseSchema","durationMs":8038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-54c8de9b6bc6f04c9f93","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for pipeline","durationMs":10892,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-564cf22c841556fb5bfb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for mlmodel","durationMs":14757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-56c2bf919a99f01eaed5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for databaseSchema","durationMs":9127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-57573d1765bdeaa7dd3f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for dashboardDataModel","durationMs":9912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-58a5555b60b70ce5d6b7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for container","durationMs":9124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-59aec5b13e4c7fd0035f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for table","durationMs":12264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5a4c679cefbe0fd7a08f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for searchIndex","durationMs":11519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5bf2dc1bad8025064534","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for dashboard","durationMs":16898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5d117c59ba118aee6ec5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for topic","durationMs":11216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5d3b2212dda5295f2c25","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for searchIndex","durationMs":9858,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5fefb66da2175223e06a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for dashboardDataModel","durationMs":11591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-5ff2addc90e11b5b1429","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for database","durationMs":10386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-62eb3a55c6a5df575ff2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for pipeline","durationMs":10639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6473eb373e9b0fb070e0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for topic","durationMs":10104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-656d7787e6bd7e9df922","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for searchIndex","durationMs":8106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-663bba2a53845b8ea55b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for topic","durationMs":61458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-685ed0fc7776cf71b618","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for pipeline","durationMs":6218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-692888610a61ccdff209","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for dashboardDataModel","durationMs":11059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6970a240acfb0e1d8b51","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify empty state when no test cases for table","durationMs":8043,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6d0142300f3217f0e21c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for pipeline","durationMs":10336,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6d9d673d723e25f12f7e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for container","durationMs":10673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6ecc15f9f9ba3f23f44a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for mlmodel","durationMs":11148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-6f44900a3c4281198d6f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for database","durationMs":9784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7219436bbdd76d7279fe","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for database","durationMs":18460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-727e88a336b4ec778ffc","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for databaseSchema","durationMs":9818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-737a0f1778b15fc44600","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for table","durationMs":11273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-73cb8c486fbda270c14f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for topic","durationMs":9140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-742072c30dbb99bd0484","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for topic","durationMs":22333,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-768ccc8bc120323d821b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for mlmodel","durationMs":9924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-798159f734b0c332a42b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for mlmodel","durationMs":10546,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-79e4216446a38640e9a1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless dashboardDataModel","durationMs":8957,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7d9f4e48e9dcfe591dce","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for searchIndex","durationMs":9279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7dd33f8b24d0f71db45d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for table","durationMs":10243,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7dd365bcb6c0d8f3c1dd","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for mlmodel","durationMs":9827,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7e0095dfd25254c7f75f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should search and filter test cases in Data Quality tab","durationMs":11974,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7ea3408a9784bedb27b5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for container","durationMs":7368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-7eda860aa3972132c9dd","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for databaseSchema","durationMs":16600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-83db68eb1c852d7ff609","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for mlmodel","durationMs":9148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-846a0cefdd1305f9ed1f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for searchIndex","durationMs":8395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-84e1e82f8a7d650659ef","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for database","durationMs":15960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-867ab86eaca612a373f5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for database","durationMs":13699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-870a0dd2d3a32a952a61","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to data quality and verify tab structure for table","durationMs":8791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-88258c610239b8cb1322","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless mlmodel","durationMs":9781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-88c53fddc30f751fa124","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for dashboard","durationMs":14756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-894ae9960c4b6b84a946","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for databaseSchema","durationMs":6922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8956232c87a9e10cb734","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for topic","durationMs":9972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8ad72141d07f120d17f3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for searchIndex","durationMs":8140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8c027a0666e7c0718c7b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show no test cases message when data quality tab is empty","durationMs":10831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8c0f36ededad10ee0c0c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for databaseSchema","durationMs":22153,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8d8ab167de121658e7e7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for topic","durationMs":7080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-8e0c627d31aa7c2e7e7c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for topic","durationMs":9339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-930c4957721075839350","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for database","durationMs":9216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-93f9949605954467bc13","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless container","durationMs":9152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-94b895bd39cbeecbf478","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for pipeline","durationMs":9064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9754cdab78f1f70cba04","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for mlmodel","durationMs":14060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-97f0ce9aaeb905d35f7e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for dashboard","durationMs":10161,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-98de6578045812df76c9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for mlmodel","durationMs":8316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-99839712f24fb735f384","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for dashboardDataModel","durationMs":10985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9994533a4719723b9d4b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for searchIndex","durationMs":54534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-99bb36c88847f6d6f3b1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT allow Data Consumer to edit owners when entity has owner","durationMs":22457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9a4b9416d84f1f23c897","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for database","durationMs":8112,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9b25a468e966bd069a74","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for table","durationMs":8262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-9fa9aacf3b07fb05ba7d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for dashboardDataModel","durationMs":8245,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a0841d6bc1c9f097bda0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for searchIndex","durationMs":9557,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a201f5c4eb58c110901e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for mlmodel","durationMs":16531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a229c05471eda8fa1d5f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for table","durationMs":9814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a31a06cd87f69b9df866","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for mlmodel","durationMs":10962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a58f95651ebdd39a4baf","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should not make forbidden API calls when ViewBasic-only user opens column detail panel","durationMs":11433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a5f2ecf8b4476450c4db","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for dashboard","durationMs":9359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a671dc22f0967afe3bb3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for table","durationMs":9796,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a744c11227116d506e78","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for databaseSchema","durationMs":9457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a7514af88554d985d47e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for pipeline","durationMs":61406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a7c023e88c4f118f6f02","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for databaseSchema","durationMs":57840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a8514f3a07691b47119f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for databaseSchema","durationMs":13631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a96ef28811ef2178b45a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for dashboardDataModel","durationMs":10506,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-a99d3370ba468f21cab1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for container","durationMs":10654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-aa1561bf1073bcc3c435","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for database","durationMs":14568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-aad46b378dfde5d87619","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for searchIndex","durationMs":9174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-acd8015ef4305973bce6","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for searchIndex","durationMs":9749,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ae0d88c8e231ab65349f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for table","durationMs":19617,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ae56396e3657654ed95a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for pipeline","durationMs":8067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-afc78822b98d1c640ea5","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for searchIndex","durationMs":14484,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b0181c53477b65c05d35","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for mlmodel","durationMs":6806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b0cd45603d85986f08c7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for container","durationMs":10816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b15a31f4e5af43faba7c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for container","durationMs":8520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b43a981d6c7c7d843812","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for mlmodel","durationMs":62183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b5a9ed0234ef1e52bc52","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for mlmodel","durationMs":11601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b8d5ea42f6a6b6f8535b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for topic","durationMs":8874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-b98a58764e43cdd18b86","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless topic","durationMs":8545,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ba47593ab31c61081912","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for dashboard","durationMs":9712,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-bd02f0788f67382d3e11","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for pipeline","durationMs":10250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-bd0ba1f1db8e8ebaba73","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless table","durationMs":9034,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-bff139f834dd62f12ca0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for mlmodel","durationMs":21446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c0ae5ab7d970d296c1c8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for pipeline","durationMs":14293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c263c93a44e29c3e55e4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should show appropriate message when no owners assigned","durationMs":7948,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c36f059d2c6d8059e39f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for searchIndex","durationMs":8019,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c38d013f1592751af7e8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for table","durationMs":10177,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c441e734d3b80c96fbd8","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for database","durationMs":13395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c45af9ddb6911f2c8c08","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for dashboardDataModel","durationMs":9861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c666d823b842348f9a68","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for container","durationMs":9267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c6b66ba86aa55c55c210","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should handle lineage expansion buttons for searchIndex","durationMs":10885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c6b8adb0e10a3fb5bded","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for dashboardDataModel","durationMs":10871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c6d8cc4def9c9829081e","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tags for dashboard","durationMs":10489,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c70c7ab1e9b13167250c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for searchIndex","durationMs":8116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c8767c2bb584879cd982","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless pipeline","durationMs":7494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-c9724a2b13445c4d6a92","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for dashboard","durationMs":9975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ca5bb991ac4fd8652e2d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for dashboardDataModel","durationMs":9458,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cc4f5e3a70eaab5107d0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should clear description for pipeline","durationMs":20183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cdc74314b0b746849d53","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for searchIndex","durationMs":10217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ce9287a9a94ad35fa4f7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for pipeline","durationMs":8439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cf77fd2cc064e138e21d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for container","durationMs":14608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-cf880f1b73444ae5e7dc","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for dashboard","durationMs":63468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d24b82b38fba9393a77f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for pipeline","durationMs":9146,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d3313262932f8e5c26e7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for table","durationMs":8607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d423c43dd26c1009523d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display stat cards and filterable test case cards when runs exist","durationMs":8330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d42c7dfcafd0c3d20840","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for dashboard","durationMs":14196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d63bb39fad8fff480982","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for pipeline","durationMs":9784,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d775f5c5071bc10a90b1","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for dashboard","durationMs":10072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d936ca38aed47123aaf3","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tags for mlmodel","durationMs":10918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-d94149b5a027a424200d","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted glossary term not visible in selection for table","durationMs":17103,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-dc17507cea6f5e2a941b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for dashboardDataModel","durationMs":11152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-dd46065e3973aee948da","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for dashboard","durationMs":17932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e04473dc158500311e77","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to view all tabs for mlmodel","durationMs":8256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e0b5cd5b646038da6ef0","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should navigate to lineage and test controls for table","durationMs":8460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e192c717ec35efbb64d4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit description for mlmodel","durationMs":10473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e194f00ae1a12a13554c","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for databaseSchema","durationMs":9838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e34c8aed94d117851885","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for pipeline","durationMs":9640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e3cad63d1a8b0b4c2dec","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for database","durationMs":9196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e3fb9bdf40b67d9a1af4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless dashboard","durationMs":8623,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-e738a7e725f877070b42","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for pipeline","durationMs":8280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ea6b87c9fc3944212e89","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should perform CRUD and Removal operations for container","durationMs":46168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ebd41d2da61ea044cf0a","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"validates visible/hidden tabs and tab content for dashboard","durationMs":9324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ec8c77e3c18d343605fe","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for topic","durationMs":14798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-eccdbe7dc40257a66039","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted tag not visible in tag selection for databaseSchema","durationMs":13628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ed2e3b93c0b849fff721","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for table","durationMs":11055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-edced786962dcff47e08","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for dashboard","durationMs":9249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-edef11e1a1af8f147e7b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit description for dashboard","durationMs":8997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-ee8242f1129ae6921c9b","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for pipeline","durationMs":12657,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-eff9436d5c602a9c7b94","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit glossary terms for container","durationMs":8663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f1c5fb133e74cb02ba04","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should verify deleted user not visible in owner selection for dashboardDataModel","durationMs":15594,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f1fa161c211323ab8f5f","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit owners for topic","durationMs":10699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f2db6acc6a6d463a17a4","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for databaseSchema","durationMs":9378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f3fbb9968dd464480148","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for database","durationMs":10035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f4372152a4fcdb25efb7","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for databaseSchema","durationMs":8501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f460875c4dd4aceea8ab","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit glossary terms for dashboard","durationMs":9621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f5df5a41b9ea36e9a8c2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to edit tier for dashboardDataModel","durationMs":9378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f77c37995878f4aa92bb","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should follow Data Consumer role policies for ownerless database","durationMs":9150,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-f8d216682ae91929ed81","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Steward to edit tier for databaseSchema","durationMs":9777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fbb48b233aa1d7eb84e9","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should allow Data Consumer to view all tabs for dashboard","durationMs":9116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fbcddae2be02fc636284","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for dashboardDataModel","durationMs":13005,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fc164bb0e2000feff2d2","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should display and verify schema fields for databaseSchema","durationMs":11593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b186e385bbdb2574005-fcd6c78be3acd0f339db","project":"chromium","file":"Pages/ExplorePageRightPanel.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for dashboardDataModel","durationMs":9162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4efe8697ce5b1a3b64-5259b88d1d3dcf4bd051","project":"IntakeForm","file":"Pages/Onboarding.spec.ts","title":"Metric: configure, resume, delegate, approve and navigate the board","durationMs":38101,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"8b4efe8697ce5b1a3b64-a913083bffd88cd79599","project":"IntakeForm","file":"Pages/Onboarding.spec.ts","title":"Glossary Term: configure, resume, delegate, approve and navigate the board","durationMs":41949,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"8b4efe8697ce5b1a3b64-ee4de2a6550a03bd2887","project":"IntakeForm","file":"Pages/Onboarding.spec.ts","title":"Data Product: configure, resume, delegate, approve and navigate the board","durationMs":37578,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"8b4efe8697ce5b1a3b64-f32abefe71a28f4f2c90","project":"IntakeForm","file":"Pages/Onboarding.spec.ts","title":"Domain: configure, resume, delegate, approve and navigate the board","durationMs":39960,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"8b4feea5d75ba28aaf2e-021e38b069566a0daa2e","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"task creator CAN close their own task","durationMs":209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-05984b7d2794709c41a6","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"task without assignees should still allow admin to resolve","durationMs":763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-0ae4f3085e70138d8eb2","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"assignee WITHOUT EditDescription should NOT be able to resolve RequestDescription task","durationMs":4473,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-3fc026dfedbe459b7b0b","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"assignee WITHOUT EditTags should NOT be able to resolve RequestTag task","durationMs":5661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-4ff4535b84dea3c9a774","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"assignee (owner) should see approve/reject buttons","durationMs":14516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-749c4f5bccd84796fcc1","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"owner (has EditDescription) CAN resolve task","durationMs":4663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-78bbb9afa7c6fd8804ec","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"admin CAN resolve any task","durationMs":509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-873f2c7f083db40f1b18","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"non-assignee without permissions should NOT see approve/reject buttons","durationMs":12834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-88c636be3e54d14ad5a1","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"admin should always see approve/reject buttons","durationMs":12961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-8bd75f03604a4d71ca36","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"non-creator non-assignee CANNOT close task","durationMs":8210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-936f1eccfe11f4493261","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"non-team member should NOT see approve button","durationMs":10315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-d7be48a39e974fcc4df8","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"team member CAN resolve task assigned to team (team owns entity)","durationMs":10436,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8b4feea5d75ba28aaf2e-f726bad0f784021dbbd5","project":"chromium","file":"Features/Tasks/TaskPermissions.spec.ts","title":"resolving already closed task should preserve closed status","durationMs":229,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-03f2be6de2c2761ec72e","project":"chromium","file":"Pages/Teams.spec.ts","title":"Delete a user from the table","durationMs":27565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-05575cd61e82f379b794","project":"chromium","file":"Pages/Teams.spec.ts","title":"Team search should work properly","durationMs":11197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-1a55f23c25c53060de8b","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New User in Group Team","durationMs":15384,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-1f668e63ea29ab01be29","project":"chromium","file":"Pages/Teams.spec.ts","title":"Teams Page Flow","durationMs":63258,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-2ae1f95f7a82d858d799","project":"chromium","file":"Pages/Teams.spec.ts","title":"Export team","durationMs":16798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-36f0b663f675c074e314","project":"chromium","file":"Pages/Teams.spec.ts","title":"Permanently deleting a team without soft deleting should work properly","durationMs":19571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-4f1e0c1f52584e8f4a5c","project":"chromium","file":"Pages/Teams.spec.ts","title":"Team assets should","durationMs":59207,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-6880dd63ad3dc1c9041a","project":"chromium","file":"Pages/Teams.spec.ts","title":"Create a new public team","durationMs":13383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-7fa42402660989954fc2","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New Team in BusinessUnit Team","durationMs":21049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-8c42ddd21ea38410b62f","project":"chromium","file":"Pages/Teams.spec.ts","title":"Should not have edit access on team page with data available","durationMs":13897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-a496a11b02113f60becd","project":"chromium","file":"Pages/Teams.spec.ts","title":"Create a new private team and check if its visible to admin in teams selection dropdown on user profile","durationMs":15321,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-a5acf3c890d0c5f803f0","project":"chromium","file":"Pages/Teams.spec.ts","title":"Should not have edit access on team page with no data available","durationMs":15727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-c5fe5613722668c57494","project":"chromium","file":"Pages/Teams.spec.ts","title":"should fetch teams with correct include parameter","durationMs":9497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-cc91d06ccdf4881127a6","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add and Remove User for Team","durationMs":18858,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-d3248786cf8970f94aea","project":"chromium","file":"Pages/Teams.spec.ts","title":"Verify breadcrumb navigation for a team with a dot in its name","durationMs":18265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-d3d5abbdc9d39264f83e","project":"chromium","file":"Pages/Teams.spec.ts","title":"User as not owner should not have edit/create permission on Team","durationMs":14084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-dfff4b28227075cd2686","project":"chromium","file":"Pages/Teams.spec.ts","title":"Total User Count should update after a member is deactivated","durationMs":19905,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-e3b63fffd21ca18f715c","project":"chromium","file":"Pages/Teams.spec.ts","title":"Total User Count should be rendered","durationMs":16220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-f21a59b81da22614e543","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New Team in Division Team","durationMs":21279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d2c02a06574da4cfaab-f25d2e4da47eecaf9a5d","project":"chromium","file":"Pages/Teams.spec.ts","title":"Add New Team in Department Team","durationMs":19175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d689656782b1a6f7390-02e6d12455e39839a2aa","project":"Ingestion","file":"Features/ServiceAgentsLiveProgress.spec.ts","title":"agent discovered from the stream updates card and tab counts without reload","durationMs":4532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d689656782b1a6f7390-0359032648b44be54dd2","project":"Ingestion","file":"Features/ServiceAgentsLiveProgress.spec.ts","title":"agent discovered while on another tab updates count and appears on Agents tab","durationMs":4255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d689656782b1a6f7390-18b39c8b1f7b73274a0a","project":"Ingestion","file":"Features/ServiceAgentsLiveProgress.spec.ts","title":"agent card and summary update live from the progress stream","durationMs":4968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-26379e695749933a92ab","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Glossary - multiple rename + update cycles should preserve terms","durationMs":20844,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-3e546bf80dc1c11ecdc8","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Domain - rename then update description should work","durationMs":11548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-68eddb3465aced4adc35","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Domain - multiple rename + update cycles should work","durationMs":16838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-b01e664284f9a0880abb","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"GlossaryTerm - rename then update description should work","durationMs":15855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-b23330247ae47b829cbe","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Classification - rename then update description should preserve tags","durationMs":11604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-d1fcf7e4f6f6e75c9761","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Glossary - rename then update description should preserve terms","durationMs":15860,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-dcf818914ebfbadca568","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Classification - multiple rename + update cycles should preserve tags","durationMs":19218,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-ebbe7e5db1a435a00b8f","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Tag - multiple rename + update cycles should work","durationMs":19402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8d7e28fd2b7d98f9cf98-fb1fe9989fbcbf716ad2","project":"Basic","file":"Features/EntityRenameConsolidation.spec.ts","title":"Tag - rename then update description should work","durationMs":12161,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8db3ea1719f4294139d3-393169e3864b22ec2ed6","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":31256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8db3ea1719f4294139d3-8c81d37581eec9265a23","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":32347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8e1475d7a8d4511cde98-972b6ad8f9830b27ead3","project":"chromium","file":"Pages/OmdURLConfiguration.spec.ts","title":"url without a scheme is rejected before saving","durationMs":5548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8e1475d7a8d4511cde98-9dcce7a238957e980241","project":"chromium","file":"Pages/OmdURLConfiguration.spec.ts","title":"update om url configuration should work","durationMs":6184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-2ca00a647f78c1967420","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Test result tooltip stays fixed while the pointer enters its incident link","durationMs":4590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-334d02c260205a6db082","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Pagination functionality in test cases list","durationMs":8361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-49cf503e6a93539fab49","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"shows exactly one banner for the latest test case run","durationMs":7847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-4c790438c32345b62a1b","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Table test case","durationMs":18053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-553212bab134ed00779b","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"shows every section for a scheduled failed test case run","durationMs":4829,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-5ea2f7b91b5b348ee4ba","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Editing display name does not emit a phantom tags patch op","durationMs":6587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-61c21b5abf3c66acede8","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"TestCase filters","durationMs":35584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-9bccae9af98ba5a7c082","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"TestCase with Array params value","durationMs":11212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8eb529397dd159859ffc-b948b3260475ba5169a1","project":"Ingestion","file":"Features/DataQuality/DataQuality.spec.ts","title":"Column test case","durationMs":14135,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-00f9606596c3016580e0","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel allow entity-specific permission operations","durationMs":11573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-020742af52a481d6b34a","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database allow entity-specific permission operations","durationMs":14941,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-02e76560310002da73e9","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"File deny common operations permissions","durationMs":18099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-048cd5bb07db0b092c46","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel deny common operations permissions","durationMs":14761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-07b9537cf71ed31371ed","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table allow common operations permissions","durationMs":20197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-09a091accaad0d82c91e","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel allow common operations permissions","durationMs":11855,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-0af671909bde7a013f64","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic deny common operations permissions","durationMs":13565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-0cc373dd04ff8030233f","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Worksheet deny common operations permissions","durationMs":15123,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-10deae907d09b964fcfa","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database deny entity-specific permission operations","durationMs":15151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-13452946d5045d9f0db4","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline allow common operations permissions","durationMs":16358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-18ae617d79e5d7b7f079","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"File allow common operations permissions","durationMs":16572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-1f326d25e5fc9a9637ce","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard allow entity-specific permission operations","durationMs":14607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-393b9b78f8201b11c857","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline deny common operations permissions","durationMs":14620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-3ad159e3ed8c31713208","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database allow common operations permissions","durationMs":15485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-3c9a28545246bbdc73fb","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Metric allow common operations permissions","durationMs":14874,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-45a17df84917860b8165","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Spreadsheet deny common operations permissions","durationMs":14072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-4d8f171e51cb0d2e42e1","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Worksheet allow common operations permissions","durationMs":15685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-5bfaabe1489bae588f50","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table allow entity-specific permission operations","durationMs":21490,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-638c851f124e342a619e","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline deny entity-specific permission operations","durationMs":14863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-6b2b0ce6cc129f162e51","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Metric deny common operations permissions","durationMs":14282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-7103f95de221bffd41e4","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex allow entity-specific permission operations","durationMs":11469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-76eeb463ff3652b7951f","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table deny entity-specific permission operations","durationMs":17953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-7ae5321fb8e02ddc6a2c","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel allow common operations permissions","durationMs":14674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-7afc5f7035b8498c6583","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard deny common operations permissions","durationMs":15066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-82058782f5a5195dbf14","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"EditAll allowed but EditTier, EditOwners, EditCertification denied – edit buttons not visible","durationMs":16944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-8497ba3282344447e2e7","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Container deny common operations permissions","durationMs":15651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-852f1640c17c28a14391","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard deny entity-specific permission operations","durationMs":15050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-8cde431a28f77402aa93","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Container allow common operations permissions","durationMs":15928,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-98622cead2f44658d0c6","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel deny common operations permissions","durationMs":11505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-9ecf0c8e4c89f192c4df","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Table deny common operations permissions","durationMs":19172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-9ed49d22924150c2919d","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex deny common operations permissions","durationMs":12485,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-a21c41bd3db9957ede73","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Directory allow common operations permissions","durationMs":16245,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-af9cea942959e42519d9","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"EditTier, EditOwners, EditCertification allowed but EditAll denied – edit buttons not visible","durationMs":15802,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-b23b07500ce1df682796","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel allow entity-specific permission operations","durationMs":15112,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-b6907275b5a16eba27dc","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic deny entity-specific permission operations","durationMs":13152,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-be98efca59a108071401","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex deny entity-specific permission operations","durationMs":12044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-c7b1063f20150b9224a9","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Spreadsheet allow common operations permissions","durationMs":13819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-cdc7161e3a6adaa0c2e4","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Directory deny common operations permissions","durationMs":15089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-ddfdf503467d77c54ffc","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"SearchIndex allow common operations permissions","durationMs":12468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-de36bce534daf48cb1ed","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"DashboardDataModel deny entity-specific permission operations","durationMs":11201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e064b13617abbe309243","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Dashboard allow common operations permissions","durationMs":15596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e4e4e805ca158b580f5f","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic allow common operations permissions","durationMs":12994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e5bb4189f7681667f866","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Pipeline allow entity-specific permission operations","durationMs":15460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-e84df0a6339c03bd5290","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Database deny common operations permissions","durationMs":16420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-ee4a0b3aec10677417e2","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"Topic allow entity-specific permission operations","durationMs":11402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8ee4c71fd1ee04fef09a-f2f190d2e4df85e59203","project":"chromium","file":"Features/Permissions/EntityPermissions.spec.ts","title":"MlModel deny entity-specific permission operations","durationMs":13993,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-050339a5b3b27948c82d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"view modal switches to edit mode and saves changes","durationMs":10141,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-0cbdc9f31920a92283d9","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"deleting a memory via the row actions menu removes it from the list","durationMs":9573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-115d742c3cab23b0a244","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"ArrowDown + Enter keyboard navigation selects the linked table result","durationMs":11531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-123127191309ad6f3c8a","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Add Memory button opens the create modal","durationMs":9420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1574850a94a988ecbe44","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Private memory shows \"visible only to you\" description","durationMs":10908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-16b3484cc09d5255f8d6","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clearing search restores the unfiltered list","durationMs":9213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1aedfce00d8c5946c8bc","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"shared memory is NOT visible to a user absent from sharedWith","durationMs":13443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1b4f86b0208e986fc6b0","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"adding a linked asset in edit mode shows entity badge on the row","durationMs":15830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-1c9d85e1c706f63a2d86","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"form is empty when modal is reopened after cancel","durationMs":10109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2a172730b1b53f63f35e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Create Memory button is enabled once memory content is filled","durationMs":9256,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2aa5a395123a8c3cdc3d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Preview tab shows \"nothing to preview\" when content is empty","durationMs":8773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2ad5e7e1ef935567b0ed","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"row shows owner name and memory title","durationMs":8014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-2ff20097b005186ec189","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"navigating back to page 1 shows original memories","durationMs":9265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-3867569b1addfa8a9f5c","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"selecting \"Most Used\" actually reorders rows by usageCount","durationMs":9640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-394aa041e4c80c1b07c7","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Preview tab renders markdown content correctly","durationMs":10605,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-46ebbf692c088e16f169","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking \"Total Memories\" count card activates the All view","durationMs":8661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-51a791024388a119e500","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing title updates the memory and the row reflects the new title","durationMs":10567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-54cb6b919c18ad54110c","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"entity-visibility memory is visible to every authenticated user","durationMs":12517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-55e0a815e60bb09ce57c","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"pagination controls are visible when more than 10 memories exist","durationMs":8144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5942dd11a9d4b64ec829","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"sort dropdown shows all three sort options","durationMs":8352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5a7baea2b091d24da57b","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking a memory row opens the view-only modal with owner action buttons","durationMs":9351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5bc1df2528c2b5058f83","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"private memory (admin-owned) is NOT visible to a non-owner","durationMs":13648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5bc84e17ae75eb005f5d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking \"All\" tab after applying an author filter clears the filter","durationMs":13716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-5c94648cb13fa0cbffb1","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"copy link button copies URL containing the ?memory= param","durationMs":10285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-64649ab2041f5d3fe8f3","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking \"Created by Me\" count card activates the created-by-me filter","durationMs":9002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-6512f16c5a112b85a606","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"shared memory IS visible to a user explicitly listed in sharedWith","durationMs":14299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-72b54a939c562fb1c204","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"search box filters memories by title","durationMs":8390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-735e01e2899164788fe8","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"content typed in Edit mode is visible in Preview and preserved when switching back","durationMs":8837,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-7b3fb940c312905d5060","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"linked asset card shows remove button; clicking it removes the asset","durationMs":9661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-8090e9d3ebd02b77c47e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"creates a memory with title, content, and type — card appears in the list","durationMs":10753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-833efd0cc52341230add","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"navigating to a URL with ?memory= param auto-opens the memory modal","durationMs":8433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-8b1f26e601d5baa9ff70","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"closing the modal removes ?memory= param from the URL","durationMs":10172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-8ecc1dad1c384a343e2e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"changing visibility from Shared to Private shows \"visible only to you\" after save","durationMs":18117,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-93771ed3a6e8bed91a7e","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"link an asset button opens the search popover","durationMs":9604,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-94ab0b32cbe40c045b6b","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"row shows linked entity badge when memory has a primary entity","durationMs":10033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-95c9093fdd3ff5e51c44","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"cancel button in edit mode closes the modal without saving","durationMs":15483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-9e097128eef15ee87968","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"delete button inside the edit modal deletes the memory","durationMs":9978,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-9e8a0babb0950a756604","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"\"Clear All\" button resets the author filter and restores the full list","durationMs":16033,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-a506eaeb50a155ae247d","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing memory type persists after save","durationMs":10482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-a6e380a210b52c7dda25","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Create Memory button is disabled when memory content is empty","durationMs":9220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-abc24ab8a7d2cbc7bbcc","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Shared memory shows the shared-with-specific-people description","durationMs":9655,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-ad770b579565ae2fd108","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing visibility from Shared to Private saves and updates the badge","durationMs":12102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-b91c37ad31594d56093f","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"typing the linked table name in the asset search returns it as a result","durationMs":13370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-bd5714317a0b47826f87","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"data consumer sees a read-only modal for shared memories they do not own","durationMs":13714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-c89dfb6c8cf1605c7ebf","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"\"All Assets\" option in asset filter button resets the asset filter","durationMs":12119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-d1e2a2780b71025dac99","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"\"Created by Me\" tab shows admin's own memories and hides the second author's","durationMs":8292,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-d71b0b2f0cec854dd4fe","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"navigating to page 2 loads a different set of memory rows","durationMs":9057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-da46a9af079413eb60af","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"selecting the second author in the author filter shows only their memory","durationMs":11967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-e47a22c54616939b72ef","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"clicking a memory row adds ?memory= param to the URL","durationMs":9799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-e651d4373580504f54fa","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"Entity memory shows \"visible to linked entities\" description","durationMs":12163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-ec8e38c378a883334cb8","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"edit-memory button on the row opens the modal in edit mode","durationMs":9329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-ed83a3eeb82edd110766","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"no results message is shown when search matches nothing","durationMs":9413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-f0c1da1240b0e4613ed2","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"switching back to Edit tab restores the textarea","durationMs":9933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-f10ec76507ba30b98ad4","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"shows header with title, breadcrumb and Add Memory button","durationMs":9790,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8f00f316c6c46c156a1c-f3277503da5d3d73f903","project":"chromium","file":"Features/ContextCenterMemories.spec.ts","title":"editing memory content updates the memory","durationMs":11187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-215a8878c531328977c2","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"rejected OwnershipUpdate should NOT change ownership","durationMs":672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-2602a3aa080b731b4749","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should create and approve DomainUpdate task","durationMs":1252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-3a096d2f4ebade0afd91","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"rejected TierUpdate should NOT apply tier","durationMs":251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-5d012330bf9c4bc78527","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should approve description update task and apply to entity","durationMs":799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-6e386755207335934c43","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should create and approve OwnershipUpdate task","durationMs":268,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-c0065d9d29e0659d6c34","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should create and approve TierUpdate task","durationMs":361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"8fac0fef0ac2a4ce9990-cbee75183bf50baef2a7","project":"chromium","file":"Features/Tasks/TaskEntityResolution.spec.ts","title":"should approve column description update task","durationMs":700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90ed2060a2a8751f24f5-24638cee4dd18362bdb5","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Install application","durationMs":4051,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90ed2060a2a8751f24f5-b104994da51b7cdfaabd","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Edit data insight application","durationMs":4368,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90ed2060a2a8751f24f5-e421dc1031935e8b877a","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Run application","durationMs":0,"attempts":1,"retries":0,"outcome":"skipped"},{"id":"90ed2060a2a8751f24f5-f7537948d9d62bd69376","project":"Data Insight","file":"Pages/DataInsightSettings.spec.ts","title":"Uninstall application","durationMs":3476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90f483905672abdab8d4-395ef9ff12b9b1cfd420","project":"chromium","file":"Pages/ProfilerConfigurationPage.spec.ts","title":"Sample Data Ingestion Configuration","durationMs":6888,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90f483905672abdab8d4-d388e31b6ee015b2c18e","project":"chromium","file":"Pages/ProfilerConfigurationPage.spec.ts","title":"Admin user","durationMs":11938,"attempts":1,"retries":0,"outcome":"expected"},{"id":"90f483905672abdab8d4-d9c6a62871c623262969","project":"chromium","file":"Pages/ProfilerConfigurationPage.spec.ts","title":"Non admin user","durationMs":9119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-010947e1f2ae5f490fdf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":20038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0204627a501622ee8deb","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":30744,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-04a73b3abdf07d99230b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0515d537e10283b36e45","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":42550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-05cb4526aee30bf31b27","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":19190,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-05cba1d1810b00e6da0c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15328,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-06621cfea096a95864a1","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":12148,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-066ed7052e902f07afd7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":21717,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-07d3752db441d6dcd5c9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":14499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0808415fef188619b0c3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":24264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-088ab01bbb6af83198b5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":25144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-08a72d1ea60f89919542","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":27871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-09d0849a721c46ed4e27","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":21512,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0a52cbeb44d811c97ae9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":29834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0b285034c080279bfe87","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12735,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0b31a83be6093fccd9a8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":15586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0c601eb8ae577401535c","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":23415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0c9147c3faa959ed6d1f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":24164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0cae867a36cfb2330728","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":11690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0cca9e90033054e752e4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":30724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0df78730b187b80fb609","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Search Index","durationMs":32996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0e9f56083fd2fb5d9faa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":28324,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0f315b07f498e7688a32","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":25563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-0fea7c50c0a5a82872e1","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-10586eb08b05b663021c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":16756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-10823933e7cc47252622","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":22902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-10ddfe5a92169df86b00","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-137ec6b7227be9ad99da","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":10348,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-139c5016d99093c360b7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-14011a0248e6b08f80a7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel key profile metrics validation","durationMs":14664,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-14470019ffd97004dcbe","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":28781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-149227e4460fabcd42c6","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-14ac924ed8bcb7e68832","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":23097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-15d1273f787e5fa2d04a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":13132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-163b977d15c76c372a6b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":30044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-164caa239e68ee9d019b","project":"chromium","file":"Pages/Entity.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":16845,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1694b0714d00d5c71ac2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1699b841032a65cec187","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":20976,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-183d1f957e327795eb4a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":16351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-18a47a9004653643fb64","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":28987,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1943709640011d77ed36","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":17891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-19c2bb2e9c1e146d40e8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel - Data Quality tab shows test cases","durationMs":25979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1b72ac1fa7bcb9a1a474","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":8025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1c94f2df230f3f14fe7c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":18150,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1cecbcaa17cb6913726e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1d091ca31ae29db2c8ea","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":12821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1d1fa86265503c79342c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":14741,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1e2cf9c79c0a9525a66e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":18791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1e8f2077ec976b52a489","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1f106521cf5f4bc3d32a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":22139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-1fee3fc39291ed69f8d2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-20f71b2d07418575475d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":35481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-20ff1e5b739d9faf71a9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-224784ca851aca125dc5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":10850,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-22a6f18eb0af4e42f50e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17593,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-23222301ac380b5bdf2d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17051,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-255c0b0482bb4fe51e92","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":13209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-260a08f521c36666d45e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":28795,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-26bf78922e154401df45","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-26c62f4d3d117052c242","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":31063,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-286080b65df7a8bc3d85","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":17689,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-298fdb3a31fa6071e859","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":36216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2b98e260a7accd3dd5e3","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":17448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2d387ded98f7768265c4","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2d76b56f14c39477bfa8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2e8162d5d22dc70ab80c","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":9178,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2fb15765b5b25a485ab8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-2fd19b049110a1f7576e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Api Endpoint","durationMs":31564,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-30412ac8a486dbe6db56","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3049f221e1833056bb4f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":25234,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-30604efc6717f760cb19","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":28177,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3130e46417f6b8ee0ddf","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-31675e337df06a59163e","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-329014335b0953e9a963","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":27776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-33a2b8dcb127802d7ea4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":15113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3449766d9eea852cb02a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Topic","durationMs":42073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-355b38942f8be1c21038","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-37b56a8c64057cd16849","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":23856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-388ca052aec51e76c129","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":16110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3940d8d78d5447a24d94","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":27255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-39437ad5d0bb92bd3f56","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":12454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3a30f163c9cf41e7b0a2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":30699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3af3ec90e38be2bb9b8a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":24715,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3c3dc27e5b016fad1c34","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":24931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3cff397f5942cb1e4415","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19555,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3d1743b61f22211f8cde","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":29649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-3fd66bb77526bc0549c5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":21405,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-40abc10c3cbf325d0814","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":30486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-40b5f757c2e50ab4c423","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":15755,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4186a53379bf3038d6df","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":25849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-41930b02ea7ae699543b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":16550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-423cbdd8a1649ef25e03","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":19813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-44558ad1c4b6295c42ef","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Dashboard","durationMs":33907,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-44979265001c53ce1aa3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":28413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-459f81112fb7567b0275","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":22187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-45ce2f3980113cfb8fc3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-48a178691f7d801b79b0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18272,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-490c4b163ecfb2791f11","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":12490,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4924df03b181449afbff","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":16245,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-492726a2addd8a53a89d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":13932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4a4f175326692f1e1df7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":25949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4ac150db5e30c650fbf6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4b66ca7fb325742907a7","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":17206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4bc0347bfb50f8ba6efa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15525,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4bebf2eddb62c1c0a27d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":16496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4cb9c7949e76cfd2158d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":20211,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4d4f0ab999224ca222c3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14024,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4ea337e0978f71f7787a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Complex nested column structures - comprehensive validation","durationMs":22231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4eb7ba29ce3f14453e74","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":40856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-4ffc30215ba4fd0f309b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":23157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-520498925292ca429e70","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":29608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-521bba060aebc0805243","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":9063,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5237c058076927c64a4b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":15396,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-528578f052a6a5d372de","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":16097,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-52ded41a9f92477b9e8d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-545e1e1606596daba844","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":19331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-55c1c83398c224c17777","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":21463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-57413ea2ee24eacebe86","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":23422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5760cca191d53021860e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":37700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-57656fc4e202f6fe94ae","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":25275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-576c627662fa68e8fdf5","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5783fe4fac5585eab4e8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":29477,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-578975ad1fa2b90690ef","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":25594,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-589a2251bfac9347931d","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":20210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-58fcb7bc23b74494562d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":28496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-58ff7eefdb13abde7b0b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":19434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-596d6153699326e4a88a","project":"chromium","file":"Pages/Entity.spec.ts","title":"DashboardDataModel page should show the project name","durationMs":15067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-59f0ea7d5c7e17ed7068","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5a2fd88bc28e89ca1895","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":27443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5a8a4f525e79dc02ee22","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":38677,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5ae58d54d9462234aefd","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":12301,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5b54086826771a0d829a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10428,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5b89a6d1f13278f64fb4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":25568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5bdd95036294d02d6aed","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":23643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5bfca70544447baacc27","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":16443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5c2dee6d5dee89070889","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5cca7fa93e2963965949","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":16719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5ce7395d57a38e605045","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5e5602eadda15814cb1d","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":22551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5f55cadeb5b75f2d9827","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":12388,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5f73f22159832459f8d6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":21377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-5ffbcd9603be554d72cc","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6090b3469968428010ca","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":18208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-60d6762c4b0ae5b80aa3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":21018,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-61888ffb206a1f9cd606","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-635acc3dd237ce3372f3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Array type columns with nested structures in NestedColumnsSection","durationMs":19340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-638bed0d16d0fe08b913","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-63d6f16376792bf39ec4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Dashboard Data Model","durationMs":33197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-64cbef5facf9a46414f7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Spreadsheet","durationMs":32890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-658673c37e533eeef774","project":"chromium","file":"Pages/Entity.spec.ts","title":"Data Consumer should be denied edit access in column detail panel when deny policy rule is applied","durationMs":25545,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-65e50d3c39f208f5c8b8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":15170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-660a5d76fe1e2a33c402","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":11481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-665622c28ce75a44b7d1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":23358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6688dd944533a6843776","project":"chromium","file":"Pages/Entity.spec.ts","title":"Data Consumer should be denied access to queries and sample data tabs when deny policy rule is applied on table level","durationMs":27132,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-675a7eb6037656e443a8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":24402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-67b5ea7d270e6f0d7212","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":10834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-689e5012886587487afd","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-68c3d140aa232b18343a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-69642132f4c8d46914f0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":33214,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-69a4bb362989003c8fe5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":11192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6a7c1cfa25aee1b88332","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":15284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6bf622162eec9ddb280f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6c45206d1c7e364d3dab","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":37040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6c6d5e53693ae91f974d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":15672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6cb3a9042fe63e651e6f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":21050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6d27b11bd3329db0c3da","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14602,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6db5a8684315b09e586b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":25943,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6dd976c84561bec7292c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":23129,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-6f27ade629aa21259930","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":10654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7033bd8a589efefc6460","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-714c7c04f6771c55b417","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":14055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-715e918fa77d52c93d3d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":21188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-717c3379a8b317c17d8a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":20487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-72de070373835646c330","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":22996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-73396497c9550736ee6b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":20390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-733d7d7ac05db37816ba","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":13059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-734125bcdd8222736844","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Ml Model","durationMs":26409,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-738fa5dafee2cc5efba2","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":18851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-74d0bd71eeeca6f080ea","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":22614,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7557b6f4c5e94da74b0a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Metric","durationMs":36453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-76f7c1dce024366a65ad","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":20209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-76fed440252571c4ac35","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":13134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7ac6d76c0b0762dc7654","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":20960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7c5857a17226f22628da","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":17064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7c7e74ca9adebcc53967","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":36918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7d3b7ccbffa26944736d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7dba101412de85e23071","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":13857,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7e2e7b59a31556b2749f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":32111,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7ed713af973c88618eab","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":21587,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7f0a484980e667964f0b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":28533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-7f9e6aef30246153c9f9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":22946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-80c0a4b111e70096228f","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":18586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-81886e104470f3edf684","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18411,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-828bef0287fa1c5da67e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-831dbe32138dac09e7d8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-83395592d0affb7528ba","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":21925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-83854023e08436751e88","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel does not call /columns/name GET for DashboardDataModel","durationMs":15158,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-83fd602de32ac38f1777","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":19004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8487bc28a50fe9aa2194","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":27738,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-853d61f316a0d5af5ffd","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":28729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-85936fb882a2786fd7c7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":16312,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-85b99b63d5290506f285","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":11774,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-88f8bdd28e992ed4732b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":21787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-89255caaa20ed42f11c1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":10708,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8a420f6c0389278e14a8","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14846,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8c43a40bbe3dab735d28","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":32540,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8c51774ba5e172b0e5df","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":12198,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8e34dc2db65998150cbc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17893,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8ea4f124a947e104dfc4","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":24963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-8fba808d32c7edb58b11","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Pipeline","durationMs":26264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9040c78d20f9f8c4dd0c","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14157,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-90bd676080f86b4a617f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":27056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-91428c93cc268ca60069","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18093,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-91543bc8d8167f5065a1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":14378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9231b4fba6be912c3a58","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":12162,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-92a98accb4a75ac9bd41","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":24116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-93fb297d11c0da8eb925","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":35088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-94398585e76e7076dd89","project":"chromium","file":"Pages/Entity.spec.ts","title":"Switch from Data Observability tab to Activity Feed tab and verify data appears","durationMs":21835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-974cf3128b2fe509f68e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":11000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-981422561ba577ab278f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":14724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-98295172b077e968710d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":29340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-98a764c8f8883afbfc61","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":16953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-98beffeeb1691cfc46e3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":29335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9947441fa2bdd31d2579","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21302,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-99df0dd4ce461e379bf1","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9bb7b088737745749568","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":17939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9bf8262a50e226dc14e0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Dashboard page should show the project name","durationMs":12645,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9d47fed51de1a82ea61b","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":20729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9e32c9c3455f40d45c51","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Table","durationMs":44780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9eb19184071a33394559","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":28084,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9eb5d4b065166f22f57d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":22374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9ef758d01c78546f9e36","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":29534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-9fca75ad842b940cc462","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":24514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a0b8122c30252e10af37","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":15320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a29f3c417fe4c951b553","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Container","durationMs":27796,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a2cfcd0d99157a65bf75","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":26549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a3c11ebaa1e3e2d4c067","project":"chromium","file":"Pages/Entity.spec.ts","title":"DisplayName Add, Update and Remove for child entities","durationMs":18452,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a492547f9007a342a812","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":18783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a5998ef2edac55039257","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":17654,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a5d17a88fd978d0b50f0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":11476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a7412694cacae19f6d47","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a76b7d4955e681a340e2","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15546,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a7c74023a04b469dc54a","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":23987,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a8a7d0dae0901dc05bbf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":16263,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-a9d8535c0845968fbeae","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Worksheet","durationMs":30723,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-aa3cf3f233e4209c62d7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":21087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-aa8f971f04aec8ed12d5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":12950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ab9125e3be00b247e5c6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":28375,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-acf4ed1c6b31c9deb82b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":26213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ad454c2d5478c288a398","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":24274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ae1753b8395d90f206d5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":11006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ae2e3a33c620656a9e25","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":12242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-aed8de3b484856dea5b5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":11906,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-af920abc6c341912e2c4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":14106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b02919d12e5158bbd751","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":24875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b02c0574cfdb0a3c8631","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15320,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b03cf38e18dfe4fa6513","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Stored Procedure","durationMs":33648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b147c972de2ca1979612","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":19858,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b1bc3c6efd67cde75543","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":13351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b2898eb27b3458212bb9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":17918,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b326e8761d37657c85bc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":13859,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b32b7349dcb65de985b6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Directory","durationMs":33890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b3d6c097f77e0b107d33","project":"chromium","file":"Pages/Entity.spec.ts","title":"Mixed sibling columns (simple + nested) at same level","durationMs":16422,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b57f4cfea36c6106e54d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":14875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b72b1bcf49a07cf93c31","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":29279,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b7d62202728d8accd1ff","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":31227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b80d667c0acf38204010","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":15441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b819774aa9824797ce0b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":25572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-b8a1c25981278f288325","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete Chart","durationMs":23389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ba27de8b1b49b885f461","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":26390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bbb4b786ce82a4dc2641","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bd64ed3fbf1b8cc239da","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14955,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bd7db5cd6f03951867e3","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":23225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-be0fc17cfe43ab5f959f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-beaa3406691cce197eda","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":14898,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-bf6e8dfcb77c6e2ca2ac","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":26808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c0a53f27e3c7f00c3183","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel - Data Quality Incidents tab","durationMs":25299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c1805fb6858404bea377","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":15119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c1ba3f2ea3699ed7ba49","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":29377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c295439fe870d89f8e3e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":21758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c2ead24a21c62c63dddf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c37a1dcd7a72a8ab98bc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":23139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c419e22430f8d60c5f38","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":13550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c4d5c714289b65cd5065","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":18667,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-c723be406a26ef3415bf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":11863,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ca5a4347882991d25ec0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15676,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-cbee4371fcd3aef15c86","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Selector should close vice versa","durationMs":10488,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-cce5d4d36933d42e3bc0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":29726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-cd1b25a5a5e7c2a942f4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":41501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ce196a55488b928c2d30","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":27531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ce268a04010e8041efb5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":18697,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ce2c9e42affef0f8e984","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":16833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d03431d009cfb98964d5","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":12515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d19f58e4d5f295f56efa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":15433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d1c622df7f7867c3494f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":28895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d246aab59a2dd5f44424","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":29367,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d247c88f16904422d795","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":17457,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d2612844f69066702a65","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":21374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d3b17d6328d0a5be8f9c","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":16167,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d4574f5523cbdbd41ffb","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":16042,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d485e529727a1a0f65a3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Column detail panel data type display and nested column navigation","durationMs":8985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d7f2d6a1270f33fc5c96","project":"chromium","file":"Pages/Entity.spec.ts","title":"Team as Owner Add, Update and Remove","durationMs":18683,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d8c173ce639ccb75f5cf","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":23491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-d91d2f8bb2e0cdc843fe","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":21967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dad73eda2f4b068c10c8","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":20289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dbcb8ef877e0a29eaa84","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":10140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dd2889a0fa137f0ce3a9","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove for child entities","durationMs":20521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-dea1ccd58511090988d7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":18067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-debe98100f5126a60f3a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":29935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-df5a5db4037d28aa590b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":21769,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e042722a07ea0a3de54d","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":16766,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e1446c2f53e8f61fe0aa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":25265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e1bcfa96b3dd42189461","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":13933,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e1f23382e9baf6978200","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":18563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e241f0f086944e77301a","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":42206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e24c535d92bc2f637cdb","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":24126,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e366da710e50f4f64e8f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":28971,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e4e04c52194d563079e6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":10982,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e5c2865265d1af10ee7d","project":"chromium","file":"Pages/Entity.spec.ts","title":"Filter columns by tag prunes non-matching rows","durationMs":12427,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e7bfd4ae8f07e04b2381","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":20704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e941ffbc92ab76be5259","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":26596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-e9f5e0e08338ec03967f","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":104346,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"92f4b5f6dbf60767921f-eb01173d188cbe8393dc","project":"chromium","file":"Pages/Entity.spec.ts","title":"Inactive Announcement create & delete","durationMs":17008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-eb0d5e5b36d7c532a4d6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":13291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ec00f7977e836a98c1d6","project":"chromium","file":"Pages/Entity.spec.ts","title":"Description Add, Update and Remove for child entities","durationMs":19004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ec976ce21d731948f7ae","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":24022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ed3bfea6fbaba7b39813","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":14051,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-eda0173586502e9586b8","project":"chromium","file":"Pages/Entity.spec.ts","title":"User should be denied access to edit description when deny policy rule is applied on an entity","durationMs":17428,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-edae0655ec0cb6bdc6a4","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":31584,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-edee178e64d24e4b5320","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":27909,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-ee704d960a0d87348125","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":37213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f3f9c17a2c9aa8bc7f09","project":"chromium","file":"Pages/Entity.spec.ts","title":"Certification Add Remove","durationMs":33561,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f50fa4fafad289f59bf0","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":24500,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f56e37113ccb0ba50171","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":32413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f5b5f7e6288392d9c64c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update displayName","durationMs":16521,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f6b50a299a49f1965028","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Propagation","durationMs":20061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f793562b25de9479b901","project":"chromium","file":"Pages/Entity.spec.ts","title":"Copy entity URL from header","durationMs":10351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f83796dc12fc01216f2c","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":25056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f9b076446ad4902e6057","project":"chromium","file":"Pages/Entity.spec.ts","title":"Domain Add, Update and Remove","durationMs":17306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-f9f0cc30af4d50635e45","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove","durationMs":29549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb095fce3e726deb2671","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag and Glossary Term preservation in column detail panel","durationMs":19092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb1b344006049a57fe6e","project":"chromium","file":"Pages/Entity.spec.ts","title":"Announcement create, edit & delete","durationMs":23882,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb26f3d3063f75474b76","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":22548,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb54e3be502528a811a3","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":21316,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fb5aa2f181bc190325c7","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tag Add, Update and Remove for child entities","durationMs":24577,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fbb1b5d546048e8a6ce0","project":"chromium","file":"Pages/Entity.spec.ts","title":"UpVote & DownVote entity","durationMs":15096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fbf0ad523a6b32d423cb","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner with unsorted list","durationMs":23716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd02335b2dcae5e08711","project":"chromium","file":"Pages/Entity.spec.ts","title":"Glossary Term Add, Update and Remove","durationMs":22944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd73955b30bfc3f6b34b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Follow & Un-follow entity","durationMs":19558,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd7481fb2c651161f990","project":"chromium","file":"Pages/Entity.spec.ts","title":"Tier Add, Update and Remove","durationMs":19856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fd930e32aac736574382","project":"chromium","file":"Pages/Entity.spec.ts","title":"User as Owner Add, Update and Remove","durationMs":15713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fdcf50e13a6a2a4bbd2b","project":"chromium","file":"Pages/Entity.spec.ts","title":"Delete File","durationMs":32311,"attempts":1,"retries":0,"outcome":"expected"},{"id":"92f4b5f6dbf60767921f-fe5a4733fff8ccf670fa","project":"chromium","file":"Pages/Entity.spec.ts","title":"Update description","durationMs":15101,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-0cb6ee0b3584d4c91f21","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"should allow assigning a Data Product from a different domain","durationMs":6826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-0e1b5c1c44a8f2279d06","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the MlModel Service entity item action after rules disabled","durationMs":14877,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-1cd87d9dd281b2dece0d","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the SearchIndex Service entity item action after rules disabled","durationMs":16046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-2cb867da73a9a971f77a","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Container entity item action after rules disabled","durationMs":18788,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-30575d4022cfb3b0782b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Storage Service entity item action after rules disabled","durationMs":17875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-38d54bc660f074f9097b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Dashboard Service entity item action after rules disabled","durationMs":15264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-3b609306040a234cbfeb","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Messaging Service entity item action after rules disabled","durationMs":13207,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-4cc494c7283e8466765d","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Database service","durationMs":51559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-52a8397186c3af51af32","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the DashboardDataModel entity item action after rules disabled","durationMs":21231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-609686451a9f7a7ebeea","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Api Collection entity item action after rules disabled","durationMs":17040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-61b78ce0d330fc59d4ec","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Table entity item action after rules disabled","durationMs":24303,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-6737dba688f9167420f0","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Database Schema entity item action after rules disabled","durationMs":21696,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-68f16dbd339a5bdbe466","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Database Service entity item action after rules disabled","durationMs":15533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-6b2ea7bfd8bb286c24f3","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Drive Service entity item action after rules disabled","durationMs":16168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-6efff7b892881b0179ad","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"should allow multiple domain selection for glossary term when entity rules are disabled","durationMs":6189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-7333face1ace08be4fd8","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Worksheet entity item action after rules disabled","durationMs":21425,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-7b50302fbb1ca636773a","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Directory entity item action after rules disabled","durationMs":20651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-80572a8c0e9e51d6d17b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Api Service entity item action after rules disabled","durationMs":14543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-90309c057da02ade63a0","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the File entity item action after rules disabled","durationMs":21406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-90c89420e6df7139aab1","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Topic entity item action after rules disabled","durationMs":19552,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-913e01f78ba46179b9c4","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Pipeline entity item action after rules disabled","durationMs":17434,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-982c393f021f67ee967c","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the ApiEndpoint entity item action after rules disabled","durationMs":23136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-98909ef36befccbe6fbb","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Database entity item action after rules disabled","durationMs":23061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-afbe709e30f6facd3dbd","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Database Schema","durationMs":60203,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-b06f911eea6817b73cad","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Chart entity item action after rules disabled","durationMs":13497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-b13f119926cde07f3531","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Store Procedure entity item action after rules disabled","durationMs":20517,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-c83bce24def2c5be23fa","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Metric entity item action after rules disabled","durationMs":13295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-cc81aa5e99065f424e4b","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Spreadsheet entity item action after rules disabled","durationMs":20927,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-d1dd9a785ec3db3fd0e3","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the SearchIndex entity item action after rules disabled","durationMs":19851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-d5c28012a9b0553fdac1","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"should list cross-domain assets in the Add Assets picker","durationMs":11168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-e4bf750e93899dca5942","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Pipeline Service entity item action after rules disabled","durationMs":15054,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-e5bc6e17521e70fe27d4","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the Dashboard entity item action after rules disabled","durationMs":20213,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-eb3f22266d782e009e06","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Database","durationMs":59408,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9308de5e0d9b01cc3b0e-f66c740a854d5362dc0f","project":"DataAssetRulesDisabled","file":"Features/DataAssetRulesDisabled.spec.ts","title":"Verify the MlModel entity item action after rules disabled","durationMs":20059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-05afe72e2517126b831c","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S01: Selecting ME child should auto-deselect siblings","durationMs":16932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-07c5485ffe70af9efaf5","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H05: ME glossary (top level) children render checkboxes with ME behavior","durationMs":13246,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-1fd7aeb46dbe55939735","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H06: Deep nesting - non-ME parent under ME grandparent allows multi-select","durationMs":14996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-39d8b39132ab09f17d4d","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-T02: Apply ME term to table column via detail panel","durationMs":16228,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-490fe051b00e05508785","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S05: Mixed selection - ME siblings deselect, non-ME remain","durationMs":15382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-4eb760f5a611886c7801","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H04: Toggle ME flag via edit after children exist","durationMs":20780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-59cbad295850012fe314","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-R01: Children of ME parent should render checkboxes","durationMs":16271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-7db74194a6481c407de8","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S03: Can deselect currently selected ME term","durationMs":13852,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-982e188c2d0faee81352","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-S02: Can select multiple children under non-ME parent","durationMs":15345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-c73698374be52746af65","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-T01: Apply single ME glossary term to table","durationMs":16009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9380cd5f2172e9a1a418-dd551949ba09fa30d34a","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivity.spec.ts","title":"ME-H07: Non-ME parent under ME glossary allows multi-select for its children","durationMs":14341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-19d2e2f60fe8424ceb98","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should cancel deletion and preserve sample data","durationMs":10057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-2d25e25ebbc138c884ef","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should display sample data tab with rows and columns","durationMs":10170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-60a661d10879c9cc9007","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should show only export option for data consumer without edit permissions","durationMs":8363,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-887ef71abcfe0e95a672","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should show empty state for table without sample data","durationMs":8674,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-955c7fc1aacedef99996","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should download sample data as CSV when export is clicked","durationMs":9565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-aea7d9d516ae343cd09b","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should open delete confirmation modal","durationMs":9885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-bc8f12de342882c9876e","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should change row limit using the selector","durationMs":10016,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-c79b78f0d0a5b6acc220","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should show export and delete options in manage dropdown for admin","durationMs":9385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-d03354ab10143b83b4f1","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should render sample data for columns with reserved names","durationMs":8206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-eabdba275e13219c035b","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should delete sample data and show empty state after confirmation","durationMs":9507,"attempts":1,"retries":0,"outcome":"expected"},{"id":"939870cd9e56b1f49a39-f5b810780f21ec70c533","project":"chromium","file":"Features/SampleDataTableOperations.spec.ts","title":"should persist row limit selection after switching tabs and returning","durationMs":10382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"93bd9f4090791ca89375-80c585ad9ba6f0b328b8","project":"Ingestion","file":"Features/TestSuiteMultiPipeline.spec.ts","title":"Edit the pipeline's test case","durationMs":7620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"93bd9f4090791ca89375-9e57b2112f917b31f412","project":"Ingestion","file":"Features/TestSuiteMultiPipeline.spec.ts","title":"TestSuite multi pipeline support","durationMs":19550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9467adbab3a83cfec66c-3dae36d63205fa0caf33","project":"chromium","file":"Features/Glossary/GlossaryRelationsGraphPerf.spec.ts","title":"opening Relations Graph tab does NOT fan out per-Id glossary term fetches","durationMs":11116,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-1e4bd98b74ceda0fe09c","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should not offer Test Login for a confidential client","durationMs":7072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-3aa538554a17e9a1b306","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should offer Test Login for auth0 as a public client","durationMs":6875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-80d48f5a288d4db55b18","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should show the resolved identity when the test login succeeds","durationMs":6902,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-91d295ca2e48b253e2c9","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should offer Test Login for okta as a public client","durationMs":7193,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-a25eb06064c876ff691a","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should not offer Test Login for SAML","durationMs":6681,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-c1c499b12b7762408bb7","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should not offer Test Login for LDAP","durationMs":5905,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-e21597b879b2be344862","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should show the failure reason when the configuration would reject the login","durationMs":7045,"attempts":1,"retries":0,"outcome":"expected"},{"id":"94818779029e61db2c94-fed6410cd76bffb3a1f0","project":"chromium","file":"Features/SSOTestLogin.spec.ts","title":"should offer Test Login for google as a public client","durationMs":8431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-28d3656567a51c3d6dd1","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":11380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-2bd6a7f1da1b57259832","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":11139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-351b07cb01348ee01865","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":10532,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-680178bebcb35c8d0570","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names in Explore Summary Panel","durationMs":8243,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-addabe3e2b1839a794b3","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names in Version History","durationMs":7856,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-c64a38d97f36769aaae3","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":12723,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-e55a329b63a2050517c2","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":9395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f694e0831ef9afa291f6","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":11592,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f73ff4b1baddd098ad83","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":14048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f8a6fc0f3baf8682f689","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names in Profiler Tab","durationMs":14563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"954b70112d570270f615-f8d08bd67e5189c8a6e8","project":"chromium","file":"Features/NestedColumnsExpandCollapse.spec.ts","title":"should not duplicate rows when expanding and collapsing nested columns with same names","durationMs":9003,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-00c41106f8eca12d9a6a","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Worksheet","durationMs":38198,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-0ec1ae19f5783c5db694","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Database - closing version drawer navigates to entity page without tab","durationMs":19767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-367e0529fecd218661bc","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Directory","durationMs":33555,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-384ea6bd7b52e528d275","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Table","durationMs":47853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-3a435f2426b65f5fcb06","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Container","durationMs":41421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-46b4c939b2a66ef2b79a","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"DatabaseSchema - closing version drawer navigates to entity page without tab","durationMs":16995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-56bad44722170d3bf33b","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Dashboard","durationMs":35074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-5b4eee1a2c982dc07a0b","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"MlModel","durationMs":37464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-79688ef1070ce564ebe8","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"SearchIndex","durationMs":39143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-89220cdd73aa9b8291a7","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Store Procedure","durationMs":34582,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-94b43b544c431b49fa87","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Table - should show historical column descriptions in version view","durationMs":18632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-a2db654e9810d2d0b299","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"ApiEndpoint","durationMs":38286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-ac166e994782e916f5d6","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Table - closing version drawer navigates to entity page without tab","durationMs":19468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-b5ec54360f22d1b13764","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Pipeline","durationMs":38040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-d2324e735fc64ab4d022","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"File","durationMs":31849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-d6a35e540eacbde345fb","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Topic","durationMs":35734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-dcb2e97f35988ad7b740","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"DashboardDataModel","durationMs":39520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9571fe92ad0469efc018-fd945c597e9f89b122f5","project":"chromium","file":"VersionPages/EntityVersionPages.spec.ts","title":"Spreadsheet","durationMs":35816,"attempts":1,"retries":0,"outcome":"expected"},{"id":"95abbb840354c898cbad-34fea57348ad3c34f876","project":"chromium","file":"Features/Glossary/GlossaryApprovalAfterMove.spec.ts","title":"rejecting an open task succeeds after the parent term is moved under a sibling","durationMs":19278,"attempts":1,"retries":0,"outcome":"expected"},{"id":"95abbb840354c898cbad-3aaed8dc99103d883367","project":"chromium","file":"Features/Glossary/GlossaryApprovalAfterMove.spec.ts","title":"approving an open task succeeds after the parent term is moved under a sibling","durationMs":18326,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-2fa097ab78b1de01ba8b","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"non-assignee should be able to add comment","durationMs":12377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-4044e26f020808eeeb02","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"assignee should be able to add comment to task","durationMs":12035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-499a39f09e66aa4d428e","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"POST /tasks/{id}/comments should add comment","durationMs":120,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-6615c1b10bfdc115c4f2","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"GET /tasks/{id}?fields=comments should return comments","durationMs":21,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-7d04368e1ade72494167","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"selecting user from @ dropdown should add mention","durationMs":12468,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-7d73e30d5f57254faedd","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"should be able to delete own comment","durationMs":12761,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-8d821b64fb7359981457","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"non-author should not see edit/delete options","durationMs":11705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-8ecdb599b122929a7165","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"comment author should see edit/delete options","durationMs":13807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-b16f7fa7ab19dc6d68ab","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"admin should be able to add comment to any task","durationMs":12665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-e74262a4256762b27023","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"typing @ should show user suggestion dropdown","durationMs":11499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"969d592f9a1ff138340d-ff55d1327b746f190307","project":"chromium","file":"Features/Tasks/TaskComments.spec.ts","title":"should be able to edit own comment","durationMs":12407,"attempts":1,"retries":0,"outcome":"expected"},{"id":"96d652106c182a0b882f-1d954b7cfeedd3ba8a97","project":"chromium","file":"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","title":"soft deletes an active test case and lists it as deleted","durationMs":10025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"96d652106c182a0b882f-3a04725579f754e08e03","project":"chromium","file":"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","title":"keeps an API-deleted test case read-only except for restore","durationMs":12847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"96d652106c182a0b882f-f9cc38515a97d61d721d","project":"chromium","file":"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","title":"restores an API-deleted test case without losing its details","durationMs":13065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-10c22cc4ff455b5f16be","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"new tab in the same browser inherits AI mode via the cross-tab hint","durationMs":21139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-5f9f00afa332772caf09","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"refresh preserves AI mode via the session tuple","durationMs":20681,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-be837db8a5e69feddb3c","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"AI mode does NOT survive \"all tabs closed\" without the remember checkbox","durationMs":19108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-d5564c3ec5e5e692ea31","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"AI mode survives \"all tabs closed\" when the remember checkbox is checked","durationMs":17673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-e44539e6127defee2dbd","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"fresh user with no pref, no persona, no hint → boots Classic","durationMs":11830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"971ed218dc29f9cab574-fed739799a1da9cf7be9","project":"chromium","file":"Features/AppMode/AppModeResolver.spec.ts","title":"profile-dropdown toggle switches Classic → AI and populates session + hint","durationMs":16188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"980a32fafab996c34f4c-3a5c1a8728e9f65e696a","project":"chromium","file":"Features/Tasks/TaskAssigneeManagement.spec.ts","title":"admin can reassign an existing metadata task from the task details page","durationMs":10638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-502ba903b9d98f4b6361","project":"Basic","file":"Features/Dashboards.spec.ts","title":"should change the page size","durationMs":9959,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-606502ef644302893802","project":"Basic","file":"Features/Dashboards.spec.ts","title":"should be able to toggle between deleted and non-deleted charts","durationMs":19205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-a9186932ace2c0e8aded","project":"Basic","file":"Features/Dashboards.spec.ts","title":"should display data model when service name contains dots","durationMs":5450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"99a4f3601d57ec84a21a-ab012b7a43d0b2fea651","project":"chromium","file":"Features/Dashboards.spec.ts","title":"expand / collapse should not appear after updating nested fields for dashboardDataModels","durationMs":15446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a109e5bd20f766cfd0b-cae5f8ac7fb76a194f42","project":"Basic","file":"Features/CustomizeNavigationNewItems.spec.ts","title":"new sidebar items absent from saved persona nav are toggled OFF in admin settings and hidden in sidebar","durationMs":24216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a109e5bd20f766cfd0b-f3a369e4a4413c840fc3","project":"Basic","file":"Features/CustomizeNavigationNewItems.spec.ts","title":"cancel button on customize navigation shows a single confirmation modal and Discard exits the page","durationMs":13417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-01bd0c44f0f49343c457","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5555,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-21df6d035bdfa80c9962","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5372,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-2ce7e69a85607992ac60","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-2f39ba17e3d032870fe7","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4641,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-3c75ccb62f351a160e0a","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a table-scoped user sees tables but never dashboards","durationMs":12680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-3cc9ff5d69980702f3cd","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-499cc24a0ae76d742af4","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5318,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-4abdb862b466e0e7c4ed","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5192,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-4d1b8bd26d4658097189","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-574ca7618da3f2f3ca61","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a dashboard-scoped user sees dashboards but never tables","durationMs":12910,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-6c38a2a0c5e8fa49d2ef","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-6ddfec14585b9ddd1059","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"the browse tree only shows the asset-type categories a user can access","durationMs":13917,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-740ca699b4783a25a25e","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-742a40dd2d1eb06da541","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-87cc8fd5ad9434623334","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a fully denied user sees neither asset type when browsing","durationMs":11164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-912df73111d625a0803d","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-950c1df173e71bdc12e8","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5087,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-956aebac642646bfa5dd","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-a9257c1d69db95a1fd68","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":6946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-b18d71356f6988da426f","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":4850,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-ba2b5d8d484e2f24ea82","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-bb51860dedb5584d3392","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"a user permitted on all asset types browses both","durationMs":13004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-bc6de9691f9f161ee64d","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5780,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-c079cb6b3b96546c506b","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":4876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-c268cdd384dadfb181a8","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":5115,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-c54f4b84f6f604c133dd","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":6110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-cc3cb9faa9cc57493e9f","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User with permission","durationMs":5663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-ee381a738fbd0dc4377d","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":4583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a59ac2e535f176cdcd0-eed2b6cdaa2a0c64e969","project":"SearchRBAC","file":"Flow/SearchRBAC.spec.ts","title":"User without permission","durationMs":4922,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-05f708f2d1cdfd1fa6d1","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify if string input inside oneOf config works properly","durationMs":5023,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-15c93e78abaa0de33616","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should persist empty schemaRegistryTopicSuffixName when the field is cleared","durationMs":5694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-266d14068dc8b304eeca","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify SSL cert upload with long filename and UI overflow handling","durationMs":5932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-47ed6f62b24203eb27e4","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should show service name error and not open modal when test connection clicked without service name","durationMs":4563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-8d4708988dded1567bfb","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should include service name in missing required field count shown on test connection card","durationMs":4149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-a047a9cda0d5b9f201b1","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify form selects are working properly","durationMs":12295,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-a5c7eb4bf34fc5b40e02","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"Verify service name field validation errors","durationMs":7205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-f09afb93e68d12f70eac","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should preserve the masked SASL password when the connection is edited","durationMs":5559,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a5dacf234a0bce82036-f0abdfb7867ffaf3d72d","project":"Ingestion","file":"Flow/ServiceForm.spec.ts","title":"should focus the service name input when test connection is clicked without a name","durationMs":4529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-2135732f3cee91474e0a","project":"chromium","file":"Features/Tasks.spec.ts","title":"task link should NOT navigate to wrong URL like /table/TASK-xxxxx","durationMs":11530,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-4cc20545f3ea89a5cb3f","project":"chromium","file":"Features/Tasks.spec.ts","title":"clicking task in activity feed should navigate to entity page with task tab","durationMs":15840,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-5f056158560407af55cc","project":"chromium","file":"Features/Tasks.spec.ts","title":"accepting task without edit permission should be rejected by backend","durationMs":1046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-70993b1999a80774e963","project":"chromium","file":"Features/Tasks.spec.ts","title":"should create request description task from entity page","durationMs":12217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-9d610b2a4bf240005c7a","project":"chromium","file":"Features/Tasks.spec.ts","title":"non-assignee without edit permissions should NOT see approve button","durationMs":12055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-cca01761a6bce7840070","project":"chromium","file":"Features/Tasks.spec.ts","title":"task should appear in \"My Tasks\" filter for assignee","durationMs":10913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-ce441478210b113bc6e8","project":"chromium","file":"Features/Tasks.spec.ts","title":"task count in Activity Feed tab should match actual tasks","durationMs":13694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-ce84dc240cc971195d1e","project":"chromium","file":"Features/Tasks.spec.ts","title":"should create suggest tags task","durationMs":14114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-cf8f3ae2b0df3d4acbae","project":"chromium","file":"Features/Tasks.spec.ts","title":"should allow manual assignee selection when entity has no owner","durationMs":13946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-d0117757d14e7f9f21e5","project":"chromium","file":"Features/Tasks.spec.ts","title":"tasks should respect domain filter when domain is selected","durationMs":1224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-e340914676cf0a37e04a","project":"chromium","file":"Features/Tasks.spec.ts","title":"/tasks/count API should return correct counts for aboutEntity filter","durationMs":16,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-e4cc23c6e6759c544109","project":"chromium","file":"Features/Tasks.spec.ts","title":"assignee should be able to approve task","durationMs":11753,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9a655e973f0904bc0fc2-ecba6f0d13b071ccda94","project":"chromium","file":"Features/Tasks.spec.ts","title":"creating a task should appear in entity activity feed","durationMs":12221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9ad28d1300bc7e823686-45b8fb897f98a5e0274c","project":"ImportExport","file":"Features/LineageExportPNGSnapshot.spec.ts","title":"exported PNG includes edge lines between nodes","durationMs":17239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9afd1effa5e585c919c1-0202e91439f881e1c55b","project":"chromium","file":"Pages/AppStopRunModal.spec.ts","title":"should show stop button for running app runs with supportsInterrupt=true","durationMs":4497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9afd1effa5e585c919c1-e120f5235a1f6bdd9b6c","project":"chromium","file":"Pages/AppStopRunModal.spec.ts","title":"should close stop modal when cancel is clicked","durationMs":4285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9afd1effa5e585c919c1-fc943d277ec271917f28","project":"chromium","file":"Pages/AppStopRunModal.spec.ts","title":"should open stop modal when stop button is clicked and call stop API with runId","durationMs":3960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-0f35c21074decaa9ede6","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import full ODCS contract with all sections from test-data file","durationMs":9886,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-192e2055cc5d10d95676","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import button disabled when schema validation fails","durationMs":9627,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-19d6c07cf1b64b9600ef","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with wrong kind shows error","durationMs":8924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-1b2d52f8844a5db4ab7c","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import malformed ODCS YAML from test-data file shows error","durationMs":9065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-1dbb8d203da32d4198bd","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import malformed JSON shows error","durationMs":9036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-2a4f6681e24c3ed945c5","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with wrong apiVersion shows error","durationMs":9183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-2f6345811939517d83af","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Merge mode - adds SLA to existing contract and verifies export","durationMs":11173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-31f5f908ebafe7e82206","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import invalid ODCS missing required fields shows error","durationMs":9083,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-3ced6bde454b2b7e8dd5","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Schema validation shows warning when fields do not exist in entity","durationMs":9510,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-3d1f611b09e8c9ef621f","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Verify SLA mapping from ODCS to OpenMetadata format","durationMs":9413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-4006caf2f955fd60d10c","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS full contract and export both formats","durationMs":9718,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-460adca51a4ffd67a61f","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS and export as OpenMetadata YAML","durationMs":9885,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-4a8aff38de2e68a8df0b","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Single-object ODCS contract does not show object selector","durationMs":9385,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-5eaab8c7bd23d55a1e79","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Export ODCS YAML and verify download","durationMs":9511,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-5ef3cdccd67443bc6683","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS missing apiVersion from test-data file shows error","durationMs":9285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-6625cb02e6927aa9d5f5","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Schema validation shows loading state during validation","durationMs":9685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-6711a9829a0c3d96f2fb","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import basic ODCS contract from test-data file","durationMs":9437,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-68261486d0f6a0937ae2","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with security/roles","durationMs":9215,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-69ef911b31d21c257033","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with SLA, modify SLA via UI, export and verify SLA changes","durationMs":10008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-716a0af0d51f4b0c05a3","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"OM format export and import round trip - create, export, delete, reimport","durationMs":10436,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-7289ec2ac14dfd1f6f3f","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Create contract from UI, export OM format, import with merge, verify data","durationMs":11516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-7e6cc49f08adc16d1b20","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS missing status from test-data file shows error","durationMs":9031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-81f8e3c6a41a1ca48ae1","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with timezone in SLA properties","durationMs":9627,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-85188b1415ad6420ab68","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import minimal ODCS contract (inline)","durationMs":9049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-8abf2104f87c2c423be3","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS contract with draft status from test-data file","durationMs":9861,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-8f5576117ee809a480e6","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import button disabled for empty/invalid file","durationMs":9331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-955bd6b3717101c17e96","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import modal shows contract preview","durationMs":9080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-9bd1f1c0379d9ba1bc85","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Multi-object ODCS contract - selecting object enables import and completes import","durationMs":9934,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-9cbea79159672c071dca","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS, modify via UI, export and verify changes","durationMs":11314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-9ecf02851221f72256af","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with quality rules","durationMs":10377,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-a067522af929e79d8feb","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS contract with v3.1.0 timestamp types from test-data file","durationMs":9862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-a739845e4bd30e73b5ca","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import malformed ODCS YAML shows error (inline)","durationMs":8682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-b6dd2e6c92f5df98758b","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import empty ODCS file from test-data shows error","durationMs":9015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-bf1bae508168e3d1e634","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with missing kind shows error","durationMs":8475,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-c0fa5a97a138476da251","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Replace mode - replaces existing contract completely and verifies export","durationMs":11269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-cdde1df839425a25a0a1","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import basic ODCS contract from JSON file","durationMs":9536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-d6cd55a44daa5b90e276","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with team owner","durationMs":9998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-d811f2d3334254dcd9ed","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with team - contract created successfully","durationMs":9582,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-d9eb674411099336a31c","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with description and verify OpenMetadata export","durationMs":9471,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-e2b3327bc7912c609caf","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS contract with SLA properties from test-data file","durationMs":9599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-e6894a820e4c2bd0b240","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Multi-object ODCS contract - object selector shows all schema objects","durationMs":9914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-ed87d9c194896f26bca4","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import and Export round trip preserves data","durationMs":9387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-f28fe520f971d27d8446","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import modal shows merge/replace options for existing contract","durationMs":10289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-fd4e6a08a2e6352429e4","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Schema validation passes for contract without schema definition","durationMs":8965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-fd4fe81957752c4ec749","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with markdown description and verify proper rendering","durationMs":9314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-ff3c5fa9f1add6937c34","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Multi-object ODCS contract shows object selector","durationMs":9066,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9c7a600ef426de5ea159-ffaf98193d721452ffae","project":"ImportExport","file":"Pages/ODCSImportExport.spec.ts","title":"Import ODCS with mustBeBetween quality rules","durationMs":9331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-18e907f752a27b9fd8f4","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should remove color style from term via API","durationMs":6241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-2e06e5f79b5342eb895b","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle slow network gracefully","durationMs":6597,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-4be98a038f7f6d90544c","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should toggle right panel if available","durationMs":13378,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-60f3a3a6f980a1710221","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should maintain session during normal operations","durationMs":14022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-71c925d8cc7e6e9e0f84","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle multiple rapid API calls","durationMs":5463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-76908643a0ccaaad6346","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle concurrent edits gracefully","durationMs":5865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-878af780737d76e41560","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should show error state when navigating to non-existent term","durationMs":10225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-8a7c4e91436fda6d3935","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle back/forward browser navigation","durationMs":9806,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-924d084a3f4444d723a0","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should show error state when navigating to non-existent glossary","durationMs":13257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-965c8728bc5707ff2891","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should display vote count correctly","durationMs":12046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-9c0db9327f0f692940cb","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle rapid UI interactions","durationMs":9659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-a80bbe7b29b7f5294127","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should create glossary with unicode characters in name","durationMs":8462,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-d637d349d549b264ba20","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should show loading state during navigation","durationMs":8667,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-db81d92799b0260ba3e1","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle deep nesting","durationMs":7592,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-dd0193b528ac0cc08e96","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle special characters in search","durationMs":9871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-ddf92ab2430d94cef427","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should validate reference URL requires http/https prefix when creating term","durationMs":9920,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-ecb9d2b60fc9eca2443a","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle unicode and emoji in description","durationMs":4905,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-ed70fc607bee136a3107","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should remove icon style from term via API","durationMs":5613,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-f43f9cd9f7fbd515d485","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should validate reference URL requires http/https prefix when editing term","durationMs":9937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9cc140ad818dd8f839cb-f8941f3c4da10be24228","project":"chromium","file":"Features/Glossary/GlossaryP3Tests.spec.ts","title":"should handle special characters in term fields","durationMs":5280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-1335947fa4b03d96813f","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"emoji reactions can be added and toggled off on a feed card","durationMs":21230,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-31479e975ac3666e1eb9","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Activity is NOT fetched on the Tasks tab","durationMs":21095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-35c570d98d2467d720f3","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"All tab shows BOTH the change-event activity and the conversation","durationMs":13241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-40fa406eaaf7d034e36b","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"activity cards open a reply drawer on the landing widget","durationMs":12807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-46b3850bbde88dd8310d","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"clicking title navigates to explore page","durationMs":7819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-61bc9c12ef74eb4cf8a2","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"feed body renders seeded activity and no empty state","durationMs":7969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-64596f97a3fbdf51e660","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Auto-selects the first (newest) item on load","durationMs":14396,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-68489d3f1d6a2809b41b","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Mention notification shows correct user details in Notification box","durationMs":47750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-68f33945efb071cc7b3c","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"All badge, header and rendered list agree on the count","durationMs":11239,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-83cf6e6b868810252caa","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Should encode the chinese character while mentioning api endpoint","durationMs":27850,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-a51da9cec73635e3f956","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Reacting to an activity updates its reactions in the right panel","durationMs":15950,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-b34a388652104d9c2adf","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"renders widget wrapper and header with sort dropdown","durationMs":10260,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-b7a79cfd6d332ab6a9ef","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"feed cards render header text and timestamp","durationMs":13012,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-b8a8e2c7967cf1aec659","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"A change-event activity exposes its reply editor","durationMs":12035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-cad6a5c4e6a065a22382","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"Replying to a conversation stays isolated to that thread","durationMs":12665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-e3bfaac1e8763ed104e3","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"changing the filter refetches from that filter endpoint","durationMs":13251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9de335d5f17b18a6dcce-fe5f04441aa37dd7e33b","project":"chromium","file":"Features/ActivityFeed.spec.ts","title":"footer view more navigates to the user activity feed","durationMs":11267,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-11140668a17507e05e02","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should decline suggested tags for a container column","durationMs":27776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-3fba22fa292eaa50e22d","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should add and accept requested tags for a topic schema field","durationMs":24284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-9dc22a9af80b1fa9cfae","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should edit and accept suggested tags for an api endpoint response schema field","durationMs":25949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-9fed25271f4f186bfcc7","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should add and accept requested tags for an api endpoint request schema field","durationMs":26088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-ba77fe27b9c8b69516b3","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should decline requested tags for an api endpoint request schema field","durationMs":26095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-d0551ac8b9f8301ca2c4","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should add and accept requested tags for a table asset","durationMs":27635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9e4e0cfd329faf10614f-d531746745c03d1762f1","project":"Basic","file":"Features/TagsSuggestion.spec.ts","title":"should edit and accept suggested tags for a table column","durationMs":29583,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9ed17cc140d9dae5cefa-915b82974cf126a20c07","project":"Basic","file":"Pages/SearchIndexApplication.spec.ts","title":"Search Index Application","durationMs":131317,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f4a33ecae6044b97b31-397a31ef612a9cd22653","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":32590,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f4a33ecae6044b97b31-39f179a759a52a3cf6bf","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-0c77063b075cd2218b64","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Add multiple assets to domain at once","durationMs":18476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-150901c3f10832888634","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Domain expert can edit domain description and tags","durationMs":10523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-15e005f1d34e3a6e91bb","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User can access subdomain details page","durationMs":10814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-1fd742df39877e21d187","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Create domain with Consumer-aligned type","durationMs":7399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-282c644961afe61e396f","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User with domain policy is restricted by policy rules","durationMs":12143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-324394d635553ef6bbd9","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Move assets between data products","durationMs":15649,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-32f02b57703f0fd30474","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Remove multiple assets from domain at once","durationMs":25153,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-4dcdd2eebb877744a5c5","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"cancel on remove warning modal keeps the asset in the domain","durationMs":17022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-56b6436ccda2c8b73c52","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Domain expert can manage data products","durationMs":12050,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-666ba1d32392604cd1bc","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User with domain access can view subdomains","durationMs":11285,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-819313d6cecc45fab023","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Search for domain by name","durationMs":7509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-8dc0507b83acfc53b208","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"bulk remove with linked data product shows preview and commits on Remove Anyway","durationMs":16879,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-8e3f81f3f90e64078015","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Domain version history shows changes","durationMs":7079,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-955a8dbabb161a4beaa0","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Move table from one domain to another via API","durationMs":22382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-ab211f09d5811053d09e","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Data product version history shows changes","durationMs":9420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-adaeb2de85e70d54ae8b","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"User can access assets in their domain","durationMs":11286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-c69dc92b1359a41fe17a","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Admin can edit domain description","durationMs":9459,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-ce0ffa999074479a54bc","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Filter assets by domain from explore page","durationMs":10924,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-d37104457e75884f3713","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Create domain with Source System type","durationMs":9208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-d9bf6730027f5b915dd3","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Move asset from domain to subdomain via API","durationMs":12575,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-de11d803d3ba43723914","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"single-asset remove with linked data product shows preview and commits on Remove Anyway","durationMs":16705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9f8cc763c44230911948-e563dc0fe24a7af54e2e","project":"chromium","file":"Pages/DomainAdvanced.spec.ts","title":"Admin can edit data product description","durationMs":11270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"9fe7868e0725fd08d542-2a33bc057bd25c30e0df","project":"chromium","file":"Features/GlobalSearchSuggestions.spec.ts","title":"Navigate to column from column suggestion","durationMs":11975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a0186dbcfd84f2af2f9f-a40369a24b242b3392ec","project":"Ingestion","file":"Features/SchemaSearch.spec.ts","title":"Search schema in database page","durationMs":5988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-0ae2bb3733d624c024dd","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"unchecking a section removes it from the save payload","durationMs":8620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-128faf764b2094a1dd47","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"blocks saving a rule whose name already exists","durationMs":7945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-13f15301823fa7fc290e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"fully-completed Service Is condition allows save","durationMs":11014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-165117ac5003f66952d3","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"reverts the enabled toggle when the settings update fails","durationMs":6923,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-181d99405195b5be8571","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"measures the large-document preview render cost","durationMs":9359,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-1b2cccd7ba58f5524ae5","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"View in Explore link href reflects the selected entity type","durationMs":8916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-25e888b3698832fb24e1","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"preview modal closes via the Close button","durationMs":8646,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-40a176725b94f0690dfe","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"saves a rule that has no filter conditions entered","durationMs":8421,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-415ad87de311a2b1b6a4","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"closing the edit drawer without saving leaves the rule card unchanged","durationMs":8231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-4480787c897bd9dc2248","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"blocks saving a rule whose condition has no value entered","durationMs":7665,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-6a82cd78885e2806d215","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"builds real version history and restores an earlier version","durationMs":8787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-8090445d856b4d0cd9e8","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"configures every entity type, behavior, section, filter, and setting","durationMs":16234,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-828ef3dceb665f378f3e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"links View in Explore to the entity-type explore tab","durationMs":7734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-8dfdf276499f70900418","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"rule card displays the matched asset count returned by the server","durationMs":7635,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-98bada33ef80e6d7e279","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"Custom Properties filter sub-fields load instead of showing No data","durationMs":8524,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-9aaf50b5db8b4df00c5c","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"previews one byte-consistent document in rendered and raw modes","durationMs":9679,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-9c68cfb1faff12a1f1c0","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"compound OR conditions are serialized into the save payload","durationMs":11509,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-a4b6b4cc72eb7ef6e32b","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"retries the preview after a failed document load","durationMs":8428,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-b7fd2e2cd7de95d73f93","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"round-trips real configuration, rule CRUD, and preview endpoints","durationMs":136,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-b96d656abfc8d38d7e1e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"shows the empty version history state","durationMs":8446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-c7732c7d2e3075a25bfa","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"clears the filter error once the unfinished condition is removed","durationMs":8274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-cdf1397a75540445ad46","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"clears and persists the character budget and cache TTL","durationMs":7829,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-ce5988a4f5195a6025f0","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"edits and deletes a persisted rule and returns to the empty state","durationMs":10345,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-cfcd775ce0067edae694","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"rolls back the optimistic rule and toasts when the save fails","durationMs":8536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d03dca810159c545c5e5","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"failed cache state shows the failed badge and the compilation error","durationMs":6835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d5681daa733b359d418e","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"stale cache state shows the stale badge on the settings card","durationMs":6482,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d800895fca74449be850","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"shows the truncated count in the preview stats","durationMs":8818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-d966f6ff2e1a264ff9dd","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"rule description is included in the save payload","durationMs":8293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a086ff365d23930bad47-ee53f7c7d6fb560349ca","project":"chromium","file":"Features/PersonaAIContext.spec.ts","title":"surfaces the generating cache state and settles to fresh","durationMs":9281,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-12ea21bc43a14aa83acc","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Certification field","durationMs":11252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-246e661506d36a1825dc","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Domains field","durationMs":13847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-28f6e412ffc6df40796a","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Tags field","durationMs":14729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-6741225215bb41e46a05","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Database field","durationMs":16172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-91cd076c579f49087395","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for API Collection field","durationMs":12578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-9e5984c4da4bd77a035b","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Database Schema field","durationMs":12450,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-b66659cc52783fdf9373","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Glossary field","durationMs":13771,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-d47b5c11bf1fb831cc62","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Data Product field","durationMs":12086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a1c320a71d0296319943-e22c85dbbb620fba80b6","project":"chromium","file":"Features/AdvancedSearchSuggestions.spec.ts","title":"Verify suggestions for Tier field","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-009d9c01a74b2fc9aee4","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Verify columns are visible in explore tree hierarchy","durationMs":8080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-020e72fabdce33d085db","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link button should copy the field URL to clipboard for SearchIndex","durationMs":10454,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-17559e58aad3ece85d94","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Check listing of entities when index is all","durationMs":5322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-237705007de3a03c4b7b","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link button should copy the field URL to clipboard for APIEndpoint","durationMs":10625,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-363cdb367cd5173de8de","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Explore Tree","durationMs":11287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-39d0a4ec826f84977548","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Check the listing of tags","durationMs":8268,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-3ce419b0b546761dee81","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Verify Database and Database schema after rename","durationMs":20626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-4ebd5bf5ff4dfe3d77ef","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Check listing of entities when index is dataAsset","durationMs":4725,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-6b458a8502d75fbed179","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link should have valid URL format for APIEndpoint","durationMs":14700,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-95045ebebe3be165bea5","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Copy field link should have valid URL format for SearchIndex","durationMs":16266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-99044d1988ae10656e86","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Verify charts are visible in explore tree","durationMs":8798,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-990a0328aaf5e714a575","project":"chromium","file":"Pages/ExploreTree.spec.ts","title":"Clicking Columns node filters search results to show only columns","durationMs":9339,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-d04d62e4248018c26b48","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Verify Database and Database Schema available in explore tree","durationMs":8371,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a24eabae69a0c8504400-da2efa16e6d48290a45c","project":"Basic","file":"Pages/ExploreTree.spec.ts","title":"Verify Tags navigation via Governance tree and breadcrumb renders page correctly","durationMs":9383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-10b386b2aacc3b6d727e","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only VIEW cannot PATCH results","durationMs":18060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-142636b5255a95e79080","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TABLE.VIEW_TESTS can view test case and results in UI (alternative)","durationMs":21919,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-3963fdcac9489a95ffa4","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only TABLE.DELETE (no TEST_CASE.DELETE) cannot DELETE results","durationMs":24958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-44ca4292889113c47191","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only VIEW cannot see edit action and cannot POST results","durationMs":16752,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-458487367c118e1442da","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view test case and results in UI","durationMs":29309,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-461ccb242873c7e52186","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TEST_CASE.EDIT_ALL can see edit action on test case","durationMs":26573,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-6a3dcd200430fdb22666","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TABLE.DELETE + TEST_CASE.DELETE can see delete option for test case","durationMs":17908,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-87ff09dffe6df7343c00","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TABLE.EDIT_TESTS can see edit action on test case (alternative)","durationMs":19077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-a7bebf9b05558d999a1b","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only TABLE.EDIT_TESTS (no TEST_CASE.VIEW_ALL) can still view results in UI via TABLE.VIEW_TESTS","durationMs":9013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-c1ce7eca2ef10ed65ea3","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with only TEST_CASE.DELETE (no TABLE.DELETE) cannot DELETE results","durationMs":27817,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a26f0a1569990dd07672-e8a653dfadd848daaadd","project":"chromium","file":"Features/DataQuality/TestCaseResultPermissions.spec.ts","title":"User with TEST_CASE.VIEW_ALL can view test RESULT CONTENT in UI","durationMs":9910,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a45d1fef427e51507f17-4849e68d9f25db425e8f","project":"chromium","file":"Features/LanguageOverride.spec.ts","title":"App language should override browser language on landing page and user dropdown","durationMs":11356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-4bc0e6edaa3ee5e42269","project":"chromium","file":"Features/Topic.spec.ts","title":"Copy field link should have valid URL format","durationMs":14265,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-5f9f332c0569746f0158","project":"chromium","file":"Features/Topic.spec.ts","title":"Copy nested field link should include full hierarchical path","durationMs":14903,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-72ed26bcb15b71c6c253","project":"chromium","file":"Features/Topic.spec.ts","title":"Copy field link button should copy the field URL to clipboard","durationMs":8814,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a4ae799e0b6b8a382617-fbfc851a2c0e73a5f14d","project":"chromium","file":"Features/Topic.spec.ts","title":"Topic page should show schema tab with count","durationMs":8833,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a59d6b7c9ea22f8d26d1-93579c51cbed397e9691","project":"Reindex","file":"Features/SearchSeparation/DomainRenamePrefixCascade.spec.ts","title":"domain prefix rename keeps linked asset domain reference consistent","durationMs":844,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a6994b74a6f977f55289-e72f2d4a951041c36cef","project":"Basic","file":"Features/DataQuality/TableTestCasePagination.spec.ts","title":"renders pagination and navigates when test cases exceed the page size","durationMs":13347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-09775213f3613c59416b","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display test definitions table with columns","durationMs":8681,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-253b00b0981e1e2a783f","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should handle external test definitions with read-only fields","durationMs":15098,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-28bcc3dbcea1ef961645","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display pagination when test definitions exceed page size","durationMs":7999,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-3dde97e966710259e666","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should not show edit and delete buttons for system test definitions","durationMs":8188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-3dfa7d5d186ea5d05eda","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display test platform badges correctly","durationMs":8496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-4c71c4955b660cfea637","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should disable toggle for external test definitions","durationMs":8235,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-815b9cf7d82eb0cb5f0d","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should navigate to Test Library page","durationMs":7895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-8c170a06fbda932dbf49","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should display system test definitions","durationMs":8529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-8c3c478a7ed4dc0b0d82","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should handle supported services field correctly","durationMs":18871,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-a6f857458ffc3102916c","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should require supported data types only when OpenMetadata platform is selected","durationMs":10764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-ae3d0ee4a3aa7eb16c12","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should maintain page on edit and reset to first page on delete","durationMs":15704,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-b19e61f67023bc106e0c","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should cancel form and close drawer","durationMs":9841,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-cf4dbef040a07d52aa1f","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should create, edit, and delete a test definition","durationMs":15131,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-d0b196e35b293eca54cf","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should allow enabling/disabling system test definitions","durationMs":8643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"a782df52becf097a078d-df06e19168d3f9683dcb","project":"chromium","file":"Features/DataQuality/TestLibrary.spec.ts","title":"should validate required fields in create form","durationMs":9358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"acc5d0eeb3cee45912c8-eec5f01af3a022ae6d87","project":"chromium","file":"Flow/IngestionBot.spec.ts","title":"Ingestion bot should be able to access domain specific domain","durationMs":102742,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ad818a91d010e372c30f-6defd7b1cd04246cf88b","project":"Basic","file":"Flow/Tour.spec.ts","title":"Tour should work from welcome screen","durationMs":7314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ad818a91d010e372c30f-9a8d36386767ad693933","project":"Basic","file":"Flow/Tour.spec.ts","title":"Tour should work from URL directly","durationMs":10719,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ad818a91d010e372c30f-dc6831d44a4eda4a1911","project":"Basic","file":"Flow/Tour.spec.ts","title":"Tour should work from help section","durationMs":36118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-0d2a8343f2a5a121cb1f","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should render entity title section with link","durationMs":8236,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-0f78279b7cd0d2ea968f","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for dashboardDataModel","durationMs":8424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-18c7d8658b0b67febc27","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should edit display name from entity summary panel","durationMs":12503,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-299bab0048d02d5a1ac1","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for databaseSchema","durationMs":8650,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-4ccfbac3fd35b05b41ae","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display domain section","durationMs":8456,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-4cd6a15a5a4f8e5fa548","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for table","durationMs":9673,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-5974da0a98d9ff41bfef","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for database","durationMs":9821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-6e96b7009731b3128a6c","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display owners section","durationMs":9073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-71b91d4510ddc05ada9d","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for dashboard","durationMs":8364,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-9ee466321a0f343c2ebf","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display tags section","durationMs":8572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-b551fb9cd1206bb59afa","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for container","durationMs":7629,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-bb37fdee3aa482bb760f","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for pipeline","durationMs":8762,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-c20815e6048903c01440","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should cancel edit display name modal","durationMs":11420,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-de6f03d218c62993258e","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display description section","durationMs":6925,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-e46c0fa6f29410cb4325","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should navigate between tabs","durationMs":8252,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-e9ea0b76744be28bb3a9","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for tableColumn","durationMs":9696,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-ec7d85f516045c6b6e83","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for searchIndex","durationMs":7713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-ee23b3ba8289eba1fc99","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for topic","durationMs":8439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"af04d0115b12876333a4-f6ec16f78eaf97f57e33","project":"chromium","file":"Features/EntitySummaryPanel.spec.ts","title":"should display summary panel for mlmodel","durationMs":7496,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afb2f5a0d4a7b4e36b1b-300bb01fd40e114637cf","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":30431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afb2f5a0d4a7b4e36b1b-45178ac7f9360cca1780","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31978,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-1b2fe4c0f4b3e40c68aa","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit description for knowledgeCenter","durationMs":7133,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-200ecb1a398820cba8d1","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Consumer to edit glossary terms for knowledgeCenter","durationMs":7096,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2219de8dbcf16282e851","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Consumer to edit description for knowledgeCenter","durationMs":8688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2adde21732850322e910","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update/edit tags for knowledgeCenter","durationMs":6520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2ce281911970fdcbad04","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"validates visible/hidden tabs and tab content for knowledgeCenter","durationMs":5995,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-2f0073a8f865128ed4f0","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should remove glossary term for knowledgeCenter","durationMs":14494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-431e80d685d3040a591e","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should verify deleted user not visible in owner selection for knowledgeCenter","durationMs":14913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-61dfa16835a0fc53a710","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should add multiple tags simultaneously for knowledgeCenter","durationMs":12210,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-62c2c0de67ca104c110b","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should clear description for knowledgeCenter","durationMs":14620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-63aa7ba27f3e16c0b541","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update description for knowledgeCenter","durationMs":10740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-655098bd2e2891f71af6","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should verify deleted glossary term not visible in selection for knowledgeCenter","durationMs":11585,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-7c35b7b765009e454966","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should NOT show restricted edit buttons for Data Steward for knowledgeCenter","durationMs":6909,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-b20ba9df57bb0bbeb9e5","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Consumer to edit tags for knowledgeCenter","durationMs":7750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-befd9930c632eef22c86","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit glossary terms for knowledgeCenter","durationMs":7610,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-d3e2270239e49f6934d0","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit tags for knowledgeCenter","durationMs":6792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e39b2e3c5774cb85f940","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update owners for knowledgeCenter","durationMs":8191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e55d1d3c57e57a116537","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should allow Data Steward to edit owners for knowledgeCenter","durationMs":8515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e5b2e0783f40c95ca366","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should update/edit glossary terms for knowledgeCenter","durationMs":7226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-e5dcf26ca9b2cb634758","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should verify deleted tag not visible in tag selection for knowledgeCenter","durationMs":11966,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-edf1487a938c1cea5168","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should follow Data Consumer role policies for ownerless knowledgeCenter","durationMs":11576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"afc48ed87f02c4253cb9-f603a841c789bd2d4743","project":"chromium","file":"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","title":"Should remove tag for knowledgeCenter","durationMs":14718,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-08f24e3da77cd21ce3b3","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edits only selected metric rows","durationMs":6968,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-178e2b77ae6556aa3efc","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Adding a new metric row shows CREATE badge once name is filled","durationMs":5022,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-2777402b380093228942","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Custom metric editor role can import export and bulk edit metrics","durationMs":12356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-2af739fb696d58987e61","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin can cancel a metric import mid-flight and cancel API is called","durationMs":8170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-591a014ecb6929685d23","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage unchecking header checkbox clears the selection bar","durationMs":6370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-6b17e53c8020ed09e983","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"New metric row without a name shows error pill and SKIP badge","durationMs":5119,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-6c741b436f4e5a01b0ad","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edits filtered metrics from the listing API without export jobs","durationMs":20197,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-76711958c8d3b0e576ea","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Cancel from metric bulk edit returns to the metrics listing","durationMs":7550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-7daeb1a73fe3cc3529a7","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin imports a metric CSV through preview and async apply","durationMs":26264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-85ed20b16efbca3760aa","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Restricted roles cannot access metric import or bulk edit","durationMs":39630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-a3f990ae4c749a36d952","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edit renders complex fields from listing hydration","durationMs":8007,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-b003905d27f3c841d948","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Bulk edit grid shows NO_CHANGE badge on unmodified rows","durationMs":4876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-b42b25528f0bc555a130","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Clearing the bulk edit search box restores all rows","durationMs":5092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-baa952ede54ac2d44a2d","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage header checkbox selects all visible metrics","durationMs":5224,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-c9058e368b41cced0d25","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin imports a CSV update for an existing metric","durationMs":19550,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-d618b90203504b6eb375","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage clicking the row checkbox selects without navigating","durationMs":7803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e593eda82739e1962b02","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edit keeps text edits on blur and can revert to no changes","durationMs":5201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e73a3bbef909ec39ca07","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin bulk edit hydrates filtered metrics across cursor pages","durationMs":5913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e7724451b74703d8bd55","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin starts exactly one async export job from the metrics listing","durationMs":9076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e7fecf7152863cfba0d2","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Bulk edit grid search filters rows to match the search term","durationMs":5714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-e96615940597b28ada02","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"MetricListPage clicking anywhere in a row navigates to metric details","durationMs":5876,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-ebb437f18124523e7ce3","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Removing a newly added metric row restores the grid state","durationMs":5044,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-ef81d70712fff3b3f5d7","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Admin sees metric CSV validation failures for missing names and invalid references","durationMs":10209,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b059cce5e81de1c3d6bf-ff1aaa2410e296101d5d","project":"ImportExport","file":"Features/MetricBulkImportExportEdit.spec.ts","title":"Bulk edit grid shows UPDATE badge and increments summary after editing a cell","durationMs":5054,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b1b675f17c811fa8c75f-2df47237b83960fcce36","project":"chromium","file":"Features/DataProductDomainMigration.spec.ts","title":"Data product remains visible after moving domains and deleting the original domain","durationMs":22949,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b1b675f17c811fa8c75f-5843ab60a742af1caac8","project":"chromium","file":"Features/DataProductDomainMigration.spec.ts","title":"Data product with no assets can change domain without confirmation","durationMs":24799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b1b675f17c811fa8c75f-82e7f9a502c188f6f02d","project":"chromium","file":"Features/DataProductDomainMigration.spec.ts","title":"Changing data product domain via API migrates assets to new domain","durationMs":41972,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-023d22dc39c48e8d53f4","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.VIEW_BASIC can view test case in UI","durationMs":17805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-225d15df6f71e5d6038d","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.CREATE cannot delete test cases","durationMs":18793,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-2344f0d9500623421fb8","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer cannot create or delete test suites","durationMs":9455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-36d66c70ea2381068e2d","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer can VIEW test cases but sees no edit controls in UI","durationMs":18444,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-3b2675937f5dccd75d2f","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.DELETE can see delete option for test case","durationMs":17331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-41cfeb97e29ffcfe25f5","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.VIEW_ALL can view test suite CONTENT but cannot add test case","durationMs":11232,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-505fe28532602c99aab7","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer cannot edit test case","durationMs":17847,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-597de0139daf1d0e4d01","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Steward cannot create or delete test cases (default)","durationMs":18873,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-7805715b82208927b353","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Admin can see Data Quality UI controls (add test case, add test suite)","durationMs":20408,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-7a64848a6500dadc0c80","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.DELETE cannot create test cases","durationMs":19043,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-7a85c789b019754693f6","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.CREATE can see Add test suite button","durationMs":11807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-867f3068db9da0d14660","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.EDIT_ALL can see edit action on test case","durationMs":20386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-8d4b1e27cb6ab75b49f4","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.VIEW_BASIC cannot edit test cases","durationMs":18282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-9d7d81e12e2bea1146ad","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.CREATE can see Add button for test case","durationMs":19913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-a12338af018616a5c43d","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.VIEW_ALL can view test suites page and list suites","durationMs":10591,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-bf3ff4cd06cdb0ec6934","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_CASE.VIEW_BASIC can view test case CONTENT details in UI","durationMs":23083,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-c53bcbe763c0939caa91","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TEST_SUITE.EDIT_ALL can see add test case button on suite details","durationMs":9944,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-cfbd7e7f4484702c01f0","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TABLE.VIEW_TESTS can view test suites page (alternative permission)","durationMs":9608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-cfbe5dcb809fce114ce5","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with VIEW_BASIC cannot see edit action in UI","durationMs":16402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-d7319bc5b90ed2cb0a11","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User without TEST_SUITE.EDIT cannot add test case to logical suite","durationMs":11758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-e280555757f349c72854","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"Data Consumer cannot create or delete test cases","durationMs":21750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-e4e1a2ebe615aae2117c","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TABLE.EDIT_TESTS can see edit action on test case","durationMs":20255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-eae7b64629c9d1a12de2","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User without TEST_SUITE.DELETE cannot delete test suites","durationMs":12142,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-f34cdcd4f8d4edd4cdfe","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User without TEST_SUITE.CREATE cannot create test suites","durationMs":9576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b2111489ddf56841564e-ffe3f0d85ac3d552eb09","project":"chromium","file":"Features/DataQuality/DataQualityPermissions.spec.ts","title":"User with TABLE.CREATE_TESTS can see Add button (Table Permission)","durationMs":17891,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-07c6afb9a23ebfeb2a6b","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Data product linked to subdomain","durationMs":9362,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-0921be7b13e4f8bb54b9","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Navigate between sibling subdomains","durationMs":8848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-1b8348aa29026ad058d3","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Search data products by name","durationMs":6315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-22b7e17ead94a9522c35","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Search data products by name","durationMs":5490,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-474ca9f2afe893e8b7ac","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Create nested subdomain (subdomain of subdomain)","durationMs":7645,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-5783990ffbdcaeb86ef5","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Entity name cell shows both display name and name","durationMs":5499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-6dbb46279d8e346845b4","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Filter data products by domain in global selector","durationMs":12658,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-720615fe1fb8b4168b26","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Assign assets to different subdomains","durationMs":12662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-73dc3ed8540a79ec973c","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Delete subdomain with data products shows proper cleanup","durationMs":9186,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-7d6b5a8d9596aebe56a3","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add expert to data product via UI","durationMs":10400,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-81165f95ed1499970253","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add tags to data product via UI","durationMs":10171,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-91793eae76cc059f0892","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add assets to data product and verify count","durationMs":12914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-adf89ee01b3fc4f97129","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Add-Assets drawer quick filter - behaviour matrix","durationMs":15483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-b492800937e43dace798","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Edit data product description via UI","durationMs":9389,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-c0f886b6be5ebe890a69","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Create multiple sibling subdomains under a domain","durationMs":7182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-c332ba9a2b88fe69b9cd","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Create data product via UI with description","durationMs":11864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-cb1344fd55e961f79574","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Data products under different subdomains","durationMs":11621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b211ed4e71c38f212b54-ffec821644fa472c4af7","project":"chromium","file":"Pages/DataProductAndSubdomains.spec.ts","title":"Subdomain assets count reflects in parent domain","durationMs":11395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-197763039c01ba157836","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Owners filter for Lineage","durationMs":24059,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-2c56f77f0afe01f5283e","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage service filter selection","durationMs":54413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-5901fe256dc6d4261268","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Tag filter for Lineage","durationMs":21889,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-60b7003c6bf6f5744f3f","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage schema filter selection","durationMs":11916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-6e20bd657decc40af6c7","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify LineageSearchSelect in lineage mode","durationMs":13779,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-70762ee7ffaf711b90f6","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Tier filter for Lineage","durationMs":23163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-76596bc125ee10098e5c","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Impact Analysis service type filter selection","durationMs":23463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-7ae9968177c8c6307df6","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage filter panel toggle","durationMs":11069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-886f4edb739677df5421","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Domains filter for Lineage","durationMs":22303,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-ba38e82802a16ac8b3c2","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"verify upstream count for all the entities","durationMs":97091,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-e36a3455bccfbb250aa8","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify Impact Analysis service filter selection","durationMs":35075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-e781b4dbfe0117c8e731","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage database filter selection","durationMs":12642,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-eb93467a60001bf9c40c","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage service type filter selection","durationMs":53570,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-faeb0eea7f413d0942a1","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"Verify lineage column filter selection","durationMs":12523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b239f9808ff1b1045021-ffd6ada4fc4adecb41b8","project":"chromium","file":"Pages/Lineage/LineageFilters.spec.ts","title":"verify downstream count for all the entities","durationMs":122831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-1ee660123e4e2cf43b3d","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should create term with all optional fields populated","durationMs":14102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-63880e3b520f38fa0e1c","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should add and remove related terms from glossary term","durationMs":9355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-87e39a7c7fc3fd2476a4","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should keep multiple relation types for the same related term across reload","durationMs":13268,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-c2f9db0d41f956eccc6b","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should add and remove synonyms from glossary term","durationMs":9912,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-c368857de9562394274c","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should edit term via pencil icon in table row","durationMs":8202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-d58ed71b3e1a1f7f3079","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should verify bidirectional related term link","durationMs":9832,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b4b9aac556686af843f1-f5dc38dfffc509f2dc8e","project":"chromium","file":"Features/Glossary/GlossaryTermDetails.spec.ts","title":"should add and remove references from glossary term","durationMs":9151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-1eb38a10ca22dc7e41b9","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab is not visible for other applications","durationMs":4205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-8c55296c911ed9b878fe","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab shows empty state when no records","durationMs":3836,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-bccbe41b46287af5da95","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab displays records with correct status badges","durationMs":4395,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b51bfa93bcf51a3af79c-f6f19e89bc91d7bbaef2","project":"chromium","file":"Pages/LiveIndexingTab.spec.ts","title":"Live Indexing tab is visible and loads data","durationMs":4576,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b5ac74643fe7ba2d8fe3-ce9f73536f00a5d45e01","project":"Reindex","file":"Features/DataQuality/TestSuiteSummaryAfterReindex.spec.ts","title":"Test suite lastResultTimestamp survives a full entity reindex","durationMs":1202,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-0548815eb142c00104e1","project":"chromium","file":"Features/Table.spec.ts","title":"Tags term should be consistent for search","durationMs":23147,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-12dbdff48f072e317aba","project":"chromium","file":"Features/Table.spec.ts","title":"Search for column, copy link, and verify side panel behavior","durationMs":21620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-1778f18ede2a1820b4d5","project":"chromium","file":"Features/Table.spec.ts","title":"Table filter with sorting should work","durationMs":8556,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-17efa24eeee45d8e3bef","project":"chromium","file":"Features/Table.spec.ts","title":"expand / collapse should not appear after updating nested fields table","durationMs":21722,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-2fb31f7270b5a3caefb9","project":"chromium","file":"Features/Table.spec.ts","title":"should persist current page","durationMs":12639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-55f37c83b82714bc44fe","project":"chromium","file":"Features/Table.spec.ts","title":"Table search with sorting should work","durationMs":7684,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-5faa0ca4d02a0d62d909","project":"chromium","file":"Features/Table.spec.ts","title":"Table page should show schema tab with count","durationMs":8415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-66a209a1e3b6ada95aa1","project":"chromium","file":"Features/Table.spec.ts","title":"Glossary term should be consistent for search","durationMs":16733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-9a7b47c6d7d4c115c405","project":"chromium","file":"Features/Table.spec.ts","title":"Table pagination with sorting should works","durationMs":7424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-b44fe1be53d0f0e7e757","project":"chromium","file":"Features/Table.spec.ts","title":"open-task stat shows the count and links to the Tasks tab","durationMs":10714,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-bc1c352c1584708aae20","project":"chromium","file":"Features/Table.spec.ts","title":"expand collapse should only visible for nested columns","durationMs":6791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-bf9aa70f500df59e999a","project":"chromium","file":"Features/Table.spec.ts","title":"source URL button links to the configured source","durationMs":10543,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-d5b31f77c93ec1b8e2b9","project":"chromium","file":"Features/Table.spec.ts","title":"should show dbt tab if only path is present","durationMs":11767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b63caa6d5c82a89c01d9-fd7508676be39f5779fc","project":"chromium","file":"Features/Table.spec.ts","title":"should show dbt tab if only source project is present","durationMs":10307,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-067f93c6eeb260535c41","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Editor operations","durationMs":13260,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-15e9f69ba626aec0884b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Quick link lifecycle validates, creates, edits, and deletes from card","durationMs":29724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-1a8244c504b33bd9537b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"displayName: switching articles does not bleed unsaved title into next article","durationMs":25337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-204381832cab1ede446d","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Editor operations","durationMs":13329,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-24dc340d8dafc3a9667e","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Slash commands and basic blocks","durationMs":18390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-26157f59f7cb7332dc0b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Nested lists","durationMs":15134,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-2ac62df99361241c8ae1","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article listing search filters, clears, and shows empty state","durationMs":13399,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-2ba8f331893d4140692d","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Slash commands and basic blocks","durationMs":13600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-30e867f4c2cb533197c0","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Content persistence","durationMs":18347,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-33312fa3fcba8fd1eb7f","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Global search and Explore Knowledge Center filter navigate to articles","durationMs":15821,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-3b4001e65d812e269530","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Nested lists","durationMs":12768,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-3d7c9dc3feed478080fe","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Content persistence","durationMs":22551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-3e336ce29aecac2276b5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article copy, delete, sidebar delete, and same-name recreate do not preserve stale metadata","durationMs":44501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-44141f0094dacc65fb03","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Advanced blocks","durationMs":18023,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-4651a3d8ca18fd5978a8","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article detail layout, drawer, activity tab, and version page work","durationMs":32379,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-51e828109a715ff2b402","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Advanced blocks","durationMs":18091,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5caea89669fac360aeb4","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Left hierarchy pagination and expand collapse actions work","durationMs":25680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5d349d5ef24e6a752ff0","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article edit persistence and unsaved title behavior are correct","durationMs":59805,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5e7ba62f70111436e4bb","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article card metadata, widgets, and listing search update from UI edits","durationMs":61672,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5f9b4fb91211a9239460","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Text formatting","durationMs":16201,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-5fe7c1a8b26384d38c3a","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Slash commands and basic blocks","durationMs":17835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-68a6c0a93ff080139c4b","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article tags added on the article page are visible in the Explore right-panel summary","durationMs":23055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-69f43bc4beb330d729a2","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Editor operations","durationMs":14959,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-729476f400ca746921b3","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Empty article can be deleted immediately without polluting the list","durationMs":25849,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-76e359fc969880358083","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Expanding a multi-level hierarchy does not throw and renders no duplicate nodes","durationMs":12647,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-7c113e606a888c1f3f14","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Advanced blocks","durationMs":21692,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-81c3fb7f005013a8c26d","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Quick link created from API can be opened and deleted from hierarchy","durationMs":16105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-93a7f2bbd8e1b2c406fe","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"multiple articles hold independent drafts simultaneously","durationMs":31812,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-9c5563ee05c5f3483575","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article list basics and creation entrypoints","durationMs":32247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-b641a2040579b23d75c5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Related assets, activity feed, user mentions, and article mentions work","durationMs":56606,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-bb081fd8a6faef23cf41","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"draft cleared from localStorage when article is deleted","durationMs":26865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-cb1726ba98fa649c2682","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Nested lists","durationMs":11536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-d35e8e76a8cbb00b80cf","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Text formatting","durationMs":15216,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-dafef3bc55c97adddca2","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"no spurious sync when content is already saved — no PATCH on clean reload","durationMs":19998,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-e0fab1039a57c80c069c","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Article list cards, recently viewed widget, and pagination work","durationMs":26895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-e4dd3c0f394f33812eb5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"draft syncs on page reload — skeleton shown, content saved","durationMs":15426,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-ecee0ea08bf9947064c5","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Content persistence","durationMs":24390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-efefa0a8bc5fbc7f29ae","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Quick link card opens the configured url in a new tab","durationMs":11085,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-fa401e6d00626065b924","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"description: switching articles does not bleed unsaved content into next article","durationMs":26387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-faf8bd343ccd2da9f03f","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Text formatting","durationMs":16028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b76310c94a1ee56387bf-feeaee8a079d7e5adfca","project":"chromium","file":"Features/ContextCenterArticles.spec.ts","title":"Other user editing is visible in the article header editor list","durationMs":22140,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-53ee56c1e5fef5ae703b","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"keeps the full Russian severity label reachable when the chip is truncated","durationMs":6928,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-55282d41804a711d18ad","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"leaves a short severity label sized to its content, with the nav expanded","durationMs":6937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-8920f0ec33c9ca9955ab","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"bounds the Russian severity chip regardless of its column, with the nav collapsed","durationMs":5002,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-982d99e87fec992b640c","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"never truncates a status chip, whose labels are longest in Russian","durationMs":7973,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-9fb88b89adb2374cf977","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"leaves a short severity label sized to its content, with the nav collapsed","durationMs":6314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-af868572f1b5280abf4d","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"keeps the Assignee column on screen when the Russian severity placeholder is rendered","durationMs":4449,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b799ec5b24dae9d75994-dc07ec68eea589c12b0e","project":"chromium","file":"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","title":"bounds the Russian severity chip regardless of its column, with the nav expanded","durationMs":7093,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b833d1df0ed59e353274-cfcdbc6fef10b7352962","project":"chromium","file":"Flow/GlobalSearch.spec.ts","title":"searching for longer description should work","durationMs":11308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-0d0894d0eff588acbda5","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify tag filter for column level impact analysis","durationMs":14205,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-0e2a39039601d66193f7","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify search functionality filters table results","durationMs":13383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-14ffe4f55cb631cf8053","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column level table has correct columns","durationMs":13074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-17e3e557dc5d7daf0a70","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify table columns visibility and content","durationMs":14644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-45988883f9736aa212aa","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify impact analysis requests include entityType and explicit depth bounds","durationMs":18173,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-4ab0e07a210458f91a36","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify glossary term filter for column level impact analysis","durationMs":15609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-5c9c089589d1b6546ae9","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify node depth display in table level impact analysis","durationMs":13961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-5d1a8029ecad9ed2f200","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify upstream/downstream counts for column level","durationMs":24106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-6eb1d52223d4236a9d5e","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column mode switches direction with directional lineage requests","durationMs":30290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-a21ab6be616ec8d2b646","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"validate upstream/ downstream counts","durationMs":20951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-b6bc96b8f727cbe93b20","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"verify domain for Asset level impact analysis","durationMs":14946,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-bd2f8536c50f80a40c78","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column level upstream connections","durationMs":24463,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-c5e909fa0bda66087277","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"verify tier for Asset level impact analysis","durationMs":13601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-c9f25440f3b28869b7f1","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column search in column level impact analysis","durationMs":18061,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-de731b18c2794ea1d269","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify Upstream connections","durationMs":23308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-dee5fc58e2ec8e454aea","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify service type filter for Asset level impact analysis","durationMs":14259,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-e501b68bc994f0c9a2a0","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"verify owner filter for Asset level impact analysis","durationMs":15004,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-e9b173ac180a81ce4678","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify upstream downstream toggle persists pagination","durationMs":15499,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-e9d899efa5a5e8c7852b","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify column level downstream connections","durationMs":15289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-efe35888f94fa46c4770","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify depth configuration changes impact analysis results","durationMs":16011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-f938981feaa7b431fef5","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify entity popover card appears on asset hover in lineage-card-table","durationMs":14513,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-fa91fe5a25c3405e9b2b","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify Downstream connections","durationMs":23996,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b84e977256cf1f379750-fe838344992277ee44da","project":"chromium","file":"Features/ImpactAnalysis.spec.ts","title":"Verify switching between table and column level clears filters","durationMs":17363,"attempts":1,"retries":0,"outcome":"expected"},{"id":"b9d345b1f0052cfce4e3-50adca26c4f0573f2431","project":"chromium","file":"Features/ServiceAgentsRefresh.spec.ts","title":"should refetch the agents list and nothing else","durationMs":7724,"attempts":1,"retries":0,"outcome":"expected"},{"id":"baaea988202fec9da880-ce88b9d90ae9ffa0b5c6","project":"Ingestion","file":"Features/DataQuality/Dimensionality.spec.ts","title":"Dimensionality Tests","durationMs":9174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-1b8a5e65cdef61c06560","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"data mode renders tagged assets from the ontology data response","durationMs":8578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-5aba9763db29062573ba","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"selected glossary scope shows edges to another glossary","durationMs":5516,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-75a8ecf72ec9a7ba5e0f","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"a selected glossary hydrates connected terms from another glossary","durationMs":6067,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-c412c54d5e77b2b8d18c","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"should reflect relation add and remove in the graph","durationMs":8656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-c860f2ea90228027f35d","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"Data mode stats do not show Data Assets when no assets are tagged","durationMs":8612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-c9e83dfb5a6c5cf24b27","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"switching back from Data to Model mode restores stats","durationMs":8685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bb377aba08770f6c0b47-fa360b277a77c1d11ba8","project":"chromium","file":"Features/OntologyStudioIntegration.spec.ts","title":"should display terms with a narrower relation in Tree view","durationMs":8242,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bca4445f78bc23d9198a-2d3e5bd59f9abf98d8d0","project":"Basic","file":"Pages/Bots.spec.ts","title":"Bots Page should work properly","durationMs":37554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"be1908fe012aeef38284-23b97f41f72ab99a4a7a","project":"chromium","file":"Flow/PlatformLineage.spec.ts","title":"Verify Platform Lineage View","durationMs":108937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-142908820b9bcdce2e47","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A cannot DELETE user B's preference","durationMs":86,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-41c72575a2f7034f1edb","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A cannot GET user B's preferences","durationMs":62,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-59c41022fe088cc0378c","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"Admin can PUT any user's preference","durationMs":90,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-5fe1c0f4741efd0f6b3a","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A can PUT their own preference","durationMs":60,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-65d642a01bcd97b53213","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A can DELETE their own preference","durationMs":79,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-9e0a73eda1446eb56612","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"Admin can PUT /system/settings with configType appConfiguration","durationMs":184,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-ad9144851ec72d0b3c25","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"User A cannot PUT user B's preference","durationMs":51,"attempts":1,"retries":0,"outcome":"expected"},{"id":"bfad30a2d5db19ccec60-fd4bce1b0e20531d0439","project":"chromium","file":"Features/AppMode/AppModeAuthGating.spec.ts","title":"Non-admin cannot PUT /system/settings with configType appConfiguration","durationMs":56,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-112f974de894495fbe0f","project":"chromium","file":"Pages/Tag.spec.ts","title":"Tag toggle should be disabled for user without EditAll permission","durationMs":13453,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-21b333b8ba624e722147","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets for Data Consumer","durationMs":55174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-26de7b0bca5c04a95283","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Owner Add Delete","durationMs":35247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-36fa997930433fb32eb8","project":"chromium","file":"Pages/Tag.spec.ts","title":"Restyle Tag","durationMs":26981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-43a3e97741d61e4e08ed","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets","durationMs":50663,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-4996201f40fba2b4706b","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets and Check Restricted Entity","durationMs":57581,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-5529639e695d00eba7e3","project":"chromium","file":"Pages/Tag.spec.ts","title":"Certification Page should not have Asset button","durationMs":13595,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-5d78f990ea88fe859e6d","project":"chromium","file":"Pages/Tag.spec.ts","title":"Edit Tag Description for Data Consumer","durationMs":22069,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-765dc0d5ad900f88800e","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Tag UI for Data Consumer","durationMs":22350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-7781e587de258e712ab1","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Tag UI","durationMs":21300,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-77fb8739144fe03d6137","project":"chromium","file":"Pages/Tag.spec.ts","title":"Certification Page should not have Asset button for Data Steward","durationMs":13886,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-7c8d2d4b3a5a6b5c5885","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify tag enable/disable toggle","durationMs":13264,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-c1a6747ea2611120acd7","project":"chromium","file":"Pages/Tag.spec.ts","title":"Create tag with domain","durationMs":20291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-c6f548dea68f98c1a019","project":"chromium","file":"Pages/Tag.spec.ts","title":"Certification Page should not have Asset button for Data Consumer","durationMs":12835,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-cba3bfab34284be22556","project":"chromium","file":"Pages/Tag.spec.ts","title":"Verify Tag UI for Data Steward","durationMs":21781,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-d0c11c5caf849cf711d3","project":"chromium","file":"Pages/Tag.spec.ts","title":"Rename Tag name","durationMs":22206,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-dbf18648002dd3ebc901","project":"chromium","file":"Pages/Tag.spec.ts","title":"Edit Tag Description for Data Steward","durationMs":21818,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-e25c1fb74b2b0468a491","project":"chromium","file":"Pages/Tag.spec.ts","title":"Edit Tag Description","durationMs":23282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-e535042dd7255d039f34","project":"chromium","file":"Pages/Tag.spec.ts","title":"Delete a Tag","durationMs":23039,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-ef2d4407841e571e6b90","project":"chromium","file":"Pages/Tag.spec.ts","title":"Tag toggle should be disabled when classification is disabled","durationMs":21204,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c10ff6c79a1ef57a7565-f4c820b1962c81bd03a4","project":"chromium","file":"Pages/Tag.spec.ts","title":"Add and Remove Assets for Data Steward","durationMs":53208,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-180a75d5076d96f27c9e","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"team member should be able to approve task assigned to team","durationMs":14088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-212799dfdd593ee4c6ca","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"resolving task should require edit permission on target entity","durationMs":358,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-231982a7067ce2e93f31","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"assignee should see approve/reject buttons","durationMs":12878,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-3dac766449e6b290b2c9","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"admin should be able to approve task","durationMs":16124,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-8e21f7221e157bfcee70","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"recognizer-style data quality task should reject via /tasks/{id}/resolve","durationMs":8008,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-8e4fd7cced46a3626635","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"owner/assignee with edit permission should successfully resolve task","durationMs":337,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-9aaa4c31cd0d498e6084","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"non-assignee should NOT see approve/reject buttons","durationMs":15848,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-af01b3d405099b46a381","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"non-team member should NOT see approve button for team task","durationMs":13566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c13c7be365d042dead16-f6dedc77d796ebcc1ac8","project":"chromium","file":"Features/Tasks/TaskResolution.spec.ts","title":"task creator should be able to close/reject their own task","durationMs":552,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c149cc7f2afeaafc22a5-61cfff024ab316b5e7cd","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c149cc7f2afeaafc22a5-c2d70e372af0aacb7e7a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":32009,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c2f2fb43f3574526e3cf-47ef5a94739346607a50","project":"Basic","file":"Pages/UserCreationWithPersona.spec.ts","title":"Create user with persona and verify on profile","durationMs":56176,"attempts":2,"retries":1,"outcome":"flaky"},{"id":"c345246d55609214620c-01fad5a002847d8d58c0","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow adding a semantic with multiple rules","durationMs":18165,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-0323470366a0f662aa12","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Store Procedure","durationMs":59515,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-07cd60e8fb8b6f4d333a","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":34777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-189e36fb58340c1da0bc","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Database Schema","durationMs":47340,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-25f202a29cb96dee010f","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":44682,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-26840c03b806453e7fcc","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Semantic with Contains Operator should work for Tier, Tag and Glossary","durationMs":50947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-2d42dd2032ba827235d2","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Container","durationMs":57582,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-39d6283757ce29d63cce","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Topic","durationMs":48880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-3c0a5f962a565d161122","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for SearchIndex","durationMs":58104,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-3cb384ab3e3bfc745ae8","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":38606,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-48ecd1973fefd27da4bb","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":36000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-4acb103d01514e7c8e4c","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for File","durationMs":52961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-5d1101e26207fbfe86fa","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":45808,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6003134a749e5f980b90","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":40171,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6582ca87cba7ae106b27","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for MlModel","durationMs":54440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6a4cf3a311c440118bec","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":42226,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-6e4e567d889a4a7c6478","project":"Ingestion","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Table","durationMs":60250,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-711bfe9176f5142d1380","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":46648,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-72a144851856bc18e7c8","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":44767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-7512c8036edd600f06e0","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":33040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-7ad1c8de93884df3b4fe","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Worksheet","durationMs":55554,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-7d700e25a598ac302bd4","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow editing a semantic and reflect changes","durationMs":16418,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8069e46712c959e12df3","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Spreadsheet","durationMs":62036,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8b603616c0839438800d","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Operation on Old Schema Columns Contract","durationMs":32740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8d0913db8fc367e458fd","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Semantic with Not_Contains Operator should work for Tier, Tag and Glossary","durationMs":39730,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-8f3a2bc034218b7f11f7","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow adding a second semantic and verify its rule","durationMs":19491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-914f9dfd0316df153e96","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Api Collection","durationMs":49255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-974ffe89078f5491207b","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Directory","durationMs":55954,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-99df91fb3dd32d41f319","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":46571,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-a3d274cc242d5d110427","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"should allow deleting a semantic and remove it from the list","durationMs":20862,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-a87bb726b61df4c7041d","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":55547,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-b331405338cbb0ab4acc","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Nested Column should not be selectable","durationMs":11770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-b8223a97360afdf32065","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":42607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-b9d5c52175a64817de15","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Add and update Security and SLA tabs","durationMs":26494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-c4fa0bc60e2e6a8dd707","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":48827,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d28de6dfa66c9a5efc16","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Chart","durationMs":53935,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d668b72a65efdcabafb1","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Pagination in Schema Tab with Selection Persistent","durationMs":42599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d8147f11241541ff9323","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Dashboard","durationMs":58994,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-d8338405b37a0779887d","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":42531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-dbf5e444accfa300b508","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"ODCS Import Modal with Merge Mode should preserve existing contract ID","durationMs":17541,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-dc6f6a60c0682cee8023","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Database","durationMs":62275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-df38484d393a5065dad8","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":33964,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-e377248f44940da3b646","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"ODCS Import Modal with Replace Mode should overwrite all fields","durationMs":19953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-e82f3725ee0553a9eeaf","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":47442,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-e83c33dcd2e14a49b397","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for ApiEndpoint","durationMs":48107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-f27dd1f4ed08302ad3fa","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","durationMs":36048,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-fe80e1a6b808452d5670","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for DashboardDataModel","durationMs":45942,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c345246d55609214620c-fffaa929851105d619ee","project":"chromium","file":"Pages/DataContracts.spec.ts","title":"Create Data Contract and validate for Pipeline","durationMs":51481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c39768dc6aa2e0276e68-10caaec99edb45710f85","project":"DomainIsolation","file":"Features/DomainIsolation/DomainTaskIsolation.spec.ts","title":"userA sees only their own-domain task","durationMs":3479,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c39768dc6aa2e0276e68-4f3310973531f919b5b8","project":"DomainIsolation","file":"Features/DomainIsolation/DomainTaskIsolation.spec.ts","title":"userB sees only their own-domain task","durationMs":3282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c39768dc6aa2e0276e68-da91b22f9303a7b822f0","project":"DomainIsolation","file":"Features/DomainIsolation/DomainTaskIsolation.spec.ts","title":"admin sees tasks from both domains","durationMs":3813,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-2242f6cb6cab5485702b","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Widget drag and drop reordering","durationMs":18631,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-6f0dbf5beb7bc3c697a2","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Cancel button should show a single confirmation modal and Discard should exit the customize landing page","durationMs":14416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-d2792ca6ac76dfdb0b60","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Check all default widget present","durationMs":12688,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c4a63a09447c00e0bfbc-e40a9d9532d26fa1fcf8","project":"Basic","file":"Flow/CustomizeLandingPage.spec.ts","title":"Add, Remove and Reset widget should work properly","durationMs":51693,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-0173c4913e3c4c2ceeac","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should support pagination and page size selection","durationMs":6231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-02767019d7873edaa6f6","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is restored","durationMs":16075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-029bce62073efbde0c0e","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is soft deleted","durationMs":13652,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-102a6a666663aa204ff8","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should support multiple filters from different categories","durationMs":7440,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-1542609facbc6309558a","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should include filters and search in export request","durationMs":7469,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-1718ce29678e9bfb5835","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should support case-insensitive search","durationMs":6335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-2c47025e103ba0cf18e5","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should complete export flow and trigger download","durationMs":20953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-31bc9a7d808b23935bf4","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should apply both User and EntityType filters simultaneously","durationMs":13429,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-364093191ceee41ad0ef","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is hard deleted","durationMs":10630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-3761fc0928da9497c624","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should apply and clear filters","durationMs":6624,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-3ab9ba83e401655059c9","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should handle audit logs access for non-admin users","durationMs":6222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-3bcbbb77fedde5a10c87","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display audit log entry in UI after entity creation","durationMs":7464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-4777f4d3e3c3581f8b00","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display list items with profile picture and user info","durationMs":5464,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-52a0b9a9306a5955396c","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is created","durationMs":8442,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-57dad4b9c1a39e25d0dd","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should verify complete audit trail for entity lifecycle","durationMs":23985,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-5ff18772f15eae7292d5","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should verify search API returns proper response structure","durationMs":7076,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-6c1cf735098804c92262","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should allow searching within User filter","durationMs":5975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-6c2cbb1a4c0ab7593cbe","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should search audit logs","durationMs":6350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-73f0cb6723ad9eb2a8b1","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display entity type in list item metadata","durationMs":6703,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-8bababb17ab053dd01bf","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should remove individual filter by clicking close icon","durationMs":6545,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-a22442a667f924534986","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should deny export access for non-admin users","durationMs":6880,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-bc6f6e1c30715e27cfcf","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should allow searching within Entity Type filter","durationMs":5945,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-be673c6ff393f52ea948","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display page header with correct title and subtitle","durationMs":6189,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-c2b2962c03fbe62d08e7","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should create audit log entry when glossary is updated","durationMs":11046,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-ded0959fe0acb519f6a6","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should validate export response structure","durationMs":5711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-eabfd904a9633233e517","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should replace filter value when selecting new value in same category","durationMs":7075,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c509981a76a2c7f60581-f01b7d7c94af12be0cc4","project":"Basic","file":"Pages/AuditLogs.spec.ts","title":"should display relative timestamp in list items","durationMs":5756,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-1e1c6cc845ecf39d2205","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can include three custom properties and require one for Data Product","durationMs":4644,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-26d55d23606060e07469","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can remove included and required fields from the Domain intake form","durationMs":5872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-2a62a47a84b7cc428b4f","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting an intake form removes it from the list","durationMs":4394,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-34d1af06885abf49e422","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"designer keeps schema-required fields fixed at Creation","durationMs":4681,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"c660778f663f6ec6ca7d-3519dafa5283f7746e3d","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"\"Data Product\" option is disabled when a form already exists","durationMs":3786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-58d8629ab3c486f2924f","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"required intake fields are submitted on create and omitted on edit","durationMs":5890,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-5d1a4b14949b0f9586c9","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can include three custom properties and require one for Glossary Term","durationMs":4536,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-5f404feff62948446f45","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting a required custom property prunes it from the Glossary Term intake form","durationMs":3690,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-6289854265d95dec9d0d","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can remove included and required fields from the Glossary Term intake form","durationMs":5710,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-6dac8417d0d497aaac00","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting a required custom property prunes it from the Data Product intake form","durationMs":3804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-7a224ded94f3d9482d6d","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can open the Intake Forms settings page","durationMs":4424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-7ba93be75799bd8bb941","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"intake form — toggling enabled flips enforcement in listing","durationMs":3678,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-a604d8c398d1b3c9e897","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can remove included and required fields from the Data Product intake form","durationMs":5776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-aa15a66e0739e3407915","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"custom property required via intake form renders in Data Product create form","durationMs":6031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-ab8fd64d057f8b4e104b","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"admin can include three custom properties and require one for Domain","durationMs":4675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-b83a4150530f02e4de1e","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"deleting a required custom property prunes it from the Domain intake form","durationMs":3752,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-b94a856ca3586b5fc175","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"designer does not list schema-required fields","durationMs":3990,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-c1893bc7c79b8a2c6792","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"pick admin user → DP create succeeds with correct extension payload","durationMs":7607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-cc65a75585a345725083","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"intake form with required field blocks Data Product create when missing","durationMs":6014,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-e7165978ff4c41277836","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"delete popconfirm cancel keeps the intake form intact","durationMs":4518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c660778f663f6ec6ca7d-fb3de0f6b91c1640f58e","project":"IntakeForm","file":"Pages/IntakeForm.spec.ts","title":"Data Product serializes each custom-property type for the create API","durationMs":9402,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c701921c8f8a6352b747-1d0279d918ed98fbd853","project":"chromium","file":"Features/Glossary/GlossaryPersonaCustomization.spec.ts","title":"Saving a persona Glossary Term customization keeps Relations Graph visible on the term page","durationMs":21965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c701921c8f8a6352b747-3e4cbd0d17abcacbd4ae","project":"chromium","file":"Features/Glossary/GlossaryPersonaCustomization.spec.ts","title":"Customize UI lists every documented Glossary Term tab including Relations Graph","durationMs":6528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c701921c8f8a6352b747-6b7c8374eaa7bfc7561b","project":"chromium","file":"Features/Glossary/GlossaryPersonaCustomization.spec.ts","title":"Customize UI lists Relations Graph at the Glossary parent level","durationMs":6491,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-0324d60b6dbd8f8464f8","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Date picker shows placeholder by default on Incident Manager page","durationMs":7413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-0e4423b59bb3b0def9f6","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should switch back to \"Created at\" and call API with dateField=timestamp","durationMs":10049,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-125027e4b32a62c75284","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should show \"Created At\" as the default sort field label","durationMs":8053,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-32d7e88cbf346af3509b","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Date picker shows placeholder when no date is selected","durationMs":10803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-4cdd71db2b45b447c142","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should switch to \"Updated At\" and call API with dateField=updatedAt","durationMs":9127,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-7070354043463bf443d1","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should open sort field dropdown on click","durationMs":8777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-79b5270c77a649310404","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Select preset date range","durationMs":10726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-7c786efc5cc1d9524a5a","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Clear selected date range","durationMs":11278,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-80618b8599611058eab3","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"should close sort dropdown after selecting an option","durationMs":8979,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-849cf580e259e941a478","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Select and clear date range on Incident Manager page","durationMs":9000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7a81e901cc82329b06c-f84790313494695fc98e","project":"chromium","file":"Features/DataQuality/IncidentManagerDateFilter.spec.ts","title":"Date filter persists on page reload","durationMs":15291,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-501f5e15e901e7595667","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should count a run once when every step reports the same rows","durationMs":3804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-80f30314e037b61caf57","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should not treat a queued agent as complete","durationMs":4015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-aa3bafb435a4775d0dcf","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should open the run history drawer oldest-first with the newest run selected","durationMs":5031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-d7e791516d91072c1764","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should render the card run dots oldest-first with the latest one highlighted","durationMs":4662,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c7ade81c61ee28f6ce8e-d9252481963da7628280","project":"chromium","file":"Features/ServiceAgentsDeploymentSummary.spec.ts","title":"should report the newest Metadata run rather than the sum of both agents","durationMs":3687,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-23c1b9c19b77e1fc296f","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"exports a data product to a valid ODPS YAML document","durationMs":110,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-2d68245dcb607af8c0af","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"merge preserves the existing product domain and owners","durationMs":108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-31ec80fca2a586fb193f","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"imports an ODPS document onto an existing data product via the modal","durationMs":9869,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-43821278f0e90b25159f","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"rejects an invalid ODPS document on validation","durationMs":5,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-77e3363f6dbe1ec9bec0","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"exports ODPS YAML from the data product manage menu","durationMs":8750,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-89d478c0ae8f83c66123","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"name guard blocks a YAML whose product name targets a different product","durationMs":9626,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-8a42f9aa131de5003d2b","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"edits data product metadata (type, visibility, priority) via the modal","durationMs":12549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-a9c2fd5fb6c0b42a6b96","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"name guard blocks a YAML with no readable product name","durationMs":9767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-bab6dc59de12de6a2338","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"validates an exported ODPS document as valid","durationMs":83,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c85025e5f4661de2eb9f-c475de5d3a03ed61c517","project":"chromium","file":"Pages/DataProductODPS.spec.ts","title":"round-trips an exported ODPS document into a new data product","durationMs":138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"c86397fc7242347df33b-dc47567d7f4a93925962","project":"chromium","file":"VersionPages/TestCaseVersionPage.spec.ts","title":"should show the test case version page","durationMs":14776,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-1744342f23a91efe2ac9","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display terms matching multiple selected statuses","durationMs":9962,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-17aa0807877786e6d2a1","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should revert changes when Cancel is clicked","durationMs":9361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-290c0b0873f5187f1fe3","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Deprecated terms when filtered","durationMs":8413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-2e04698b958b1f4e22b9","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should return matching terms for search query","durationMs":8415,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-497fd1b32f9258b6cdcf","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should maintain search when status filter is changed","durationMs":10269,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-5988bf438e2f39e4958e","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only In Review terms when filtered","durationMs":9790,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-5c5d66935a2f20a348b2","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Rejected terms when filtered","durationMs":9542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-71684791e23a0abe70af","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should paginate through search results","durationMs":8926,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-7939c6042ce0adcaac14","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should maintain status filter when search is cleared","durationMs":10056,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-81598be60b1e8ceceb18","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should restore all terms when search is cleared","durationMs":8951,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-8388ea65928d980767ca","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should show no results for non-matching query","durationMs":9086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-9332080e850ab8fb8fd7","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display all terms when All is selected","durationMs":11382,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-9c52dee2717033c6e708","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should apply status filter within acceptable time","durationMs":9767,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-9fa4a97d5d3f5ab0ac59","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Draft terms when filtered","durationMs":9181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-c8d59fcb5e7f1932a6a5","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should reset pagination when filter changes","durationMs":9721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-dc48d37df803beca4aac","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should display only Approved terms when filtered","durationMs":9181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-e4e0242ef9806b0b92bb","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should maintain filter state across pagination","durationMs":8386,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-ea41c0a0b7941de733e5","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should filter search results by selected status","durationMs":9529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca2a80a6d2122ad97ca6-fcff743587908a5e53e7","project":"chromium","file":"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","title":"should paginate combined search and status results","durationMs":12261,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ca5da573930920d9809e-f566ab03bf82734cca1d","project":"chromium","file":"Features/OntologyStudioIsolatedToggle.spec.ts","title":"shows isolated concepts in the graph, health panel, and header count","durationMs":7579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-1dbd614d29e180690a85","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should search for multiple values along with null filters","durationMs":14274,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-259e61db1c16d9ad2c56","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"sort order is preserved in URL when explore tree node is clicked after applying a top dropdown filter","durationMs":11308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-3c750142c90fdc4d2ea3","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"search dropdown should work properly for quick filters","durationMs":19431,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-41d7cc4f62d5990c09ec","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"tier with assigned asset appears in dropdown, tier without asset does not","durationMs":6520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-440fb6c33a860d6545a3","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should persist quick filter on global search","durationMs":14306,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-460b024aaf19267315c5","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should filter assets by data product","durationMs":12470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-6779cdbcc9be1e4ce757","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"tier filter option label uses original casing from _source","durationMs":12194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-6a16b691836f9597267b","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"service filter option label uses original casing from _source","durationMs":8299,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-7ac27f96d42f8e47da96","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"selecting a tier filter shows only assets tagged with that tier","durationMs":7815,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-7eae1a0879cfe84f3664","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"explore tree sidebar selection is not cleared when a top dropdown filter is applied","durationMs":12601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-848cdf4243eb28f21ee1","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"domain filter option label uses original casing from _source","durationMs":10544,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-8d58a7be6a15f6cea337","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"tag filter option label uses original casing from _source","durationMs":8099,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-b210b47079c7e8e1b96c","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"Filter by column entity type shows only column results","durationMs":15494,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-c33910a88a1d9ed52dda","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"owner filter option label uses original casing from _source","durationMs":10109,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-d8b943596fe73627a88c","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should search for empty or null filters","durationMs":21138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-dd2ed41905ade0359cc9","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"should show correct count for tier filter options from aggregation","durationMs":16594,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caebfb61a8a7d76a7401-dd9f678b3ba6fdaee2cc","project":"chromium","file":"Features/ExploreQuickFilters.spec.ts","title":"breadcrumb shows the entity category and display name header should have highlighted terms","durationMs":10443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-54366d53e73519025581","project":"chromium","file":"Pages/Tags.spec.ts","title":"Classification Page","durationMs":51888,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-584eb3fb0a38160ba39b","project":"chromium","file":"Pages/Tags.spec.ts","title":"Adds one tag and removes another in the same save preserves appliedBy on the kept tag","durationMs":13497,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-816f4c77f914a4a50b2e","project":"chromium","file":"Pages/Tags.spec.ts","title":"Search tag using classification display name should work","durationMs":11596,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-b188ae54e303d89cddb7","project":"chromium","file":"Pages/Tags.spec.ts","title":"Verify system classification term counts","durationMs":5416,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-f2107feebb5f4a23b7cf","project":"chromium","file":"Pages/Tags.spec.ts","title":"Disabled tag should not allow adding assets from Assets tab","durationMs":20015,"attempts":1,"retries":0,"outcome":"expected"},{"id":"caff76ae7fa460759ade-ffaf7183a75f1eb38486","project":"chromium","file":"Pages/Tags.spec.ts","title":"Verify Owner Add Delete","durationMs":24341,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-1eb1b3406ab1523f2de6","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Pipeline Services with the tag","durationMs":13568,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-22c58402d71610571ef9","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Mlmodel Services","durationMs":20287,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-2bf7f552e5db3d18b8ca","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Container with the tag","durationMs":17487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-315faad65c8ba4786093","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Messaging Services with the tag","durationMs":18232,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-42713439b68b86645f59","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Storage Services with the tag","durationMs":18417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-63da70180686ef526abb","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Api Services","durationMs":21070,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-6f451e1ed0db30ada664","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Messaging Services","durationMs":18170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-73757c787b1e891e4942","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Dashboard Services","durationMs":20773,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-80ec08540ad5cea8b4bb","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Database Services with the tag","durationMs":17960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-84c48a5cf550dc52c755","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Database Services","durationMs":13807,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-9933c0dcae522f034354","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Storage Services","durationMs":13441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-ac002e6c6d6ef1577d60","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Database Schema with the tag","durationMs":14370,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-b103417ab8c8c1e51644","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Database Schema","durationMs":12609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-b602604bfc080aa12682","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Database with the tag","durationMs":19187,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-bc1209cc5597e98ef443","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Mlmodel Services with the tag","durationMs":19600,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-bd75914d1b83464a8474","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Search Services","durationMs":18608,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-d153874b1daabe75e2c9","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Api Services with the tag","durationMs":18634,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-d52c7043aa0749c2f533","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Pipeline Services","durationMs":14055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-e55cee40e3dc00883adc","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Database","durationMs":19787,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-ee63ecc5cd12d5f14e65","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with owner permission can only view owned Container","durationMs":13280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-f299fb8782d3bc530837","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Dashboard Services with the tag","durationMs":21170,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cba1a86e45b2c609241f-f9fe927671719a4618d6","project":"chromium","file":"Flow/ConditionalPermissions.spec.ts","title":"User with matchAnyTag permission can only view Search Services with the tag","durationMs":19040,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-05cc587e9bcc4ffc92a5","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should show correct last activity format","durationMs":5207,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-185ba09a3ff40aadfbe2","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should show user displayName in online users table","durationMs":18659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-38ca992a32ea90db749c","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Non-admin users should not see Online Users page","durationMs":4911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-60029151e6f114b7185b","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should update user activity time when user navigates","durationMs":16331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-9635dbc86785af16b680","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should not show bots in online users list","durationMs":4659,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-b0a8e448e4aef58b283f","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should filter users by time window","durationMs":4716,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cc971de94aebfef8f0e8-e0123993246421502cb5","project":"Basic","file":"Features/OnlineUsers.spec.ts","title":"Should show online users under Settings > Members > Online Users for admins","durationMs":4319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-0b48b047051e780992f2","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"an edge with the correct relationType exists between the term and its related term","durationMs":11257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-23f4dd06dfefb5daf1e5","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"the directly related term appears as a node in the Relations Graph","durationMs":11819,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-40326bcc58edf3800037","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"search in the term Relations Graph returns empty state when no term matches","durationMs":12289,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-42b334d07c7288f87fb7","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"Relations Graph tab renders the ontology explorer for a term with a same-glossary relation","durationMs":12423,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-58f0495abfd1f627c778","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"all relation types from the same term appear as separate edges","durationMs":11838,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-8446918a7f96b8df7a01","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"search in the Relations Graph filters to matching node and its neighbours","durationMs":11459,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-93c4b3dab6eb63fdc804","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"cross-glossary related term has an edge to the viewed term","durationMs":10932,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-ab0d405c8cc01c4864f2","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"the term itself appears as a node in the Relations Graph","durationMs":11697,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-bb529b7f961d4f4e8a9a","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"unrelated term from the same glossary is NOT shown in the Relations Graph","durationMs":11077,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-c656cbb70e6b22b42ae1","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"cross-glossary related term appears as a node in the Relations Graph","durationMs":11460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-d160269e303147685186","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"clicking a node in the Relations Graph opens the entity summary panel","durationMs":12221,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cd1d8c8117a5902261ce-dbe5441e2495e4497f75","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","title":"a term with no relations shows only itself as a node with no edges","durationMs":12628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cdd6b2b4fe4563ae6f55-bc4aa4f69f836af1efe2","project":"Basic","file":"Features/Markdown.spec.ts","title":"should render markdown","durationMs":11406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ce9a0dc862be823369ca-a412c4cd2b7d78e6c991","project":"chromium","file":"Features/ArticleReviewerWorkflow.spec.ts","title":"Context Center article reviewer approval flow","durationMs":109220,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-1ad99eb42c6a6c2096a1","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Search popover dismisses when input is cleared","durationMs":6501,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-976fa9972540355a732f","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Page renders with greeting, search, and default widgets","durationMs":6586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-ac16f93f70cd16752560","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Search with no results shows empty state","durationMs":6799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-adf188e977cee75f20a1","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Admin can create a domain via marketplace drawer","durationMs":7967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5327dbf8787c8b5a98-c74336c0b248b65ccc9f","project":"Basic","file":"Pages/DataMarketplace.spec.ts","title":"Admin can create a data product via marketplace drawer","durationMs":7984,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-1bae42cb06598b17b7fa","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"SearchIndex Service","durationMs":24025,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-2597a651b0fd7aa710b6","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Api Collection","durationMs":26330,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-5df1b00d3538afc3fa45","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Api Service","durationMs":24726,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-5e6cd82cadd8b98f7f63","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Database","durationMs":32826,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-6554bce0546a1f330453","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Database Service","durationMs":24866,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-6e4bf15cd073001e79cd","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Messaging Service","durationMs":30212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-8ff37410faada701752e","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Mlmodel Service","durationMs":25383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-9459bfdca9bc51b4e6e3","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Storage Service","durationMs":24727,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-d311a09902e6d3b6232d","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Drive Service","durationMs":22446,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-e3a737a636c50d641ee8","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Dashboard Service","durationMs":26086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-e88d4ed4325a35faf927","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Database Schema","durationMs":26711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5c5df849d9fa29e074-ec14d67dcd8f2fff65e6","project":"chromium","file":"VersionPages/ServiceEntityVersionPage.spec.ts","title":"Pipeline Service","durationMs":25280,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5e7fcfd64428f1fc30-b5b1e23a960dc4431ef0","project":"chromium","file":"Features/Announcements/EntityHeaderAnnouncements.spec.ts","title":"shows announcements one at a time and pages through them with the counter","durationMs":18620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5e7fcfd64428f1fc30-d1e3929c06f470275dc0","project":"chromium","file":"Features/Announcements/EntityHeaderAnnouncements.spec.ts","title":"opens the announcement drawer from the View all button","durationMs":16259,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf5e7fcfd64428f1fc30-e7fa692cbffac1b4f868","project":"chromium","file":"Features/Announcements/EntityHeaderAnnouncements.spec.ts","title":"hides the counter when a single announcement is active","durationMs":18163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"cf83c959332d7465a60d-b924fafef764456f8048","project":"Basic","file":"Pages/EmailConfiguration.spec.ts","title":"does not submit an unchanged masked password","durationMs":6108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-0844eeb3c8f64dcebe8f","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"delete-node-button absent in node config sidebar (structural edit blocked)","durationMs":11897,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-08877a68185e63ad1c70","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"save, cancel, and validate buttons visible; delete absent in edit mode","durationMs":11020,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-0b801c2b82a82d70400b","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"save-workflow-button fires PUT API and returns to view mode","durationMs":12315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-150069a8255116907ea7","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"cancel workflow opens confirmation modal; close-without-saving returns to view mode","durationMs":11467,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-18b487d25856aa924680","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"data-asset selector is disabled in OSS","durationMs":11476,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-2abad226603f3454795f","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"edit-workflow-button visible; delete-workflow-button and run-workflow-button absent","durationMs":11154,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-2bfb42a91f8a9136c462","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"add-event-filter-button is enabled in OSS","durationMs":12060,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-412275bb43efcecd6fcc","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"include-fields-select is enabled in OSS","durationMs":12191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-41c9d3565357573bcecf","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"batch-size-input is enabled in OSS","durationMs":12080,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-4467d61b5a65f3cd8bc4","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"graph canvas contains workflow nodes","durationMs":11271,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-4470c11ebbf089c50e17","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"save-node-configuration-button closes sidebar (local state update)","durationMs":11757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-67ca6377f9ff6be4639b","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"clicking a node in view mode opens read-only config sidebar (no save or delete buttons)","durationMs":11266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-783c6d9cebc65323299e","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"create-workflow-button absent on OSS","durationMs":10800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-8745ccab715b20fcb20f","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"editing a form field and saving node config then workflow fires PUT API with updated data","durationMs":12702,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-9723cd69d43bc54d2eb1","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"workflow-name-input is disabled in OSS","durationMs":12282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-9f41bef4230cdec8bde6","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"workflow-node-sidebar (node palette) not rendered in edit mode","durationMs":11947,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-baef39c5b1e533c7ce7a","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"trigger-type-select is disabled in OSS","durationMs":11969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-c71f895d70c3ecd5dc4c","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"event-type-select is disabled in OSS","durationMs":11713,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-c7fea7d29c8d8403489a","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"workflow-description-input is enabled in OSS","durationMs":11564,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-cf2b0237655a0ceb88f4","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"execution history tab loads and API call succeeds","durationMs":11895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-d93adb831434700a4faf","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"task node config sidebar opens and save button is enabled","durationMs":12609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-f0673f264fa79c7dd7ee","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"schedule-type-select is disabled in OSS","durationMs":12308,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d00abd619255ff3a0fce-fe7465f17d878dccc48d","project":"chromium","file":"Features/Workflows/WorkflowOssRestrictions.spec.ts","title":"exclude-fields-select is enabled in OSS","durationMs":11149,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-2e6774898e81ffe4c017","project":"Basic","file":"Pages/Login.spec.ts","title":"accessing app with expired token should do auto renew token","durationMs":138387,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-82c5ddfb9ec2446b9149","project":"Basic","file":"Pages/Login.spec.ts","title":"Signup and Login with signed up credentials","durationMs":9997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-99d8d08a1bca0dfb45e7","project":"Basic","file":"Pages/Login.spec.ts","title":"Forgot password and login with new password","durationMs":4680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-d5d492b6a1719fc4c6bb","project":"Basic","file":"Pages/Login.spec.ts","title":"Signin using invalid credentials","durationMs":6834,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d04c4b1fcaf773ee8b96-db2809b113bd2372c8c0","project":"Basic","file":"Pages/Login.spec.ts","title":"Refresh should work","durationMs":141953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d0ed2e2518dfce56f3f7-055a575d29a60700f8c8","project":"chromium","file":"Flow/MetricListSearch.spec.ts","title":"typing in the search box filters the metric list server-side","durationMs":8451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d279ac61280d1069feb3-b65e7f64e44f953e7467","project":"chromium","file":"Features/LandingPageWidgets/DomainWidgetFilter.spec.ts","title":"Domains widget should show only selected domain when domain filter is active","durationMs":16572,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d279ac61280d1069feb3-e750f41ca4fc19634b37","project":"chromium","file":"Features/LandingPageWidgets/DomainWidgetFilter.spec.ts","title":"Setup Domains widget on landing page","durationMs":28763,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-3d5d145448d6f5cc90ae","project":"chromium","file":"Features/DataQuality/Profiler.spec.ts","title":"Update profiler setting modal","durationMs":23396,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-54c0be66359a8c228744","project":"Ingestion","file":"Features/DataQuality/Profiler.spec.ts","title":"Data consumer role can access profiler and view test case graphs","durationMs":9028,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-b7926c0bc21906aa28a2","project":"Ingestion","file":"Features/DataQuality/Profiler.spec.ts","title":"Data steward role can access profiler and view test case graphs","durationMs":9199,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d2e3961af28bb907f482-e16c120deba5eb61a549","project":"Ingestion","file":"Features/DataQuality/Profiler.spec.ts","title":"Admin role can access profiler and view test case graphs","durationMs":9398,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-2566c24a9ad53d85fb1e","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Export button opens scope modal with correct options","durationMs":8118,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-2acfadf8c9ab00eada55","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Filtered search visible export downloads CSV with the filtered record count","durationMs":19588,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-3b304a2ec3fc30ef4837","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Export queues a background job and downloads from the jobs tray","durationMs":14146,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-414a8700c9cff70dc984","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Browse mode visible export downloads CSV with current page row count","durationMs":18669,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-6a546d5a8d744f5ab628","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Search mode visible export downloads CSV with tab-specific row count","durationMs":14251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-9d106ae4569c23f8ea2d","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Search mode visible export count matches the first result tab count","durationMs":10804,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d423ec06c2369a4f0dbb-f159c7c0ad1b30a309b2","project":"ImportExport","file":"Features/SearchExport.spec.ts","title":"Export is disabled when all matching assets exceed 200k","durationMs":6709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-209be753cb89befd2d8a","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"navigating to /table/TASK-XXXXX should show 404 (invalid URL pattern)","durationMs":11073,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-3cc2fe9e766015abfde3","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task in home feed widget should navigate to entity page","durationMs":10443,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-67253f2989896bce72d9","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"task link should contain correct entity FQN, not task ID","durationMs":12911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-743cfd99537261dac3ad","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"task count badge should match actual task count","durationMs":13057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-77ce1295765dba2968f2","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"two sessions: admin on Columns tab creates task, assignee sees refresh on notification click","durationMs":27030,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-7a2ad0726345cbc5accd","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task notification while on entity task tab refreshes the task list","durationMs":12706,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-8744e779751df9e9d0f9","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"assignee should see task in notification box","durationMs":11288,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-950d31f80797a93a58bf","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"task detail page with valid task ID should work","durationMs":11534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-a9ff5c396c0e2d45a234","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task notification should navigate correctly","durationMs":11143,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-ad4029189d87e59c6334","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"should display tasks in entity activity feed tab","durationMs":12362,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d4666ffb52311929304c-c12de98dc82239c7b83c","project":"chromium","file":"Features/Tasks/TaskNavigation.spec.ts","title":"clicking task card should open task detail drawer","durationMs":12275,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d517907dd258f94ebf35-2be67f3cc73b940823e9","project":"Basic","file":"Pages/DataMarketplaceAnnouncements.spec.ts","title":"Announcements widget renders with active announcements","durationMs":4039,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d5279e73c9dec6bec83c-4b950d2a14ba444c8c16","project":"chromium","file":"Features/RTL.spec.ts","title":"Verify DataAssets widget functionality","durationMs":11514,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d5279e73c9dec6bec83c-e61689c57f31e674f9b1","project":"chromium","file":"Features/RTL.spec.ts","title":"Verify Following widget functionality","durationMs":19247,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d5762e40d94d71a69e94-168fc5982bb2b04a8130","project":"chromium","file":"Features/AppMode/AppModeCrossDevice.spec.ts","title":"Preference set in browser A is visible on a fresh login in browser B","durationMs":25783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d6b367a25d1c61ffd598-2676d12f2cb7c404c1d4","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Metric: suspended workflow resumes its task; deleted workflow remains a blocker","durationMs":9740,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6b367a25d1c61ffd598-2bfc2210c5b734158a7c","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Metric: distinct approvals, concurrent requests, rejection and revised metadata","durationMs":27671,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6b367a25d1c61ffd598-777fddc4f85d24e35f6d","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Metric: two distinct reviewers must satisfy the configured threshold","durationMs":15698,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6b367a25d1c61ffd598-81cf6606bc913b7ead48","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Metric: missing workflow assignees remain visible unresolved work","durationMs":6927,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6b367a25d1c61ffd598-95af175b097d54ebd5b6","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Data Product: distinct approvals, concurrent requests, rejection and revised metadata","durationMs":29271,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6b367a25d1c61ffd598-bd098e558362721d7718","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Glossary Term: distinct approvals, concurrent requests, rejection and revised metadata","durationMs":29687,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6b367a25d1c61ffd598-e33548885a199036f50e","project":"IntakeForm","file":"Pages/OnboardingWorkflows.spec.ts","title":"Domain: distinct approvals, concurrent requests, rejection and revised metadata","durationMs":25023,"attempts":1,"retries":0,"outcome":"expected","source":"local-onboarding-chromium-mysql-2026-09-10"},{"id":"d6fb355c03fdea638db7-305911a4b7881aaba0c1","project":"chromium","file":"Features/GlobalPageSize.spec.ts","title":"Page size should persist across different pages","durationMs":39451,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d77ba6914f7f6fb2fca4-98403d78db095df17303","project":"chromium","file":"Features/Workflows/NoOpWorkflowNodeConfig.spec.ts","title":"schema fields for runAppTask node are read-only","durationMs":12699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d77ba6914f7f6fb2fca4-bceee39b29e98183822f","project":"chromium","file":"Features/Workflows/NoOpWorkflowNodeConfig.spec.ts","title":"schema fields for runAppTask node render with correct labels and values","durationMs":13551,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-03c031e4678082b99897","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Metric Entity Action items after rules is Enabled","durationMs":7390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-066a9ef811dff65e4cb6","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the MlModel Service Entity Action items after rules is Enabled","durationMs":7783,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-08a76fefd534a2c8a6a3","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Worksheet Entity Action items after rules is Enabled","durationMs":14851,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-0aac07ed470b079b032f","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Dashboard Service Entity Action items after rules is Enabled","durationMs":11021,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-130fbc8e073e46ded214","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Chart Entity Action items after rules is Enabled","durationMs":17603,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-279a27c38018c01b5a0f","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Database Entity Action items after rules is Enabled","durationMs":14997,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-2985a21f038abaa38e2b","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Pipeline Entity Action items after rules is Enabled","durationMs":13757,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-3d6a300eada29abc2ffd","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Table Entity Action items after rules is Enabled","durationMs":25612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-41f3fa56ebc98ef754ce","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Storage Service Entity Action items after rules is Enabled","durationMs":14335,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-572437ea2ab3f7320552","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Api Service Entity Action items after rules is Enabled","durationMs":11094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-6473d71db2c0b882f00d","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"should enforce single domain selection for glossary term when entity rules are enabled","durationMs":10960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-6d220edd7b3bfd3fe138","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the DashboardDataModel Entity Action items after rules is Enabled","durationMs":8921,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-759333f24dee762aea40","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the MlModel Entity Action items after rules is Enabled","durationMs":14691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-78e2dbbd9c1c1db98900","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the SearchIndex Entity Action items after rules is Enabled","durationMs":10782,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-962838d6f4759abd09a2","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Database Service Entity Action items after rules is Enabled","durationMs":10438,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-9de0ee9ba68372b2e008","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"should not list Data Products from a different domain","durationMs":14846,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-aa332cfa334fdbc32d77","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Database Schema Entity Action items after rules is Enabled","durationMs":15270,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b0cc34f925752dfb14e5","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Messaging Service Entity Action items after rules is Enabled","durationMs":8624,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b11b9a17326398be8da7","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Topic Entity Action items after rules is Enabled","durationMs":15508,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b3308e67ec8457e0dee9","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Directory Entity Action items after rules is Enabled","durationMs":16894,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b7df5538066c06db4364","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the SearchIndex Service Entity Action items after rules is Enabled","durationMs":14970,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b8cb4da9ac2eb43cb997","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"should scope the Add Assets picker to the Data Product domain","durationMs":13156,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-b9fb2556af6f3008e225","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Dashboard Entity Action items after rules is Enabled","durationMs":14217,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-ba8a638ac27ae4f109bd","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the File Entity Action items after rules is Enabled","durationMs":17875,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-bfeb0bcea2e0396acdd3","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Container Entity Action items after rules is Enabled","durationMs":13988,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-ccf02cb9cfd7b194ec16","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Drive Service Entity Action items after rules is Enabled","durationMs":11325,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-cec8b7118f5a613d3132","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Pipeline Service Entity Action items after rules is Enabled","durationMs":15518,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-d444bfd28e07070c2777","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the ApiEndpoint Entity Action items after rules is Enabled","durationMs":19379,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-dd030b4671b685a60fc8","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Spreadsheet Entity Action items after rules is Enabled","durationMs":14930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-e435bf4efd3242cc32d8","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Api Collection Entity Action items after rules is Enabled","durationMs":15574,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d8f8caeb6165f1ef1fcd-ff33cabf88b06ecbd0b9","project":"DataAssetRulesEnabled","file":"Features/DataAssetRulesEnabled.spec.ts","title":"Verify the Store Procedure Entity Action items after rules is Enabled","durationMs":15231,"attempts":1,"retries":0,"outcome":"expected"},{"id":"d9f997795c80930b24d6-bf921a12f0124551e220","project":"Reindex","file":"Features/SearchSeparation/GlossaryRenameCascade.spec.ts","title":"glossary-term rename cascade keeps tags[] + glossaryTags + tier + cert consistent","durationMs":1694,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-06b8c08d4cabd6603635","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"DQ dashboard API carries tag filter","durationMs":6013,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-2af86017b01f6bdc2b71","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"clicking Data Observability tab loads DQ dashboard widgets","durationMs":6960,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-2f9a9790171a0d23ecbe","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"Data Observability tab absent in version history view","durationMs":2711,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-3ed728877ac6a48879de","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"clicking Data Observability tab loads DQ dashboard widgets","durationMs":8175,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-673ae7c8b7ec3c3affc3","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"clicking Data Observability tab loads DQ dashboard widgets","durationMs":6620,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-73606198210a4d7ca076","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"glossaryTerms filter is hidden on GlossaryTerm Data Observability tab","durationMs":7322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-7645dbf4af3497d08343","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"Data Observability tab absent in version history view","durationMs":6870,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-76ec8ab8ce8ce2b149c2","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"DQ dashboard API carries glossaryTerms filter","durationMs":6680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-805007763e0ee5d5ec82","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"standalone DQ dashboard still shows the filter bar","durationMs":7249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-83f5755364b2bb6d8713","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"DQ dashboard API carries domainFqn filter","durationMs":2481,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-954f5e30a09edbd7462a","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"switching back to Overview tab hides the DQ dashboard","durationMs":6315,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-b4092a35d4098fe815c1","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"filter bar is visible on Domain Data Observability tab","durationMs":2241,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-bd8ebaa0e4d04266e712","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"tag filter is hidden on Tag Data Observability tab","durationMs":5789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"daa3a37536228573ce51-f9c38769f3ba40a03d59","project":"chromium","file":"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","title":"applying tag filter returns a successful DQ API response","durationMs":8607,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-879aff3f25587ae15c61","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"Data Steward is blocked from every bulk edit and import page","durationMs":31931,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-cc9be6afc1f0a8405f38","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"Editor with EditAll can access every bulk edit and import page","durationMs":68455,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-e2134863425ccaa50016","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"Data Consumer is blocked from every bulk edit and import page","durationMs":33632,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db1daaef72d72e2312ab-ee37951858f3d500023e","project":"ImportExport","file":"Features/BulkEditImportPermissions.spec.ts","title":"View-only user is blocked from every bulk edit and import page","durationMs":31525,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-33f438f6119c431973c9","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"entity tab count equals the sum of the All and Tasks badges","durationMs":21772,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-4f96dce672dfde8bc540","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"badge reflects openTaskCount in Open filter and closedTaskCount in Closed filter","durationMs":27705,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-a2e50d3237619ad89525","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"placeholder shows the correct message per filter state","durationMs":18039,"attempts":1,"retries":0,"outcome":"expected"},{"id":"db7911e8ad1498312207-a6f48b70e845396cd15f","project":"chromium","file":"Features/ActivityFeedTabBadge.spec.ts","title":"Mentions sub-tab lists only the conversations that mention the user","durationMs":25293,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dbcbe18b3a0e7a0e4d3b-e3764b90b263fc5cc1e7","project":"chromium","file":"Features/PersonaSessionPersistence.spec.ts","title":"default persona is restored when the session key is cleared","durationMs":12257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dbcbe18b3a0e7a0e4d3b-f4ab91bf0bae8937b36e","project":"chromium","file":"Features/PersonaSessionPersistence.spec.ts","title":"selected persona persists across page refresh","durationMs":12758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-0517bed5a24d15a2ba7f","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should handle multiple items being hidden at once","durationMs":20721,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-2fe0ce861993b8034264","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should handle reset functionality and prevent navigation blocker after save","durationMs":13168,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-311db8180f2642a6a095","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should save changes and navigate when \"Save changes\" is clicked in blocker","durationMs":20460,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-37062c9a70d1d97f2f9e","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should support drag and drop reordering of navigation items","durationMs":13969,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-3f83c3e394f2f9d87301","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should reflect a sub-item moved to another group in the sidebar after applying the persona","durationMs":22355,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-7a54741073907c77c8ac","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should show navigation blocker when leaving with unsaved changes","durationMs":13854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-d7fe854a3fe31f16df34","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should update navigation sidebar","durationMs":22512,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dca77550792490d323d6-df0e4058a5ba929c6f8d","project":"chromium","file":"Features/SettingsNavigationPage.spec.ts","title":"should persist a reordered sub-item after reload","durationMs":22523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dd642ff9f3c87efa9c10-dba5285969e2c24eec98","project":"ImportExport","file":"Pages/CSVImportWithQuotesAndCommas.spec.ts","title":"Create glossary with CSV, export it, create new glossary and import exported data","durationMs":78786,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-17f0abe122865c573a49","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"ViewBasic permission shows read-only access","durationMs":31864,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-1f0be66ac1cb6ab2b83d","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Team-based permissions work correctly","durationMs":25770,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-2b6740212b2249e5cc01","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Glossary deny operations","durationMs":33065,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-3188a2dc2a31bdee3d75","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"EditOwners only permission","durationMs":33911,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-33796de90ddf3f62b1f2","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Delete only permission","durationMs":31745,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-450caad10c6db1648382","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Create only permission","durationMs":31106,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-4d14e53f4d7b0b15aaed","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"EditTags only permission","durationMs":33089,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-e72e8a08ee837b49f474","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"EditDescription only permission","durationMs":33017,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df0772b93fcf032846ae-f6f497a28461c645595b","project":"chromium","file":"Features/Permissions/GlossaryPermissions.spec.ts","title":"Glossary allow operations","durationMs":33699,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-3007293d39fd27b73cad","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Stored Procedure Table should have sorting on name column","durationMs":7433,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-35e294a729e304ae5ecb","project":"chromium","file":"Features/TableSorting.spec.ts","title":"API Endpoint page should have sorting on name column","durationMs":7466,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-417e1899c674ba056816","project":"chromium","file":"Features/TableSorting.spec.ts","title":"should have sorting on name column","durationMs":7196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-897fd6be8d196093945f","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Topics Table should have sorting on name column","durationMs":8114,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-8df3b2994395a9dcc5f5","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Drives Service Spreadsheets Table should have sorting on name column","durationMs":7528,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-934f69ec265bfc985585","project":"Ingestion","file":"Features/TableSorting.spec.ts","title":"should have sorting on name column","durationMs":5611,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-a54e163ad0d6ada016a4","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Database Schema Tables tab should have sorting on name column","durationMs":8282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-b40a460170ea3e12c7e1","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Services page should have sorting on name column","durationMs":7578,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-bdfb9efa450fc8d6224b","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Database Schema page should have sorting on name column","durationMs":8879,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-ca3d2db60a7a4385e32b","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Data Models Table should have sorting on name column","durationMs":8163,"attempts":1,"retries":0,"outcome":"expected"},{"id":"df23f6ad1ee603a6ae65-e2cc6fb3ceccaeb1a09c","project":"chromium","file":"Features/TableSorting.spec.ts","title":"Drives Service Files Table should have sorting on name column","durationMs":6791,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-2321814453e125b66353","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should move term with children to different glossary","durationMs":24904,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-6b80fdb91ed3204a5d79","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should cancel drag and drop operation","durationMs":12244,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-b00abfec58cbc6f25ba5","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should cancel move operation","durationMs":21462,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-e65e5779dd8c704d0ab2","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should move nested term to root level of same glossary","durationMs":26290,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-e7b4a28ff6323e173bb5","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should navigate 5+ levels deep in hierarchy","durationMs":13419,"attempts":1,"retries":0,"outcome":"expected"},{"id":"dfe16293eef39cdaf975-eb3d35861683904e3e32","project":"chromium","file":"Features/Glossary/GlossaryHierarchy.spec.ts","title":"should drag nested term to root level of same glossary","durationMs":26539,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e13cf584214701b07f57-1afee2626234d27ccae5","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":39108,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e13cf584214701b07f57-4ab3e6f02d449cca814a","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":34351,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e2d639d408792a06975c-7a6c81a675faa6254493","project":"Basic","file":"Flow/UsersPagination.spec.ts","title":"Testing user API calls and pagination","durationMs":6839,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e35d7dd71e822f3001e7-3cfbb66ae88e3514c5b2","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":23194,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e35d7dd71e822f3001e7-432b8cb5b927d6df6807","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":23095,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e35e88e5e591fae7ee5e-fd18fe4e7bef33892aed","project":"chromium","file":"Features/BlockEditorMathEquations.spec.ts","title":"math equation inserted with $$ syntax persists after save and reload","durationMs":20800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-7154f830ca4d55756208","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"a browse-location deep link highlights the tree and clears on chip removal","durationMs":23930,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-759bee3eb0181dc15eae","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"reloading the page preserves composed filters","durationMs":15895,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-9da821fade89f083f3ed","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"an impossible filter combination shows the no-results placeholder and recovers on clear","durationMs":32092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-9ec4db1c07256b4bbde6","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"applying a filter from a deep page preserves pagination params","durationMs":18937,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-adbb03bd2ffa82ca5802","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"selecting an asset type grays out and collapses incompatible categories","durationMs":15777,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-b871193e778bd381ca8d","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"a deep-linked filter URL restores chips and filtered results","durationMs":18381,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e552adcc6ce8fb46c729-f2ce25709e1201e3797f","project":"chromium","file":"Features/ExploreUrlState.spec.ts","title":"owner filter spans asset types and ANDs with an asset-type filter","durationMs":14569,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-0942d72a0198995838ac","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Metric","durationMs":504,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-147633f9a3cb97439f47","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for GlossaryTerm","durationMs":461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-20324ac8b868e83321ef","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Table","durationMs":371,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-2b8226ae0f295584a097","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for MLModel","durationMs":599,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-2c5fcdbed087327ee250","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Metric","durationMs":400,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-3a95a887039194a669b6","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Table","durationMs":939,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-431dd35d48f6c5bcdc40","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Table","durationMs":529,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-43cfe0395336c7874d2d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Glossary","durationMs":527,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-52e0dd99e1c1dcda9296","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Metric","durationMs":471,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-590d64ea0d6d3432312d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Pipeline","durationMs":474,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-6076582e5142165747b7","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for File","durationMs":533,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-60b6f2e8e65c4a1d9316","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Container","durationMs":800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-62f33d5a7ba6afa42c5b","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Pipeline","durationMs":391,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-65977a8e252c1884495f","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Topic","durationMs":618,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-72ca55efac5e37216621","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for MLModel","durationMs":758,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-7475dc44973d9389678c","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for DataProduct","durationMs":734,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-76375b057ea4b8a3a914","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for MLModel","durationMs":556,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-79a962dcb0d2df39591f","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Glossary","durationMs":495,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-7ca8750db292c6811fab","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for SearchIndex","durationMs":666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-8462d9dafd86d4cb7a24","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Dashboard","durationMs":356,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-87349bc4da359d33210e","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Container","durationMs":639,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-8b624e5fee37ea1427cb","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for SearchIndex","durationMs":873,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-8ea1a343c7b62f387879","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Dashboard","durationMs":680,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-9017945823aea8c31e65","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Topic","durationMs":1006,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-92f1ec834cf376a73ae6","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for File","durationMs":255,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-9676563ef902c007c998","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Dashboard","durationMs":445,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-9724e6857c64f0c5f6fb","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Directory","durationMs":685,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-a19e745a80175cd48c5f","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Topic","durationMs":579,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-a45bbfe31b09ade0e947","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Container","durationMs":691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-a9bd3aaaf359e0f5e01e","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for DataProduct","durationMs":601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-b05d36b597ce8e148023","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for SearchIndex","durationMs":638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-becea4046545cedb234c","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Pipeline","durationMs":319,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-c5d58d76277e5a4a1fa8","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Dashboard","durationMs":447,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-c9d917883dbfefee36a7","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Table","durationMs":486,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-ce553d1c2da64d450d17","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for Pipeline","durationMs":390,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-cea3022de30e27291656","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for GlossaryTerm","durationMs":621,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-e17b4094c0f9dbdd345c","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for File","durationMs":380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-eba55dd6b22bb101f65d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"OwnershipUpdate task for GlossaryTerm","durationMs":622,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-ebffb46a0650e1e63b25","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Metric","durationMs":612,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-efdd01ba42a7838ececc","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Container","durationMs":448,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f1cdb4d14559b84e7e90","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DomainUpdate task for Directory","durationMs":853,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f577090e7c0c2c6d1672","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for Topic","durationMs":566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f7241889791483b397a1","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"TierUpdate task for MLModel","durationMs":586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-f7f3a5872d0f5075a31d","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Glossary","durationMs":436,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-fbf598a3f758d45a8e87","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for SearchIndex","durationMs":741,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e6106fb403b25b398095-ff39d1cbf073725e11f9","project":"chromium","file":"Features/Tasks/TaskAllEntities.spec.ts","title":"DescriptionUpdate task for Directory","durationMs":992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-27bf83ebb148b83122c8","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Database service","durationMs":62916,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-393e6fb3b55e026c5927","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Database","durationMs":59505,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-80d244c353a9b5239063","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Table","durationMs":37503,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-864b2325f77eb8ef0979","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Database Schema","durationMs":64322,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-8b088f9fd4352335f186","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Glossary Term (Nested)","durationMs":57522,"attempts":1,"retries":0,"outcome":"expected"},{"id":"e91c95e3d77f8c0bc288-afada82cd2191181328b","project":"chromium","file":"Features/BulkEditEntity.spec.ts","title":"Glossary","durationMs":53266,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-991e22827d785d044de8","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing a child term: parent appears as a 1-hop neighbour via parentOf edge","durationMs":13563,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-9a9e5f8ec1ab595d1664","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing a child term: parentOf edge is rendered between parent and child","durationMs":13144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-cb3f581754b8a14c9209","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing the parent term: parentOf edge is rendered between parent and child","durationMs":15041,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eaaf55fe056d7976bbf2-ea60b9272f2de2cae5c9","project":"chromium","file":"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","title":"viewing the parent term: child appears as a 1-hop neighbour via parentOf edge","durationMs":14366,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-0872d0c75b5f4a1eea22","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Bulk edit existing entity with dot in service name","durationMs":42038,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-11b6b2822f5d1e76a451","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Import at database level with dot in service name","durationMs":39728,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-2b628617654ecf4bdd25","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Import at schema level with dot in service name","durationMs":28074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-4ae957d1d4bc40c66b27","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Service name with multiple dots","durationMs":28350,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-61e520c2d24c8cb303be","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"CSV with quoted FQN loads correctly in import grid","durationMs":27983,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-8640e5baa9623705571d","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Column with dot in name under service with dot","durationMs":20139,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-9831613d51f1f5074fcd","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Full import cycle with dot in service name","durationMs":32212,"attempts":1,"retries":0,"outcome":"expected"},{"id":"eb9d2258e81ed2ed488c-adf1fb39ffb44f305718","project":"ImportExport","file":"Features/BulkImportWithDotInName.spec.ts","title":"Database service with dot in name - export and reimport","durationMs":37181,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-451958641a79328fe77b","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Install application","durationMs":6191,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-a3a1e60b3e20e393c2f1","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Edit application","durationMs":6789,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-b0cd1177775297960d65","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Uninstall application","durationMs":7074,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ecc55bb88d5bb5b0e830-d65f3bc388f55deee256","project":"chromium","file":"Pages/DataInsightReportApplication.spec.ts","title":"Run application","durationMs":9800,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-00727756ed54b11d9d66","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify fullscreen toggle","durationMs":8952,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-0de408c32267fb067d06","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify DQ layer toggle activation","durationMs":10092,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-2fd3d671fe79e7aa79e6","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify DQ layer toggle off removes highlights","durationMs":8965,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-61f864881a368270e9b4","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify minimap toggle functionality","durationMs":9502,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-a50f5062bdbb068e2796","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify invalid entity search handling","durationMs":5331,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-b82c3c1c96ccc2c41e8d","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify lineage tab with no lineage data","durationMs":8519,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-f67f93500d58072add25","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify zoom in and zoom out controls","durationMs":10125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ed4b297649681930e242-fa08f156b0ba6e20421a","project":"Basic","file":"Pages/Lineage/LineageControls.spec.ts","title":"Verify fit view options menu","durationMs":10638,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-3acaa880cb4773e73f12","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk cancel operation","durationMs":188,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-3d3e2def8f2e96897376","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should handle partial failures in bulk operations","durationMs":489,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-4a32405d0d74df2c5db6","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk approve on multiple tasks","durationMs":1172,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-94ecf2bb50f9c561671f","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should reject non-suggestion task via apply endpoint","durationMs":251,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-95ba2888711a203eb077","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk reject on multiple tasks","durationMs":884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-c46ffd4656a5fdf657cc","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should perform bulk assign operation","durationMs":1107,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f13fd72ccbb76b94fb18-febb592c17f5eea5e817","project":"chromium","file":"Features/Tasks/TaskSuggestionAPIs.spec.ts","title":"should apply suggestion via PUT /api/v1/tasks/{id}/suggestion/apply","durationMs":630,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f424f0b2de2b8353168d-3a71a044adebef3ad89e","project":"chromium","file":"Features/ContextCenterArchive.spec.ts","title":"full document lifecycle: folder expand icon, upload, delete, restore, and permanent delete","durationMs":40282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f424f0b2de2b8353168d-82b0e753e7d46cd9890c","project":"chromium","file":"Features/ContextCenterArchive.spec.ts","title":"archive page lazy-loads more rows on scroll within its own scroll container","durationMs":10754,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f424f0b2de2b8353168d-99117e03aa3c5b328397","project":"chromium","file":"Features/ContextCenterArchive.spec.ts","title":"file in deleted folder is absent from search and not added to archive","durationMs":22141,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-075d5e867770cf289c8d","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"data steward cannot edit team subscriptions","durationMs":14284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-233b01cc9bf79b6f3f4b","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should disable endpoint input when webhook type is None","durationMs":11055,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-388f9f7a9983f83d39d1","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should update existing subscription to different webhook type","durationMs":12799,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-4089f84abb290168ef0c","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should validate endpoint URL format","durationMs":9981,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-54a2d04779b87540a00d","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure Slack webhook subscription","durationMs":9566,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-5c2b44855ea7aac27a3f","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should remove subscription by setting webhook to None","durationMs":11675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-67f33babda3fdf4febf5","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"team member without owner role cannot edit subscriptions","durationMs":11913,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-842a1076b8d1906ba450","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"admin can edit subscriptions for any team","durationMs":13666,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-8609b568b701057602c0","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"data consumer cannot edit team subscriptions","durationMs":14174,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-86d32d813fc943a78e43","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should display subscription as None when no subscription configured","durationMs":9138,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-8d2d31841b63ddf340ff","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure Google Chat webhook subscription","durationMs":10105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-a27b2e53b3221dbc8290","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should require endpoint when webhook type is selected","durationMs":10088,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-a9d0c9c4799698417f3d","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should open and close subscription edit modal","durationMs":9151,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-b4f94192f34e07d52e1e","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure MS Teams webhook subscription","durationMs":9963,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-bff65aca6ff47e244d26","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should persist subscription after page reload","durationMs":15144,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-fca848d6346f22013a7f","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"should configure Generic webhook subscription","durationMs":10670,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f44c58dbc6674b565498-ff289db727fd13098421","project":"chromium","file":"Features/TeamSubscriptions.spec.ts","title":"team owner can manage subscriptions","durationMs":15640,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-249f2e80e1ed07c92f7e","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should rename data product and verify assets are still associated","durationMs":22113,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-600e291c7d231e7f82c1","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should show error when renaming to a name that already exists","durationMs":14035,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-6edae00094cd060fc0a5","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should handle multiple consecutive renames and preserve assets","durationMs":34072,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4b9c2f714eeb699f610-90803266ddfc79e89669","project":"chromium","file":"Features/DataProductRename.spec.ts","title":"should update only display name without changing the actual name","durationMs":15739,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4cae74b06fda076f0a1-b770428f72ba5b0a9d85","project":"chromium","file":"Features/BlockEditorEmbedLink.spec.ts","title":"entering an invalid URL shows validation error and does not crash the editor","durationMs":14182,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-0462ac71e8c91afbbf6c","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Stored Procedure - customization should work","durationMs":26736,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-0702a83ca7d8b8bbd8c0","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"customize navigation should work","durationMs":33938,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-25846c7a65b11a89cff2","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Container - customization should work","durationMs":25567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-37449f25e978be1788be","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Glossary - customization should work","durationMs":27413,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-41d0a892fca6d9343808","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Data Product - customization should work","durationMs":26105,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-455659b2d17f62c06d8e","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Domain - customize tab label should only render if it's customized by user","durationMs":20282,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-59a82d5c1ea5278c7323","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Search Index - customization should work","durationMs":24661,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-59f9c9ce01e8f4c75fa9","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Validate Glossary Term details page after customization of tabs","durationMs":26656,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-658ea4555cba25bb9b09","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Ml Model - customization should work","durationMs":27643,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-729b695acd411ed7fcb8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Dashboard - customization should work","durationMs":26531,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-75c1ec0b785dfbe2e9f8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Pipeline - customization should work","durationMs":24751,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-81ab6a13446be00d2236","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Topic - customization should work","durationMs":25273,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-a1007d349e35f17016eb","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Database Schema - customization should work","durationMs":26953,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-b83e17354b58f3885232","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Database - customization should work","durationMs":29262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-b86710bce42df069ca07","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Dashboard Data Model - customization should work","durationMs":26691,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-bccd2187cd76d2275312","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Table - customization should work","durationMs":24598,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-c23463689b6a02ae53e8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"customize tab label should only render if it's customize by user","durationMs":29740,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-c77322af934d1f2cf284","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"should show all the customize options","durationMs":10441,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-ca3857c050b462ada785","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"should show all the governance customize options","durationMs":10417,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-cda13e1a745c6788e3ed","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"API Endpoint - customization should work","durationMs":26237,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-dc93b1114afcda98e4d8","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Navigation check default state","durationMs":11225,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-df1705426fee23699c44","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Glossary Term - customization should work","durationMs":27424,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-f36a44fc5a95e395227f","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"Domain - customization should work","durationMs":24262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-f67ada2b0e7642366d4c","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"should show all the data assets customize options","durationMs":10792,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4edbfb1b6fddb316551-f6f733b3ac3589b9dfd1","project":"Basic","file":"Features/CustomizeDetailPage.spec.ts","title":"API Collection - customization should work","durationMs":27227,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-0205ffdfc585cab01ddf","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Database Schema","durationMs":349439,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-169d67f201cb81f89740","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Table","durationMs":169899,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-642237d4a41dc49da1dd","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Database","durationMs":330383,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-95b213492138666fe484","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Keyboard Delete selection","durationMs":142361,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-bb8bb17e2fefc0c05203","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Range selection","durationMs":37967,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4ee211d44d440f1499f-f582fd9991e819296458","project":"ImportExport","file":"Features/BulkImport.spec.ts","title":"Database service","durationMs":449031,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f4f25d988842201e6c20-ae24e2a0aae5144bba18","project":"chromium","file":"Flow/ExploreAggregationCountsMatching.spec.ts","title":"should verify left panel counts and tab search results for normal search","durationMs":14222,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f63edb310b70898c32ef-404b1e6d790711af858c","project":"DomainIsolation","file":"Features/DomainIsolation/DomainLineageIsolation.spec.ts","title":"userA sees tableA but not the cross-tenant tableB node","durationMs":7993,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f63edb310b70898c32ef-80db248d069981e2eab0","project":"DomainIsolation","file":"Features/DomainIsolation/DomainLineageIsolation.spec.ts","title":"admin sees both nodes in the lineage graph","durationMs":7737,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f63edb310b70898c32ef-9807ba0d848bcddb4727","project":"DomainIsolation","file":"Features/DomainIsolation/DomainLineageIsolation.spec.ts","title":"userB sees tableB but not the cross-tenant tableA node","durationMs":7262,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-059206e1428a5297d108","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create TierUpdate task for Topic","durationMs":406,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-408ca4feecc6e89950e5","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create OwnershipUpdate task for Topic","durationMs":1565,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-448a9a33c07636db1183","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create and approve schema field description task for Topic","durationMs":461,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-9833d1f4ad179adb98f1","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create DomainUpdate task for Topic","durationMs":362,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f79bc63730b3a4ab9a09-c54d52f5c5aeaa552192","project":"chromium","file":"Features/Tasks/TaskTopicEntity.spec.ts","title":"should create and approve entity-level description task for Topic","durationMs":352,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c386facc843a14ec19-6a408855f47e7887f923","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"live indexing produces searchable separation for all four facets","durationMs":31961,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c386facc843a14ec19-ed35b4deecb9ca47009d","project":"Reindex","file":"Features/SearchSeparation/SearchSeparationSuite.ts","title":"SearchIndexApp recreate reindex preserves searchable separation","durationMs":31907,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-0a44a983974730b89f64","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-H01: ME glossary (top level) children render Radio with ME behavior","durationMs":15179,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-3fcaec003ed89f7e3e4c","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-S02: Can select multiple children under non-ME parent","durationMs":15733,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-5651fb4202fceb9735a1","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-R02: Children of non-ME parent should render Checkboxes","durationMs":17675,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-5cb89ffa42856f160ca8","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-R01: Children of ME parent should render Radio buttons","durationMs":24195,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-9b44f296c9a6d33e51fb","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-T01: Apply single ME glossary term and save Data Product","durationMs":15830,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-9c2585c3aa05ec0e24c0","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-S03: Can deselect currently selected ME term","durationMs":15023,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f7c7d30f69242f500c7d-efa1868c007a3e6cbd21","project":"chromium","file":"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","title":"ME-S01: Selecting ME child should auto-deselect siblings","durationMs":16764,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-0dbac478b849946a6c3c","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"Tag - should handle multiple consecutive renames","durationMs":21915,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-17c1918984f0172bbbe9","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"GlossaryTerm - should handle multiple consecutive renames","durationMs":26854,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-725c0e89e0d163df757d","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"Glossary - should handle multiple consecutive renames","durationMs":23872,"attempts":1,"retries":0,"outcome":"expected"},{"id":"f81c31bc13c7bff34728-8c9a6934d3b95c2c1d12","project":"Basic","file":"Features/MultipleRename.spec.ts","title":"Classification - should handle multiple consecutive renames","durationMs":21651,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa42a344a1491728c88c-ca790fdf6e37164c48c6","project":"Basic","file":"Features/MutuallyExclusiveColumnTags.spec.ts","title":"Should show error toast when adding mutually exclusive tags to column","durationMs":13975,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-1658d542d353f5e8537c","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"success state shows Done button and hides Edit Connection and Retry Test","durationMs":11567,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-168f03efee35ec66edfb","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"failure state shows remediation card with error content","durationMs":11831,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-2c7d4ad226db72ac9f82","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"changing a form field after a successful test resets the connection badge","durationMs":12128,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-4b58db22ce037337317f","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"raw log toggle shows and hides connection log","durationMs":12249,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-8cc727200eac97c77b66","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"Edit Connection click dismisses the modal","durationMs":12487,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-8e06fc7c08d9ab043ed2","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"validation shows RJSF field errors on first click when only service name is filled","durationMs":8586,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-b2346dfc921ce5e28a27","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"failure state shows Edit Connection button and Retry Test button","durationMs":12001,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-e8d2f77fc5c536d510c7","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"validation shows all required field errors on first click when all fields are empty","durationMs":7884,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fa5f79ecd04956bda88a-f124d2edb8c14295a059","project":"Basic","file":"Flow/TestConnectionModal.spec.ts","title":"modal opens with gate card and capability checks sections","durationMs":9183,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-35df4cdd13ee89a8d38d","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"Different user can view but cannot modify service owned by another user","durationMs":14102,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-3c28749487fae15018ac","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User with service creation permission can create a new database service","durationMs":10314,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-7e5ca4567f5a88b8e298","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"Owner can update description of their service","durationMs":7011,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-8e6d87b24ddeccf497e7","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User can view but cannot modify services they do not own","durationMs":6883,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-955a42cfe4f501beb1ab","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"Owner can delete their own service","durationMs":7609,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-a51b62db11ad9675f612","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User with EditAll but not Trigger cannot run a pipeline","durationMs":7286,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-c733a081bb38e4e8f7e8","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User with Trigger permission can run an ingestion pipeline without EditAll","durationMs":7419,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fac4eb6fec988313873a-f200b75084f8b2928afc","project":"Ingestion","file":"Flow/ServiceCreationPermissions.spec.ts","title":"User can update connection details of their own service","durationMs":7360,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-00b4b832ff041854728c","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"renders a description-updated activity item in the feed","durationMs":16240,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-264131b8e9c311797619","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"displays feed content in the Activity Feed widget","durationMs":9901,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-2cc7490b8f2a552d8433","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"adds a comment to a feed item","durationMs":16542,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-38913b446c5ece4b7589","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"adds a reaction to a feed item","durationMs":18000,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-8501761be150a7ac4fe9","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"shows the activity detail layout","durationMs":16628,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-a2e412bdaf9b280ae91e","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"creates exactly one reply and isolates activities with the same about","durationMs":31729,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-b23432aca7892b48a5e2","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"routes each Activity Feed widget filter to its own endpoint","durationMs":20958,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-ce699d538b116cbec69b","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"removes an existing reaction from a feed item","durationMs":17992,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-d48cfc9fae2794bc1d35","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"shows Activity Feed widget filter options","durationMs":8438,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fb7cce549039f779ebf8-ffbf0a15623c2f20aed0","project":"chromium","file":"Features/ActivityAPI.spec.ts","title":"shows the followed entity activity under the Following filter","durationMs":9549,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc426d31c2c6443c1be6-05800e3a4ea5b64d3da3","project":"DomainIsolation","file":"Features/DomainIsolation/DomainListingIsolation.spec.ts","title":"userA sees only tenantA on the domains listing page","durationMs":7164,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc426d31c2c6443c1be6-4518202e8a9e1f36a215","project":"DomainIsolation","file":"Features/DomainIsolation/DomainListingIsolation.spec.ts","title":"userB sees only tenantB on the domains listing page","durationMs":6284,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc426d31c2c6443c1be6-d5d4bf170dffa3f33a63","project":"DomainIsolation","file":"Features/DomainIsolation/DomainListingIsolation.spec.ts","title":"admin sees both tenants on the domains listing page","durationMs":7865,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc6611f5f281a4e45f8c-75cb78dafb20bfb5e68f","project":"Reindex","file":"Features/DataQuality/TestSuiteListAfterReindex.spec.ts","title":"Basic test suite stays listed on the table-suites page after a full reindex","durationMs":1196,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-29eff01a200d84238a47","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should create glossary with special characters in name","durationMs":12841,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-2fe6a9452e85458797d7","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should show history popover on status badge hover","durationMs":13026,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-3f4b2313c27eb62355cd","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should show column settings with custom properties option","durationMs":12523,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-439407dfe7f6467e411a","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should create term with Draft status when no reviewers","durationMs":15094,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fc98c2ae1ba121e6dceb-fb8b4435543932423ab6","project":"chromium","file":"Features/Glossary/GlossaryP2Tests.spec.ts","title":"should view workflow history on term","durationMs":15520,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fca339b293d5e065f784-0714e6ab930bbfcc6ca3","project":"chromium","file":"Features/AppMode/AppModeRouteIsolation.spec.ts","title":"a backgrounded route does not fetch when another route changes the URL","durationMs":13380,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fca339b293d5e065f784-791fc866582d60756bb0","project":"chromium","file":"Features/AppMode/AppModeRouteIsolation.spec.ts","title":"returning to a backgrounded route revalidates it","durationMs":13879,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fdb594bf91641dcfe81f-97569a3fda3bc1af5014","project":"chromium","file":"Pages/AppRunsHistoryLogs.spec.ts","title":"External app run logs open in the LogViewerModal","durationMs":11803,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-109f244e567c8e05b18a","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"switching to different domain triggers new feed API call","durationMs":10801,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-1112ad59f3cbc8039e17","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"entity page activity feed refetches when domain is switched","durationMs":10709,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-4957bdf2b1993328fb92","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"switching domain triggers feed API refetch on entity page","durationMs":8470,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-5fb1a3cba94644d690fe","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"selecting All Domains removes domain filter from feed API call","durationMs":11989,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-66bc79b3489af009bdb4","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"GET /tasks returns 200","durationMs":98,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-6ecf643f1978bd72b573","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"task count API returns counts for created tasks","durationMs":30,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-ccf80dfe3a0f263a9e03","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"entity page shows task cards for entity in selected domain","durationMs":6564,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fe0f7d2a273d6b11a284-db696b7c8e033f4adfa0","project":"chromium","file":"Features/Tasks/DomainFiltering.spec.ts","title":"GET /tasks/count returns task counts","durationMs":46,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-46426b05e7ad5d6e5c55","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should perform case-insensitive search","durationMs":15064,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-55947400922d9b46072b","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should check for nested glossary term search","durationMs":10914,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-5afd99790393d19e9894","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should check for glossary term search","durationMs":12534,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-749f411c6ea7761e557a","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should filter by InReview status","durationMs":10601,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-8995fbfedb67c22e25be","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should show empty state when search returns no results","durationMs":9970,"attempts":1,"retries":0,"outcome":"expected"},{"id":"fed0153cfc145e829673-c161bb5dadfd704c3625","project":"Basic","file":"Features/Glossary/GlossaryPagination.spec.ts","title":"should filter by multiple statuses","durationMs":10483,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-0da857d629e3f435c6d4","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove reviewer from glossary","durationMs":15086,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-40c7edf6cee7c9c38346","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove tags from glossary term","durationMs":19057,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-4fb8c23497a80dd2fc28","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove tags from glossary","durationMs":15125,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-753d73bb076239505f28","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove reviewer from glossary term","durationMs":18257,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-9679675e187bc293844e","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove owner from glossary term","durationMs":17991,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ff7bd61b9b375efcce56-ace8963a89d7b007752c","project":"chromium","file":"Features/Glossary/GlossaryRemoveOperations.spec.ts","title":"should add and remove owner from glossary","durationMs":16374,"attempts":1,"retries":0,"outcome":"expected"},{"id":"ffa6959dc235a6a5b1d7-28b5728ddddb5976c831","project":"data-insight-application","file":"dataInsightApp.ts","title":"Run Data Insight application and wait until success","durationMs":53250,"attempts":2,"retries":0,"outcome":"expected"}],"localObservations":[{"id":"local-onboarding-chromium-mysql-2026-09-10","observedAt":"2026-09-10T16:52:22.399Z","environment":"Local Chromium, Vite, MySQL, Elasticsearch and real Flowable workflows; one worker","command":"yarn playwright test --project=IntakeForm --no-deps --reporter=line,json","measuredTests":63,"addedTests":44,"durationMs":793194.4280000001}]} diff --git a/bootstrap/sql/migrations/native/2.1.0/mysql/schemaChanges.sql b/bootstrap/sql/migrations/native/2.1.0/mysql/schemaChanges.sql index cf754ff79dfa..b408628dd43c 100644 --- a/bootstrap/sql/migrations/native/2.1.0/mysql/schemaChanges.sql +++ b/bootstrap/sql/migrations/native/2.1.0/mysql/schemaChanges.sql @@ -267,3 +267,29 @@ CREATE TABLE IF NOT EXISTS rdf_custom_ontology ( updatedAt bigint unsigned NOT NULL, PRIMARY KEY (name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +CREATE TABLE IF NOT EXISTS onboarding_instance ( + id VARCHAR(36) NOT NULL PRIMARY KEY, + entityId VARCHAR(36) NOT NULL, + entityType VARCHAR(64) NOT NULL, + configurationId VARCHAR(36) NOT NULL, + stage VARCHAR(32) NOT NULL, + revision BIGINT NOT NULL DEFAULT 0, + json JSON NOT NULL, + UNIQUE KEY onboarding_entity_unique (entityId), + KEY onboarding_board_stage (entityType, stage, id), + KEY onboarding_configuration (configurationId, id) +); +CREATE TABLE IF NOT EXISTS onboarding_task ( + taskId VARCHAR(36) NOT NULL PRIMARY KEY, + instanceId VARCHAR(36) NOT NULL, + stepId VARCHAR(64) NOT NULL, + attempt INT NOT NULL, + UNIQUE KEY onboarding_task_attempt (instanceId, stepId, attempt) +); +CREATE TABLE IF NOT EXISTS onboarding_backfill ( + configurationId VARCHAR(36) NOT NULL PRIMARY KEY, + leaseOwner VARCHAR(36), + leaseUntil BIGINT NOT NULL DEFAULT 0, + json JSON NOT NULL +); diff --git a/bootstrap/sql/migrations/native/2.1.0/postgres/schemaChanges.sql b/bootstrap/sql/migrations/native/2.1.0/postgres/schemaChanges.sql index 482c7f9c6d53..96767f6d5da6 100644 --- a/bootstrap/sql/migrations/native/2.1.0/postgres/schemaChanges.sql +++ b/bootstrap/sql/migrations/native/2.1.0/postgres/schemaChanges.sql @@ -279,3 +279,28 @@ CREATE TABLE IF NOT EXISTS rdf_custom_ontology ( updatedAt BIGINT NOT NULL, PRIMARY KEY (name) ); + +CREATE TABLE IF NOT EXISTS onboarding_instance ( + id VARCHAR(36) NOT NULL PRIMARY KEY, + entityId VARCHAR(36) NOT NULL UNIQUE, + entityType VARCHAR(64) NOT NULL, + configurationId VARCHAR(36) NOT NULL, + stage VARCHAR(32) NOT NULL, + revision BIGINT NOT NULL DEFAULT 0, + json JSONB NOT NULL +); +CREATE INDEX IF NOT EXISTS onboarding_board_stage ON onboarding_instance (entityType, stage, id); +CREATE INDEX IF NOT EXISTS onboarding_configuration ON onboarding_instance (configurationId, id); +CREATE TABLE IF NOT EXISTS onboarding_task ( + taskId VARCHAR(36) NOT NULL PRIMARY KEY, + instanceId VARCHAR(36) NOT NULL, + stepId VARCHAR(64) NOT NULL, + attempt INT NOT NULL, + UNIQUE (instanceId, stepId, attempt) +); +CREATE TABLE IF NOT EXISTS onboarding_backfill ( + configurationId VARCHAR(36) NOT NULL PRIMARY KEY, + leaseOwner VARCHAR(36), + leaseUntil BIGINT NOT NULL DEFAULT 0, + json JSONB NOT NULL +); diff --git a/docs/assets/onboarding/data-product-onboarding-builder.png b/docs/assets/onboarding/data-product-onboarding-builder.png new file mode 100644 index 0000000000000000000000000000000000000000..691c843310543b54c4558a3bf56c63d84aa99f0b GIT binary patch literal 54545 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 C+E2^? literal 0 HcmV?d00001 diff --git a/docs/assets/onboarding/glossary-term-onboarding-preview.png b/docs/assets/onboarding/glossary-term-onboarding-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8570cc3e266bf5c09ed567e914be5c3e57780dfc GIT binary patch literal 51709 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%0DNtPdC0gp;X! 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 literal 0 HcmV?d00001 diff --git a/docs/assets/onboarding/metric-onboarding-board.png b/docs/assets/onboarding/metric-onboarding-board.png new file mode 100644 index 0000000000000000000000000000000000000000..95b5fd31f76a952f0d224dfde90c47bf2302e6ec GIT binary patch literal 98242 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%0DqKAK)Q;BV?e3*exI5fZLt( z4!Wyzo6oQy5*zl`M=xSTl2h!Ott($c;ft4j2IF3Tjd^W3^E_)$cmao2oA z3?A|$;Q)%nw6vF9Rqf2rnWIxv<)TMBr5uh;|2=D8sdoMd!+D>(!x-@uvqAodSi#(} z&=LGMOSH5+FwlZX^b$m*iUb~{iVD`ij+OC#P-^>&_S;11atL$JoB;L^2jNA**K*}l zUTd!Ge?&8db#8movZ-11ND^t;#;#wP8^msr(*K@ZE-0p3wmA54Wz+gbQu1uimzRf{ zK_}&GjXA&m$Sf+eEU9%8%ja^L?|1n{F}FV8eM?KzORB~8tg#6#))2cnySM-;)Kpeb%765x56x%K2W8`(f_XPWglH3~*n0BvnBqJYnzAcl-PW5~Lp|I~zZq1?ln<-ocOXXroy16xj z@yw4inedZQfN`lKszu4*|CBi!8u=-elv&}$7dhc(gIM30zYi{waTe!yWtd5z;|Se9 zBEw_R%LcNSvb?z1R9jn9tx~Hlz(_7Gyf0Xm6A}RS(A~KvKwD0FliLRmRG& zo6YrTAT5WYG}-s<{{CSPdO+(r>q?Z!+yxpTN*s3-v@Izlo5lFlqod1Lwyy9=46Zwq zr>=HDizA~j@`((m*?8*Lk00OYUPwZE%K2T6Am>J$(4{)-+gUPv9Fc|(sdSH~DU?1K z{!cG}0mEyi7~_!NC3fApLW9<43C$Hru3MtWbYH#bADNCik=KHphU_XhY3 zsNq8otU>ijc2n6>bCW5&l7GN!Z$pgq0pjUmn&0QAr>&^?t*UCRV8u^XF2`3;hW5^F zM%&K7N5O5%!8pKiVq#{4gxB>g&+EbQ4wvcg_sBOM{zJpk^74so7N%{BdJJkXFkrv_ z)j<;#r9vAYPQvxw`vn0lSM?|QGfZ(NVw<6#3OM-qN7{?-i~B-nOEuOpe1M{+OaJa{s8bL$F|VrS1LV18sSO+FSZHf63HwL$J6G3#&8FeTF= zQKA#athRC+WbG`X_51GzAxG#>(OwRX<&XAky^j!8@Vq>Km;Od1;wE6cF;QXWrNgy2 zJ(K(OvptWGvmA0n29?{iOkA9)EM;o?$*p6P-D69KX6%n=%%$uGy0!{Iox1KroXPWh zbhK=HN4_fsMa8W3(|N6WSP=&sP?T}C95qA05I>otXsYBrqU&mq&)_b!^?bv+u3#Wv z$*-}+!x{A4FRRSU(SZ;FomiOIE{QsNM96--GrMPm?fNmdM*MTJrwIfyZR9?(x1PdF zFRN`^-EZ%s^I3MMie2v3uVbLlfOG51y@fC(ZxodGI&S;tCukY!s-Q^)n5s+z^q_q| z^k8Jr;_Y_a`@Vm~C}8}~`!Sk~W%@O25c_Jw4>>}Vyucyod3BZej&WzYHTF&nyo9z< zPsT#JaQ%J5t@OB47gR`Qhf(Tpxen@zJjk;A5#x}Uh)k-s6=TBa+|GDzGZIRuB(u_P z%nKYA41Ds$yZ6DqGIz9g4b~vTpl+wl;e#C3cDdZw>CoZn&;b6Y z*=xhBiK}fi22cQi4=W?uPXInY>gF>WQ{g`(&&GZovzo+Jrm*CZ`6h%Oi~T-D6Cfsg z()>mYn#(lms1dum2Vdev*NQtA*(y${@jbNYFjMW<$308@eqc0|JxM-il+rBFJ|-o= z!4)!_RWo2+PHfq*WV-Rq%|j=8&ozW;Dm@~5`B!*^RB!A3TU#Zc;!LJcZoN<;N0vkhWC@g~ zCFqvAz)ij+Ki-r)B0z9H%@W!*DY`aQxhwln}X*59y8Z^L)8LT*$=GcNUZdu zP$ZIzV;UxGejB5Hh>>kW=)m7`anlL`zo7i_2m=BW^CY6bK?=wx6D`t~J-#gOj-& zDYR{>unIq&-?J|~B0?d?r=spqYH9FW?>3-Ds+X-dY^M{pcseh(9Q}x}Lx{fJ1W^r2 zBt)D>_F%+L$5X0Z#Y<0b2J8J*{lqGZl*c(G@^FSiztITdCAxZ5(b4E?RR@{!e!oJK zkhi%ok2JvWsUCn=Lb9Nhv3t=`IZMA_K&;%LLYb47t1=Konin^j3oL?j-imGdF}QVy z(>>w&IBu8sYl{nfDl|78JtKaig7=uL+ZVPUx5BqvkCkHFXR@-7PbkC4TzRo>xWsX zZp+`oV#cKR8WduQrBawNijQRgv%raxa>5`l=xGSO!UoQ!Pik7Sfk9c@yW)1d9Vv;Ym1rZOr) zl-`0w&#%OsxwR2>#%^>ujk<*FhgpxtFcc;#wGAD#l3BXy3bJk~zCUm!JUE;3()Wz& zCF#mP;J)(L+wj}WVw(S)C!sE}%dFlEx+Q}ct*0-?G_23x5PM+4Vxq=6aZ(y5IWtPB z#VbpV54KT$C^YRp5xQXAxy>uiZL}%~qYo@plV{M0sk&2Tqy@-g36_C<@A$p9CJZ*ZAol_s8D^u)VzIzbVgt2n~7Zd1ZKz(7GrQB*278RjU zA>Y2ej-89?BO z7LTdxuGvgiX*dCjD17xrH+r^0bU+~zm-XSQFWlq!(>$;r%B8)j z1d!ndg*mg%X`zI9$*#95sJZ5>vrAWE`jgrn+%PBb=Dv)>B^7$<(*}w1t4K=CVKp~3cbutEnnij{59Ef77`u=SOFKOT~2788T>NiQxEkt#f$lmh{Oa~ zWItx!13)yl-GXtC%Imuql|==7n3>bX=J3lFw5C#bka4z zZ3b`oblv8&#T&=T!~}tFrjpLq-0jxh^MNu~^1bEiu_L z)u&2K;iQvO$_qXWL6b5>V%GXY3R`p)+-v=q=-F&g&@LzR%$iQVgp3uo(vX5W)4Izz z8mn;SG}kGme%4CWY0`>|@;k*mX#Np@@`Cd_s-;w$jAWK2Uj(aEs3PX%Nc;X6&Oha* zQuDCfKTiH27~5<**ABj&4btK>F#}wdxbqsnO-% z46~l>Ct}WcNP4@@nNN+lyV*|dvh!OuZ!L7|YIw2&*gR#CCN}uz`v>H|s8)RG85RgE z_|%a`qwe~~FFd?Ks~bhu~7FT$Q#!tQhb(blWTHGBV2-DVh<&EoayL^3@tKsl8$&y}A(=$H6G-mUj6Jt4I{0F% zSHCqR7ViIibHkX^MEX+j*WzGrZ^qIgKrea(mX+FZyoY2l;hv zou!UlY+NK)yZyTRuDL>)?tI1?8orq84Oj zrMWm+>1-?ko?lL3B;l>`OAHkaG7?NGx(%!=)j%jcUW&&%yWVFyvUCZDHTmsi{cVxye-;z7R=SDlzlgtKK4Yb2iKbtHTkBWrpm*a&N=x*h7X`zCSH`jX`<`xU+LGg z{CrzejG2Q8thU~Ag#{@>BaeJtfC_ZYO&E&R0~P{>5z99^_u3=uPhJth~11} z7%%GM>6US(3lpQ5&mPARi-!JBFF+&h8(xspuIILE$r=2qOODSPW;&H0EuZJ`9o2s8 z2~_9dbV4V-QvURX>al&(!!Zi(R^ohz!Hy3@u_%_h-FW3pyE~}s`Qz@BIEoBFb+7oK z@6U7q6ukhytTLTdFt@$3W)75SvWNFb0Qq#^zCWoRr+Q!q%@_`zNCv`>bNeBK>M!0U z`v*2a??FS8&!%{%NR?sC(z-&^^ygtxz^bFU zEC-5#Ai9NuvldyxrXSy=W(aoiv|7AnJUlknPbfFa-)9JSRZ~bJ(b6xEk>QrVW%*~; zhv5Xx{8;FoJQ1~1G9NPUmeNR~ifW~ck-vNTV@lKIEtg6{N7>Ag zXshG(FjUr|NBahbpH5%K+IQ5QT&=Elj_$0wBV|4Ozy#psWY2T>4E$*-< zlsb;B(PhgUzz&j&tEX4DHM>WI6kYLcA%&;Ls@0DnX4DUhel!nv0;OKOmSNjn#dV?1 zv9!1hNVplgDXH5LN#stOObxE^VSxAl!3Z9t>Sgj1hTpID5SnXt(xw|(fw_?v2JQ+Hd(6YcVBQQP5KEsT&&c>rZ%0mzN^hz z;ZV6!U;ji)Ak4}DCTzNIvqSBYqGB8gw+AT9!d$gdX>sH|*}|LwW421dY>K0O*HdrD z4>=i0GLQ7qNAB3OqAQO|?M>^V2Erje4Y6NR4oB*l%}$JrjQFjle~QaYNxhCD3Cd9$ zFoPk*r+@Z-e{-=boyr4!C7LSfBbWMne|B!}_eglIzm~7e__D*!*2lZ; zOn;`}y#3LdwL#txFwQn0CwNv|>8UF#B+H#7P@^c&SiFa-YN7pSz()8fPhAiJoB-{sLyXSYkoxQxnVenzcY+5$h{B- z$&WP~Tk?r|o|wqU$V@4h@o|$8jcH~M=#D6stNm+U_!o7%6Tjc^3-a*`7Hd&0u*lk( z=6IjUc_=q(N=7@u^x1H?cN=kknC>d7`0QXlMkyl31)c1*3rlp?-kaaYiCfT4$ zsTDMi>MSA7ttR)G+blSRWzDk0t;{f}tmFt=lHHf55`Hzr*0%CvGTsbw& z>H|zrn&;?)^HG5K0mj7S^0uXeSNju~Y*y5}0flb1F-k9CUPVMbJv}Di)$i$fSdAsl z4!|Efv)b>?IR2PH{K&)YIMbTYGuH0+^$<_<6~j~={04*=Uf{J1eK@Typ&xEV6#3oxs@ zyH>!@tx9oUU-xJIl}hhFc- zaO0{*Kb;Gnb;4ikj6WVD2+L7ENybWiiJ9cDw@6JHQgJPmo~;*z zzcn>6Q^pFnS^x3MfOmySZL9T1bxe$^07QW61t#IN&i!Iuy7wcC$_SO+oqq4U);D|; zclbl;eV7rXoL@a6w>7?b9}>`(73jUq4(zJdOWzZP%3p*$`_`$-^O#j7})SCP9 zvvUQ-dwEKQ)WXzUQuMb(DGM(SB<)Zy2{t;^RJ87!YTObsen=3AO9#i7ZZ>Od6#VXx z+q2RyErD_09O=g)YWP>DKV*gyy6t?}gVYI{H#`~&CA-RD;m0ohrM9CwC+ymH#MxmR zP=-9}jDHaGBJmuo|NOQW79On}rt(GB0^uWopD7b?k30u<_K0wHW(-yb6 z@>mwnMxC-4sULU)`vfQkfLSQVfzm{v9%rlI$mw!X3_Nr>38NYM2l@+qxDJV`JVYRw zuA7O^?S1*{;@Jwl;?F-b#uW8N0oIm!bXeeN-NAHxbkmkc^8AZ(+yEk0@c0w*+cXy? z73Bx&g97qxrL(*#yZz$u`26TwY4N% z9;hx?u`C*{{rRoOpijqW(BjaJW656ZJ{~Z3AbFT=1o{)Q9Er!}2m6yNc9yAek2TfI zOL04Flhv57Za#vIGbEYFEs3~SMI&>uua*---=}v_C^52Z_o!4hune~fLS$xm(r(?6GDDnH`S=IRoB)Q;@o%7d(h%OIieygl@T;qL zl*S!nuAJuYVCS%Dv<5HSi4(`yQFn4FcTb=!OoLIWbngNLDQ!t@XKuaLuM#PH z^Vxk}*U15iUc2Q=bjRq9pi;wK zdbd*+YKrTuUoC4WuiWS?bGac_Xz3?Kocj2(7FE^^Rv(JS{1!pgiOzxInvwEh-aMXx%j*@?l=i zTT3t8%3(1`7SUSbMbi(2yAQuuwQBON*o8E}pu>}9j$IM`!xXUfe#Z7^F-q%tlVpX; zr(d@HI65~%e<5X5SdtY%SmcK_)gKW|D21+ob+?dGqYq`EVRge;vEw+|<xEMFP@9!O9z<1ba5rB0qEfNi0COob1PDN0nUpPLahN zUomMIT0>yV!2k{(?`{>$%41}0UWL=e#;+qI(4PEX0oG-Ef4s>V94`gj1?^T&+Yg7< z&p`NXJHq_~{G+F?U@G_>L&# zy*Bs#-O=KtUSlH%v+n;@F=j}C*h~N&1LQylS632FufNO^lTYt*Kp0}C-|gif+1r(M3n8=h?_oNwfQJI&N#)acl>K_3r=t9A7q{(G~-(?#9@=*qISm z!_~O-qex`4+`p=z_Gvr<59Zd{e&_ zeRldW#@;(60PG9BhmCeq=Wk&ju!BhDtDgC>xzw4H13t22@W;N#ojYeh+OJ>Z+!|hc zF^e&G%Kv-zd=6x;Reju`5YStY({W2CAZF6yN$y$usM(V6@}_S*K4z6#fuP|kJyCzr z8=u+0JmYnv`|Zc#T0PPf2KDj<6F_~cJaKS1$?k!#C>6S{Z61&bxib?BZH#CQXp|8P zSte!6PA zMS_2|BL40tr*a$8X*JgBVA{FAmYT=`T;Q$jX&kb~E98fRFzaF1QQ!nPRtf4}v)l z%|3BgH}9RasngTHHw8ys)n9>RO>XNk3;1j<=n?t_gqvl2`dJqH?@cGdGc-2s!z?Z; zQts~;8tWh92MN+MeUSkTx*rdv!a**nIw3~y>^vUc=03v240;%PR+f`c=_{Q5rPgzg z)8)p(LX-tSP9uI}60`r$AZpqn#KR@qw<0@W?8>ctl9-s#!=wIS#&a7acWn$bth>kL z$q~8kjrk&1*HrU4?~oD`o12;S|1AGES|Q_2ULJ@~N=L+u~u7}jI}?d;(b%FJ@UTX2<5kCRi7R;XsN&c||8X-W!|Pgc+ZdZCao&`os5$T>+hTCW?+Z?p^rUE;C`sTKZ{nz6Shvs zH+7AsQOd~V>|8A*^gVwL%ps=rI1nETmFQL_g0rnbYG?eD^ApS9pFb#fYUTV|1FWHw?7;qroUFjwxJd&Q8vEc$@-n@u**kxRucDcGd7IEa z<5PY`Acim>)_Ql~(klGMS>60W9+8Jl28J!~kX^a5|irZ2ZDCgA_ z3>5IDrz8JD1;~o6RQ36q?a=siN5@m|r&j>JY5))HW2GZOzKWRZiZ3vhPu^4~lQ12x zA@1xHd3j_24EfGdT~ksLQCQ}R2;9@m?DR~x4nZ0nz)?X~EHxF)xQEMrXCjCV0Gz7# ze?}@c79WnMN_@02I3xa6TRD+lb<7yL5arq%+d*Ld0bY zcycUEOiU&X*b?I8IIO|nqoPdAv~xOK|7enzix=ImPe18yRfePg#HV^qy&?6Qx*>r=hfe|%hxSh;u=HK&$^R*u7x5Lr{7*-S@V|#D9YGrTKT3vhANl`V#-H6w zj!%p~^5-K203BF)z2xR*R_*`(C@g}bdDH&y7YeA<{(t|@|LPDG#hl|OD^VedZjaR{ zR0yt6N??h|rcQaaW0kC%tO&UQe*h{tuc)Z{2BCieE3{prYyJ~>$Ank7X+yuO*+t^~ zjF|rC_F?|D6`)pLJyxD)@#7|w#{F+iY9OXHT*m*EjFpQT9{Kl|5ER)8{$52|S$L&| zE}ZStS*Gf*-9P-3j5p)j)@;Wi%R_<6NPn-nu;IS!Cl)iSi;^Vc+>xInB6gfDE3n$N zm{`T4<24vNIHhRa1cYFO5`3W+Lzt-s*Sn=4dz5YgL zk>k@lB6K|#uLq7b@PT_R8AXX50w|(D0%SXx^T_jP-(5xmlUOrb+w|}6BZy#T@O+ng z4TJ@#m?+8cDHAYY=Ggp|ZJu0vINa9<;sAhg1pGUG0Ogr?%O#m;nxJQc;ZPfZy6q=; zxLBE(nR&S1ZelqC+;OA*iMFDBK}d*7k83F)c}$-Ow%&VQkO5#92Rr-Dc(FCe8?i7E z6&;%-^@Q9#2KKXLZp-OHF>730Tq58YosiM^2nZ5@1% zfQ)R{z4=!2%kV!^zG~<5c6XndSxumyZ9t22vzRl2eR~DAlprS$9x(9$%8U}tDkTj` z^TU!t;G+V0RB|z&}%6ExH#>Z*$!A>%e?eZnRezVO%_z(kFmOUhp#p}VBQsLG( zB{$bSH~0`#U%ONJ$w@`@0x$sFuqj~zMSF}?z&ip;>G#;V`O<7-ufH$`8I_UTvODnZ zHj-cns4NZYA zfqL6Vrn=LO0(;4h7!=FISD7oIUAdDdqm_RTX{?G+tCE;tn!9ZEUK8&U2zqzAJUR}h zglq^I=#B{_b|RlrXk$AHwhOGZo#bdSm1vD(!W5%YnV;u`T(8WWWX?F4S$UKZanXkY zw~pd2@Cw~|#FS?l8<}!nlD&P2iyIvqo7%T^G+QensiWgMb(`_wI+ck*-M-Cr4HIK} zZU&@BCb7Zog6$^&)P8xVTmD$*OoEu}$m?WRE;cv~plr-9i*rm8nEC}hSES#)Q&qIL z04mFg)#;tWH?%tS$PpUF5;Z^xr1IVKb~rE%OYMvRf%byU@hcYloih(nn)XF#)S3fy zXGHU0trg+^u9tYn&f2ocqBw)&DMBtOvk=1Z9`D;Y6im$Mg%lz4*;+XUpx((ZF3twN zH)4e#2EYjeY&2sFP4Z`6DSJmdZCJa}F)@`U*NucuKvpJmnYp`=ebzjqLKk(w=j=7u z*#>-}7JuONH2180Jh>!QDS-WzcyF~GTWH8!=KTo-UInC34W3Y|*PIkS$;{>dvHW*>z9hjJ| zzDIs0#sKX7H)0v&rny*8CGZ=r2XHLJu&EvdGtSQbt z&j#?^ffQ=V{aX3g!O1v2n3mZ>e_)3BT&$k|P*MRwQE}_*%~+^-W~MuPdwF@eScI%6 zvtfMLL9YRIiCIuY!61SinNH-AYQ9n&lTO+4(gboO%O% z>N8F_^2D$1(oDYi?^ zMamL7rBQ1b268^_F|o9^mpu=;X{UTqRi`g6C67OHXlhuH-G8Ucy_jQt!c)_4$*MTU zSzy4Y^Jjx}zhayZupgkzHkVJA+Nk6QQdIo5WRf5FcCjaYMLkcJ6c^`-j3pU<7FtH21 zQj*k>5nE%RLH`yMMl9exdovLNf?f#`Xv^4Mx0@&WzBJ%#>iaAZQhvifH+ne|cQ}z~ zWVaD!j3wC2cXPYsFL%tvo)e(1#e^9_XST_#IeA(~z2xzw04$zB{C%-KyVAx2`U}f6 z&w{$Z3h8yS8U}{jniPa=8E!3&oNaG40LQnr^;PyiU6&=XlsbvS+lKOp6@6LPf!Ur+ zD6Mtt=0`KQ(TrKM%Vj~s8znwN606hBPce(ga|bn|aT$DqDRCZ7bwfc=h`?CqH0?tt zQg{sD?yVi{`P>YO?-EM{Bhqdfy`wV_pz{%x*j@O{olWG-bFmwz{G_2g3!j8Z+I2mN zy-U{1Yc<}-xaI#L2##60PY~n=JeI>o5M2~^KG14xDI)R;bos$7fo*63MC18CFzd(& zt)(57t#zYs6v=pYEO}i2-$lR;w{!SBd?9b2Zn0>C_}nRJTmjIR@jgBd%2|(*#^nd) zL_uNDi$GD!I=7|Bf`Wvhy?F523Vgb9Ug$oktyRBp6|&=gM8zX9JSc1nd@(<14NZ)= z7G&3C@(x2w-u^0I)m*v`%tD$Wi#Tv6OP%l$|91A~=#VcutQSR#lR`AF3X@HEnfLtU?`MBg-HuO1sz z^K>j;XPTgw9s{{gh}u>}o9{$Vmo|u*NgBCg(q0QZYK-r0#=ui0*kjNk0&+s=< z=?+D@TVT=M-K8QRE!_=^Ty&?1bmyYGyF2cKd++ys&l%^AanHE-o^$vQ2IyMrSI_gE zbAIM{_3D^^&DxpsEpzomeCHG~M7#ZQn~mwmG9PHmz*c;8 z*lWjd($1h>QR2`IrMXQqGtOzUUqKRfU0pB%wd0$UH8b%mckXjTmFAyz7q`oGPskmw z8y?GmTM@TcA4@=BOwqJ{cBa+|=#eQoG4a%gfK{nYRwVea^ZSVoF!AR5P0-?L3yGO8gc--bmWUj-a(U;M zVGAOGAx|BvW}z_dD@Iv54g!zG_lL)p*fd^Md}m~>G>Wc;jt)vuc=VI)yA<6-i}O2~ zzC>Jy=v?JK2gzbX9*U0A#TkAXUx2@yO)G$S@|XS+lfH%Qs#qj#m&84>U!@!YsvO$GANnt#+3u4{Uyt>Hovgl?R zZ3B}MlbIp@>>#@0%f|?<;_(~`A}2Ih;d%^v<+epSM#ihUmUhDQT3Jt+9C@l=B_x-_ z_K0sxuPf&l8T|YQoMVb+Ynk5 zWHxQ!Hpegj4cGgWF0DQNK*b~F&PLbHFTlaL#NMudiAKv)C{jb=ZJZ?I8|*;fZ5gVt zn*#R=c8ekH&O?XXT$4kLdglwM?c08UgT?)O*7sG}{X;rZs0b^)6lyTfl>w%QiJDqG z5YtoG3~0F<)uIBxvv%7YhCh-o^_Bxqa3kL^I1eB`Q zxp|VCwF6p2M*6Q8hEGjO8Q&n`7~C;_4iDZO1&H0gHeoj3M$3_>$wo|Rvaj~}zHe>< z!NkU%vdm?QNZ2M|0}$cG`ZS7;>omE-6AAKKVVoH7Lf=Mmm6cYvTa3G)7_+V|W6?L1 zG8zUyyMCzh(p8%dJrUs)5!9&F6U&}Nl6jC5*r!Nl2;9TtTw{eoSSIwgWy7hp5NS(T zp}L1RQJ{AO^KYcdJU*QVccMD*TBO7N=C)57tWHhBK!0YD#I;??3qmEy<42LRg z_f)e&ZucHiJl-S2;&`*tKsEJdog_yVjNG&p-XI5`%v4x4Nfa$+f*j++_EJQIpI$NK zt6R2>n9Di!r_?;wB2Bq0(~TcyG8nATb4EWn7NM!=DZvLZ8%(2ZqRz<)y&4Z86+trt_+TD^G~Hu3ZHe*9i5@u3 zwv{Vv`ge}PFHDf)YxxFA6e}`fDLTUnYCY}uQgJH?r;Rn)CF;bV`SPNj<}R%_p4`?n zSEvW)z?0il%4p8G7Cm&QJ@ymW#8T&VgUVmrM%NqqyU3R%-;kYH4t{#_=FqoON;9I`{sM{FBvehp z4;SAoPiBXa_~g_UPL8!{am698bV{aWre)K+DFn8s z#m{cN=EGm!?yY_Vt>$rRK*gRu>x?a-2xxGbqu?cdUn^oz!Z9-s`@)lGoLbBtD768$SB4UlUdI2YyV##=}O|b9J<4DagOcu{}t8_wHQ>7#_GOsOfZH zG@-YTjBt>Uh&eJdQcaBf{wODrL1ZmWLSe+r%4j)NdjXD5Ad{On@O(>FSuUL#1l}16 zlFwu|{TL|TsY3$*1kfB9_ZMYrd3pJI;A>37PA*o!;EpOdk}=WM{hfT7u&cBkM;8cg z510{cK-wK&#BP9RBqy-l6cnpc^0LD>Ozg(_xtUM=38h$T5=SJ(j^e&N3;k#mXcw=K59dUcLe??t@5 zx=G6a{tMzK<5uPE*?DiGl{== zR;I45s$8U&E9cDx7U(biTR|@bKuUG=VT0ZVuE-J@>9+UhvXiQ@68(rcDf<`CwJvQ{ zWA8@n7_jEbl)Gd-a(k!I&+3^e2bJsxM&OH*8~TOu2?DtUBDkUXP}>V3HGSRFx|70f zthH6*0K+whiqZKTQS?`OXNs8mYY#s@O;EXwwXTITL)_RxNM+sgs-+wn82C}y)lpps z*xwW52+imyhTu<6$6jD7vScV;7{!F9Fs?{Wygj6J->r>K&FBPP_5@pvK_hcbu~1}t zKrIM-thQxpOU-4vTOF^Rnz5-9>Olmy*3UeYVD^l2pJ4O!^%NvS%=!@gs_BnsOPT_8 zL=c|S!@iN#hH+2bqMUx8BKENNXl>DIo5W7qE;tv>lLC_tq8oiQ)YWz?mlrWw&65YJ zIZfNE`Naavgow|0O>na%qL9oilbl~I6UIbOPc~o&+fJj&i zmiBCYM-SGZ_Htc+y&Aawb}JXVP6C#fn=6&fVY{@d@vDFq6?GP*K!Sp9i@e7EL(KSS z)%cHsf!y>{ZZHPgyd=Mf$M0&a6PQlrX1~K>*GEbp(~a}Q7j5%ubmHoCmu+iL=rJ1M z9=t9As6TseD2D6+as7{fOtyCLtfQxAxwA~Al5I!>A5@Tc!>!b-%-gO%ia%e@iyk%A z6mx1`SP!%V4S=I8%(8cOD!+qvu@!^Te>!eiT<)~?MGJ3!r4_Rd`Vo$=RE{~gX z_*j0@L{-VEZMK6>ZyUuy(Zsdn{0Qx72sT9Am-$S%B0o)p^(Q#Ad94nG7W?qzj^GS) zI+Rg%$oD`QEY_leGpV91L8%*9494kaVZrL?MwQQw7^F>nEF?oKK{M zYlk; zmX=q08^|YctXR&i(& zWTj_cK^-KRFWl*RzdrMo!iQT8Hf$^p}pS(kxrwVVs6KE z;?u;8rk5nYsvqpV z3@Ghy^x()aAifA&t@Xv+32ChFMXK3V!skUfRI|VM>>Kae9&kd=wn3d>tLS|S8|EQx0H?x;$$)U8g*g6HHnloR&2qm6cp zNq49uxEFp+0>oE4Rvae+ajK9u^xR=C9xBV9yRC7mUrkTx!EC{qV6g>L`qy%7F7CTl zC7qf;Ax?3=)|;~|tQ(Y;Qs#K~t!*BnnA=wf9ZLCzqoBHKhx?3zoIHwQk4I;_IOY10 z+>0kdL8SjM8~7!lvf)%cjDrd{cVV3V8>D7$POjZ3Gr``cx@4_3(rI6MC?KLlMmbV} z>d>L8td+Bz*UO>M_1S{U6cCE6;H)6(e@jo&>E`5=Q`Qp0X(wy_ zJLBn+3+t8%Y#&@)AWy->ehxm|%rn)}kWQyeV(84v+5wu}wW*MdO+Z$```xCx zQ)-I||5$9LV zye849tm`BEM{lUi;&gpYZ9w{U zU3p-2UYibqa#Y;v2O{OIB~X4WEkRr71{E?eZ0jy9_G?sscpnm`dBJW3ESaXZF`mFI z>L?^*!d~yxFj+KPpYebYRl#Jp`FD0n$$_CE|K4+DgmWJh&Plps8vd^Rz;0=q!E!@! zY<|y&{1o|7o>)>?nH&g|J76{+P?VY~%V0GJmX5{jCLDZxVT8a`5+!5vdt`Yjja;!} zc=*bhj!IC_WFn4X9t@~WWi<**Lb9t~cSRn>|2qrVmJ)skW~?eo3Vyd7csu}dV*V|B z+ur}RMvn}}Q7b3s>gHty3#3>CShaxMDw}w4@c_*a%!LnZt61|?7Obs*$s?R|1#l7J zIhsH`6De86B45Ns{h)rKFII|c(6W-VWy^BRp;igOP+;}I1LTp{I9~|_4p!EUi}Ik8 zW$GfQhRVv=F@X*K2&p;tobj~~DI|V;1cbLQT+jXrC<0V3MO)v-tPH-Qlp zB0|>Z|CDGkvs)3*NkBPkHN*iGm4M&@g6yxA<>egrgGmp}s3+bqgi|`LguZ# z)+siaKEQwm1P8+5?E0900ll5_uL)I3P~3NZba={Ze{BCB(1YSX4{T7x;g*>;hoW-kRixzUfSWehe#+KB~@9?U%hs! zvVG%+HZpqC)Qt$3Oq{mc_CTJ?_S-5ZxdA0&?b6qQZRkXNI-8k;E8U!cE$V$MFF%aO zUNDtygfn`_Kf?&NP5)TX-i^#O{y%Vb`F|`m*?B35c*A)VW4}9K*b?uB5fQ#S?IC*h z?BOqr?EWg_G3U{t3()dl#%|tyBmh$3TO(<`wNZh`_732XSm>IU>o1rSh1Thu=(?^` z$Y{w2BmhBZ(d%Be)u?t)`s?${hyN(ln)U7qHQ`1(@uNVQt#dNrx9IwG5$5ZQgm`%h z#uV;fk84xI6BAdZ@Hf|u*>kk~0;~W#9H4(q$8zwni8|?FAhHimKWL3F%J$JJtV)0~ zl6L@1`b@e2EBEBnHwxo*iP1qDF`!GM;9>6)`*V7;xp2iik{j^TB9{0LwQpE$xE zf)hzLcA)qPK8=LqC$JZhSH2BXj$YMSc+n>v!qTIuBCHgZQFvRTB#a19o_=(+JrjTB zmEq#yeiUl$Ao~7m79g%IXKUMMGgV){j95`bo;6D8N zAGbkJgkD@@Lv3GdnW%R=mVfJ#2znHFB&DarvQFS5PZJq5^#q`fy{1Pvg`n&Qzm`*8_`{lfSrL2o$wRMB5jXP%;X$Otd8H*QkA zyDhdIArg=JLE3k@Z;_E?%nBIyrjb<4XTdni>OYOWf9$<-va*OVQ<`H7qVLh_eV;NA_+n>q`lfqYqzDmJePxy zt18Mh%9Ui}5kC)ww1BrJAQnd1Ssi^j`NeFvK&Lg511x|~A!YfwMG?O@z_NJbj{#Hm zL#EinDuubxVFzZ}VMB3BLDrLgAt{CT8ev+fzpJmW)Lg?Q=$9T z2Fl-{4}G}ke`SRoSXu$zlZpPrVTbmwk|tB zqkZMqQc_W3*a!zZc+iXtKcok@Ib+YSq8duQ4DiLpAqCyx@UFP2JR8qb>>cjkPzs|b z7htk+v6o&8fj9;vCy3TsfmeqmrXp zG2{iAJk@xNf^uAEZ{Fe_bH~9gkQ*K!4J;`;kg+g4^PYYsN$+U@;bh>~w;fgd{Zg2$ z4*(S_Ov+&}{|C}ltOg<<2~~E)2zvuKJYsy_N6rC8AM3#FqpA7|qa~nSn?;rBrG7j@ zKYwSnU`qq)-f6HqLcQ)t&iiqXPV5~(r}~Z01mXj4V20U*!<6P5z_S?C1cPHhIRWJA zhjMxC@IFf>Q0JP@*Y9|IQ#yJOdG=&; zOy4to(QT|N3?^xG{4VUbahw{9QFO0_4KqIH@rvaSXc$Z2yY=llq>lZD>5CT z4fy+pir#4LnlthNug{c@zh($^hCu9~91GTp%5(|+hIA6om_b8sIe3f=26|TgH&`oI z*IF;h6nsnqaVL!?7pLw^gSnFO)YRujM(uJfkK^KB4R_F{?avvQHF(^Bbz6HdZkJNb zsc+MNw?IQZK0!`Mib_mm@*3>&Y^YPtTR&LuJOZYCvbWi?;RKxKsZerh0_3cjSq~B5 zr)DeCf)*8>%`XgtZ1&Wo+QigN{mjG2`B$9Gh!uktl871K!u%)fnS&YPYMDznA2tQ( zd8`o!VC%0HM>K@?Z8nkqc8PVmc)`c=zVdv@Sqx1uVl;MHq-?uBx+5ghZR>WyYt<%T zTaHa5Xs`aA=&j8f!FQ-%>KEVP2WmZ@{UH!1`o@VKfquqDJvN`Rem{cRh>z$EEAkJ5 z=d4LIJxMP14pDK?H1Ne`!jlnZB<_K*)IldvbipW^gthykD5#P%xFyFQX}Ov1f|jdP zzliL;Eo;f||E+|#*4;>QoM%!h(XW6j`*P$#zIt67a3>k)0g2WPooHC}q7!sOU7Ybt zT%i*2>h*o#_u4S6aobz)cpQ3h`RJO@cBpKvh?F$LWc~!d=m69fK}cas788vzY*X9Y z?v0-?e*PMO>V_xDA+Jj6o|0MJAp#icT(WT+^k+c@; zNUcZj-4G5zN3F zUiTB%q~5P#wL*oMy$w)eg(>_2mWye~y5sJ7gwjmb@8pVt~N&!jUho z=i?hh8r;Vl6F#frz_`}K`w=8d%4~NGHxCHes`o&mea`ENW}OZ<*qD6ypOf3OlEiiW z$=K*jewCcGY*tQ88rix=Ywyp#jhp!37~SjCk7u^Ev&r8(_?w!Iw`Q-azb^Jn_Mvw*V;jdsmhWk5f(RM{QR=PrHBb-k#3Q;KD*J+q_WMy!PkukJo=^vZm~ zjI^WvAyjCo=#mdySF31PTLZcqtI6#ujn@H`bx?7pI9)10c@H1zojThb=~BOT|Bsvv z=)`+9Q1$o`?EKqDRH9H*NIahWTonuTn8V(XCt!4Re+ayzbo~Nl} z#krzA<_(F(4h0&4)I*SE!|eACHHp(|8daA_yx5N^jJ~6mD|!5ScpLVs&;fNh#XGp9 z)^yi1IN5;3B$jEpOTnfzN4Zt33@xf&Gt)8mO;TWVjYmDwYFcsM<7prRaa_DJ_(+3+=LMkBNw`(M-FHdz%kxQ@4~#PF*$vzt@;=0(-cUj@ zH~pAa(pY!8TkGDJfy$cv zV->b7mP+_%(|inZDTb-JTNs2Nl(++2!U;O_wnWa*;^n5AgI68O%Ja*$$CtEIxI%W- z_fqg7b)(;1cTC(_>uihO%nn;E;b=ypiFj*rDA39|O#x^UAix{lHhfZ1$p#z5(mIfM zH!t8zZuUX8{ChfZA>(-BA)yzD_;GI-A^74s!3RW8>H~_PYhAX8xRbe_W4w$&PPjSm zv^(aH+8a-ZWEKg1RqoK<_+QaMX^{X$q$DSomR@TfR1&rTV(^DD7yPHY59Q~p*q5B30GeQCsAe*~HGPg~~uOo+|e>D|Xy7SAV z@WpgD#7M-GpLuvW?d2+&Qcn;50=E3LS^@><0OKDKR4j^ITTP_j4xi3ss!eo}Ox9n$ z`}DzXmDnA_k;+$2@tJ>AObLeUy*0pFAn#*mA&<0E*>LjcDU-Z-YpoiQ6|zEkQ2tIr z*^Fs4##HQPN^R6+#ur?loJk_x$AQ;K3TZrXR0{AjMqMksCmf2yZqLbdyb~i>`Qex` zONF1cH%7B@hn<8=*o*k2LPZCNdOuGSJgcAG*sLPC1PJw8=J71GHC|LO_M+EgqTvvqf;7fi~h1iaD^ zS8+O=eiyG@sIf}hrc`g!2NNgYEU>pwDOy=Wr7q&YTV&3iI$4bnQi2(t+kMkDaa3bcK`1OOF5ox0l~)_v z=BKvWNXHn_wD~O~H;$XoAZ00;iE}+8Bu@`KA>OLj;T zuuQY$sF-a8oQOwJlQOyXU1uTt40V>22bL+=GD-jPvr2*mW8H+vI6DO}+}KS_x{sE` z1nlNSaVctDdOFTWQQ$_dUqe2UBPBlNAGa=hNg1_7xpZ)H(l;v=D5=P!w$!X?W7&6W zTnQ5~ArX;r`}N8#GhH#w1^2C)+JV%s4M@BBs6R)5z(H=_UOwJh6K-;r&v7cc_iRCc zV_q%+yeaq55mk<{aIUSbAG?=cS6r>cvfTN!Cw;T*?_4=)$(q7>)CA>s&<7fd>ALT= z9>00f-mg@CviDFyu&@dv#D&t6vPLOq-tK5@CgIkp&dH;wEaKF!E5@!!xk7g{DY(Z}}R(KdEEU>wi9fR~w1hJ9J%v~b~P+`h|ow)9dWgI(k= zizdg_{RWAMct^b}e`1ja8h73x6x)(w=J^KB&nt5JsouGjTR(&`J+&Ug zr_vbg+4uY!O4(Q{SjVDmxD@lM4u1`9y_Z=W3RibEc?>@(wo9MXph=16J1yKk{NrC} z>AQIUQM;uSYmU$Uc?5%NSKBnHQ?3$7A1-)b^=XyM!<5ZNHnDpX21J}rA5BA&+#I(! zJjUEz4_c9shRK5$mU%0!o8jb``&2f;M2wV0N`v8`9W#N^j4!1>Ml{R&^5ok1D0zna z=J@Ek;VSfabGCEjxBh%_$%nL`9Rt?au?r|atAcMs3t)6NR&z!Sr}>K1d%RDKC+eRb zVPSc{R;dYkKa4DFhyF1oZb!K$sADpc-No(qabM*h?*hr|o5crC+;+)|g=isRa<&-( zW497w(qoevO5)tTH25-eST#188F3^r(JHyKgl>zb-P!sadMb)rrfrIdJzmT?*ziW^ zMtM@$mTycY>k^EY5GN(iTy5|?B3WW;lRTl1eEXK&Kj4dEFMcs;W>AB+jn_^}lLKqS z2KSpYh$!Aj&te3gJiW%X8;VwnLbK8o&BQ>v@lwhGUB2g}@B6_)5IY4~E9CR91UTOe z_9kntv~g8pY*)Iz`HA!;*Hvp36@maycH#6ovsX4WD-iW?D-J3Rv12X+s^j1pqsOKB zWGy!nwd>%uDhdLo7ZhSs%|lY;hCbKuX{vW>cy~r=^>W0#@#~?|e1w{%ru~tNSUs+T&@GC^e;ax){X2)UHM*tuKC$Z5h=nn;dh| z>-NQIur%KrA#^vG_>;zme%1M=30&d69a+1ZS8-b0!)LR{Uo$rJV4A-S^;6a$sQL<> zx){~mhc|Ba5sfSl%mh|_O;NJ#+5<)iYX3KL0aUJ=qcAakT--Qan_bQ_o0i(+u;j2f z6G~5Z+KKtU8g5f6vNALA5?+MI;cmLa|~yijqvD(h{$>ODs#8$Zq%?$;=*X zo7li^x)~yxr8fMt-CF*NU5JeuDz|!l<0>9v!@xf|(CTYNyQplBQKFJ)wr*BEZ;cYQ z@rp7zPq9#dD&H~*@A8s!PGgc`a%9AS2A&Ny^`o{JE7t+RedBa_AuV>C?Ds8gC%c24 z@OI`RRs|AEP@@T~U3g5oU&Uciwdvm_Z@?PiMZt;G2Ys8G*|!SR(hngiv-KjUacshd zm^)}Qb)f&SFA5)m?#gqwt(nGGl%$nZ63n$3O`usM709YUW*e8EwF4!>C_u5h2&cB% zs!nS^pUAH4=P3yuQoBNSpzwlAIay_Qp;8cP@aG#4&m^`I`i5}V7jAUAWq$gj-B?9x>t3w?tb_<&b8E*aBG-V~bVaJNV}x z2f5UF*a1E%?jegt?BBw_@iFAgDW+V_Cdg7p9JthfP5hV;N0mlDir&=mSL!D>GE^xA zvF?Cv{)&b9hQOU5I>V~Xn0pI_Ty@dk8cREo(h~%yVEEE+B?SCv3HD6v-X&W7t z#jqE%vccW%xId-IlS?q!N(D{u#(b0|98&lc0HReg2I6E$>0gtJ@bPi1bamS>eHZ1z zu6}&^toQod8k+p&^%+J+?rfBvv~Df+>rbWIpSDvCqaVrGNRF|t-}Ym+8@Kmg_prJ< z3Q~&o^x9qA;UGVhY}QB3Rb2LcjPUs`!moIw$s{y9a>MY_H>Ki1+lNHAyAVD<^&glb zeDRH?z&~LW-aYY9?x!*7!BgjJf@3Y09A^s;1QBggTMO%mrHRLuu{+$Ipv;$IG zHL2j`!jne?L<-X#BLVgmEE;dc6vPzqf>HZ3eT!*B0FOockLn^$6u>q6p`E3XOgb(; zv*&vxMP^=>ZN*nA%X5O{7b3UpN`pcn2o(;qNt*SA0=7&Ge6FSN=jI;s;qHXQ0G~ zR<(osEEaNWPRX#b=N*Y2c`&|QW8zhcS5kHgz^&ZV?AIs1bgwWW$jbjMJ;@paI|vSg z7QEDDDcCF~(!og`psY{hB)k$V3=K<-C)9S*@yPl3Kp3w`t74#ML?0{{ccwg>99OLT z#l&LhwX(0WnLV z1%7JP>HfuAeg|`lTx<))t(=GBg3pKFq&_)+t4pAfI=Z+nh$A4{>(#`S zl8p;Vs;sEcp~&eoG_=IS!pd-ajqK)?RJXt9L$fVq8V(BPJtQp8=hBGN1O$d75vWkX zarpYr$%98j6Zq|$)0Y5KO9I{o0_K0VQ>B%^f9ubPaGS6xJJlZZCixWd|9SK*Ln==#|nul3$En4^=aP#&M0O!z71D#pcyyT>E`gnwjp#K2&N zzWe7g=%7@VL%Omy1UJP~<%{-rjyzG@=RC=l;E zxd2A{hZ%r?&>=+<-Dv&i4t{^@{}){$+w(6U1C#k*cR?%4f8GuME-OR$|NGZ`sCeF2 z?n|y_sknwwp}0RfC6{bqiWj3p5m$Zk>a&$^vLaL;Sx{U&ydvuDz3*Tj^;vL?QXGxW ze3P|XZO7nCAkCKpY5vclwtjVg@=%gJlYY~BW3<26!u~gzB6R@bnPoW7{}qS0k&5Gw z;{%B2vG0ZcfGh?^=)9Bi?@%<|&!O`>_dk*~hL&S8?h`i$qR(OebHiFPrmE%^9H}U6 zoBj5s$XnCYwRyv!{YTWkRP)Nc#1Fn2eL?sV0g3ybr~+Qb|IJA;-$W55PR#3KsbdMv z&IZ0cLv#I(KYy`&pTuoCTQr#eDnvuodT@NQg6!knpb^#O39Lh4^?YO!6&VR8+9v=d zq#*bQZ_)S`96X`cS;8$Bo*VGwguicAuiAU|EHL(+BS%VqzuCq4x6GL_XmY~^$1Z-c{cD(^;V&0mg!c=)@uFCE95$~V(+z2j&08#}EJtubf&(!D0 zwm9?}yw>OApBra1G!ly-bv4=tc`*EFxoCWzR5-ArL8XZFOij}jsn-}FVvJU+#|KO` z?!C3J_K=j_@kUlegt=mr3R>Z~@JvY=C8NyTEL(>K2CL%!IF5rZZp!ai*1T|C9mK8FFd-yrjH0Ks`QrXM9HV{5P^OjJc;SSj3E z$UTR&Pi<~o@RN9G^8s*v+<*Q`po=_e()erl3Uy=vM)qC6_wT@0Flx-Qfs0E_4|+Ft zXZ(r~y))AF9uVjrH_KVMpi>-qW|F=o^ZYOUE@B-Mz>X zS1tJ}1Ns@jqJ{iz9&=w7pY_62^|PJ0m)Qj!v;I~$PMh9jN?gGCYau9vmP!c*Sf&6A zoGro`f4ep9Lr*y6c%FtOB|#?d136gG5eiM=lM$7itkuEg?pi5q@Owqz`fz_oOhJMH z%9m%f-5Lo2t5S#HdiqR0OH)Ymk2l)jGEf38E=;U2xxwQl@MH?ncsyn`$>}bt)jovA zGWTnmmX=gLOCBV^zCp)~S%Q356~2UYuQa-2Wh&+xGC&V$VQ!&4lkhKPwE_SB3FOd-D^#Y8A=qZJhsT77EiiFx! zzW9FbqpbcUBrMQ}fF|NA-$BR6R%qGN&W*gd8S`G0rc>?RHDW0K6Asoc+;{t^ulQZC zZz@YF4=MNfcH7f{n^%9$X=~`Vsx{yBn6S^7MKOjMGjJjxu_R2Vj*V`Wejr4f(`Nd6 zbT7V4;$azIsF8_|W|d3XoAd=L4i|PLA;zQ{lEV|HPmM35gEC zUI71K&*L0sviU&;&~JWeq_g(TN95C|*e#+PL1If#qz1t=`HdB~8F-{h{tq2N%EUvO zv6@Hh9*!WnsH=0fprIHOsE}FzL)i7H1hY^-*mcuG>hsP{lWNSiHr?rw^On4}W-mei zgUT^Xt>)KVO(g)O0DGOi@fq)t>TUlj!dzs|dMt1dva1+felTh*B*k0yoPO@f@GhdL zC|jOcJPP_Xzxnb-mV`R?FKcy-O5u^i=b>gs8b4RKd!D6Vj}5>(6t9Wh*I-;Pj7)l9 za(!W6UiQMj9jhR-c$;cF06&22K zRmn(5WZcL>NUxcH|NboDQ-M2gBrTZLM4#Z{NNJ_QD2> ztyPzXtq0y8)@~~$og$FC6nT^189E1VPMVR)YpYk=_hyL5prW?o#)Xq0y0Mzdo@Kyt zkQ?k-LTFhdy`WA%is`s=M4)(n0EvHNK zft=OicdWP8b8WCt-0T4eU*`*_YZX31Qod@@sgftRwb-A?)Jv>{WY`d%FEAx;D+Z$<6<@-(k_8Ei%>$%2GcAV)05ZpHf2y$;Or9LG`TnB^&yWH_Q;Z~OcXPS?;-TZ}DH^aGS75on9sQT3F)OKxiu#>nnN>#AMu;lI-h zRZCGoTcP#PHf|eS-~dpwu(Wcp)bW11)dbw1|C_y5Zqu8h)q>^aNMKJs*__l+8JbGiya0CT7-+pIHlyP5H7R28#H6Lq*Cf)gT)WCMS^8frP2{3g^9Ng@chQ|G!5<+ z^r)lqOjiOtTpiOGUe(elkWSRytp_JmF~60cyiN1IEUxp_qqrSe@EbF_KTd(%1J0PTO*Ufln&_WE)Wi|7~1 zYN;6NVeI-nA8u)>RuvhbVIP5vwgsofe(G~kMS2IRX7cQjjVSOKP-D&4tajh&Qu1Q! z7$k16Dx!~EG@fjpbzBLrQ7r9i%KI07x0MsSUH){a~RsS#^`Vxtvn& zb64|Gsg~sIP3tm0ktS>t(&!XycoH2X-6hG)?92?k`<<~Ro-jpbkV)L=)Z8{+pdQtR zXj+kZQM5?PWqIi$vey|AVu2zNl)tsg3lox|u*0wP_l|Rrbsx$7yd{Fve@dgYDkM1` zZuhtdiO;sAd`~S)E;KI~i`pOqYl)n7V{)nW~X-{f3ajY``D zp_uS$9Sw0CrZ{&nFBzr?b#SC^a9C>uCz(EjH==t2Pgh-xgOgs9es23WSM~?qf_4u% zFEyc7nwQd?*5}m~Q7b>bG)yoQeURfp;!b;#-EYu?azd4YqJe?^icX!edgPk#)N5KY z&goq|_756X;A^zwaDALzZBDr4O!C^|#NWA+E~`2N9-i%3s=+p}km=R6Bzt*iNV%j$ zL&N9Js(SYPik@7Kt@}3BJ6?60Ae&d%VCt2KD@T0lyUK-rXJlz0qDc2DovyqWzAoYs)8gxRAA_RG31}cnr=JMSO$wTfz7D6ZMuVq)Vnf2}5-sKd=P_iQ+=i-) ze=n0QH}%F-s#7*gtlY?UZSu#e8@GSojEo+Bazg@MQfB=LX#^DU>)S7khj|9AKs^d@ z43$p4-MYe-5)Q>nj0@wmT0qWKyxIe$d6ZN$4aDz?wa{zNe&;sPYcv*`RoEQ$DbvME zzv70FM%`BGW9`%p^xXSSlb;LKQp-F^AKsA~hpSwJIt}hUA_Y4^Y4vKRX*Ojruj#_XYDocYvY3 zA$Uiu_}`2bOqg@F*$kJTU(Tx4I5M|tOr~Yt@Ygy`E;IHvnsvDMc>9HFJ@%EA)V1>c z=Bq&RRTDR_QjSv>G#a?`?X_6m62R7d()qLWa^-6u0ioriQ2RTpzJfqjMmDuF&#h`P z=3M!hAF&_N)6~P|ck|)RV3BoaJ(W`^n#JbG@31h$y6{5o(cG`}*HTd?9XB1mgpE$Q zJ}Rst%v+^wS+~y4QtbRf@g*mdapT9Cy}T5sd8aee%ypsDb)rW~rVi$6L$NJpNbp-v zh0ucyTa!DDXUtekm7Tub6tutFrrcye6gyN(X1B&8`E&c+w4FQ%gnIH--0U|5@)UY1 zwcGmbX$|oXe5u3Pj6TTnAH@mXsl9-QqH>#Wa54%-4_cjlP#T-s-ZOF{Cz=@;E5e3F zTkh6hsND8{FEz{KilEZXLCL5T1Ddl2irMr4?tObm>tobU8%*Q9Zb6qK>oB32hriC;kdYhN5E13p&@3nuN{;ds4{4TGKim-lOJ1fWUOXVNxK?z5 zY2$z=881C67&f}Fg5-&vm%4IRsaE%Da9n{z&(?;GzAY{to2{`Ih|djW%JDivxXANM z>0)T6A+|(w(sSJmT94&4JjRZn7Si_t44^);%nMjY?nr!h=r996TjorXid<=w*YAo# zL(;{q84tPxuP_@c0~f(Gwy(&}t{%}ovNQfgMZwmQcH^7V=&VvVT88g}qU2l6xe|&^ zBK69|CmC#IM08dd`zLsFq#dN{XrD;;$;JiL$h2fKkQyk?bvL4B(K=5TEa7=13b9Dx z+D?>kXej0{ljpG>w5B*IaE}aCraM^T?sSYH*mZc~2)#El;}epNFNFMG?7d}J)$6;i zjXebcMLHFvOS(Zpy1PN7yFpq(Kte*g8T6o$k{0P4^q@hy2HiE@2c7@D)?RD9EB0Q; z`n2aU{h$YPP9`vZ<9Y7;yw0or8H1c$S435jBgybwN$w+S2;xG>o2_jyQNL)*<4*Ec zU39diNVmt+sy7273Xrdxo67o=EhzcT^@V^knJU#yiruOJEBIZ-C^A8JrAmi; z`3m67UhOsJhFtEBh4k9(AI`PhKgsrm4f&T(EMUg?^OsWN{!7wh-L{0O^!!8 zf~yA-0Z$v(B1aTov3uN7%`=-T@JX{dBx$j^Zfs zICY28oxre6cnAHa6n+KgF=)@=THWNbX?l;Nk*mgmXNri!RV_nxC|$S~=~%N2XZ*sd zxe6cbDYaYQi0w-pz)ihANW){k<8y6J?(s-NuZSjJF_oRo18!+zU?Y~TNVQoiNmbCl zzPdRI0$kv%-FNLgIIW*EHDM8MnZEyX#oB|$Z6&eQY^SOvNvMoyx!Q4+8Gt*LAG9^F zv!E};k}rLUW8m9?O(0~4C0o5$PEMWB@%ipGqNY zmZQSP(q$6fTzUTUNu0i**^1^D8#NcFw25zAb-n!|J_HZZW1Wecm+dURzwcD-HbxR} zYm|9|g=3w~8Kve|6FOFR!aum2#TWN8p+J|TB)wr#?c>7=$HJGcyM6Pyl{yWax&jkT zCLs{#3e(%__6#S_7AmRcZoNn65q4jYdD61%0KIIJtF}3tsocEABooN?!JWAcD#f$6 z5Kd@QQxghv3VILZy*DPEQm)!x&Mk_B zpUQ9il4T%}Ax%*H7%jg>HQKF)G3e4L_$YQD`Rsw=cpJ_CJ=NA2Pb+WIJ#yqVd${$V zpxP7$-sJL{goL%`FRkd06maW`JO=Y~!GMIz#&_A}ub0izHpUu9HZ zw)na%Jw6M{Tz+S#8B}Iv^>@q^USB$HPTTP;XhK4?pjyvyEP3`OJa}xigLkYYaU>*c#$QHF>>({p%rKq6g>={}dl&RZDSHCQ|PCIN5H2Y!lEFv^hSv_x6m#%dp zzfxS-rZF2D!v+^yvvWrr_L5IlZGv5l3uiB7>7!k8u{-48E=OA4*QLVQMz(5>$8V`= z^3S-x^9Q4v_$4PT*HtgHeEu<6JUd-&(AZcvR~R*=^kSVOSzs%)PhRMFM=yJC?}55y zjav+BrTdc`IglY{aWd+AePG@Sxrj|dgY@9{;sxaaf4_z*t*iOqHR>tI7Q zVjD%m+8=S1O7wf{^kPPK<3s7U3WmbUbzU<;BV+Tyd}HMe2#ti}#!v<;NlYak^JxNl zf>V^Yuy9M2)tofa@21ZS<%0n>D&^711R%M%m7eqr?f20*9jdDCvQ?mEd?wYBWHDEv zFNh-&$aHms?_m#jpeFebl{=)A#kX8@YaO&#m1FJkKod4{*!24N@QW183C{?fi!X8( z)yU!A^wh7a9c3Ju-20;(=zyJH^p`9v0 zLsPtMHNs9@-+#j-Z5f8=R)}2CkKAE=T+fFlo~|2nJl_ug*xVv64;e}r|B((xI&SEK zlJs4TlUu_)19HbxMegOATLxd!*hzyMuj`cf1(ccMM2KDu1B^qb!bnzFI3uaR@q%9r zC(ekZf)uQS{6HuZg(npHUT(shYs)P(!5tUe`#ajrVYdu05o69dmuZ#5WxzA>s*%b+?7V$zRMB;UMNdDoznoza*N#xO$| z1yP3P`7JlCekc*6CuQ&Y+7AzV_c8-oZ|62HjLi>q{#=dQlc=kTeA9sED4LtHr44%lD5j7J4Ph#mvts={n+ zEfXDT(snGMOiRW6qEIg-v4UDEn`hD$j$@$Li0a^MpA*!hZu>pXK7qsQHXjmPg&asY zBf2fc!&0IfWc`{o?+oKaWE#>=e(^XwCGapa*3#k~y>@y{scvuo5YSuE&GCf=y~B&V ze6jt#(K(R{_2s)Q5@5204?D!vm^r5PpHbM%5} zKN7EiVGMF@ldKU!5)wm8%M>4a!8CbFapcs=1cU-=@_y&_tDY6v_`)IjtFydNXn}#) z8!<&@^D*fsVAJC;ziaQ}ZK1_`1!^R6ZQj2+ABLA)n8;w{H-8h!^>jiD!FXEyx>o8P zB+Uaa)u)r~+-tjoGFHqMLvqF&(fi9Ij*0`(ZnEE@xPz*XN#Uo%u=VJ@Eyi0nY=X77 z`LdnS+oa<6s!QT~M)5pJbZi3~2WINYj=LuZM#eNQN=6_`4Ka9OdYJB5Kms)+t&Mf^ z??RM^;;d|cezZsEobLim!)hh~!CIq3gB?oB!QCfHOX9{!kNw$SpIT|>A`0&ddq(D>M&u#CZ^|ep{!d} zwYbcVm2?{osukYtA!a7KYPMC$<&AlK0!prYGelGLl2OsjL3+h-{kOeC-AE#F-b4Zi zbGMj{nOhHwt2}}6$wd_0DP%Z)TyptY*dr_x<)#Q~Y~Gt|v&~Kp+wVcUb8v*L#}leX zWjRx1$FFR$aPB}8x!#IO5O_2%Tu*vMj*ZIX?1WA`J~vlj3z4^wsBzlcVe#~myQhvI z%7cUtwhJw4tF^ra8`8zS!_BecM&pZFmdyJ}2?^Ks`&LpG7BN!ZWY!W#WB^iNQ;zZz z4=Wh4AhSihHU^pfY}FWg?EvrXS)Wr_QyjJY0O=xFn0oJAXM$2ch{XH#eU9!gJYrFX zG0v`R?AW#wje*CX@|G$scYgWCmD99US`8Xq<&dOAeFd_3Ii%ZmrU;cojgFT0+a^*} z|96YAx`41*!%4p@JjVjgjMz(9PopqM23Ha=VS)<>@4*QmePyKF%-HyK%1ObPjb52i zaiwZ%hZmS54pJz6cXo6fTU~L}V`?a!-t70`>j{IEorLv%aZIl=2F1Q^hxfAC~y{*p& ziws6587n5h8ez2W>||jy*jq4_bQy3ZjbPXzuURBm>n|Eet4_=$-?=&4;>tYca&TPX z;fm{>me{AR(1_}()FV43vd2$l)z@ZtWl{N_;As``_d1o>bou*`*_At#azV*1!(g9WG6_^ zESc+kt=boEVPtXza3!5d{rPxNmM>%HnuND|}epC#gO7SB>DGM_i(hF&F+ z6X6WgI9_`TPASy0<(tK-V-g+sdgEk7mSWXwEI zZ)NS(q_uc~nf)#Rw^VwG^Qc~#J1$@&-XCJ$Gwq9idwER%GEEIwRWQ)P$G=%)`VZ|d z&(Iccf=MjlsI-)n-ghGogsl=4(!TYTt}~Ml(0q(nIJ;U|B}bMiA_ZqW>-le962X;? zlAjrv;B`h)Z9yM4hm%e^1&7-^Lo;R|9(WVa;580@o3F!H(`M*LRx1w**s2u8XTE}s zl6jd)@Eaz_%8Hp0L*e4MyEOkZyzCc?ewk)Z?sKGYPTk}G~UX4=O4$T=c zwLC%<=9&@od)T-FP?;|5favI~%cdx;!8P#`F z==`NbEZMj&o9=%Kl~+})RA9JV5-}I51BNurJE@nfwhz-_xhKyN0?KJ?nAY0fY0i1$ zrkm4V^IHi~`@EL)KGbqZRZycs-}BYZ+CE!~vMbtC=_Fn%TS^-CvJb(^jJ+y24VRRa zhUbmmt6_NL{5}M|?JT;;K~(-Vb3uQ*5lM*9Wk(l6i!1km!09o~>sWvPiGa}%LoQTXM-M^`z(!bq{Xza?9JP~Yh=*|6#H_9e7 zslyakpt1qOzsp=gc+Xl!Ol-x}DFifbDGMC8m|jh2pK=I%4ak9J8H*mLP1^0wwz;(9 zmTMnLcS>aAQ@!^vA&glkWFot;8pF8L_>zUKZ*q4rl9oxJZTiP&?b4^B<2^*G6JT}s*M@L5^PI*i9r-WVSiN}C-ZiB+<6SwQ0O!wt2Wu@RnO(%*L$>YH%ckK7iyM0>+sB{#LePK zLne4#x{cD9T?p;W<2sg4mv@`m{(>((XE?H*%zR;7n{aJ9_K2~yrb+aOXWBQ5dw=jS zhNQvV8GZ{E)-j4)bH|EV$EvIkICVVF2M(Hm1;V9kA3zl|3K9^GxSNenaS6jQtJaXK2Yp~wJtV3?Ibbu4bbosZXKWewbl^+ z5iI2t$MHvyGeNi&0pN7oo6MQo;C8wev=%=e*>eA-rU>@-q{rI!6-t7P8d!$|JCKo7 zR#eWFuz|zzbel?F5}PIK9b_f=bMR(rx5A7DrCHLLG#CqgxTQMiAV3r1`(@cD?uT_@ z$ijrw90pSh)Ldh`B>LhgR0y&0*FPZWBfsw&Tsx3yV|)jEu0)BvLAwySv|ya*jwn&MK)mY`*eP zsx;`>z5~u21bpsmhh2tLaw#(f9=YB3@ColW-nOLgd1#2n`$`A2Gi)~KL;Y-nHRK0= zj9<)+py=OO^@T5cTeCfbpV`D7t5X-g3&#JO(xzXTH)2FN&GD)OeMn~A(GnoAe{{Nj zfFV@zZq*DQ9nn!v%|UXp7&`un{hgUmx0MQuGF?nySaSNalYQg23JRT*pj+JV_L=9b zZ(9NTnI7rs(dK;ME%`A9{kH}X0biTxHG>kp2NrzuDI`$3wT%UpZpbS?lv}SN-?cyC zVuQY?SaeG!&o1ozNUNDDP5y$=4J}HFTmVePPsc!s4mQq=JLVu9o@)hgIBu}wnR#{0 zIi^+%p#{)Jy+F@qF*g`*HdwD-hlcj1&nrB5z&Dei3sMC>hre$7`I2lQ#<9hLCLIyH zG+Kr-udJwB41vI&nvb`Hz70!FeWGq8Aw&%M&|(-&l%N$^9Gg?{0)$$mGRuA?j69BQ zdjg6H0sQ!CaIdGgi$4`W$MFr`_QhFBwEDZ->@QsK%@TA%NUVKhym+a<*r>9GlA|jq zDUR&n^5*PO+INq7xhOjRo>iH^Gn#{aZ z$B6u745YU({Dpvk-!|Ri%1^)n8?-(l*b{x^ZUtVD-yE z_P*&}tKl(SQ1*xwR#cQF z0l4IwsEhi4UsrAi8z~F|7RbqmNR`SYZkM|r>K$ZSX#%bW^8@yYmmSi#@&ljI{$mz^ z@}Xoq0GXn{!q~MrD--nTdHr>|3HR!n~8}95M!*ioV^n% zv$4Y_2{w|-rh|)cLG^MKXawukI1uPd&XvZXTT6ItQHy!b@VsrZ5%;;;!&%t45 z>#O&Y;LL`Az{@Ch{LPro6Z3p{x85=xgY=wa?A*M|f9H;rWzAhq@PqsTc5vENeiaz@ z;GRE-N@I`>!McZpx!Cy0ho;Ie)2{`%h)IVLx((&?~#Jq)kOr$`&YIbF+?0L zgnc_gM!i|~6dz$(SZeDoWj2&y+4g zz0NGlev_i&6ntweIT7g zjtNNFFLpfA-rWrCkWWn$yuiFM;Qeu)L4b9|0PJLMR&XyLI|Kh8*q=|BCMG0++F1WT zJ*fIcgY4Eia{~%GB{qz7jcy(>TwH8LdPNQz?_bnab>jfWsz{>f{vl%T<$RC|)v&+- zD9APIlEU$nkqI?VIebhPBlQ9+_>&g+K^ThJ)a64e)JFS#sZ`Cyu)egNF-A$h+YI?# zOzKa?&X5t^K*HCz>@Yzw>)2aSUH%X)+|Jc8+gva$jUy_P4<(fjpdj21!|9z2Sa1y$cSAg1;xHE znYnR>ChwHK#Tb7K_$)0WGgd^+!_(G1L{7!I-FHV*tHNTU0swClapA$wT(Wt>?V(AWUx&x+wwp&09$^yTE3t7IHXM}A-UnPnW#`20BXv>uWQH4rL=!i@nI8k zsjsHa@XDoe=+n&8tLB4d0OK@hZZ0+F%Xm)nN7QqckJd&C^^E)Lvsn{lUSP=*3bA(F zasD&&@D$W1kHOf0N11>kE>4gfUdxjNV!pFR(J0U+kcf+V*Hh3Iym8$8_r8byP8~cS zHe&}*AHd~K+#%`%CO&rT5VY@K|8R&Ewo|ME0u&wo555fxMwBTY7r?r3P`$jojv=aa zswO!v(pFG*IezgvfUgaTC|(;~_gk`lhWEievvf%O<6k&$&i)_qfAc8#f5iX)B=LXq z!*~-n_+2;q{~rvv@%eQt^Z?*dvinfQSu9bDP93j5#;}P>FwnI1385o;FLwYZzafh_ zhzq>Jy~!nf_$t<71|oEe(NJPBSOmSpytWc?hC(Yg7i%TCE~Bivk@ zbSA#Z8At`cac-{}dBEgJYW!;wQd3iFY7)x8SZFzg&!-Cp@97@$rG;c<7#g!$2MRRgyHt&VPGH&>AeAHx z85n8({-KBZ#fy~lgB_5jm=)k9BJ@V^b~QY>CH(P6rl;n8soK>c35sGGq?Qg4cUWmD z@gxnMCzo7(IVN~F9K~jYg@;y$c_Z&jCSUevAClHcq;(&&8F%@$peoRxw7svZt&X=u z(TN;uI7)I=DPGgAbnr(yTK`Eltq*K_tdw7-_1$Wug_^H}+$=Z)lMliLU8_IeuOZ|5 zG>6u^w7Cf#302C5&RdjvzgZuO^?x}%_NnMeC4cMUq$Zx-8ODJxO%oU}vEm>f%()fF zwQ3SNT1Gn>rN8mmW3>abg=nt#=jRUoKbvQZrHq?wbSF0*n?~y7$Rlm$YMMZWXkU|M zYqUZE+}aHs`t;KZ)CyGToC&z%%7idzqvvZ4hUMg84j@y(G`}x|tQ{B_DD_RN*0>~d z>b~^8tOzP&@zn{6gTzwOC^rak)^>f$+`RU7_ppR@^)=+Piq4WE9pSghNC;0Ii%(*4 zctyRd4n7M$4qI zC%PNNmlUjpY4H^Lj~+5{vOh^GOm=)$JN0v(9&IL}gq})Mva%UrIMc&($)%4Km|JW2 zvVEV+a3|~t;JKsLdJpc|&NMPJFueOY{wqyUe8`MF`r(0o0PmM7Tg{_o-*-<2S1wEh zYMs-A0Q#%zfr;exSr4Xk1pj7Q+5`)~9^5ZyIyaq<%AhK?VWuC!DF|4X`TzN`5M1&|Zv1~& z2RqAOEOC9>Cw+Z|r)P8nG1oheHM)$y&Eb}~?{D3l5yL4S?72={ z2{Hx|U0MF)6ZJdqlxU^B1#A(wOx`{37*#7h)UZ0aZz4u+llbOpcsq}lj~t#F94@b_ z#!Nl7YSC1yC*IRx^(d`EmQRRXZtw>@A}QwM2;mC+&fwE(u|lD!AMn-s(CC<|1$BF_ zJg&3sm>};OC0oIOv9zExSDGAYUA7s{-bo?>yX<2M=Zl)wrk&g)i@d8xx?Zf_ll`5d z;)ZFTr0Bl~n|YY602c&Wcx!uh-Z>MTNq_WeW^?zKF6^hVvg?~6mm$Zj+!e$N)W2dm zuhvzk2&uLvC6G9faFJ~1hDYY*WOpSkJuJeb&Pt#6U2f;93k!DiC|)qAT|VJ*lGT`_ z!aejIC@*GP_xHP366zJXnfnQ|t+ibjWCs8SSfhhM$)!!SnaGiUlhSQ&E{^td*%4yk zceoLSRBazOIfpwW7W5>^os>QGVSOCLX*1K{1;5V9ir!!DF4U?vKAL0%2`76er*t|Y z#wgmzt#L0qM1b|7z}4ZIw0yY3{ri(#FmQWV`)Fldglu>p(+KAw?%!8U!XUY#pyU{Z zb%fAfuZgD5JkckU2L~trV;9cAuvD|@Qqqeq%ip;0dO!Zedx5?DP>iFAO@v-u=Ax^t2pl#u4AqSISd~k+SrV z({B@H*J5eR2{BDeL0duAoEV&1&MDdCkc(7xMXe2ZRl~x0OEVhl(u&H?LgGu!JGkTp z8rOTHv=7COob6QeqS0f+%dnE7%iSCg7i*OA>%K*k^7#t6tDFNbdl!dNh3b@t{ zrza;_ecH=#5zCL1ZxW@BQ4XpIINilgVi5?~rc_kIG2-T5c; zp}g6Ki(6c_Ga!S<=e0Gk8m?7D3+zp?I;D2TC8R*_g4n&8F<@S$fn{9MC_^}{C!SzKSrAf)^`E7a5z}`D#Y-sV z5k_@Z=`E5-Y*Y#Ms1BeTSMxlz__qC=hGg`_d#5!EqzhcahPRn)i54X=#h(_)MYci< z|1k?_w?1X_R$%LKZjsJ4$#-XZ*cD+Rztj_LUM$q}egB2m*|R{9r1)0yqC+>D--7|8 zihXR3t=U|`vFD*S1<(#1*y9GD61y{5MSaI!PIFaCQW?-=qox#zp&Cr>O0g74l(*lW zzGAQXHBkp0l>!&$*0;#xc@yC2W)!h;#*R7S^F_<;!cZdR}F6 zI)#j8?NP9?viWF#(<&OfW?ntgLQJ@x?vEzT@KxtFZftVxfDpyE1Nu`p-Fl}l!q^@M zpjkYdcq`9T_ayz$T`u8eFcokK@VqngIfj53Xvj)9Sa7pZID&wY67*Ok=o(c%mEQ-r z3Ba(^68^qKRS*4l1s3jTpFxM1sDJ6TF12D0_??dcN#wD+WK|&mOIxJ>~j-ck-}6{8^OET13 zY1F@2V+sEypiW|}&*w?hjH{$Q>S(d7J)<28ErRz0S+eyuPnmk<&PwWp*V3$LVu@0L z;qcdXVm-F+$0tedq4IIk7du+<(1%9>E3KULX+%O8D;bU$3M_@v0S` z96%9)JGx8uM+LmGe4fa!+aEEe8x*QTj|VdUZP*w&KL^{E;je`h=`(6E&P=-7p@kC7T}kPZw(Xj^NPXW3`EkK7Zvu$#d9{!g=xe|Qeo?nu!*R`??QV&uHO zQn5qL-S{k^%X%RWsia44DYkD=Lom@;IBoO6vfUQPoL=TY+D8)Lqa|1dx%ggpQ!v8-YjQW$_3DX zm-VO2WQry80z07*_9LH!=9g+xIOXeBKXVkr`smDEi}*?WV>qrd(B-0 zbjmCz=JAK3S%rqy!&_4d-M$@Tho1idXuP=Mpdo!+M}x|%eL(9wfduwsQ)PJE`-@$TT$Iq_7BFTAX*=WBbz zV8oTfFC&ixe+Ne|`H z883N7c77n4Whq$}mheD@ri;+!=$KxVS?w2Fgvbe#lA@ez$#ebh^^1Q6>y4%eV6hEz z>hMfJfPx6gsZ0+T}PS$wX-9nz_?ostB5u!KS5s9}L6>SBiz#$k=dy+0W@_F2A%f zhoecSBO_!YW5AfX$Uy;jtjFWM#M#R;ep->Rh*WOnR)sXh&7CI0T@X8o6b zEL-pX)Ma+}j6bAlQ?%ZA{Y*8(NS!pdZo)hq-;IDa`<*UhIF~=IR{Q92U*rppo*-+P zBl#IA#NdxmVHIo4GCxsoKd3@#Z!~oCqJG_y>#<#4&dD>0pZ9sFExn6rnL2cDH4hcY zvjK|dovof%B57ngV~|t6Vbz+Ml|txrTY%4&m{jfwg|Q&|dJF__N%1o~`RnaXa*HL? zip%#~BXXQ^q}g0WZ(Cp4i~Z^zQJJ!Q<;-IX+fS}uj5#}Vw*|+$e1@&&-r6XFN9aJ{ z`S@sm$Tmo&&PU{`4qWzqkdBf0^sv;1EIGAc->ohz-eZ@lS_(IvloayJjD!Vwh=Kz3 zVMey)_{VzM?J#1&2r8P9E~9;VxD8;(l61f7MST8DgX&PzsHXBWV-D~<^V;Z!uAl9G~U4x6Sxev1y~?iO3^>0^ZFPBAE5cJf2<*hEb1{?TDaYwOwBdns1R zL#?(p>hCqYs)q-H4qMp6{*Y%UN3f{?WFXa?$H|sH*c-gZMUbwq5lQTr!2Z=u~L0l z2w2{6vzoo?!`+gZT!*fxT${`Mr93^*bXK7LdTXy&W(+c81rHC4i4heR{<=*S)BH#9 zN#-)zpglB{q1uzfbDp$sAvfculB3;V)3b0-sQh`9&5%4OHt@PufXkmSAwbg%inO%j zv5_;K*`~`XswjA8`TA}sPfd-P%Ux_|zj%>0Cme?pE!%XN*N`Rf%D!Udi?u1`f};}K zsH|yyqU%d7$PoKJ$HwKc3RjTMg+Xo_)zY+E$HIv_u({AyVIlph>hD;wFiK-;cPS?I-glwDK&IRIo)rzQgGDq~ zIvsIay}MojM^6a2OGXW;R_mK^zK)<@G3!Vaz>}kk*}u0F!2iTZwr6SocCl&O#+Q)T zLP-e;Cr4+Sv<{7-9rOT2rS`VRf8A9{o33#_`sJlDoWc7~gvVwJH%Mu)*G*g{2R@nj*xeJ;89no z4IdH?OFjO?ax5VV6+U2< z8mm}H`ZQb-N}E0y^eG*{>xx5wjmIopreH!9uBB| z1nXY&I4xH^uZzS){G_A=Tq6M>DFR_qpDQ<1kDTF|i(8?bP%lSAd?nZ(xQ$ncKXP~D z=84I8rcxlLinq#zcbtBkWI3T;kDglm!A4q+11?`0D-mKq1-jHxb+k_>PhxdK#$W5T zdYxrY#-r!!@?i~f=Z@cm>YxohBC68t*j)XCowM`8hGU(J1t^UA2C*?4K0mS`5%50m z8pZ?b7LI(?{=tYL+U4qglF8DUk1AoA=x;^LmxH}kCZr`~2uGT7KT0gEtat)Tl*;00 z!yARe1UvL0RV=it>AKxZk<`H*Mfl^0mdfe^; zYmz!z4${oldlN1FK^Cq>o)+ihb>Dh`FvN=+lW+CGlaJ^j0dbhg_1 zoWbKaMk6o5(VXaxnKOzpb*woY&fPsrFa4b>DkS`Hr?+x+FD*HJp!{)&)s7 zF~5ts7j*ZPIBb6eN3b6Iwp~?jzsLEz&gv{4FT% z0&R!s*Xyd5TqPQ;@S&glaCq?X`+PO%cYp)iX9f}w1i2!3vb_0fA3|nI&Ydktxt)^t z!^O|SL(znN=4vYohV$D)39U>_&O5rwX`#?s8I4zm-rUYB(*Ppd7%hG6{O}*MfFjA! zdQoXO_xKbB$w=V#x5_dmkl5TT0lVU`JuKknqelcnOyr)1~7>3v>sd-Bv+y4 z>s&KMhZ}!tQW6@YW;6U^DWS=JFn^&fnjRyLddYd`R~?>ZotwvGLtVGdKZ9&N3U?0T zOF8huj|xT?jAh0bnoforYANxqy?*p{H&1ptt=EXqRpy6jGdWL=308tDXxY(uLa{1g zLs&?>qY0jDsjDJYp+;@5JatvYZm|K)fVcd^qcfq?(UjAR0Q8x5aOX{X^!<7fqKem1 zl)mobU3oKhsx5!O!Q*tYP&98Ele~XXEu}0;e5NKdxVXAl>3x(T6ZE3wvUS4geNpr}q(O6NT*8$>Ot241%I(wt$i;nR z_tpp^TY)AoF7Vce!e6b?s0hV1i%MP|9)IuC+t=cOLbPw%o^?jjrdScm`#5i?(T(;U z%Q=zO2=>~Ju*GOCTF`5-e8(Q0_DueCr?EWUn8s!z>0lDhn$6u&rOT5wlCBDIrndAz z_26JHS+$ODxap@=t`fhVEO_N-$xJ%`(%tZVc|wU1s_dE4&y>YvM6V#?URH9AdGz8| zgCdyr(v2qG7YvA+Y@+?9$nu4CbqB8O5bAL@7{J8oY51f%Bk6O)f{uuO%e_EDu&sY( z&*r_)K(%Q_(|u>rn^>!8BT3La*m2~f#t?pO&3F7z^rySCh0Erp$St^JWnA+e_mZja z))&Qh&d;a8@x9&?=MY_O2_J#-5Nhw8@A3uJqOG5J~2YM19!BD?${qzvYXz3O8SW~CiwF@|@ZozZ8b|SrU zzC;p;)`4r;x7Wpv%lF}aq%fg6^*os6s=BFFW>_sHFuV@G>%$JxS+Ov$gLd4dZ_#PY z>Yn1YS!3}&h9cPHtuiad8ii-N=A4ITrl1ZjlHzcf#e_JQseK@15u?Pi)*(ZN7Vkh5 zZ4x~LTm0a`hy_6^Hr%wsSEi;SSb5^t(d6tSx9%m`KC{9jG^h7JeaMklJm;;QsSDT0 z%CcNlyiYc7qU5ca9`7CqeITAs`u1)##{={B_&O*l8r}gLA&iZ=s57nqbsWyEIRS7omtv1b3Oep@fUj{QlyqrgS$~IhxE<~CD zYQcKZL%-jTX}Ur1 zmxB;X;)X8I%8Q(W+rE@NVQm-|CeRbwqlcvGJ4hM(P?yVIm`)3D=VHyb2#(y&*os@c z{q2WQ0|S{_%f4HY;1&klj9ospf&0260a)L$`P*1D#pwyI=335uT(B~Sk`f{&^Yt6 zzvjXmtcchPjHXMVJith{4wkZNMH9Wt4uOxh`oM|r`=i_(gPIS$@}wnmlLNgv$R{fuSU+G=LfNim(RVrQuD5D+o`_d+OWA)3 z^^^^neGd>HGS$z4Y6~j#H=Fa8PzoCpC6+g&7s6Q0(cCb~Cy@Q`xKuF_3qa$z$#a8{ zM9`O|rvD#cgkU}2C8F4&y%ygd*Gj7#6-^Mi|4F4%rC9A{8+uv`+rnR8c`ZFAl@fC)Ts-(&$S_w|(r zArVowsgX?Lxipx9OqC<^k_v`94epFtPhT&sqmeO(?->R@yyq)$5sv@)O*rr*9r1Sd zluwtw_WBY!TgU$v41oZ*i;3~@VDA_t1FD4~`2RkTR-*$*C{&f-eTk^DRyvnp*`&p3 zTW^o}`fb}rTD=e^=(uiM-q$OG%cxzTtJ2ciL7g|caa4etn2^|;SYGNiwF57{WMrXT zA6njYYEq%&bH7w6r$UcoPBf&!Ezzpu>9|v*Rely&HCLj?IXB*E1`Z*yxGQL@eZV+s zsm_odc(bchnm%P|0SA@Ey{Oe(*mcW|^z^szQo(F{)NYM^qQ zU}BPUXz)_$;IQLTFYX?1bya1y5X|nsw&Q{yZ>!OTDI}) zvDoaqJE~-V{6mZltX$CB7H$_C z^&B_kJ<@nc3oJ^q9_U5k-%!M!glK=L&g5THBwhrO_F=+pLP!#yc{|r0z-}7M~ zO2lJC&v5$&eL|A_Z_)gDz5?7Bkk=_clf*Iydw#ASBovxa$MqPq67)g1P0h?YQ9S?l z=KjC~R58#N-@Sc{X!hHp9e1rcs`K979u*Z8KWX@_PNKlyUx^RQlH`#JjB+oqybe1h zwLaiV1D_$)qgS(kTZ9|adl^(hhKGmgJNGN%6=;mKSy0?w{dqq)Rl-K~SE0)$Cprkq zd&prVF4ENjYK^$kOa(Dw0@`T>>s?QpBn|dZSB4b})?QHF5ykKS{i;DZ1*f2)y!v)e zT#NX`L<<|6RQPQvoM8jK2p7rJR2gU)=U~b5^VFG{{z;X(s5B;3*!0sQW%Vg<+1>bbl1bADGDn1g=^jve>BEje^x50yUK!wIr_>HMW!1rU&2(e+ov(&|^3ciS-jn1)~dQZ5*k%4YS5@HnGeTUaJCc%sNp z3Tvx5Jn17$NF*G-r0D3M_SpU0#mm>|WLdCTVChXfQ9|8ON@W1g8luw!%GL8i1UUk=o2Mg>#?-D~w0e?($p|E%<2 zv1@o3uqrX?c3*GRgt+bq4RMT^v12cxo~EDc1UO9k&2v%cwP({9qarvN1aLjB4bBsP zWdl=VhD6o8!lNi>BNL!<>}}s|?qlRauEjH{o@nBJr5!fXf9@}kI57a*J%rgP^Gzub z)}QeYcWBZqI9`8G$nd}p{wzy}&$5dH`Q1c}qHs#nY25T`I-8!WPe#_=#S#XqeU%(i zzL@VkwJqeSQzGX~Rj{vC6^bVNKHAaebZufYJwghnej-36q(^b0N54kNH@m|@uXf%z ztFS8YyP6w|ELrk`FpG>Ud;m9=#4>5A=6jI6vW)wwoTQf_=yuX z$i}ZBSu@>v{N$Wve40{)th*yf>Qdmi_f9?xCA(ejfGAh zj|5vHOKCQ?;oZ(P;v!&6Uvj8{XcQ)i5bR_cs++_`aH5X|q2$UZ%0 zO1-XA=zyFjs(hI?hwZ%;(2&aC=i^doe0Yxo(O_n}E;e z_oIMDCYMY?Ej6wo)OaZC(PN6|%I!*Q={dC@>jKVh)2yy-I)YB0dqStX1%v3a=0*}k zG#SaUSF@i!y}>gTpOMvCaDMxjY=zZW=U99283T|(0U2E1mPwLfqY4DVIupuN#a8>$ z@mRcsmmn9-AzU~M19y@aq9poU;U}pH)Nx76fs$(wys)?W&`lSP;<@C5^X>Rx)Svy6 zwU*nm8QmUv>iz>#CvHlbaIM?2p;4OVJ5-uRgA=)ZzJMJtvtl%gWh&A{chN#wYm#ZD z0Hst;hGlMRda&=TASOoT!S<4dor5vO+=~?e^>YSW|s!tpKZXj+}&Y!{-QNp<{>UU-3YuH6nAw ze341hGkSz&YHMcOA0nqjm0f^M*Ebs?sggeY()PAn(gsyUz5pH;AH2;z26^l6cj~^4 z1J;0M<2r}x<@>qzHNIhurv$8QtoKBrG~(;hsf^m3<{GY>VOLYGWcf;6T*~APzkJ~B zlTut652b0aN1&QVI|p%4_SKb**8Z%l?!{&Goy0QwV1o>X(C?}}!Qy7jm~R1T({$vF z-^f(B6+unMvAD{h#dkRq89~ulZN+&|`6kDu632=J5x;m@Yje~Gn~^^typGN-QHS@G zLP{cw$xW?(m}?ELee$s=$Zvn->HM3xMe$!zO}_t{iTUGRFJ88aS9A0!0ZnI@5$jB! z5=IpeyL$IkxH0YQoNO4y+ztS&G}j4rNVbvvO+^6_-+%?-M>x~qbhzo?jc zY4-@{dD<{E465-t^YZ%6pHB?Mf2T$IeVn~x4q1&b1U9;AH+%0I1EJ;gR;zUQ_AQ@{ z)+c1TqpMw{qu(-L#lv+O=uVd7pAu6v;nDE82rQ4lY#v?W{dwC&l_j8Wc<|)WQupZB zvy4MDS_C$(ls-SHJXB>RFL%!^?IqJ^VaWW!*);RP$mzLzKc{EEY0U6gYFN`AgW+p^ z4}H_;caZl4pj%Iir6R*Y8@y!!^X1&l-Akc@q$!EVOns2hA#+V*@b&2TX*`1OUya|r z)5+?OG^Bj-;xB*UncbMQH<^PH*-F5^uCtS!sPW|?b9}~9c$!W@Oq+4@!P7rib;Fjw z3n8dhlv=TCjdUy3!$JbR42gfIO?47@8wEIjl1`-`iOE6Pe59{2UDaMOX1 ziV{SDCPs=_@gbT2$?t#m2cCFy@6Vs$Z9GNF(Or|97=w>ETPj=06p{dtXeHu1yFfhw z{`XN(^#4EJ-ZHGp_TAT25quR;K}u5T?oO5N?vieht}#H65G18rxUvE!BBN zW#5x#;nX4{rg94vC&W368O{a*)H+=ow?A;FJ>KWlUfh);8pP=Lg8vS6hpAH;Q4P;x zU}8>{zz>qShJ!)B;x$atXILgg_k~<*3YYSAO)q2r;&aq9FS_*emg+xT9BY%ZyW%tG z)qhARU}{WPXuvS9qq418Yu&xa5=UaDfoCsXRlTWI`mUot@Qu&yB3gmfggU|PVHCZ| z$nvyBT`-Lkgwd$WDC8_8=zSR$i{ZA~olD#h^hz45*4U3nN3)`rr;K**790*+$ygjc zXD;eKdbOm^nrU`rau8R_NCj+y+JCLfxBx-oO}SA0Uis4psB=EujB6xW{d2gmp@}>Q z&1*)A4{`}S0RfvK2WI0R z{5I>fPFRmev1I~$gJjHFNAc(|mTWs9m!z6^6!KIo(Z_}!>&a05LKXko}dUxtfiChQN zOUcEEql?K=R)8PzYwzZ|e4a+u1)TGc^^awAaZE)ETm9cA{Qv&sGK^{CXUe7*<8zUZ zvK6`6b4h+BC6#_o=*5u1Cg`|xfqO?ES6_dx#_O@J7pkRp8~X(W%1EZ12WZ9K7&M-Q zq+{ms%OPB22&Gtl7hj@h{z`;bIdddd%6b7RvZMcuDL@?Iu(8|?jEBL5;e}w2$eJLP zZ@f_0_Ld48#4N_(6FN1X)fnYU3B4)>9l*8TbWa_ zHU9%eS%1!*!M^&J{H{6hH2HmYuNP@wVeT+|d@-64d=P;X%M*KW06%UymtT>>#yi^_ zG6FFOg*RDr@pKq644$h(#Qu7 zDH=PJ&|Y#(nxi0JUtuQwrbwDd<~wQaBO2ZwxHHAxRO_pgNk^&T5;3$k!51d_m0E4) zj~c51r=>)&A8=YetE5XxC_8K8u^U+3M-ml#nBO%#v*jG!msuHcw9@b})lVv))8@rO zvUj{(i&Zq+Td9&sV-p?Afe)#@;MT1;xpTj>tL+(<7b7Xza8liKCFgfV{NjZpu@IOu zt>oKEosyq`d~vq_dLznL&)C(|r&yD5Pd+rD?vfkUFSqbEeP@HAEA6_Cf!;DpX(N+r zkfE>t81R|;`$Iy}5}5V?``fEoPc2r|D7W;l2s*6D$lG zCEmiu#NzFX5m-oAP-wWkle04zvVJs2%fTQ(OFP{ZLKhfyq@T3==;1?0fScp$T{(Lb zD)wxDJ-?}`INP6xkBXkZwY62}be-h<9qOkq>fO`!vN8?`jWI9!3!%ZU97|#tN)w&eQWiHc3hwKm0NTt3Z4bPhRR6bR$FG*L!gK_fWOvnX*?1g3-JLU7 z{&d18+~P^_rbCXQ?e~^t^Bc=i>dq<8%$(hiDg_+q5HzZ)8iNJsacES0ys?oD1?Izq z(n7!cJk!c{fN}B(J#{Lx6?eqAqcC$+m!{?4(E2phhM!{sOUMCwoVAo_q6s%jE%oCV zOeOz$!kZ)Gl)$=l7pnJgwDaP>nhv>PeGy5Y^R*@i(>(!3Gzpgs# z7vilhu$1AVQ9jYa#Kfe_Wj8m;XmPGohI4bBzUnK8vS$}!6qQU90gsEVmX?+>aEnRK zkT#65X>)e@ASTlUOTp!!*NCR`)tn-mJGEJ`{UK=i)5cuYJ6n_vUfnb5GfDSa+~GSN z-4z8Gc$NqXN=ld3=rmVb%@hGz$jfKBeW?PDm@75&;c1*KoQ&hI8EI$`pn7Pd%{9@x z%_Hz^qMhF9*?b2?4(CV?Y|)VN7If0sKV|XRH9hL^5nfBZ0l!9iMHEd zGg-@x{q)Zt@h*@g&JrPzLf^f(kpgo{_J9`z+Mv$`vq<>N09zmseOJ3!s{Kig(Cz=l z8ZDE-J~%8(eBbo3Huf8DQlDnx6K_R*4Pl|oVWG+W+O%;S`$e&yz7!0it;Cu5qrBX` zvy)|?{-aA28lxV5xuH~6s`C!HB?aneFiDZhZ$N%!B`yjSDEx)KrCci+;hd1C`?Z>* z0icG}e=$csx|&*!~x^squ_UjFU>BWjBi7x zSwmr=aEJwyfO<>lD+g-UA`mqxh+{&;-Th-~a!>*6Ht&fn{;q;pviRlI-f$-e4)YJoB zYPT&o)W84(kbl;W5Peh`mLKLiEv0^1R6=_Tm~gSu-+QI9D9V?*d58U=BHx*Ftp!3} zcL5Cf@N&=U(oq-$Z{K*%uD3VZ-oVawvhmZVg*I2o(@*GNKt;RUnn86^D$b#+Wvm4D z0AzbPi!`kb4Iw+{#baC5(Tp~G%NmK@v>f`44$zg6Ixw(?5jiZ>ueY$QLF*YPYN&Jw z!rOxMiz^hR3}6r#E`@|>Xc?FOHYzQrF7P;}ZwB{-^-VP-eu*mOz+p?&1FE070o%s2 z;f|)~!GyIWmhJ9i?uJYAGBhk@Hy*YS(6wVzb>}wI@`7HM;8-sFl-u^YN3ss!M@Q;+59( z@HZ4fdqIyvm4BXK-uxU3YcfRP@#L}@ojL>lZQ5NF6=()P``?@zoZAH&rTR-Vgq{R? z+l{s4b22MiEJ^O8sp0=@-{_+AxhC;k~UBx-(8Y5g>;?Ub+&#U|H_>`W6 zv;y4i{xIkG;dc1`nDGs60y?zn!80WWTbCz%Quge+9dhpwHRT1TgQZ`3yZ|KD0#h~Y zDn{q#7=XP={XMRL4=PWG?H?V~=r~DhE7?ZjDc}&eRCB6`nUCZVH|$Ra30)24tV}uL zzG-VE_*n=m?tKE>f3?ty=7fZeq3_W3-lW*>XbJePkjK*Mj!aOrOIYCJ%{F2=PWzt0 z+aAi^>VG1AxD`FHP_&i_4d^uO%2SZ(>z5Mi@@i<9Z1%Xstx!p{Gdx?BPDy(1I)k?Lr{AQmeMoP8HLG+wX`N7?& zQ$C+LQ6evMD17gz(yqp83xL9%-*~_l7oS0z1TIc?Ep1Dnu=Qe-|F^P-Ik-~=2uS`< zZ4Z_wo@r!BH9I*%9y##k>{CJUyeB4icTNPMyPJzYn|Dru@cVDy19?8Yw#S#5V|g6T zKFjhwd#orf4r!#h(3%jBVXK1M+^a?D=u|wWe9`V~n1))cdH?OtV%%w_6dYBV9M>9Y z8CB=x3tC1^&#zF}!$B<-7MMGu9-qLqMIi6$65sMQI_WA~H){?aN$sI#-aVO{4a}hE zYwZo8iLy$ht3gx!7o3b<2Zzod9vsu^SEH$h<1%RTnT;>=2+2=h^Y(x+$8cf&#_KsO2ITJySI(UjbJjAdU&b*mS{_@RdyX1OEUuDcB&aRF!L{#Mi7 zK4pRUtY4)+?(Uj3e98(v8gcFMY3nR5roU}dd%0r=0|%0Mpx08`!^${$&l`f9ki9zc zr$qzB)hsbZB?Suk41Y!%uVW?zO;?L+o9?lqB9%MM6aS)1N2mr;`NR za}AVGjjs0Zx37m{uyhA&5gU3$q6_8K>Hj6+jYmGkUC!=#1U55szPWs8pU(qmG*CLa z@L2<<*|rRqD+gGTNOvEYp7Va9J|CG^uPFeY8;k3Lbd%h@kiG-zy6X+pT7S`JC!gyZ z>QGSp6(Taxm``g~D$Rr}W}2T?Y=Nk!NC!*Lw^qg0KO!&o6?8hm}PWj~YTV*$(Y#Lt- zAXRGBTMf>&fe`*WERzj-tURbMp-~&-@2)qPmEmcw;%?sD3jMh~E8FCT&_wmh{}7iKP?lx zNkJ+9XPF8O>|SLiAvRH4BToh6_>aktYG=I6@uZqtdr69-ay8`Hv+AWE#L)?AO*-cY z!{0c!?`gAVr$z$o34>0(>Gx7LDV|Aeum$vGM_zhy?YF`pd%R&3E9Ho_ysjOBIlU=l zC|+6SQt@mkZs2RocUyRC@sduK!%3yhuO#^+lm4Hu3t!P2H!UH=orzF;=t>acQLGxQO z@x zRuD;CQKYZ1PKPn=Vx}ByqO>?C28NmO1q8xm7&GrJb){cDr^Yw$%aWN|k(d(HhXtM-@uajrBPLZ<(5gfe)t!5`h$xx^7Cr zrC1!qblq6U@PlPKk~#X*Ip6-t3AK~1N3_?Gdk$k)sI^JA94LAfgh9O!_8t{dVt_T^ zTxiBwAIb?=apw9fBvRQqOiD>*AK}`}r+srBSK7{8ldMOtHyI zQF%t#$H9#zc9G0(lg6~>P=?9XUk8t9^I0_ShD&KAc{^Q}WMIIK9UO}I&w+tqneK%pDFP0GC zo1x-@4G7XqwefyR>=53u;b!jWz?r^>S<4nS1$#?H(6D3O>){XB&qgX&YGZ_@HarNa z@rQedyxrH|@6l7o+aTzE4bXK*S}<;lZPN2&j#i{U*H)l-S>^y^?;S`MClO}HNEsXE zbJsRTB5A{z*S@l6%U-&CAq9&*Hutj3N$jylz2I3+{NZpliVH5oqLJ*K4;7Eo>)ss{ z{3fqWC%~!oW1C%{5b=CR;d%4WuU^q&Q8Fd*lteHCrjVF3GFw$vlUF2yoP7N@UBiz24#&$NwrM$*C&dNpt-a=UNxa#) z0MWv?htTGo=}O~VUEP#`@Wjjg;V3ZcrQlzn_@REMV&H;Fy&BCVAS(BUn6s7%8xqTy z+>hf;-I{WBp%1cnaxSWsr?)1Jg;6u6558~4OSHPKvCkmHSJ)00SO$q4Ha|FX-wc5a zY(f!gv65OEv#CZ*(f22LOpvawAcW9qW##d_*Hut4g%bS20)DSRVYpdcaPK}Xd3lvc zqT|{6!%ZhM=`buGl*dHkrB6=CzFHX#&e=OUHhV3>KdJjTTdHPWOYHQnEUH9&z&<76 z6+1DmX74dh(HCcGYt1gy=CpdF?RGxs4eAb;h}@uUmbdOz8F{zTRZ}=4msWg|qD6E! zul48d0>^WNN0klia{5HO!dsX9G;YJCdfM?#UgKBy8Dgo_I!c!5hMoOY`E4=8&Me{+ z)YF*(aMqDG9KY$rhH%0a_4>6 zL@0{2Z0j;>hC*q1C7}oZ#;$nrHjJi=r7izcEzO>(3_%^tu^>_q$Q4 z1m>2e%WAv!nmEvg11s9SKs6lX0nST8s;<`*klp0CogxpT}>cnV@n zZfz4GlSwKk1!`)Sf9J*2weKPmz!^!XhPT#TCkTrbcV+Fe0L*-e9__Elp}9*?EGiY- z6C|V|-@fLGOyOi%*sY5YaVGHi(NM}(Xhz`u*^n5hAZU!3zIteXEl}eeWTEYC5;*Fa zk*r;f=8WPGk5Fo%#P*#;tOn>56tEx)mQBC#oitYG#uu2WU}o_|F9Kzh=TqwR#j%(o z7J>>JTA`V(9K@AJkK~Pt%VUA_LW$=D%b@kp4CCKXx3doB>|#N#hN~n;aok+c?pc0+ zL?OJ=Dex>A|H9%%iGh|t*|+|H{)3(YjP-_J0_>e&tmnElp^0VY?#Lb4~R3p2+J*FwplwKs)+m9 zEv3lZX-h4N0pmF?8Ib!K*@xu_>Y_>sA)&Q0dpl#yApG(dD64K){x1WEY|2Xgs?4}Obo+j>AE+zZxrXk%y*2}A$p~zJeuj1-EENKmJV%oLc*e$pB zA#nK{+pg#5;hAXq-x%mg1v5X;vdAVh#jhG(>?Zju&9(qM|Dwr zCatTC4B?Ebd|HRfUdEHa?bic6J)|#RO1eg|nWgCdQw!jI0X*wRS~EZi2{1PC>{qyn zIlDaPDY2=7HY4ke<8T9YSOWzEgI1NblmOOVe_tk#vxQ=U?MXeuC)~@v0GWD8p_l0f zU@et>^SV0V$sH0C3yXnNF*$uzWFg^(7r~1Lrq7kCT#SpYO+c19+_ZdjsuQ>SK(c+* z+cl|lFtVpAkV&yRomHz^)qYY{k+n$hnkQy}TGXl7EJyktkHiZ8wP#`f5rO1sUH%L$ z{IX;lUGUsF7J7B;6m5x~jX^8Mk#b-;_uc%Fb0{Q~ccLFUD=H;&JfqUbf#W!tR<=_# zyMt`U72aLuj*OdDFzv!<(E4P2Y9_XNahR8&v45tLYhi=Bp5$yU+YW~)XlLr%EaQyo zeI4uj7ze@Iy&~k)lZgbLhT3E;Ty$BCbG)emr}x+_&c}QEV7QnYb;^k*-q!=?{l=cf zPNUmt%|Ia(jU4Ew81tcG!A@&Ywn*x+JlDyI&sdn(!zbZd`>{+R7c_T37dwO%f(ksyo@FO9|ShOiY z=xF#Hc~KJ!QI(&!3;WGxdBWyqo)p$-ccspsNZwSRPloM@*7pquodJt3Ud3a*( zzQ55@Eb4NP9oNg*Hi+0%S%^b2^Xfg9pp(x88b7V*H!nc zJLMf66uoG2{qph zq<&vjbU2rvV6ua38Cs2|G4MJGo2Ck-vn$zV?ka)WN&r1>7w>dV@h2AjhVz%VYGb+= zolp!K)Q}twbFO%)(&IHxjF*L1)d2`rC9&{c;}lIZn~auy2{b;Tm$EY(g7#KFnqusF zut>m;u-spC%3oSNA8RQ=6~*4!IR~l$(>>miu1e7<4LeEilj#QNsg`Sg|4l_1HTw_4 zlyRTuh2NXlUQLGkPP}#ptICb$7UID8+jo6F@%+(&j z3Sj6ssTux1Hgv3ei>tSVd<-eCsOt6rqP!o_|7hsg3e(8Jr{{C(5eMEQW=!Vik2)H^ zJ!rV{;y|coRZ30i@UqyobbXXl($PF$l{P#0HOMrq9KlBGS0m42WMRPqc{h*vq&7kz zmZ?@_K9{96c3NWnI)&!<46h)xQGsiyQqt(K4nomn=S=lw#G4w*KGk&d_-C;!^@8#u zzJQ^EUSS3WFduUnjYH00Bh{jJk-G5a>;hht$9;UEbfSEd;-z?yNUV9TdyDfn;1d(Rsbz^j@y* zNng%haKWPOtL|TE4=g;HC~ZgzLvi4%jou_VRM~}SqRGPQpK0jE;e9I?A^1S40V)fZ z`AG~hjnpF8jRc8Gv)@c{mTE*~tnF+JvRV+O_sjOlKGX<4i7OU-E}tJmI-ilr0!=bk z4ou+*my*GH!!L!p*Vr@bP1D`Y8^~Z0aU(i$Q$;xFaqNpJ$J>9JrE>KA&LQx6` zOSp~6qBJEYpD00vdObPX+S=Obe9)1Eh&8fzW#kZ4XB4Qh08{SpkY2p>&W-}ka>}>0 zgU#`h*ZrO0#HRm^`(t3u7w5RuYogX?>VoJgVDwd4s$~b_u~epM(9e1Ay9P%J&ZPns zZ&QP-UV{O_)rVSMK1GQfDN2TpInnkG5U7}()=+-(*MDLD*k)!f0!8xT^)=xpDlX8M zs&!w>Em9+awPv)5d=ts>Hhz9i{OgF@CsJuscE(fCz&1_Egvf!%bfiP(BKsLW9i6(A z+l}+;aG_*&u>)cxJ>eMrkePXOhGNhz0*yzRwq>ptvrrF~c$~SVgiu%taLx}&i%hVf z_Nv(fVBykB^$Vz4ps1dew4@{lCyOcDulLQciuswdof;GdxT&NO8SH_gVE;y%$93}a z?c=;(NO@*~f*O;rb?&|Z#ijhAR5?-o^6qY$<2Ky=DU95fFj8L2mH+6@;JNta?*9Dd zgEI*GQLt74HOH2@IDE+a(Va4yo^-2L%+cuRkE^F;cF`Oo(3y6*&*C6VIGdP=iq zOQC`^VYkyl)#aPj)V0;Qzu+u&Po6ey8Yd^Ed~wg#@jbq5hDX(ivL~c7;HbVEi{-NL z-_|wT%TctkIdxlmqTRo4C~Z-3VWjpiRD~=4?6mRMUUW;7E z{r7W#9z9di^qIa!cMGSo?TSHVxeMeO)Jo@hEvA_s`G3}H0|`SjA$}&N6yC}NerT8u zWkp3r0=Emd=bRAoopUF>YD-})OZ;ME;7qUV95mj+gf*Rh1v+gVDC5qo`u@?tNfmaG zpNg_po$1m0mquVp^B-{t-NJ8f$tt4JHm z6y~@ql>~bJrsW+92^>cEiuW_YIASRX*p!*f5I@QW+;?T2i5T=G_JX+R=*D-T*f^gh zbG`J@r+!oC+QVt*tHsvt?|KLQ!3o1iNlk$nu5Bvbj zH(OEdaI(DN2>J^sC@4&N&0cu>wMG}5GC^PeCF007{kj)_MDE^E6~LKG|Is{3EduU(E)}5JK!`rD-VY-U83q1y(6Lbx`;RSkk2QU|ZghPIc1U)kJxs@igLSy$GEL5m}*< z-73(L`IPQc`5Sj_jr)qfGn9}8C2>UvB%{uMipvf8-QVsIJZMj9ja2rCUK3YMZ=*u; z#XEf}4hG#!HQeQL=3`tef?%PO(pP`fA)&&||GhdSp*dYu3iL0#z@;@gAWG|x{dHa{ zUqvZu7aFh@;Z?p;JnGO`E{7%4Q;TgT{A)YfwfIz2KDxK@TW>MFaoxZ zlf8lEi`<(=26|t?i$|Z2?ehsb_O*qBR+LXyt8kC{m$C=`Xhtqj8FkCT&Og+<*mnMU z$D~uA7#|_gR4gX8c)q7k>U(h=mjMEwg52gM3w!sq%3mPM5V_os60UJ8Zt%J7#o1> zAE~yUIoWD#m&P5m8Lz~EYQUO3z0bN10QZ(ImhmjaC%-xG;gVP=F~_mCoV`D4=~5g= zLm<)BgQ_%wGnjm73BRNe`&fH>fF12BujWz3O>_@_URy`>sk?od!tx~fIn7-P`uCV$ z07U&*mj5WuKPsnxJbdiwKeYg_Isj^BUj--~<2xfWPmjE07mrycr8|G}w^ z5MUyBA|sFS*DNtu4nR## zHaf4xA1F`QPPV?X4R#VOx&N+m(FQSG_8xU`$ENenoyKt1X}>aLq8DLAhCV)aF+PII zGpTi$-`zBE@mhmy%1qcdgw{~M` zBJbblXW?K;;4)h+o^i#c*V+NdZaDnC7-+*jF%6mDHWR83RL2+2q2nXa- zT1`(8lckZ6r?=Cr?U|kO^b8Dw{5Y8qM7a}gHdCUUgp3aN4FH&`H)*X%gUPD-df@9K z3q&`}g+dz(#w;NlhbN}<9K3F4@gQhk-hNc8!#H+|<BJ~t7D zIeR`{+)yu`d~{S9j195ym3nvgZunK{Rh!<7GBwumbLM2)KoVQX{2a_8%AAy+ba6jY zD87iTgbP5oEMUQViI$~!%PT92*&awJhwqKnzs^jOD(gv zuWv6tW zqJp8@k@aEX&pbdXOa>G zn{AJ1Z!XIescet)W5n`9JI49Lxdqa_C*G|~O$4JK2bUzXloGpuTEHuy;`KN?EIT)M zqCginM(Rp8Dj*bpyrQP239xhmlgMLw%AY)KUt8g^#uN_+2Wj4$a9V?rJH3jOR(m^g z{7jVo+@QHz+5rhdCL=4;6Gzto8LLOPirp{;lVvGy;?mMi#gl}9?@0hD)Y1bCZ*A?v znR{nk=P4>ZPm%H(O|6We@Y175MV7m#CBc5v=3HiTi#p=%#{lXxLl!9^qKSkm&usS}JdHn?qUf_uAkz7Z@ljwpI3`fhBd z5>-FZEI})GGP3FPn;uKa$|kYdMJi<%XlwK7s3navmn&v2E+3%;`+O4*lIR_>> z_%@peW1M=)a*g4}B~E`LR@P1}3t3{#ri4%bSi41Ufa>-a8kNPFO0V|8mcE;fHTUSu z=^85mlSRD5y`>$VFZzR&{WA~GAfBELB-2&Ro_pT|x3VZ_YKn+>JTm0lwIIZH2d(-v zdN};OSM1OXe}BZV5!Fx2{`buSr$qd%uZaH_N}{N^d6@3;ZNwPs5v~1lOK*~Q#HW9g zz%0yUDo|5*1+}NCwJOoZNJ@6A)$Me2c2dPBBy5Ta7$|N6Qj){hnhSHz%vDOtj>g8p z$X;v#RIQ5U=IZGzwZg&)TUNu#Z_P~&Y!sr_I*ma=&z151d{Q!h2Ky8g0H$VZ|K(Lt zc>&>e-~LAl0Mr9UKXy(|sll#z_LI2rdG8vt8$~YlT;RnjnyI}41Sdf~;-${V&mP_P zgp;s54I&nBhi^JZfcCk;hjaYr&rScMJ7yY*_`i+nFHe#MVg|(dBSf$giVmqeAa1Hi zq?kccJRjrlbyXq6(Vq*(`p#w@2sxabJR!aoV5P0UzEJN*B1$F$Ns2oP=6MZJFvr7? z#5GszBB|+G17>r~(&~XBVl0k(zVt9fE5N=S5%as7jO$J4tEn)$v@ z8U{eGK3|14Qi2-Oa<~t?6kK;Mg*TKQv%~U*la{CkDs2%&ND7rPj5}Z5+oVt)-T9sN z9s+BKY#JshPn}U&vpjJxc_nRU)Vk}hvqKu>agBX@ck1& z0(F8;~`FC%mGn;+>^J0Qt^Y&Xo8DN(WPBrjcGb3E_kaXIgs@(xS8 zjJo?C^FB7PUEF#9W@&YE_P1~s6&aE(b*tFjW;;1P{(*u5;WNc*Eg5=#FI7tJS+|HMUuz39CBhm7ztQ$zGQz4%n9DZbZYd*YNDqLUe%T*5fh z)g!n1z*UDj3Hu1#P2|aXD3_|!bLxQKxwhbpO;tLChbQwLeVK2WR6>IY25M?QAH%=? zJo_P;SdWmyJB>gd`8W0B&U`(Xfw?UB+4OEhs!5E&6He4Rpi^aP6t%k3bD=`OZ;j?D z8jK+%m(1gtS~3QfXLM@CaiB}nU-;8HIyE&?y$wv+ThA6Tc-n!RRbV{PIcX{hybA1Q z()swHtJ`&9x)-&cYPMIxH8ZZeWo%S3*A|EZ=gdx7dj|D`>o##TEY3d}aYM;$m5z=M z2EBTZ)=9l%z@D$AW$l>vG$RIrllEro2m0F+d|Cr~pMWa}Jlc&My;9Z6e3@hw$hGSYcT!Ub ztkg=SxBy!bp<1%!y)|&kkSLcRcmYUEqPu2>;moX%C53B|0s@y}IlT_cqek8e>>Q45VcpoC&o{eoh52;7AJ$v@ihp%|y123)9}hyw)xRpt zn55!d+$s!g8POpB00!frA9-e#s)I&g(<0&re4)e6%DycLUGqQG@;ywEHBC++R0aXC}EL@8%A z+gL0^iA#WY$$4r9du|2lXu4&VSMiE%)IXt0ZIq!~BmyqJi-fXA2!0{`w61k?Z2~L! zTuBNaz}Gw`V&Qzb#a<`aRIg|f?!)v1_x|k*@(#743azTO4!=pU4%Plg z_|FbNKb-c{Awy#34GtG7lER&T!myGa9=!fsp<Fc*T9HSA$Zv z=MD=ds|h^^l4SuwtyMhJi^AY`Yyvz8UPSQYAQ4iKcqhfMvALGM6`6z0r);$U-7ciR znIiAsI9%GA&hL~rq)XWE4N2QG>DVp5+!Y!;iD!D1IZTb!vmC9Gpfdp6rJ8v-r^8sC z8SOyTJQECl!5;_KS-EFw!gEm;I5pOz1R41ADh|sx&ipRy(GVSIqWzKk z>XL$mdGcbLr|V4;7Eb9~L87W)IVDyFzh6UA;5@#6b3`jAjEs%q@C{u*2P`LeTYmTR~!y)<2<1SBDJ z9cfEWlD`Qn>kt;Z1-uzJLMP^D^uUp#{C%k@nD=NHrSYSF zFlLSI4O!*5+z2OV&DRiT(--ZAhzm53kRyO(W+hONsFId_Vu{THz2B_aW%s7GCw@)) zMlOrz?sp|iyo58`TcXGsNwC2J-5;z2I~l=4ysozQ_?D~EtWUjHF+%kJ$}YXMvcDUi zHlv|Uixr$ZsLw*8jjhalu9H)iHvHl3Lr*qFQ5t1)eRy`K;h>O=K3n54yi9JeH5;}3 zO`KBu4@x@V=pmV%bvOzS13@8r)b8jeu3GAU2M+0*!*vF8o#7Pw0#chEzp;RDpdRlQZHjvHbkc9~ufj7=Q2O^&I*(7c z?0jecriVbZ*pT!wev@vfWf-nRj@!O*g^#EUV%M25>Cr?>ap6)0i8$iK z3vqN&WYIE&I_@sJ7MpRtGclJaYSg4yf>+5PH@Xt2WhTd`Fk{;1{ls}nYN58#G@bYx z6#~Z73kG1&6wRh&&ach|Hua#a{x>UKKB&Zzhz+Hg@i#2u&Lfg+CXl_KXacA0Q#%UW zWqhTlK3}DPYEW;rioAF^%6E22AwNxepu`WPzjd{Bs(lO1fxf%IC~Yg)V)|sO1=Se> z4O6+E!}$8dmwc>KNXUtzd-A=sg+knU-hK7rqVER;H0kz_q+E%%;#v2d|G76*SraaS z-Uo;`s0J^Om=|dJ(=&ARP_5Y0-bvhoI(20VwqhKkrSsnio76wowH_Q~7%dG#fDC7S z1F?T&ok!Cx<708RokDr~H+ zqzLyZMg9E>`m(>VwY8=y>3Lp#jYISd_gNv40V^dZBZC0hgnzzX+~82$vUBCObLHi9 zMTkk~Vm-qnTkWqeKcskk` zAhfcvr3juw|22sNz=C{}WhgJ+HH(l!vGKMw=Tc$~3D(`AymgQ+wLf zo76oM8wG+$yY4u8Dm{c3QK)QYUweLEU9_I;zi zh!JYS#L>Z-r2;()wm7nQTF#KWaHczRiwAC?eV34ske0Xtv<$*o++C<*@qp_^&7-u^ zm;F~q_eXm+ljdgDoRCZm$Cn|Jkt}z<2xEkiCaBOdEMzxLkmV5s$?_TpUb%N~}kyXB?N3sNMxY;O%|gw7jgbiHfd^F53Bte21FMr4CfZvNj9D zN3$Jd-xPdq8-Dgsu!Z3CN9ZzJIpjyGtkjQn|jdPC75vh`?LDt~+ z>!mo6IzCd?;A<{tp~?^6yIoiU^VZ{szW#OowCkEAB{G2q3ul1J$iC;ivm{rc0AXhP zd==G-b!lvPqlBXe+x)?46wbBE-S3~%PDLi@so+jOka?xbahZ@nj|6CSJ4Ywt=&(Q| zMV0o#d22-P=F^V*sQ4f}<-!vH2SCxKuV#7E*<0%C?Jz3D;CC+mv-o$H4}uoIL|%L-|>W zggUkiBV9)VM?LHE!@q;+3`h9NO(8T#+^;=*lGh0e>A(WgUs_E*mHG2^KERrF%BQM+ zpP2dib2$^8WT**G@ET}LWr(6H2MQrEHEaAgNu@L$Dbmt9whnuMayiF_1) z`I*!4URv=fGj=BG9%{Yw+I2xy5(1KHJ5aCsDWrn;Q~r`0Fixc#{1Our>z3?p3xt=d z=b|W2?g#Cs4V%Y@>nUV~<#NCKMAc(I|FMa0{K)NmW8-=02j3dod0ZSE7K82m!L#Vx z-KKE8qJZ-YU~|k4$CPDJk7%g^>cm~5t^FFtgGoB{<-Kbyrn~Y?Jh~^`Dy(+;KYRb0 zIy49)y{3Y+&w51a%}$lRpne22bxI1}~h=sDlZh%a=ym$Fq z38>=yfWe&4BD~aMr(ZF}b$e+yZgyAT9>3gQ>Us?!4%Z$0-q!g+xE0bU0O;K|mWIjd zj%p4LJ;{h(0HfFVK6n8f=+FmYloYuNj6@)z0S#wXFvk1q*lUWUs zd_~&ieUVJ zUB{W#Rzte?7Xw3@e{bw1u_MAhz#qd^#j3F6WUevMo~Gw_L|Z#y{bu}>>;?%z4}sfG z=Tsa3z?kYRx){Vxv!XHHv^n@QK%rGyO5{J(CIx7&Ilhr@l4XKwy<}rU6l66JoKh}}reEP2A=Ixbm zf4J-3>oOyAYWUGX#(7`-L$=+yCwYp+to>-H;aR0~;_|6eQ`7903b~S*9^0)(RM*GC zNjGJ#Obc552;y)0!~Sp9GdyWn&`fnGU!pA~Vg-niVQ|o}c01#f#o)yJxqLr_(X@8X`F81+SPp0Uyfz$&L3-OVzmN zZlO^}d&FQqRhpZ{7Amp(anKXNGxL@!TG!1t$0aqMKP%Chsy^7)^g-H7IsdLJQT3-JRC;bG$j} zJQU56U3!oi1{u2f_Zly*!{p(a;X=;^7yY{iFSZ-x3vtZMtYQup8&9v7*DadPM)Gjh zQpOG&E0#_mhZ{HXmxDCO{{AfWzLQb1CESF@=|AiPm2-_!K{s6DiV*8npTW zXzy5TS?~Dr3ed=cAOS>Pqy>+w4)St`*je;bwa`d6C}Uz%QTMq4YBQaMO$f+8F?T%N z7$EVQq2b~xW}VGzhZRA_*LXP)#Y%$J_6y{<%YEVFiBUY=a6xLwEzW!9(L_8b5t52M z?ZCi7MlY4bufDcBedy51z+1M~x7S-OrbfM52=hgWebB#1E0+}dqF%@L|5cEQfk2FA zk^6Q)&YT3dHh13-&=WlNEm&GH`y#eK5Lg{>voeL2bxh*!Gs z=uR}1&_MsviD}AP1j~}^?`m&tZIy2gE)_=c+4O&zM(kzgTaow^72;O@1CTjs8~U&Mcl_;MAwk2xqjnwxq0bg+tGQsblKQDf=8~UI+d0FBW9L8b z$x?FD?)!Qyl@)oSr7^y6DbC%mb#rr{Q8d0DGxm>MG}I(uamq2)H7rpk#;UvDyFHLW z_H~u?FE}tn5rLISviYxeidB(GZ*1_7Z{$f*XA_~9TB@RI#~0RhKqr0AHtC+rj-gB2 zj%+TZHpZ7k;onQ5CKf*rJD;HBr!Tddp7a@9-}oK13MIz&ZAJ2m)zu}AvE2yaRG)@c ztz-lSTROgx2`p*{RXJ?GA7FT+Y@*sYD2PhWank`WMUkB4Xa zKnYLgPY0SW0jc@EmkIZU1%^f9Eiu8@lq$)+)gm&Vc#}H2qF`iRooduM8JuBhn6d^O zA+l5WzKM);5>e(+1w9Bz)`QFa4;0FHoxH7K1Vu85#n|oaJOkS9*dtWX@HkQSW)H>U zfc%n$6$Uvf7OQEf5Ejv=>Haj(jEl!9T^*Jevd6?bK>Ho3KrPbSZ?8Rn0E{)%brUZ- z7VkoASNcn)uu0DA7hU)=nFv+tsAHn!nEj(n*0!lwin4W&bP~TFDPrO)fcM+K~aWzf4 zW7~6%HNz-JB%CXEE70by@wp>bj76)Rl~gx@ex8G$c)I!-tR6^ZJk3{BFa5rO*0Kv4 z`m}@E`-|D*8L|iUk}+w@%XRP9DP4Jd0eaY{vJwB}k?}?a)3=`p|B_DM2BBb1GMv`E z6$OQ(2?Vpv5q>VlyGdqAIn_##`tx;ET&sR_Y!C{ii9Q}@!D_4CvSBxY0SCJHGhS9k zx^4L3%q{JsPT*_OMh+n>@6E)NQDj`iiRO+!y+@e=Y5xq=9ir=+nucXAl|z&6C7@ST zW~$rB43}}AXG7b9R z0S;{Qe8AFA>@hr#PVplbOaD11fU!Z(eE@;nO->Kke#p#9)^q-Pcgi??C~IcDBiZGd zDK#p64?%HW+B+1?VtrF$Ot*S8S-`{NzCv9Ti;b?bp5^O+-n*nm@Z{UwtKry`KTOx$ zGKBvYV&ar_$~&9T^OVgFNpwOt`$)o=_sP0pNjdi##yLgUV|gkVJrb5u{q;XouMkz!B00s@1OK}SUex(bgCgrqX1zWgs~KSPGMbwPC@uqg`n7hc zA=(cOKYu50E(ZV=-ANl=wz@#bW$o3mw^N1r^O z-c%og!CgePG{c}s#yim$%%TF|ss8>8@9E*c-;p#aN!4TqcPGsehH)WAHn}H}SF8+VJ0svI`l1TO zgX{X^kF+f1smDKr?_1JpgEBwXW`nC$j*#UA%BzeE-tKIxxQ?Cl;+!b29SLUWwI9~| zw#M2NE-c}$6>`ts1#X6erUMyXzY4c8nPd7^V*IajQ^}0o-SUyacMfFfsU2Z=o>jm2 zlPw3yU;7nkEP+^Cx2<^2QCnEEg4vOHN+4vMIJYr4Z)Ja6?J(#iZ%SWzd8(upMYdPM z2=5}%Dz=9Bw*$$8512iX7FIzid$@B&C5%MkELNGUWm#khv`ls)mEL~~{TQct?1fVa zd6lzjVv(WO4NXDpXH@e5eOT;tb%-$Hm*ZC9)cTRa^`Hgq?YQaEUB1WOsD_S(2^`kl zG38EDS-st~$UPR(S3ws{YlOO4!%ba%%;$1h%l(i-(B_DOLU>9~^dVJmM9+<@%H#ju z$L}rDgsNwromZMYpk|(Yd#O3GA#rAB6e$3l6*J@gcXmS(ED2mh(6J-|~8|f{{rZSRl%X zxl*2Ut!y<`Q{O(h-P%aHsi{=sG5M^K zgdl<vmr1BTPMv=mJ_O2EoR6sBu@#-ysjND3Gj_Lck^n}WPYCN2GEcHF_kWS$y7(1_y@ zTMg@<(*v&={GA|wL$4wd2O_?rvo}Ggw$DH3TB+Jh$Zzx){+?$nmJx(n`hIDXUasuM z9}|HBM@CV4nmzG#(>30RusC2QCbGYiA-LeDQ5`O#R;r{}mu$w&q literal 0 HcmV?d00001 diff --git a/docs/assets/onboarding/metric-onboarding-journey-narrow.png b/docs/assets/onboarding/metric-onboarding-journey-narrow.png new file mode 100644 index 0000000000000000000000000000000000000000..0e16437f6f41c3b3edc961999ea57149fbeffba7 GIT binary patch literal 64283 zcmcGVV{l~QxAkMAW4q&tZKGpnVoz+_wryu-VjGhQCbo@9GO_*k|K7S)_xoG-%lUBX zRQ18r``PQa){a(Dl0iixM1p{TKn2N4szE?NMnFJ7D~j^29QZN9ljlQ&lixBc{``|ZU>2S>Jo z%crZ;FeC;%pzNF@b)r24-+9$*L;PVXan`9T)Keg^N=Fo*}3~7sd@8MG{CzNSuV><3+PoGe+15k~LS)P|V6zulme|f2gZ8 zAVbBd0eqsxdBVCL5LkygZB2Lsgd{828Ev_KME;mXt&a`aZ%%B*mG}% zm^5`P{0#nUqw!n`8zYW6GiZRc`*ND^dRMRn1z%5nQ($J2V z5WPY>1NMlPX=vaio|VmxHjRZj9cZVtr+pOZmMIk+0dcRC@Dv3qnP`sVYfMaY zNQj&QO(czi82CxB%=hU10{W-46Rq4zF29s7L1QDMYulcx=iGn0%l$bqI?b#Ub@1sk zNl}B86sgr;Rh0+X0DLk;(nY2KB3NNX*(F5-!(R?Ay%(+Jc^bc5cvf4AS8ua@BCGD8 zR}WV*5I^}3QD=%CATp#wZOe<CepKPS4p9opAj>GlsL{5qGm?={J?F)PHlEAl*f%rjpa`Ggt{~PZx;gu-I^G}-amYlzDwu||@u(9$Uyi5upA5TrJ-@I3{ z^mTW8+OK~-5T57w>O}@JB+t+|ogX~DO(YiaKl(?Fit3JIu?uM3E;gCWD{jru zV)KN8FDkChx@347m*ZDT88c_n?Od9gl2+7&b@48hL5mnSqn%>Ik4szNJFf0jyz-EbIT)CS=D53y0R;&YYHeHqI8>t4-%L^G zZ?=Vn7hS5Vu4bT9$;%_Y;a-}Z4fxn|S5u3rt>vb8e0qAZwYJW|CyKVs`l97@w!7Y!?@}$=wchmJRi;ub`A|59#R6@L^g>%=Fu0zvLyd*KPucL!LO;IsE{Xh-If)cc+gdFyU7B1rM z&h!}3!l`lBK7qNxEv9W+SvC^*zL%bzt`wD)0O*vL43`XrE&0Lfccxs>3$#_6pY!g1 z^H-Q_Ik;sUFb+2=*vjvE^sGI3dirp8w)kr070K-H7w8WqQMz4}tjAM#zEI3W@mT-$ z-)<=_m+hR@YKnKteP<^>V+NDeV&m#cG>3zskgb`$R2r2rSuknGl1sq*19VhWJ81w= zSC^1XIKY0bY(RFPU+T}&`ATC&)~kMx!}qqtz}HqLJeDWRvh9w~r-PGNWitJ6A>}M~ z&%ZmpX3}WM8>hdjkrNBL$^Xpc{yVpEv)k^JX-fzbq$vH0sVN5Of(vzR>!J1gJ04ll zkE$v=J3A}Wn#$^8P$>hVmj+}a<&HWIogXZNa`0~p*DUMmYSm;!=j&@b?$`}zoG(A?=j#&(#bu61!jCw!XKXFH_A zMm=0bM$?p!1Xx7yJ_|KcsXUG%Qw40QplWl{i)u4pSf~Iuw~ggX5zh-gY$75alMMuM zhotiKva97Xj6O`5#6Qt6l$5TE$LqaC?{pd)O!zxcf<8BSUqT7=lhQSGg7*8I&$g1G zyT~#9?$>@E${%N1-3ApIE25%GK)>tXJ6|IbWM{W>FG)VT{5x1Ri+sSIGdBL*%5A-f zOH^hZb)8_}J35E|EghjDtrISdx5ngC)uE?smjK~5gZcUp;H=hZ+t!R%qZ09Ny!0GV5L2m>1bS~>#KpaEz>8cOa?)j_!e{OI8HEx|pc}vc`{}TG z_M2XpOL7Wj=obkUL~%%R1*waNliTHs`wf)4d*Xlgg@V3PX~9cBa|XT__Nh?!1-y3n zymL#znQib2Bu5e=eGNso>m<2Yu@Oa?|b?_Yk84^=AV{)(+Y;XGLH5t!$F{wVHT_3soMt*lQOuP(`Db%j^6wDkPR7wp;c;xlq{O(U?0|oS|{Wd8=wfk?)^c!0nzjoPRNM>^X&@nYP_qy2Q66X%G;BgWye2&!? zODgyQ0)h1E-6o45dn~e?vC!5jsKl^~RiUS}jz72vTeyWf?~fxbX9ri3By;sGY-J{^ z|D3JzemsY(h9xFHwJDeE$tr>9mAtytlCra5Dat~9J%Kbd10}va{FYM&Hk*y!(H`t> zDk5Ga!r#W9=OZbgS#36&*-9f(Nfrv}JT){mIhq<{?BK@#7>^FKmd{=PZD18fO}17k zS!3pU_WMY+tb>1GS=;=BH{-klEz8#p2N!X7I-AY;X3eSl-dQ_s*iB(B-8OZ;<9^-f zuE$-wgA60D{o``}JCVk?Y)V)cPGmGTu$#zUsQfvX$lEV&yX`{8MUcah4y2RLZD%w2 z;Qxc#fD$%@vSS*l8@iMsyp2rI52`M;Vlw&1#OUZ3>s~UA=#nDVfVnT+ksN+2L1OQ( z0G#070_JwmEL%fLDZ$On{&8Kx`8wb*B>yKWK9@Ox=?WlHNqIVnGfhoxo^xTbDi9jO zm@>FnV-!t{w|2V|J{-fWB8HJgzt_+PgoK6`uI>9u=;VCp)PXV_SPJM5HEZ~KmCzWg z6a+EAV!7D)lb9QCPbZ%rp$~6Wb}o>^p)4I3ZA%p@q`hV!ycc*09k&R3?RI%rI|Avx(oUDekM=1$Hhv;=62G<@E;zEa6Cd>2McSlG(eQwxqufG zCq}n?lxy(v(f&S*;o12ac%PS8nw?|LUqdP^6D@DG-3tb@+T7dIBTm)etmm}|Iarw$dbsM*LIK=3cp9;KSb@?rvxpXaQjX zk00}k@|Ab@_rKDiUmn7`_2_}1cKbdx!>aPplIJFVxAXO?V&C)e_ZR-%w-je5G7= zYZUYGQ9>-L(g7+OaA~p`T-lXmgCOvEJD|=SK}C6aKU_~dI9MRjTS_vc>GE)Bv%O4K zw`Ae6KKMAj_f=-u4!^CyqMS#OY^o@IZ)Y2lSXVBPofk$_ME!{S=U{i=5*fEHkIO%$ zrG;8GLA2ZB;q8z-#G#fs$=~539EA%4ekWv5vPHJ{GBD}aPV)n*9clEyQZ0{#bj1A9R zeoq6pD%_S(j8Ny8cDM4?KAIq%4tDE5APx0&UX#^sceZk2573sp8x`*MWFP*9J0k4v z-?O~u`AS))<$)CQ6=|Cv{U0F*quv0cb~kr%zrp?we{k=&Ly5j+rR(!Mq=SRs-EO^1 zYNQn26Yr!8bWO?=HTp%r)8n8%xV9x9T+KR<0|PJo!VHCcw{8psmL!%?8V&S#YGE#; zlc3eq)Lajl#nOM(D%VP(MIuKKQ3#o*J5zlmG)F8qqEkVsW^P!9KiQKr^YgFu20%7h zDm@l-R{swRphzq#y5i1q0dLMri;K)^i2$7)!@i4KnKtsc_q|2EU^@OTuK{9&-lUH; zaFg&`DevRtTz#x-$ULT`WG@4i5tm8t@!`Gl#eFj&Ur@v&ZAOJZ;3mXZs4d?YO-5>D zG?5h2dqhq4RJB&>$l5JU_E; ztDwtEN^mk>g;dIH?6wtLstLHwjbp#X$8ON-f}YiI8LMT%x(9qdx&%!$h66Hbqx*g5 zWwHxkq>VeN4AEduMHL#*({=xMDO&V{l7kU+VEP{aagac5uz^Q-kS}ca4V5wS^NoE@ zop(7g{Pk18$a5}U?sa+51pV`Yo)}Y91L3DGx9wazBwuYDKu02Je$uxgT%!5As>G=_ zx}+|4wG4ZScH-0(e0Ix-a^Vn5r+;on`0;WL?I9a8ecgUWN`G|hj$PsLa>@6AM~n(N z1`TGJtG#aP<9`YS{hfgHAfBA6#MhG~UkLx(loy z)ss_CjJVc*%10aprj%~hY6nr!8MQ-dHjP(+5J=QP3hvkKKftN$dDA!q=EUJO0k)q; zF)`#e0uBo%PMAUo`wPuDXN{9AjUp#22Sb*>m!g+Ar{0FB6)^gu0HIi#~_>yy5lGYJ9B$W9`z|3 z3ugiwb)!PARdv2-;3K*QD!rzEcaK`TH)vazB9Xj8g-)L|QLG3!29q5p4@C*Rn(0B^ zkgeAH!N{NLuNM%b`?x(gh;&Vr4 zrVeSU((i#Nh|$o+cXSDPe`~&ss-!@GSI39LLnf_-e+{jKYO$f-Ae}CQQ><737Sfs&l%$`)dO2QT1bKbBOO`&XqctZ3N#g*ogD7EIBrtkx3_I-A zd4KQ;#MYh0E2hP7w0E>2QfISkYX5;d0C%1k+M57LcElIrpoI%UD&S|B1BBT zRuo7LHTr3)W~3wvN|EW0-oJ*Ku`lY|In>4tVuP^`C|*M@}7QAWX(Scg<&GoXGTB4g7}7$u}=klS&m z{=riEqg**_6%%t6GJiuA1@sfvZ}N6pJwo_&uHqyNEtX9~^&=JyK!920(5;8C_Xj-TVOSvP1 zffD=n4Xp6dg2`pAL9z;SD$78*a=9m~g3qMmGVq_;{2dWStPCbz8hShQzpjJet1JdmMBNq5TI(A|W4){(e)jLXsHOlU zV?-kv!uKQcuh9L1AujR60QBPJDsmWG(jakwWP<4bI#wBjViKZze9m$6m25X_I!Z%@ zz&C$iK?x5@EaZFy?q`v(!)NNFT8LT=+P%Ppxy(nMO$#%1Y@_42s4`PI(ILN5IU9nj zu+LA#V{hWIkTjJxp`oFbvIeHX8IkbRhJj)HKkv8{iiQ@XD8Jq5@9F0^xWYC>#8t&o zt1K(K(P^fv;WjZt@!sWTr<}%OZA}mN;uFTXa|=6d)Z=@91Rbh0Ju$(~&HZonXK711 zUoiP%+*6pOqT)HGy|_WEAFOIZSh&oO_4atV;vf30{aaI7F6lKja({3Yn_OKSwmR`h zNcN9(W2I9EHF}4`hD`?{0Twh2{12now-m*@&@UdB>)&m`o0(`jvq4XOa<+x7nN)ek zHZ6mI^$CF>bDgeYd{R=<-SgQanCMv>6e5ib&F6|2%N|D37MfdFGSa6{$kS;vB6c^u zM<#?|PUZ-A06c#$vlvf*46W(vx>_nO&eCW9%E)Qd1L-qg?xy0^ZTZ=)t@PMdwgQ^) z>SAJ*1zkS~{e(ha?w#uERNwqR&|-J$`5rvDhwb{jhNYPlC&OJUqik1*r*0PY;^R@i zDH3H~(kRgUSr(~E`0l!;=`=B;_j317AuSuzKWTFP0n8IZ08`w`4b7})Gqv~qA41V{ zjjq$h$1K}hy&e^#8MAE8Se4-Y#tYmL=I}ZIDa@Yy0up_kDoHAWcpt6v@)+PjF}Fb4ZbJi?zhJZb=bw_Phn+4BU5vKo2^r&^>nk2 zbZxDQcs!57GV4T$1>73~HrL*LJQ5H zZs-NGV2{=(*U@j&%ZfvNSg6(G{VC?{@UF90bKft9v>D}ZvsRvDl#RT-Ukil;TO`(TAIXFgqhs3|SwqjB@WjnuNJQMPkMd=~oaKj6Gz+cq!Qba~lnk9<^wX9fm$OrsUis!6$poW|; z)_lE2YD2;3cmMi{c`9LsmzvA|EWv->leFFK@SBUA4Y*Hts!^YxTe4f}b)DV~>No!T zyo;e43jdJJZ?-!!y}j0KBaHx!kZksQdSPa!zNv*~+wHNJidM-eY!Li8u+y;l zwc)lu`&OHrO219Xp4Inq!?)RM)dv;z9t;oG*VeM|iIUfkYL@30$K3Pkwz>;B0>hh{ zsH~$M*E(N+ogfQ!y65rQ8|vyx_wctA-;B4cuX|pIIG;lK`GeKPrAR=q;%WOLxZxG{ zf4DhyU)OE1tEs3#D!iLXR`2okpkRP5ciI>?1BjZM&VheX290Q;Q}cGuvAnFR-FOSd zm7}SYRvF6$eTDGiezR(Ua*Fm&!B;Q0`Od9mB}iviYn_0rfN5F^ky^(L|_F6-xp*oz7l@XzToz?$*&;y`|UcqQH)?ccnPPh zv_It$SJaLMMs7VlY#y_fMz~pRBPq~2jTGJds=nz5M04P~q+h?`z`ZdK0D!CR?O}J{~(W z(Ynk^(69G?w-5VZa&Ll@ItO?_aF|r*;V{n~B(51%x`?vj(L4pAEL)|H*dSwLe0bK+~vDH6+@Wu;!{p#51 zPyFc7N0`XzU<~zIt)$cPjueSV_zV$&)yck_?~zIau<_F6$-QV%Q2El(p;3SKQ#jbf zlAuzY5kVkz+60ENUc|Z8;He1}^OePVhHkby!@oEM1--_}!F3uVi?9e? zYpAFUY%H__AA)pH{6?_>qtjl2pf8urQ&EK?p?GN9rLd6i2cbd%9|x^+_Gp=!b+O6r z6(}?$kVEH(qeuYi-(|DWe&HE*-X~8hFBt5#7Hj8=!No+fz7Vyb@t_MU+jkCY0~`KU z$Mrc8@+yP%43$31PgPp@E}eN=OiBzsj~l@<`q2zULO~EZOqMcFPo2Z^ zlGvZ2R#o3aNySV~%hw z+lD2$<>q3`;r8YX6EEoXa=q9?bvi>h@dxk*|H+)l=CGaH*~KCg@m_84x0R6auPWrW zuzO@C`Dn!?h5Ho;HbU|Qy!-n_>ul?aRV04fYG|F3{SOO}2YfGjN?k(2|BDJj~wTPPyU10j6#|9C0YJKh+&=qC?}y=WY68s>82 z?-6_F$741KygvPDYoFQa(9-tq_^FJpY^Bpeb{gI!H!iT}p#QHdm(>6^qW?bkaeycJ z2Ykof)g4F?he6}37xuwZaZ$++7>rW!iZv+6#6jMErtCR80(0m`i|{*T>TdqQ%uuhfQyUWa}s%qSt1(EsyZ751;hSX>Z3D zraaWPzm%3`<7}Cth7-qQ-Cj=aw3-92Ux+498raHZ=X3uLsTVysDhNgg)WrrGdU5ad z|CFk5`IVKM?RGlj^BBB82)|ap;_r*t#O-tvVf2<0F93gcZaA|AcYo=9Gf}=s^f7{W zlt`RMY(KE{{d}+4^%7$gGFXqNy~>~_G&PgFpc)A2{;BW-4z%Srd)cODk~PTVq>m(NILqcNW(9NBNd{lOg? zPp=91+z^y60M!tz!@tH|E+>8^D+fYKjiezuMJ!GxtkbEEBtoVD*~J&d&(N>J?e4Kh z)8vv(>>GcF5~s5FeDAXIxJFACZbVxWJI^%j%liyWI%nHK7&Wn>h%oC&jF2gf>2J_yD zO|m;xH7TU&2}r4Be#f0Ou59I5b!~%)sEK}0Pq1%g-Gcu9{?O!`btNTtf5+rWGb@Wk zgP|zo>_Sly#Il3meE_l@r9XabbXv^QW64N#=8GQSmq>30tguMhi{UXs9$tnBpkoE#cw#?X+6PC{ACvbhtK z&eTx<{fLW~LuxEK5CWz9fkDavK^hPynLpk7jyr^0*6{xiJ&Y%clP2jrm5Kq%UV>6I zND(Cco=+zC=vh0E?1G`f0au8y5h0?{G%95n7qwhCk^ls?9x+e~QyISh=OI>RxhS0q z*MbI$TUraJre-?6j)I4cu9mcxlIgdHQ1o6nhBu$uDLMsNE_iBCM3T?lUXv$xrsgvh?(JfXhU$q-BR}1aW#CMrL=79S(HvQsun}gp%;VN8 z!z|(m;nAs$4HB%#luG}xrMdZ2xa45lYbg(VSGb(`SDR+!_?m%=AnJ^=>k5Fu&eR?l0z|vo&0Y z10iL1R3g#-8MG-el@LR6JZueFf&~)n81+i`w~F7JUCm9+tW*qy+>uy#nf;~>VqHuV zlQ+UcEgPaB1|hYyvc8X;#31qNeN*Mq^nL+2&6f|xppt&ab7l!mIVF%mn{{SI1V6DJ zxTycdfVSlmz{D9jt`lJ~>?kiTb}+MmgoDp7c#V6%xr>gM|2tDly_z*_`qQAHXv2pv zbxgOsWA8!4qoD zojelsx_isabd5Gw2j3U;*fE;3IgT#UL-r zg@TRkWcJ6q>`y%hoF#eaAF=fVOfSYP_M+klnu5o@;bhX3pJ+3>T`PB0QKCF17~et9(Kt0)RyXi;D||#NNrF=iUUh6KN#MKZ8C8duOm1 zuNCTYe|p*6pPkpHoz^c93R5m!2MFDnX*OR6SW$V7Cf&ine}@Ku!(ER%9>5?#l__$rG~q`p3xFaUdm>j%Ewx8%Q~#h zJk898df=6U>~Qw913q`XZ>Okk=7X!bJQj=>1ryy4UA!$>4BHqq!J+M|LP~YER-}m}*w2Dmd@zWHZp`=UCt7w`uu$Mc~U3#wgO9z%_4~6<54&Z| zvfG2zKbBKQ`Me%pwS`;r$Bs}?p_NL+7A7WyHv(@fW5~vgVns1Yq~MPU*NGG>gJ1n! z^`qi#RnT-jG!H#^V+V#*=FU|}K$T7cnV%6|AkP|{s!*b~`KwN}K6~V;RT1lk(z>Xj z9zQw$h5cPajob#hVP%SBJ?UM>NLfZx6SmRdiq>Ji(?Wfe_;B-K|M-%N z*E1}PgyQO}pPx8pHzDCE-dseAOxo>ua~zs-+}}0PyOY(9B)D+LtuC2Lxcf~o50sE4 z;!vkTS0;NZRigu3jV~9TZWQ0QUG@nFK4;ef2N>G1?=Myn2V-+`P7U~5gTo}`Y#2s6 z%{gSn?*6V7gPVvnl7Dt6sCQ+Ibue-%Uv{qOa|jvshO@9gqIteB;e=Cfk{2jCbC&3y zA}-dLpsvk769zPNhq-;!(kfVSlvI~wKaf$(FQ}j<+W4s%|jZ`r<2Y%6{j4T@oEl5vDXCUot;_#|W;f z!P@=?`KGP3zQWYgu8X1Rm^mHbOS{<4G?&kQbrSh z8vTc!-a5&3^s#3gN-pJ2l^n)K&h45KVdi%LLu?(A#F}qJb+xRQR6UZU&C9Anl!XLQ z11Y4YqwYRo_(ur3E)Pqj)g|yu?kQ*HqV}P49xB*y;-Vx?MFR!etK6cMqYzO5A=^ z93LOYUG8tQcKD{I;tM@n4RJo@+aC=YtN8uNK+(%oqu@+utZlA>h*l)kBps#!-u#83 z#3^FOW=-Gb3j!`s_~WxY*?f;WCa6k3%`~QYbD!4=yX=$Xrujdkcg&BRo}lQ%lE@)p zd=9kMy;pXGjddn;+H=I|C!Xd29eMf=7qd1oaxr0}ahS_Vd@R(e{yOB5c!#Vy-l5f| zqY$XXf*pU2ji|JJlsqD7;b73*oJNk)!#TljET+W;3aacSZ{fa%mRgFSuenY~P!oLN z-Nx`4ID|4!n`pxN_rLEKC5D_!NM3$l1TjE`xR7qEeENreyhxVp1|VQ5P1MQcMSfHdd-cqMNzC8%^=v*#0D0KPuXedV_C-!v*#6EBg=X zX$Rl(7oQ1LwUn9uH%5g|F=b_18XCjyECxcm>dMT(?zfwku7a(AeHnC$cY%|T6rlfK z>;T~b@*CyTD4U1)_3|Lz^0 z{Sz(N`mYbFs&CelOBEm;fuiLKNt7C_%E@L1^g@nW{J(`)=4lN}s^e+hC=%}Yk@q00oq z{<;xOLF+Xp4H%m+#`G;@qit1dTq+e06IdqgcN`y`ShCRQR~A$Pg5aJ(YTz8xM_X_B zx1;}I0mlfE0CI)1>pw&Ry-6rE<0vb*67UZZ*ve{ZNIJKN>&o@H{S&i`vqw(tNt?@a zb6?ow7)pmyd6i&iiootcik6yTX1x<5VrxuPOmGO8u%(XOT_cCNpxXXvL_e{cZQk94 zR~C~z#qrrD1L{$n!XUo-B{u1#!jTF43wT~jzj9CRV`5V1tQH%{-*AZkrlR}%m=;a7 z`-tM50&ZRe*477wN9zgA<@Ig&0dvsQpz;1kgSw3QR2IlSiJ@~ldtl$kj#q&r3VN-% z1R=eLTd~O1!9TC8Av^%X=ey$I@Pnrn%p15bsJwZEl?Aa+IHm!9Ny0yzUEkbCmeNj1 zcvL7)Gn=!2Ww5ff9wgI2Lqenu<4Hi+*D37#m>8eBnC+C{9kzmw2Kj-@AjuNdfeMcm}#=n1ajnGf%M(T`tEw zN9eCyezJYO=!N;hfjEt1@q`QZkDkpK2Uz4}@Yi;5p*QD|v=p5~a37;BJ1V8XF_we) zMnK)7`rdFEE9%@_GbdMcUn6@(xSAh-pspUZ>!wI3gfx%(#$%jy8TB<4F2bCe`u_Y^ z9~9<)m2Z}Ape2Rg*{mUg4K0z}5w^ zC7H^iT3{RBFSs~=0dgARlFx~F8DGvH*Z$*k>b9-)06*3w^>z^z7-$EP&4sZ^AisQr zlt%_jNNLe449caHK7QG_eoI>T#>qmV=p;7q7Ay?}rSZ4qZTUSSBShDz%cpmlwq8Ia<^G7i{gx?BRU|L7-N;8c!e>d7o;3t`W-`ut#g)K zA`8{ed-HG|>EwHsp(uB-Df@oKDam#-T9q}J`kt&hdsXwZ8k8pB&|=%TD#T*c<$8Y9 zlUcVdz`p{H*h=KEA9#9!q3bXB-Mlzr?*7&Y&E&4}M-BPMjO0OZ{be_msMaBgtlSO} z^oO!p#-3DGD{Du9A)fUE*^$oH7W6bL09}HjGu!&Sw87d0Kr*_XGHEIS1790?F-JP9 ztu`t+1;$(6e!|2aw-u<-NaYo!`3bE{i$ss&LzJVp*_jIqcVGrAb|o(@woMs~kkj)M z)yvQcAK)J<(nzXA9=1zsr2*&ETP7mw-wP}Ne5BR|$8f^J+hQp){S?20U8}69 zfO|{$<_dd$x-NDamUpknV7T6r`#3BzGZ@@XMrF;)05*<~MVTrg`>8b@oQ~CRYSVBjx0?qdg$9ka$uIlx2Dvm8>Ggeu%rR zfJDSoZY4|PaP;IeYG!?eTXcBPuSj&;%_`WugEu%~F82!?rCT^EZ5Sm(H=acS|4xGH<~`{V;aYE(qq&A z9Mb3i7xa*$03C8}xjk-47?UX$@)z^^!0_^~OlI*za`QR;#RuE;EyaSslgh|Uun*tH zOd_AA2z`AzSN+~bM!K~X@E`mWdXrRU%j1xngO5(S(suO?tP1ryP0z<$cDC8Za*9J= ziHHacdOcGAW9yT#ctn05BcwH7K) zvMzEA;9utwJ=#y{4S0pD)6#lY;L8DWJJl5N_i!EoKrVD%dw)`>c zU-fkR&!!9e)|xZc%;Yg(lJ&p?RlCWmVSfjBy|vG`JbCHayzinYCUdy8)YSYwuWv`D zjV!0LD4(B<8Rg}#mB3%^W^}{Z?C5}wk-l!dS%{qVYvTv_9VeX>a`~%uwf+=M1kXYw z6bdeP>+HYWe<)fb@IG49Bw)1|yq7k!kv;SMJg#XVl zhsiA1qLwD4TiGr%1iJwsAyv13kL@lmKhb4*m%$c^;mfY zR(C|WR222e&`2FPPC(T5fj;+nf7*^ly3m&48jQ}4ii#S!yv95gwgG0azWYa;`sv_c zOKr<8F)us58#tCNCkLmT4Nz=m_4_L-?(=WW)oFQ4f{%~yU@w-ojf5m7fLAC4J8Xg) zq^>?R*|M}>$)eY0qqKDQZ}#xCMNg54`|n0aenG9nZmx*WO?Q9+4_Ft7UqHG#ZvM7^ zt}U5AxuSo#+(dgISH<{63rrdLW@17k1zPJk?mzn3^(z)^)eU!>Ac!HA2p-9w&i}=e99rbi^VNy`bgx9MA+MBAqh@Gs+huBa zZN9+W$tFoHF|WFThli4u7WZf0d}IwBBM8ktnHegWTp)62_ohR?S5!2O@afcw6DeO> zRkcEU=kY6P3XHZ=+ZuD*#YUZ8Wve}EuBpQz8NlmtfC`)k`0=ysVdwcq%*Y6wYn>1K z+lEPibAJ8D7QLNY;hUG&0eCQobfZID0};Hq-rk`RXAkxST5Ff9+9Siq5CQ64pI6>5 z+Z~A1!K7Oa2J!}*DVtbE#93b)q-pdt!)r?<;l+wo03m(RiMcqqvN=sSRab)wBl6G54#Ue#a6TU(*Z#;`w~dhX0K*P9HDuR? zjbQVhvSe{8;x7LYWNB@E!dIe42o8Af?gvHrdil&(X@Gr7N)frWUO{jM3QmY{ zrY-j=`OK75*c&n1qFP=JEp_PV>K;6SXbs`=+gODFMpG&~Ib#YYR9>eVN~1b&3sd1G z{MOQbv)A`L;wRX^Bbw>s*}q)Q@I-2h&8!te7~7a|8|coKlRIS7N%>(t*G`e8goqeD z6D}P1zV&c9$)?Zj`R8HNa>@`YHuMJ@>rA15Ekl^E%L&4-M2Z-{w*#GPn1Lef_m{gY z4qKbrCv1d`7sYi_5pN7anhBJk>&AddmoZ;A*^f5c&ju{Zq8V@`X9(Uyt`=&zdb^4% zbvWcE6`tqj;lUq1K^z;@Sdq|mg~er~^7(tQ$y^Z}MF6kle$I$}3fmpzaO8X2J_@iUo5kk86!MBrddy!S2K|y0UO860w`UrQ5ds@_~_*lx8w$aJc-SdUn7B0AR?7@51Rw!B2;VfP{9?-od}@ zkz7Fne+m1M6L%LSsV;%BC9ab3SEHIv8&N|`D~HFjvoLUHa{V!*ZVdt#(9Sy3vLi8_ z*T%~sgyj=r%Y@gSA(!y|2UO54lmoU7uE>e;{8E0VWVAOteAl&^^g`|7+j->32eeG_ zS+Cdq(ZXtMX~ZYNpI(z&v?vJ-%J{FGff+sdOmtIoIJRJCA0958nAgqjq@=@KKIx|| z&qdN9cp}o>YMY;({pDtn2pmND<1Smo#g$L&=l4E z|*skNxuO zY)0NmmibwN5O_Cq!sj9((a?x_kOco(h(`~}LPgHb@Ul{Jrpz0ErSA||*VJU?;AiJ% z11uo+R%;m8FS`LHm_4e`iowbnqgZm}88Gh*TwJIrDoH9>BAkeWsPTmD5^+IQ2T?3v zRH9-Mu5TU;T1`oG%q*-;=x&X`MUD8UZGH6_7??w9+&%=VRLWrblFdV zyPzwT+I`}cK6IF;BB$32=muc$5Lfu@i~wS0W>IUD8ZEZH*SLW z+2Vpmn}e=IMxfUlC326CTQUkiq%FH zt)vYUqOkZAF~je@aMxc<6meYcH|<LVSq)RB{RVDKLQ3 z&@iwdTzlv@|1!?X7+WF6B6zYBY&ip|WD*N|A!HH(KK75JEuk?vu+8MXpI79_%%Abq z68)rkU*@3SKjx`2fr|_#RplA-!<8#8$&6G3hc`Eq?kUzXXq5_yyATrHU!Ffqp&V5& zih*gsRaP}@IH=FFy+d2`$-k;YzkDPSjtvkoGlvP&kfTJCVV#nHD`j0=|B-k3nNd+; zuAc|6cprl*TX#Jl|Fx1enivfI5(E_6eaMF=2N`eszrEq$4mjB^me8v*{A!xX$~i*I z%*uWzpdkbR@@zFhw7yA0V-%xVLtr!iKaP}=>g1oEI&DmqlrnTL#@waP=vQv*4ddVc z!c}-Z_U^J&B@{nn!Z)`mO6}L1iTUhQdS59D3m`lKKE+C9JAzfPVf@M2?H%=?L+CFQ z*W_C9(95DmIra@CCCz&sXItHo4M^;r*bI9D;GtfwX4TmNOMONxHrB6#zv4zE@qhKX zq6$a7`5Jq843n_wMS}^x{p=46eG%Dxgu-@1ew7q+WDq0)XAheKZH~aR zvjt~r6)(5s-g)Y$x*>VQ zW}7m)6Dh^z!}FguaCJ_(2Vl_3$%Dgv=3eW6M$k*v_Iv;WWPKtd`j3|*b*5Rl1Vdyx zxY1qRqjO-lfLsX42s~5#=WNlP>LBZeC{sfyxPKreylLzP95MKRti4rKT~W8Ki3PU+ z!8JI+g1fr~mjFS6ySsaU;0f;T7Tn!}y99T43sN)ZoWJgUsF%7`FT15R_6`kLYt1qG z==~dgJjw&**jf-hVtir|=+9AwR?v{c=%zpSK!+L86csbDm5&;yudqYIj+~fab=9v#UK|w{6JL$!YYrC zZ=No%Ly#!Q*0O$3ICjEYEM%<~j;{&X%vmqEyhPf;qYc7sA9V5gvn_U#eI+G_ov*mQ zjs%f%FvG*bck_5aCR!muyg8bM)D5(`+T2OiZa53f#lax~UXq?x(eLmE>XyAFb*b=^ zW`4cB6ocjgn65jIb`?fzx~j;{634Uh=vF zD*nVk*XmEgL@^G{OINHPPLQIN)&m(?yc5fUZQgY4ZFpmQNf*;ub~leFyqt_-%i~FH z`x#PmoE3Vs#86b?q-V)z=G13f{&iy9hF`58Z~*`+H9TM;^tQ`Q0}MqldVM5Lj4X8wZCq`XvgF&5pn4bMt1=@Dhsl5IT#_ z?*`j1yq1qfL)zAAs;VBh`$kJdSE z#O#CDB&!{@UqkD~y1;3p>t%|)ue91?CmY_}y!0?F`FM9iYmNl$Isq&oj+YUGqJQL% zARQ*b=VbQE#0O{pQHoULmrr-2QrrNm@unthAnFuohe$G70q7yZQhf3sXeNNfK=SjlZAHTh=7ptayVOv;Vi}iq!=BEW2 zF9&F%@Q*m(v4%<|gUlofTRp_W-g}7M=sz5yG>BcDP*PH#y{wstLV+s3jZ?Tu2zl!V>4%RczN;L0f9ys3HFTy{d3G^&fcf+SV@Hv0kF)WnERktSkq z{QWjTLf)Y)XeRQmNMlr|hq4_9ZZZ46Q^e3A!rTub7;Tdv+rDN)^(@0HE6di%3n6yy~cMG&Cs9T4y$SMrXSSa^`r zjFL=h)^uqGK_)yLjBzjrqQN)*6$d^#T_pUx=1(kU3_*z?jLr@9Kd;5_LC-xgGeHv? zS_4!YqrL4Iw8JLny=+H$xFM~!5h+zCxr*exV%6}b#SYJ-e~bvJqM!e4EJ_u;_epYK z{u~epZ{T&YuF2azkn zt6gYr+V*OlVb~jkCm}D~XfKsu!Se|jX2RQY|{c{lzq)`s%wU}M; zm1epyyScq`fek!4DGA0HHeJAQ!B2r`Y1`uU_IVFHN`*Hz7khq*oMoP0p?$73XfYZs z+6ZiRHvcrp57;~-JFK`hZM=D28G&&~;4c_lQZigE%KJktJVPq$9>j(HR0&0{HKUA6 zIX*wJ$F{aU-;(f5R(`tUU`VB;q6A)WxA|4_(!}vlHQ;8Rvwqaui?SBvx|bUo`nlP+aGyd9ZHeFK(CedX5{*awpWD&WUbI5h4_CeP zJJ3WF-v&(4Ykp7=Cx*tUHZ}QN5j$1oZ6^RvGW6pODfMfI=j%`|^|+~grrYk*50Fq< zs8bi==+e7{KMMRlGS8eUlxhAD3jUw%UuN#6trl&*WYT>0a$+iKfo5p@BKo@&d{ct ziX9i-p4_G{o)~2fp0+xJ{*)9{={%l8BO~JzioVxj!pknixEzgorP%V9&ogn+o}Mq4 z@}ECH`f0@v^??Q?AfBtpmr2Aex_z~uT{d1t`3)3gqb=wYEHxM%swyu|JOz@oywC(l znYsA+zwZ9JD4^<=MqMZ8bH6=Yyqb@TbGkgHJP&Shv2fkE{NAc3FDI8)UVbxZ0NwS4 zJc!YNC9j`>Av`Hi7!?R0)Kq(&AIM~D92z}%rdmDT!4W1>urum5A^hnanyj!rvzh4W zf{}VB?~v4E)K5*J+w4(Vp=~|?c?{SkxLq$w+)9CGLG%@FODuT| zK{^;WKL5S-^BX*HOtf9~5vqry-oHsj`_tl_#$)azA<^H@&@%X#kT65Qc_wUUB-D{% zH|qO*OOA^~>IlNv;8J{gJPExgQc+Rfh(Y9L#*Sz+Ke9P5S=Y^K=uyfqD5%yfdp{1L z`H?giL>o2-`h$Z)x-J55NA+4g`cg*qI$nQ)v_g+Gsl<8WnGYh5+vQ>hJyojCHWCaW zD)pCZHY|*)R#3YMnm>iO?ylk2Yzsuw;6Aum%&(NT3 z_lIwm^=Xu75@LH`h3>!oiWH&(w-kbRTqKINmKJ@AVBpG08{DT(^dv!7d~xAywUL5} zolE{>FEnJi+NyIY_*0=UIBa&dndo%-pC7I-Z#=n@4pjPMBS@_$UOT*=g$t)s*&NW| z5&g%|{4FliutbF6Y^|*kqTYoe!PM8))dBUB>{ru^%^L@=^L^T?5&*{Veunx6)sEk= zG**@LBON*u>9{WPx7_9%hx)3tTaPhDVVhIFQ)gO&+rgCv9400Fo6dGeomBC@3d z8%T$V5-1KJOx`-3H9K3xN7x0!?Y-yXQeElnUy7smYq;4tvziFn|F*nMNfb~A+Tm6& zFN6)YscdX)lRVP@yy|bp72cSW}MYUu@TW1HxE}NxQlC#HW9LBcJmU5CnV+ z*+LhrNlH{NOc3ty>uA8*et+g4{Dc~4N$#XuLrln%gKO6%)@%>Qr_L^qVP&#T)t`if+w-Iu zqgxlXHQf3nYGK50X{4tDhA>hl!ZB0|Sa6XGf@;azpLr4~kvk}cSW-vH?)vY~D&S+~ z#o(v4Tlo3BSB{$evthWM;bX&6zuh5s(A~$U87C_+okxs$>hoQaiTL6~m^XKL-Jm*{ zvQiYx!D?W|U5_cC%J^p9Z0{akJ{+OhC0<{qZdG%^p<$y3?FmN+XLO3{G&?{yeV91n zy(4a#uM~wH=_0~z7x2|>`RTY?Nu{@Lwh^Z|0e!ZOjgBe~%MK(|BL|kory4#cf*It1 z#dGqY`&f}aeq2mSX`Y#?`u9Q6{>W6BXNbc4AgW){Cq)eh`%HzjF7}U4f)V_g?B()u z)>DzK>MgvICQeY#)D#~#_nWDWuaYSKV((@Iy!lNQk%A9M_ zZ|IXULZ4ET;cuyIQ@zJLuwh8_rNa0Y+=SPAFyzKTA0jCxJf4Ugnz+ACmRD!F7F%DQ z!fCk_v!ZP$wUBqwZJx2Yg$cir``fpZgbb0j>%;vw)`BQ%!QlH+|Jui=zGVrNqb>tN z0T&5fdFS&^!A~`T>*)Y403=q&(h}v0X#F@^@COqX7jLrfdDO4nKRODSm%wL=q5a^{ zv)0iwrrS8z*>-x=KtdWI>QV&)FZ@224rl&ffsPav9@Xx>M+U>&S*xO=5lBpc`_v-+ znTN{;fD%5KHJs1kRIUVdcsT2H9R#{Hm3+3JUe@>a3k7%~`>+ln+@q~MTXCDq&7I}m z-aM^o2SM*V-^^2V*;U7N&1LmbAuM8k_sRB?%m)u(vn6dr4PM}yh!0yYQ~!?^&2Dc}KU_gVNTI-MsoBepm%&+TYTw1{j6;i+b1@0DKwb4+lXvTrMHuoAW=W=?%~ z-e%SF^@SDY7~Xm#CXAqggogG5_tG-(z2p6|UE2N#qnr(VgWnHS27v7RG!Z*(N5sL& znl9*CBK|Q073!y|kpAHJ*MO)N0D*lYQHpJY>$|y8>o?XlyxsuAD2pbMTsBidX)>&N;F0gWGp>t&l z7$3*IBS17C-*F&YL?fdf;A4FaY!;>#^gcx-WahHZ!M)0)E)aepW_dQklOvNN5(&f% zb$#b^4l1OTy1VlsR-CTOfc1G0fxzo?Lqva=B^020vJmRq{hcO)IJ-5r7V0=Jo)6?Jh6ms z84>A6Xc>$EDI%v8FlAfGq9B8RFZsW}4yIFh|J}HFsI?m=qp`Fwn<+h-%ftPe^%kZW ze=v~(C}d{~O`jySM*-1fl^bS1%jCB?vT4R_k) zR>8~T&TPHBER=AJg`bX;vXk8L6;7pSPq#`?ZPrWbYm#swK(-YW6k>wG9on{G&NAyB z6DYtg#{)$0OuWGV8b^+!9+zp`>G#qGg2QJ=I8`=V^_6SBC3HyCWS^vEKgr9-d%edE zAXOu1ilGR@n=I}ow|Dr}Q1k14t>Sr8O(F!=rlJlWMz{pdffHW;ImH;^;@dar?x8le zIyU*p@BhAnvO^{vBiZ6}Wh1nnSuCrT@IzN8tv`~Gikm#hjVgWSmy@ktN5@v&3?8xs z*%cc(ymB86nzYCHxw(UbL*=P1O%81r3u`SHI4Howvns{Va46g#o8asTMt3Fg+ajcn zzBF7MTuGuHD=X2S?JcWmyLkyj^chq)`4S^4(x@Ve#|o>c=Bd!$3w2Hf?&-u`#!#Sr zsx%OVbvj*8&;iEA*M}q5`#=_4Va)z0HWrMi@7LGYko=!(9qdsEHdGBjg?5Eg?l(#R zI#2XPXx;bZtf2~p#ig{9MdE@h$s=3Bk^%BFvk6K+WZ*KcbP`nPr7t?BA?WC6EzF7{ zOy783okBmo?Ut-BK!AZMmV|(b1EyTzB=|fXKTGy&6gA^M!}?H0F_i)nB$B^fv@hym z6mDaVN(OWvNbR0tS0EGh>=45+y7ea(tkU4C64trL#oaZf(Q`~37vk9Es8S^!zUG1` z2%FXVYF_LFJNW=5ILkrOGN3On4{M{5VtN?RJGdy=s5r(J24f_0fkLi0+*j1@wo{;O zjUx%CErRcdsT6h=laPiuf7Lqe-$T`h5THuxC9pOwD5WbuyP|XIBdd0kmY4zt;XD;} z#C$$KV>6^f8gg^LcK49e{~jHzGk6=T*YWJ+R5d+0=iu;*lZ8#E{cw%kBWr53+#ymH zU(h|Ov8=3YTW8vSKdZf>&iJ0qR0@kw(7oMq&t(e8ByJD8SARdPY0=*%T!QTDG6Z(97;^&$24%Zh0}L=%6^ z^KO~j{(QOm`O~MfpE;6d)@wDlU}mf|`B9OBjm>N>k4#D0kE;!Iy-R8lT!admZoOO7 zOgQvfZB`fmQkZXRgyrRL9`iAGVxpdi@ZC@5dhE&Jz+sjq;On@Qw=pd9gEYKr!%m}Y z@##5qp!b6OsCgE2(C&{ch9dI-8f(suO_VM}e4V@XogPG7!uP=(_ z2l+`>7dAHbuwm#Q66~z3A947*7W8fY% z0F#ikbhYsn)z$!VF3y&Hq#>|(kAG=qcN{L#zRTdS)cK?o8=ID9VPPmW$Pa`)5XIJJ z^OXQ@he7wFWq@C0PxdG}f>0xyj}O`bse|;uQ!NQH*U#Ucvn9cRIV4 ztjgDi!_g6(aiAe|HIQ@w*T~*@vc=0C*`IUkZtgoYWEOBzGP}4D#d4$R^#aq8i5yYK zU8ho2EO_7TNy|WW{2uTe-P|~X4B2Fz<7BjPW$Rw+@t`h-{Xw{M?Jkp6gE{XLgJ!G4 z*pu-qUV*B+Uzl>l?)S}2OfZGkzW{W_b)#7a7krL95~mQro-D}A6Y&OoKRLOTIs(^? zW^1#oj=j!md2Lrt>nVNEdVv$_FKPysGFaGC<)G9R?*j*lo4@4%~Jt=*LvE!4Y!^1C+f5_?i zSlH+T&_~JPh2`wpvMJLx$OpzdZ*o;aIqcFk+iX5Gk(hOu^tgzMKI5tMTUwMbY1UA& z(Wjw%zr8^C1{a+MSaMod1>fW2RMuPOW+pV7?bLM}mO$qH{C-FG-azBf@r%p$W(Wpz zf*X`U+1UI%N&Ea;QMlOXijWtt?fV1Z2F9PMlvNd3&q1sN@!N_zi-2!4wVs9MD*YlT zN!(zn=Xrn6eIVes!D`%16V}RMSIO$My$$qV)VH&6uy6j}KZrs`rr%g%gTmnOTS3j$ z_2uZDDX9NL&<^ybhlq#Qxjozvm;JINCHk%pX5V?h(>Kpos^mPJ6Z3oKRu-xZsBy*I z>@n%l1+#c5GUddf<6=S4RhHzu*D|*@MyQ1JC%biF2R#9hh@{~|$J{L~%>#rVr+Y?* zrwG4T@^FU*4g;?r2~Q&lmYdG%jrJXB5FFzb0JCiv1<)eilxwpS@mLJk5!`iFy%(Fj zcCV#w;o=p3070IrgFV zrKe(7hen5IbulAV${%?%Y#VZ)&b84H5#F?!Eo2dE*&15GrySv+Q`ndTHL)$DLXrOZ zMJA*=Ha1g_REvX++3o7~tB|6ds_JhvG$s$oX#cv}Ix-|uxwBPYDzSqxb%qq3CKp~( z=0?y{D-bPX3*KT~@^0=iWj?SDh;oyC1UFgel}S|YWH|8{HMJS22l7q*Hf06wc~8y~ zp(@Y6w|YGjACpdyDx&M^T2FXL;rMNF7%o6uP@&%X*1#!{-Zh+37Up$w!&IVM)PqE5 zg^ZjW6uE3GLZ0QI$jN8+uDH*2F0%0;T{>I-r``I)=j?HkisOGbV(=D+k)0m2=reHd zJYAoc$y`zT2f~I!Xy}@t#^0a0DTSdjC(~c#bo*v1XCm1>_sbeS+AE6%&64)fXGUm&I(3xWYjf(ntIg>b`?q0e zDTMf;-|REk?N}RhN>Mfb`*NV0dfquep~hD3K`+0$LJNQq&+V8;6XMGdePZu=6GC59 zS{mz%o@Oz%z<)+XDnuQ9oXqSZ_Su6+Y%Vl1N$N4=LHW&?`(iB8hoRpyP8%!9iuaEv zd#^5Mp;40kHjq+LX6C8|qz$pDdm{@-p;nXhz zp-noY@fZ?6Si9=}NgCqf22x!!_kV5r*rQ(&e{}f_JU9}_ z1W7S5@Uiotor|b7`20B}Fnt2W>u!S}qVIH~zESdnAeiHiXMBA7ei$jS%zU!dUP59Q z_^DV~SY564m~5aI{c86ryU#{{tGaor$V>iRb|vvYQ{Nr~G9{cetl}@K?<-xjt5wGH z`)>m;qZr&?E>D1pCe#GlT^J1=MH=$ST*k|M#I&n_MK#Rn?}D2T;HSf9z)v(X)%f~2 zgWw)oF-*O!-zvZC5?H&ttv{b@Igr86V;LsF3IUoUznPa?UAQjQ>Y87gwGIZc1_~e1 zqy2tgoO(-kU51*yUEl)Y3Z~uq3CP{ijGEU8g!B1MBM4UO!|jiKi;CK^TL%%Y(V1;Z z>gxFXt$H33yF<0}55AJfsmb_Y&h{*SXDQc}Qjh^Wkp2uh3oK*YdfhkY5;4D@!e!Y`wUWYNoV2uBqHM3KWTO}= zEZ4tgUy11iw_UmN8c?ny#wMg~Xfi>lsSBcTGS3%9K~83FYKF#Z{Jf2tvar)N@s1;x z&T9;^YM7n9PWBf904@zn#%-r1{3K~5e&^6VIh`a>e#Yej{u6nzmCpJ2+>3&K(<$gpjLYEo}N z(nDUo;?L!DPXs+L_tM#NT`?DU@^p$OPF>>od}v9eQw9@<2;l>&f#P8Y8< z6cv?~SvXiCzkUD8l3cY=VO=^&9)b?qT53AwI1J4A`m+@h;-~w5+uM%>q{E|B97| zSI2dezX!lxKp;Wd$;(SH{xAosqMO4-=j|{u;J>-J296{L{)fnN;QBE#F#+fBe|d1} zB;vfhp`Cu!0azrMf+m(}_E6uCV2^^n0f_XO>=N(0%Xyf}5x}fbOT2a@q(J0N`X$ zuh{>5EG{-%*vW|=>+$BaxT4}`Qi50%M5EUYRqNs5QEwl$koT(qzrowjC6-11fr0(wd!HwNgdHA^oYM@|u@w26kSD#MqChNHIl^ju=VHA9HMOXe zHkWRQ>^>M<;f+`KC%txIW#8XL*}y7XI&XuDj7W7fDkl%{`4rbQZsRZH>zm(+*uk!i z&K)eDcJMgrdw77FK*nd?XQPS`CB206$qrUoRmaejNMu}_n4Wj8X$aLJ5Q_lLkQHz# zgW3)scR${`_pXt9VOc(vFREy@^Bo3bp%{Vzvl(8p+&wL3Sen0{*#zFb~xS4rT>+Yk)i6B08)k=6(%EjZU~yqS_Qk3wAA>ZoYbIc zUO@d%DwvVg*5|=pyQO*?g#^N?E2O40D$2s{rYS{@5jC__ENTTMfAH{seu4%g6A&FX z`&ILT>X^P^%CrhdVg@!g97VpB5gInlvo7{dRg}XLisxtG7lcMUk*dsbR$StfJ(crB zaj+3@YC5jV!N#)i%g5M3c{rS%02(@w>})O@&_)?j-oU^-0JC98NK<#^!0Omog~U!c zNt@@Z`%zSz`%x(BA+O8z1W@2a(dg4D-gS>~X0G`@ju}=LMv@qsDVm?+h0q^@!`{dJ z5jep$**HL*Xze9>*G#!2?Ip5#g=71zvk^PHIOVfQzAX1B%=z`=2xj3pr&A@IKLtE4LlW!r zL~J~Xps#MToy}+pY7n7fe=jnI8fIf_A&d^!B&hRCaTS2#b=E!$S)zj#MUe z8rq-zhYE5-6Vqd+nsa9pgG8Ru(FEK=dU|^+eaq8SC>rX@^kX6KWOcl{(;hzDd%Xay z;pD_3FTYT)*#Q&Ad*CN~olaVK2T8QvYAr|-w;MYHvuhQNdkCl1>ce!;(d9#~k*p%+ zyLUTN$sE=^w|F0&I*Z;0X3?X=1JEoPgiOMBx?6B1)0#kKF>1F5#C)_}^X7ASasn{` zs_!Hx+eW^3t6)6*1*}v^=kjrS_OJ=^>NNZa&Wy0B_cB>UU3v-%V_?JvEFU|cNAR$v zwSk-cwax3fUB1*Ls3`Q9-_8q2ICgJBUbL3;sjQH0phKdlv9Kz1J8BI^7#9eCMXoq< z#FxiW2gD@*@V@Wuv(JSUaJ!U|RpIAgoLrisPpr#43wbxTQ`*q(^<3>bzY7M`0h&ig z2lZxi_a`l%xaFwKY2Jhebq_tPor;1*A8&~4s~Xf470+*wlK8wK7gV(CPnsaArF7H# zM&{qX4;*9y#Hm#5ZM+cgC|usrb)_5(4iWstG}w6R1t=hmW6X^H(i@dZ$Vpa z^dw)P%M6BQ`)K0i#?VyL~YsMX4Ux8;7QRwPPfPw6bF> zO3ED!>-SfY1dS$es3f78MBL&=@{(a%%LRp|V@Vuu>AoEbdq_xlc)((HssT&D2tbIy z-k!~Z^(2y?z8o(&`&q>&BzV1SvNJCM(jd)TuGd@mFo1k_KAKsY>o>feQ37SBnuZ2D zdoiJC!_!kBfS3H1``*W%#S8S)BmwcH0Vz4T&p_L-uvpqg$Q8;KN(K30#2Z3XPHt}F z`F3&_7Y;y2`&Cy52^WsO`r}WD#+^d%8Y?o@@B5Fwm$iy!3qnQqRb)lTSQr>Vyg-h^ z=XYQhLmEqKaoD^T7ct8SV*1klMO5YMIsbU6p72>D&=2OX7*I~0q_uQW08#@Fjc z))vJ(y{|5BlRsKRaoLOAK(Bl!5#&cZUWCH&6=7>&y5_MnSg%2gsAn&muhdfBR``#Q zP)C*E`*NADOw$8*^PUdDU!*6yvug6hGrBWp@s|x=8eR@`Y*HGsjcx z9);?nUr}$hx_vQ?L!9vixb^+{tyb&dzBrzQ_iXt6M?dK{1ZyKCqtapFSl#qVM4V>v z1oC|4sXb{zgC+f9#j(WmUqtewK(1w?6Qcbfwc!-Bj+e`5Xz+CYO*2Kp-Z`H!&}j&R zoUd-7r|zR8BSYrT&!v>(2u~tVyF#9#?jJ@>Uw&UGDoDw-dt3q3_m0VdH;lJ?LbTvh|o4P(HPqe%A`ht3(q zmh>S2&g~W$LeYQ2TH^~?k;424J4EcIT35p*N0-JBn_G`Y7KH!~xNgqSu%1QPh5`i$ z!GLZPN7T$lHZMCSB5V1aONiZ#hBM+Oy0zB7gZj*!D&*tQk88LxlCiG+J1?;m;Q>%e zu=;!9kzR%$WB#UgxV5KgjkTP!C17#DFvrJ&vvVKZpaWEkKq0r#`q8jqi9*!! z<$81b^TFbB-rIjPzo{rkoU)0@$@T z8y)=#9k;`ec$kYx3XHEeUnYL_BRwx9^@fFmxbg7diGjVjLJL}dtj64nd+D!&4C@U< zdGjDJ^z0`iGI+2OY+2P5ZQB_#%9~x|JTm2lqqdIpgXjJiz z)TuM3N{+cJ68@@V14OvH`$d8Uqw8}YbW?8kTb|dmtS_u8xjt*$*MFgg-{drdv-jx+ktWGABgb=XSH}8ZImL*C- zlh~1#@>3#TarSCuNH{DcZiiO{gOP5%&OE`+r;F|>csCzQlu{|~g|uPZURHX9ZkHZA z&d$9xQm&xhL@N}ZT)FVGclM71ZX2nON}$(1#?a$fuwo4K|I)+T0$!&7sAx95&qXt>IV%Vxmf#va(GV(=R*4 zI6BC4ZB;e(-iL(}WKb4E$zUks8f+*54;%aj`asH0>;f3&q1aa@ENjm^=JmbQj93KU z?K9lsdUu)d0Wsu;p_O!>HU-++4& zybnxQ|KGjFu>o50Ru#7qV3nI&n!htub0+8I<^6E9R!eY02|EgqK>+=8kyB7W73hyS zsm25>@Ix7AD{uaz1uP)2uKM1K{XCkpZ*x6TwpUl<1foi{^#JjOq1ifI2pgK6b)qwQ3UkZnU3hXACy`LJ3F3-$Kq9~ zRFOoJHR7x}UR?u_q+v6~gr8{KuTFcqdZqOI4u+f_4uKvqDTN$+2{7j7<}79Nq5;Prb$ffzt^XX74Cmew*vY; zP%eWgB?B`J7YAe1fBkY+UvBZ#<=il{0-;%CSZD`}?UGYn zUKA3Zn9&X7<27wrmB2Eu%WZKK0!s!4d8lG!KW`Y1ypl3aLVl<$JT{XFb2;o#p_o@? z$oV3Hwr1T9_knpPKb;vxjkA?%UC@9G_G!DGf`lXr@j{{y9fJO)AGt&VI&5ISiAHA< zm)KabUou1|%jFf)Let;Q=2_V;@4)-XDl+InHQ;G%^}5;ZgltPEJoz>Z+q>1IQ&CY- z|8v*(xCMZO%gU_S+0{VeJ?B@e``@=#Lx4?&Q)sW_C1PTtzUl!|!^XyxB1?W->S5kk zB$4W zu`=R&=nE*ob+d6Xo#=i97?D~X6(5wMR($V|7bE7m<#wlnYkSSrVQ7OcfBqW*h>MGl zr?PqV+ zD6^#CD3>NG#%JgNfZb$vy~P5!EdIaI<(e!S;`viL`Z3`-I$x#19Sj>2{p)EZKGIKWtu$?f!K6vU33aLy(V;Yy$R;-CV(#CYRMU zmRXhk$f+~ItK=!<@1fTd0XC!Fyf4oZRx33h7#R5H4gB`t=^%U$4-c!%%(5gIzjU}a zyslT%7MmNfx><5XZWWG+x_3@o{Nr@j-7z0KPW^g_lTdGm)1f%POa6;Sq}OKHb<%<+ z>Jv&!OAGFA40vU%9Xja=T{yJE<$C!MAcTmCi3J4C6>7K+b%1yz$Qb`=yMxD1O-)vB zriC|8Nuya!5E= z=lGl@XxM}_L{0ZEJ*Hti>^7Pt!_v}2i4`l6-(_+69ROH%c-Pt!KnJu2A#qTXJi#Lz zpCTNgLaX|`zx;2ELftQBYV4 z@*`gopFSbK_bnoi>B#Q)aot844!_6$?zlGfZIL2?>eO;al+5L0bY=2Ai=XXup`Cq3 zQgWc%vhp-N6y+fCh=H%o%K)wP=cw&u>qq*}NvU95XHdNm9v=A~ZG3pDdu(nO1or^= zJg5)wae#Ftj1^(sxk9@xOePs1PX#c9_6^kO~!+x{` zJzb^V_z%K31q^gtIs% zb!7^-wwhuLl|Bk4NMlL}dOSTn9L>kRoy3@x-o-YN$7i=IDJV8%qnS%lBF1^|PLtRzU zNo%=Q@uN5Pb(#8@guXJ4n3)Wb4D1gxe2C+Y*$U+cre4>_?P?E?W|#o1Xv7v5=i`Zx zK7&7z9h{#1SoaSi*G5;jy4IiBjwaesz$VB&kinCT(GG%9neIoS&{$la^_xHa!;_qh z$htYP(WQmCmkrZ5Sj@dJzkc-)^V^|#8q!~zRfz}ih-@;-g3 zA>=f@bQ~JpWU0nrr@-3NWLz872QzGB*!XJj?JT&M16E$k+(*E0(9py}c_IVoY4v4# z)#gX1;^r+fZ`2LyzEa?S|B8bRt?c1Z;I(-Ug;8zpFQf za_DXW=Nv(A0OKPeC8gf+%;05BX$d52z^+g-^gMk!lT&N%yfo@&;~GtUvF+xYAoTCt zPz_RK9W=^}L4mT|$E}_;7>tR$`h)kdD2Kp(DXOzrud)WHCIMga^78|cm9ADul_wyf zztQ4(EFJo~jBN??ynFu$)MPOwDVs1=X_=3c47W9})Q_!hgRm#Df+ETO9U#-|kdG1Uu_DT#nQc{q=FQA&`gj?W9gfz;{68giVLV zQ29-}A{4zq$f&TPz9T$>(g7ND2}iN6lFLo*X^T z>i@Q8{z$DlFVf2pP%P3dEyxe1^;dP6NS37I%#sAp{c}k~Oyx!45C0W~DyPVEfPP5< zgxx1$e<3j#(25L9iv!NV6Dviu$kCtElOWEH(+op z0&N72X`w5LK(*#EM|p}Yhm?$h&%>iGi1*9Lglkl+ZeO{9eA$1~jY28F*)}yep?@1m zt7uZY2$t=6d%jBAcRF3(@647;nqq$40;WbBrZsRaN!{du4FgnEW2+UgTEu)+wyUt< ziTc;YnsS8QLKB2P-X%nI>Hiy9vJR8C65)_k=BnuUPR%SNp-Z?-fu%$xBrFYafTg;w zrXreqZeoQ>Eg(R~O-o5j+w}GCTnAqpJ3IUL$ZIfP`uAoOmc+bk0BKa4S7a&@2CJ9z zKX3|oJ;t4Vc6P3tV@SC>oqhMr1yhU)8UetfURNvC|8Ve>UkW^XKz9Y(Y1x@4I47n9 zeL)OYYf%f}a3?3LsmIgyE*nMR?*9G!hl8s!!-GK@D5Fp$+(ehWk@Pe)G>XMoZ^EI- zSfbXM;s_Yf;o&!EhMA#+5km&{YBdS5Q%6Q@XS5lMu)^O578FT^LirEk?W{K>*~6_s6m;`TCF;{#cx92!ZOFf2G-SxI4CL|O;wWqfS1d-yhSk-S z7|MbJL^L(;LDG9`3-huie1e_nQ(|@#p2x>ZLgN@iOvTSh0H64E4+RPSU?D(Wn z?stXxcde4;!v}&fxeZn!P@ARkc+zrn=f`lYH@@4f>>HpiC@9z|50wwcbQ2lIOV*Y? z5By+g0~%&F`X}F(yLj0co9Wp(B}Gyy|;AFSO_ogl7eOFABh}kr3FXJx{+YaDICHDG}dHv0dX=FJEr<9Pj{F zdw|RS5suyAZ%SFDD=<=Yd$@OZe*nSjR2mNOZ1KF^bViMDa@wF*!Tbsp>j{)uI*XFG zN|V8Lii)IPrB~a1Iz+oM;xVRKSY~Et03Q8luDHCi(Di5xIwuZ-tTsBcgOajv|Anah zzzEY33dEe2JvrZ39`Ydf%gM}N4B$xyZo@Z}KIv^-1`+$ESl7ux`w)1;=Kd*V;J3QWhi3ypv6nc0IY&cnfdkFgWRdQiL(`L1vljgo5K9}e?xfQM`D>v8`$oqPr zD4aH}oSB*FkHlXolNNO&ukz48S$Xq8ScaoQR|boKi7Qtpczto_4S*p%$kCl&OegUqlSw zYih&1UjxsD!&&>2#kP@h-aD}HB*oPl;Lo~H5s{HYG~-$?yK!qCCAb)1s+(CASUGYf&JwPwt*6&;-m>P-i_;M&~p%AXX7Qr z$HjpYKz(}BXXe}=OicAUJj)iV+CcOLJi2^d4o3qhEu#n*z$)C>^mu3y_mloVVD)aR z+l|Y(|JM*$4?sVI8oBPyKLTc5&2}RNGD)N}hrg%f%lLC(Q&&64%q*cSk7o)PSz1mP zi>8J~XS$lLl{iNf088GMztr>)Ya%{J5mK@`7X=YRIqTZA|S#|2-NX+&Tf z13eurE#SHtZQjRvH1hz}jgY62$sF%vav2crh3|mf9yn+qb0J)iZccBG_Kyy*-Ep(9 zj^^pfMgZa>q`Y&}&*4a2J~S%D;iSKe$A=gAaUC6}VNabyqSC-}1Qlgz07L?+ z0FvNmO_&W$E?XX~_0Kg9qu7ESonYmU-?=|UmnE1jiy=V1A^h)Aln5?T^!fSqPn{#> z>FTecbL)*=V-Zd(6>F`gMrIR@2HrHjk5B0``C!k&Pa!(!oog-#XJ_`tFFP&6Lqi5@ z73FK-MD}=)5PQK(%*(D|jH2Y8cT#0?(u~)c{9n!31ozRrBLMSbRHDEmhs*;EO-wo+ zi!!b;5?XYS0_rf*0d*LPq{P6}wh>+QB$Ndg zXUX)X4f<#oY(A=pkyMCc-e5qU3+HKykLQ1i-Kzgtu>hf<9^Ze;-Z{X`4x+*MO+x@7 z0``?W-5-Fy$0kF-)%Yc?7{F!*ZwdllQ!=;Zxq}8zNs$cYLz(0A#IS8_upE9t1V5U> zNLP!D!T{V&+K*&Pt@vb09hfay9nt)7$$Tuw$|lI#lxrTcfpM@eAfoUSaj6FKG)64u z`4pLVXRROC2(Y_%=9n)v`ft-Y(6xZ}O_(qR{l;Ap(+svBX?wTe6W+Y`cFt*gApv&3j)uWAY$gdeXqrw z=rAjqWIht|Benh{8H~2v)X;~unyiSE)!{Hf68!5#ESPV#xE{e9m>0o7rf_-=zlc(2 z2>7Dt0xPjGaEvOV?fj74vwmLl2@7bMbAY|G`_oVKK#XuLeICuI*Y<`tTe%p_kq^Lz zb|pSU?xg^~z)&nennL^1@$B}n@^(lKop`C<{H8r{0F_wa4IUfN>^_o*A`?tS({KQg zXJ{C^mr+=yzhJ5@L71cPIa2p>3Egn5sho_w{BqM>)qOUXK67^}Mi`-r0-AiB@9;ym zv>Y~4#m489*JM)2W^Y5on)Y@Z#vVwWcT&xPls{aFTQ)x_XCx(*fD7}uug5VSJmhX$B%`|7T9lvsv-S^rXlpx*R-Fa?*>wV8yYn`+A7;EqU9QvpaPkg`kbYx!0paGdk?YhoP~BzziL(?JH>mr%6|-|e*qdw0pE-NN?98(bL0sA4vvFxJ+bT| z)YAXciL8)Hes}hvPn46?PZ2%lZC{b&w>0TdT}@oAWO^CB3&NkDR9yeex0czIuHd`C zl~E?S9vy~o9d&riZyT4?@WJF$sueQ5v?~)XimK``Pv5}VUIHblnoF^;9$WDo>kcl( zpX~D2a*L&Im-!OWTos<{kjvyWtn~=Phbe}*1eEm^%Ylou@Qa3D0;qEow5L02%M$Cy za`xU;JuWU$`y$J$D4lSJMtlqSWVHs3G5hWMsUN?+5dXpmNAY1@Bi(2 z5nmJt#P^lYDT9s*_)?2E*@nLKk4O@1#ODDZWJwgv~OeJ;+ZJ=>)oUqlusyj zo$zj-T{4J8a~sP~9G|TaEhtCin!Z~}y-=txQK9D`VaY1K&Z~bw=iX)Y2S{2J z&ho$2@)nG>O=ral6st8e*j~a3$~oCt63+u-T|=^yC9z^HX-54UY>!9Zy}>RScb%CP z(|DjPlAoVk^{9Bc(SCg7ee_$;N_IaiE_XBzt|j0KE%7YI8hCfMO&SG5cXXo^bxLyC zupIFpBdS3HmsaU2@`2AKQiQ_VXRj24{;le^S5%n%goA$(H}zs$32=`2rzEbTw%>Rs z?y<^?)uTKr;>GwvuX0Q@%_#fk;=Zm(VgJ=G|2|Yb?{ySxc;h(1ywSC+oC;5rabwsE zdKCp|_c+UPbt~-9V~SbEk4XYNgQG&PR74fgBFr(sD+W7gT3TpKjUpjIF3*WB9n{pe zWP3fx>3lnz=0j9XV!qHVU3na~3<>o5HjBn11whYxlG01-2+a)w+)2GrqCw6<@6>!D zg?gIt36m`igfmiWz3(mFfh$H~hGth{B0E1!c%+CL5}#Hg(8B)z&8|R=z!5dZR9Q4` z{@={j5+C9GDdh&B?vXC!v~|Do0oGifk6Io_u!?Ez2}Y0HI9O%Sz$%eC^!zJx${I*6 z4eC{V6B0B#{H`NnBB=&L0ghxPZY;r893Trsz!@gTID=oP%aN%^AfoOlCjsdtN7(yRAbh}}#UZ6alv_hvoJrm~;Qin3RIrQ(t`SgVX89wd z$b@w`yHSXRB`c2eXDo@|`5?m>6+OU|Io`|=1m;%ABLH7hVhP*JooVOsHUcnl4vqY@ z$fYV0-+G-8h->G7V#g$jki^DXx8?v(+j2oD)AB=qKj2oigi$KTE$|EWy41gS0ovH` z?=~R??_r~NxZpd)POMsmv2*<#6z%X7i`G>Wkej!GM-<%2_I23QwXpr(0BklD)gx-A z`{T)p^`HC!kl6<(WnR<0n|8#QmMOPvQHwdScu@V^0>LCKuBuw9cWwn#lkV3Ye$YcY z_C_5ZBjAqS@puE!lp_8kTF#tUZ|c1kdC*c@Km4IQJ2W3Ld||Ww>oc|IOI_XBK9y|m z`y)*m^WwyUM-Wl8t6<6V1IiWv&753b`d_aO?XG(-w>^5C4h|1(#}ErR?G0WEj^!@r za)8}e<)()7aM+=fk-iPH?{ZFY_b-F@h#V476CWI7~`s zCVBnjxk>py<4PP1!R2x~YMR9-9x$ZFVgdvY->1!Mp^|G}5Q=eHzRcuHW8iVspxPjf z7=lB9Z=H6hx{T-<{JnPabeJovHZn30sVXPrv7xn}GMvF{_aMmS0}2cXGYCNe-_A_O zWf^BGXlq3q<|F>#XcI=aC* z@9u)`*wE<$a)ED_>)TaLI7tY zys@E{91rB9g@xJ&YQevnSw4mdHw%t;wNc-&l9~;UVpwd5Ne;;K{&q8h##%57fq^k> zp%9=m!2T^5CU&URZ{Nt=JS8K;+7Zq4EF>QMHVq3EZDPG^U&l<7hlY!-&6{fDZ`3;8 zsTnaOf=KWfX6oWx;*zaX!vH4r%j|0sHV#MvpeG;BH!wdacijay2AGDO0rp>+*5IVP zDKZ=b4*pUK+MHg-NyZ(oE$GaGbNoOrwv6yCB8eJ`D}s5kuYG}e@W@iAx9<($MN;Ehpo;ON*hOu8{>oG0| zT>Qo%N~xT~#=x;N1tbE70qqw_-4{B&+2vEXZLH zu_%6|e#3E=h^Or;W*B*BunuRLdh6?9AU9qfj1#m`)Nb_-xv%8@aU0maY6owXgx38` zURJJd4N{e6{QdNp8lbG>#r73wlmTE8s|fUlWG!@vpNQ|Ri0@z%P=Pzw7VlLf-oe7q zrHHa80Se0A!A5RH#bkxm4~Yh^(><0ZSA@H6Ssr2mw-!*718D}@>&qk`d{*Va;pFSq z-}rU!bm4vj&?q^($LvQ`62ZE!jrFJKFT=#Dy&nb4PU!J~?QTUQa2ob#9$X|6rMkAd zp-YbcWL`r$!?K?@W|<;1wymKuq)R5=<^Z)@U40xhnF8fyM)TzEpqB_Rz3=WMU`v22 z8dy#P7YN|CDDt)X8^Byc-lG<<{`OURAvUF)E;vpRSpKF=+;}uEdf^F09OBJWY3z5< z!;iEH5~xJB;jCG6AfrIL+^H~nl=a>BI*r4EA*pMu6q%zSKY&`eAJydvg!y9$Igns@ zn+e(RU&i%SvC5rtHmIUofGV5~8B0 zNI?QAgA&I@z0B`pEi5ilXV7xJ#Qfw0m5S=qF7ZxjWtN7PHn?4qVZiPh5*AK{QNDfl zCo?Emax_aI?mGHEvTy^hQv1%Y(I=;-UUBd+p0QB#N_{~FVd{(w8gD1p$jZW>F<;Ku z+(5{2xBOWg4EI$ zLiLD0tVJkn=E^T>IY;nH*Sj#h=4p9nr8}OW<>`5{linD+92e;8<#wE85BuL0F%wpJ zh78PS1>0yG{if26t3k>QoRhge&Z~O-{Wa%bme11NgAL~A@}&E?<1}EO@FGwWdk6Z>aKU^8Vf(Cs$v|5aPtBe* zh0dGdPZ<^`$`ix>YDyeSzTuydshcd2{C9B@UKR9ko%tob<4f(SPKryLFVf&7YQ^B& z6O0zX+Lf-+(0l!oh zNdun#RBgcLb|>euOZ48tLB#`xjwd;DIH7W}Fkg;iGGBLZV$oKMP>_+=DXzN-ZWk?C z3KBw}lb3J{lTVIg2!x`H;DYJDTGsz`_WG}nFO>f~6+Lc8YW%-r5gZ0+)=&mq-qZg! z{XjSX1nJ*{4*>?2CWIyxm`^TJW8>2@t70tr;JX1|-*j{uf#CKT{U}cfZaD`jVhv z-;W6daT@iF~kU=psU{d{$_JtW?9UBw!0ZfS0T(@ zL<->PCIJXQy5jE^<#~`f3qvJXF_=(S1dUk7BqgBt8!Q>m(2+o34+9AfFg8?TuEu^1 z{tmK@%Z^Xa$T%As+V1YPsW}A7Ad)T+V97OPNsk?2g+UF=KJa-}dBtVpD1r!oJ;jDQ zJ@edDjZuR~wizsh?dBUhuRrjQi6bOo=c!@e_=to`P=I$5p-sb;e)g&pm^eIGdhYN= zT*!6tIc(L$?Jh1tGC6gbB~sMNv{-v;z+*8DSn*nL)FsTA`nay>px$R{X-1$bD?->S*SQQ4N)!fq~mH6;?t#z z#&h*CXyCAvo=w=X`H4w0qZ=@Tl8|{WDADi)u+^Og|0tZDowa*ji|jTvPnXXFo2A5v zn!38OqUuEIX^j$G*<4|fMQM5J*;f-_Q2O51=Ii@7@G7KZLoERt8+-B(HzsBx7xyFu zx*Yg+Vs?sP?#7#!1%C&R1r;pi>#sBG5`MA#LTZL?FotNL z44^!CD@evSFhME>sgG!$vkD3M{nx8!AMuYhn`UaHn>}f0X!3pXCJ5q!*H4>(oJ*HE zu<7W8`b{Fv8Z9(mtl)PURCLvwFAsV~;Qjpah4CaKJzm@6TeqN>j2A*1BU5T4HAXil znu!$HxS*$dQ{LTqfzPL?uu!DN>Em{Ff2k#wsp(%2X}~W!I?u-)K?)3atV_jDk`sj5Y4)mFfeETX9rd%~~!fPR*^h zfA?;(DbV|HZseahC!pg5om^cB`t2Fm8W1M|{E1_=wSB`_|8!g;-fqzriS{op?&_PKF zC#RvR&R-909W^zrRjCbTkp>MzNWmA(*;!o^GBA%PK?98Pj)GK~nEV}LX79T(tDR~J zIfA!hZ21#!Y-!b<)PP+ca^mU3`tuux6r-5VnzLtI0+j+1h^&)G>ZWi(2az`iJoT)f zMqmadTp)_%AnN+Vh(j2}3&uOI$^Utr*of8Nf+1l`7s6DXwGa`vZqbt_gTHQK%CS6! z)uy*}53t7Mo%hlZsgG(5Ng5%I>Iwh(P6Y0HwBd5^Fw2xEgISoJ6%OdJQ3OKO3b6KG zN+?E-Y0_$aUG9G=R4?~lS_}d`AVrxNfKR>?T1J?sK!>j-fm`D#(LS^W8Bdoo6UeKU zn6bjb_ez4NmzOJon_RW|tQPs%HPQ(xNd@sK>4_Pk2-BW2@=hk?g&Vn5@OnbrAYzkM zH5D=wYJM25I>n4N1}i;?+)eMU^d5@p}6**6L>K0`vB!zN(GRcFCrEVI+5ad?!^7QId|Et$J znBV)Q8I$L}`et6*q!JMjVmqVrD;3*3ZmBi-Z7P9^YN_6??ehVuW``@wa@=7c=K6uw zkv9hu<(VJ&RoHqrv6j~c2XvXxxLrg0CVE10S9=W=KyKkym z;eFJU+4C0&#B&F_BGP1c#M4@ zwcK9g$(>52&C;}RW>VKq#hB{7%)l$tE{=*-eTgQaz-AHC_*a`FeUnXEM@=eT@b%$M z3GS3{fA+>h|Arn`PImyYoTes^oyL+_G8gAc={z<3mtIj@$}uFfC`XwkfFB%doJ)|{ z>tw%x@Fdnv&N@-QEtV?q_ozaOfst$z?nCN7A0v#KS?}y@&tbEK>HjP?P!B1Z>u@$+ zhNdDmSO6U+_0FS#6&26Fc0qv`$NM{>nT5eBxAiR&o)5QVaKZiBD>~iKb^DVjOD;PR zrzs8fKp}y>+}$MrA?OdY4NSzp>(b9Bem`R&Q8ikR6|yupSuDSOW6*4FDke5|;HmgF z5zX*!<0Ds>V3lrT(fig9tRJH3R5LRZGUmScy3gzl&!bD72Ke~LpZB>`lzg@L*n37n zJMwzaBAX_9@l=qd+^kWz{d&O68Qw-FLuAgR`im6*y^z)XpP6pnJbH-yEF2|{+RXcI zpxCU`ONR5Lq--Tzf+T+Rrp9?mI2~LY$UZSZkixq^u|11?z^KO8E|0t7Ur67%nShJ6_wPvxj5$y?0}&28iZexcIG{a zz;&2;Mh4;3>({{a?0zhKak(GMgr^$xdW&7x;bku0g!%CE!=@lblIW_b!%yW5@sIFr zyMQtUU{utiNX^L}9Na7RWz!NeL=BAQ9MNO!Bk=Yn|oa5>1!1N4P_im;Ij-D&Uem&sM^|Pp5(w zqV9K=Z*EFPjh|a3WA{^4!{Hv<-1jl*6_sp>soVOsnO@sL3ByFa)M6gno?pzw6Hm)M zx1VXtvOT#Q7R16@2NUG;!`)VI;`|sCZebnUr+FgUronW>ZifmJe+ z=v8NP{}U>wnrulZ=DC`Bb12IjUC`YUu@4Gycf|ye8w|KqIv~*pR;qOOAfHA)p+h+oy45&OA~LX3O@h&VIqRl|&uwUKPpJXwWhvW}F09_ph1HkG z1KGO+NsO@y*F(`%XcSnPR0O@X-VdmC2TI8=yr}rTyyOX#g9pf7*tZ8@B}1Qgp)ovWuzwn zcj;lsZjT^Uk^9%ta*(c>dm^EQ{)t5RVX-{C5A7KG91fRaSyoTgBuc&mz9(#Nx*R~# ziz+G}HZ#Wz_U4*@0EFYNOG|Q5?;ZD0Wd7LnG^{+lct|kl>ww(i5~Inw)QPUt>!-%R zB3=ZN1f4d$H5?cG1z$L?twy&I|rUqlx6n!Wt5` z5Qo?Y1^aIsDt?SlEC@C$vO~40h04|f;(CqRt5=*fL`_p}7^(YBe}Z%(v}vdTaYI__ z1+40a5B0sMVi+sj?CgA;oKc^Z7uHj!qxId}eIEcTgTkB|A}mk5z&X(9fIZ7iZDiDu z&wJOXs&V|HZ|bL>fm_wCRKx=}ZWJn^6r*jHz_Z(q-Y1fjcw1c2Oq#KYn`fe#^;1{zD+MoZmGMmqV8 zurHD*JCJt%cn&e+qO`HpR#e=uaj57?<_elri?8mSPGq%Q3c74i%N4d~9Uc%Qc3lqL z<0fdvCZ1+JcUX<UB0kcWrtZvWJG+Uq0tai`nYu;~e8Gen*F;&%1@mT1c#{+^c{3j&m&N z2s{|!3zM%UDTBaDEu5ZW?-SQ99(M{^j(h{gIN2Uc<= zIC-(5IqY%Ns0jaj?9<0e+}*vs^-pwVqBFg=k0j-OOM2Wagfe~GVhyXW1a|Dn8ox-l zrsK|WK6M{}eYfjV$?KWKEJGLr#_hHb&&x{(wr`2?VE#PMv)HZ}eP^YpE1V%n?}mm( zC3^7e1GXXYpzkM*w-ncNR%7E2XKkUb;1xkT~qj3ONph-#W=+2}PJ( z5CTv!NTI=!Oe@u#9_r|WSkJ(?{7%I6WNAy$HCH0$~v9+u4j2AV!Y1(TmwtE*m z*#ENItC*_H+d4!qYg{U65iE6cn{K=2XIV}O*4y<8-#lm~L4OT;(rIrSR*{hwUwQiV zi-J!XJat2rp^z^)dhL9KXazmJ9A5)GOmX}08(wvZsY)ZSjhS5#uf?RKvwT`0fWXt~ z0N;#}kh|^hT_u@_AHweV?@3$GI)s#xy_6%)^KgS;a& z2u}Vbs>E=I0lpGua|7c~J9&$Cf)~v7)Lng|J|^3{oOmG29hZ?YRVObgha%9DbWkPC z9agiASo8u>X&b)Q^h9T@!ERylG3H4TgZ?*8Lo~0k@IunS*8az}<$1aX0&$*>Z=?^A z`g56#MtT~s3t~9E4~8%JNPUwNieTa;{%#3xsmk90cRT*hK1MAC4YziD7yUg6b)2~A z*ID>QGQ==^{P$a1#Yqp{zgC23X=!xz(o%QCnN1wJGWQgBe*v-xVi!DSF_#o%GVq%|}mWGW%p#5FlW~?bBL`tI2-R3n5g#uEO zobsngclD5OM$&T%CSF=d`T|C?b9EC znJ$-L<{Vl5HROfxb5lY^;Eg(3YN@>(eE}(s0s}E`QlV%rwYI>MFq)XldO4xt4c$Z^ zG*S*yC+^R07g|W(KEz@iz?+fRPnC?L28T$}9U@7+jYNkWF~S@hPMcne{LPQ=wZ0qJ zoFo&uww#P6hc zs#7y)+Qz}gu3%QYGHBRHn!LDpiDfE@P*8#XmCpUWtyyX5n<>Kq!VWPADQQ_ng_&ip zD)||zLV{BN$jI#7ci(KIj(^FVDnYF3zlQTrSoG@|L@3majT=D#rg_Tm=E4=op|;}% z<;mDM7D^<`o$V?d*FK<630x*@7n^?14F-XJ=qjEH-FNmn!EyF!N?UEx>p>|~Gzaj}m@SSyOd6t0lEWko!(y z{Y+yu-ub@m{rOK|*!=pfKCBmbmPrIXmjHZ4p6c2_(Es^#2yjVYg8laQEU$N_zS`|? zJ-a1jxcP2Fv#&9;43{XA0>URsGECqKVBdmr@`xzKns46-xP9W9)8*q^DFGS_{s(G| z^V5Qr){D)pEJP4ARFzW#oB6%vM%m!I=4d{TYETo>?JX_ar>Cp?l4NpvU|gk^w86D% zcdS(wI6Pmg9iI+)1Iwr+!qwB$1egrmA6x3d{|u@sd?6SD(Noo`?q^!nvo*pD44w~Z ztFkdU!@mZ<=#*T6PPERrUzbO~Jnt|E5}aF3e3yGI-Q1GO+O7j1Q3J&(YTOn!_`$yZ z@OPPA$1sxA&%dTH88kAa#ZSzD;t_Q5X45f=kN610gMi!XuUtiP4BD%S8V}xmnIhpQHzH*vzLgJfldLF}706#Pf;K>d< zVEfLquZHKZgBF5K0>|1sZr$!xRtZXtr?q`XhKH43Scml!g3licT(a8{|F7H$#LMGk zn?Iw*MnE=n;3nmCLSoM5ci)^^3}5zpfbo_!R<%Dpa|MAYGJabV3c>IZAjdVj+3AU~ z4cG61bF~YC@8O^{=(hsGIOxC~7#YE>wgXY!Wh28b>U2<26di7C#PgXlR@0-0q)XH9b1%-8rul*Vjp^M7I+pHY#*|qO2P*&If&5Y&mCVXNQA1452>}1qDO^t9t6u2Cq0J!5PstvGeS=y(0C) zD%{s?Zwvt!glf8ILrsq+%9$eA@D(=r5fxdM%?tm8^`n7O@NToOxtd__A1r8UW*KK= z2T;)-uFw0EP1EkM@FibisWV*GvC7@X}EMUoK6#lk&#uer|-hyp2Rc+#l~YEn$}qimCKLC`AhH;fnCD3zT?Q&8wmqJ-;pv(j_4p*K#DZjcgC`zNYcrEcWq zAA|69s~-RT9AWVBh#HT=P?+J8&k%y;fq36lUTvHUEZ({S(`yDH-=A;lAN}u9FI-dE z(oxJ6mk`vfY|Tytxrh^%$+2=7WK};qJG%WMf_Zjl&%cHzgVctE$f*LZw(=*`yl}jZ z^7M(H!5prKTkY#5tSaezFRVM^gPTU{i| zsE>bz6n*%UkF0x4Cx9MsqO4nyphx2n5*XN}LdiMSr<0};0O>FbCiEAvI{$kXghs<@ zQ?ZK-G_66(Y3VnQ_#`Hufc!k~3R!@Vkl5WYM4bsVKcg3bfn3=Cw%BNK4w53`y}CE=oU^j;X+V7&GMp2a0~K$qkXD|P{G*DxlyV1Vs$plBg!XT;$fZQ013zA^HCxL zBZ3(O@sQ(^>7=M?D9#wGLR^{(sk_j9Z`b%i?x4xx7QrB}O9l!Lz1Af3_}1MLzsEff z>Nj~+$gs0KX5n5JdXUQ!AjWn+?#`7NR+DC-ET6Z{YJ#Fm=vS$UKS0NC&?kx=bw@Y& zWX=-hwC|QUmVxb+!~J=%iKM%~BCM>v{yf?j0S6&#)d!r`qh10h|!^AosrT2S~`y5FXNJjxbO1#ei^qB zQjXz`62mYh48JQcrN{e?|5=kZsxp4tP)wDA6dgftbvSMf@*mZFB(h9pYXgEQsvnas zt^^`b@#^Fw-QYdHQqH3+Gl{ms?)@2}g*Is#fANPZfP&KAmz9F4lzVZHtE$ja zqh9-OB9JtSYUQqnk!$1puc|q~S@ge^b^Krcjy9P{PEJ}!dO(w;p^<)1 zLnCZxcWTPb#0D1iICR`B!n8a~V#Yc;`Y0_QPRXV;bXT03$?HK0q9}V$Pk$~zvkvfs zhicPua|4lZXrL>lv?ZYbOWF7&lC~kq;Yq(GG{xBONoq!x=ySbeQU!90ouw=Mb z@<}LQ>Hvr@vmzG<~s=GP!IkDhdxl7=6Smi?}SwQ zVWD<@YRYS>4jGUxB)@vJS|?5>q$g`2ym)Y|3VqR zRlZ#;(rontU167?QjX2283UITbiU11DMvy3dW+F`Qm@OPx4Ujb!^vJ9EzpZV2}C30 zWYNEnlK{QRr784G3^JTiL`-qK>?zc~wh7U{mp6k5FB2V_y z;vQ6QF2N6lRl+t^y)WQA2RE}Cvxrz=`Yum|iWAFA(Drw`A|jLGd4Fjdi{KR~zyYvO zeQD`iaBN$12j;yXc866&HxQ$MB>hC)bKRXe0>=vwz^p0v5f!<~&MgF4`=_f#Qy__K zhW0-{=c7rsC#8*{hC=_N`43||9L!-0m54(LL%-N#j4DFs3WlSo1V-H5Kf?$ypz zyih=&0~G4M``!$~2y#zlgv9Ephc?@?vC>Mg&eE!mC5?Q}P8uI>6kq|RlrJqTOwRWi zx4o&ZvH{0OWc6);t0%Z{(ALIzW46T(Fw0eRFW@%V(@mgJ_m)uvYDyZ9+jKSMQ2P7D z{I8!1a#7qGc$71_YS?*QYw)(3L32PSKD1ycmz~L|jSdTCbQ$M%Re%7qE}x?8#z=ti z?dANaPps&1pn6#nfQz^sE|6BRlvW#-Z+(VmihzOQtkF$GP#c??67V^A3D*W}p4CfD zu!zl|(S!YTuI__~d)G%B-eVShGoVz1Z;X$izRiv_IWOCC8`xjjPkbS0E*~M8yEt4_ z_E1SvT7`D8mL&~PRPMWt(!r9`hNF?cv$QPzVdEupBxNh(Ra|U|6ImIJqg&Hh>6qh@ z0;psP0P2*twA@(;_(j)b9Y7vOKn(AGN7ATg=4%)~4a%L+${vKX>6;o+Lo&Y)007<6SGF+zFl& zR1pHPHrXk9XNvSiDDs z4-EkR=YgmojcF4PiIkJON^g)MU-=^u7Q?E|gq*(%p0X#fV=~B`?1rHeu-EvHb~gsi zh=va>wwnq^90OuUgPorCwLKvQ12;Wb6z59-7#Fa=@0If&Q}CKuzguXx=>r=PYzuul zS#Kmdu=a^m$eVO6=eBx~lbDoGVaY}fss)2{rxhqDWn1lq==SXdbP;qn)0&9}b)&;wR~NDy3PV9)xbb2|TS z$U?j#PpE(-1Nv-e&|xhok<4{tYIRF zgNabrk;^HLjxpX2udPf5 z495M$ApUVP;M_S%$nRq!9^JK|_AE##j|tgnJI>C|7SGf8=$vBG2+3zWGldcH3*<&| zGo`tGTAv0hFWljr@jOE&$4!7l0?VS~<#qyAD02Tefd>%mCN>Mca|OgV6+bq>uB5Ik z1PqUNOvr>}f}TeJ4NQ=p?%~ie`whLfe3DQuc`U7us_ZVQ0zh^XpKbB088Y4 zy+kGA2MyQ{pq89K)Eu9H3C`l=*DaH%pBLC{Np5|$xK;@bIZ=2#egDGDoQqqLhX=os zI$g76LCuJRQvLPFcTy$%eEd#(y>hKY9n8=6GXLHMR4g{ZzIzLxPB8o)r)Mm1zI)To zETtSC8Mk{FamTGTa@3S4C6Ms1lQ-~iT{fEIo$wsa<|?2Fav~5Fp5RAEdrRQZ%XDRj zgy~8>gE3`J;A4My*u0Neg}rpC7xztJHugU~cq>8O8s`H?Ztg!I%!@|AvAcUd9YSw{SiSO`;19gpyPzA3KV9h$0$|Csz>?BO zjC4_zfIX}np+YVnIIMu?g%BwUYTm9un9SbhV%UnaOPr+)*`SoDweB?j`)PR%(HR0kIrH1%&AG=*VEHH?QFADhtYNnICB&Rf2x#GJd96nXk&=P z5h}^!5Q$!gw_c4YNPH1oQ5CnmUA!L!9V^fn;2^VmF{}8_biFT{6v4*OrZp`MUmWIW z-aU2{n7kL9`v-rw70YFx!8m$B2t}X8PMU$MkRptw8Mn~x@gLUGV#htw6FDEeC)8Nh z-yp6UF{MI>UtnB5C9JBQej^kCaF{$Fk2%cznM?=hx&=8cSnxa``TD77D+R({XE4}^ zAwNc@%t6&GKsX?eL%y->>)6hiH_of%O;1V~kGbx@h`dalGJDPG~xB?VLPgO%0qoMBa5%hy|d`Bd*^b>-uG&C4cH&O4D8OwWu_AcoPBLFl5MKL;TtsLac&(oL7uStExkWGpBu$`eyR zIYr?bo7U7a6ALKYTU0{7<&LlbIU$g{u8C!=|J&UwmyFm#kFSUvIRMCL<4UhLeP6kX zi*=Bl*+53aZqzp~r+dKbp-r|^ig4Egr$O+4)*97F7vA4rGrma>682qcyN3$J9nNTK;`^KEvu8ZZlLs;iXb4EpNJ;seQ0ut= z?C0h2AAhEiKq~CFb#TxG1orn)+x-0eLVjoe0VeW`nZG6@1)V&g(xl3G)Nbu&Tn&o= zXR$(_%BeCsc@xkk^5W8xe6|*(+3ZC@7~4p=6--Amz=>-|PxrSEW$xQ?O>nRw;3onX z5@4%_4SqiOyfsXih?>C-T+X*c0~1^9*f`C^D%&xKK|zvFjW*8>!#1CyKm8>yA#PI3 z11)5FY%-10hA~*hz1n#DE?V%#ix(3mDu0_Uh~A`S2Ht~CM7ks*UMF4-+`+LKDi5_lRt7iFct)8ql${ZC}`>UN!R9hek;(p9ncL* zVitGeiBDjW8^#bB(NfgSt<29YkgzOg+$m*Dv(lWK(yDkb1M(~hnkosCAnD|NO-91+ z<+QhP+Pko^v3m||=B@@dSbsjrX8)2kI@o@C*r{t{dKNO`Pbq+8s^G%si#~-R8gR1Y zN5d8cqZ9;3VFr>XCxR#G>)TGcD7f7I%y;}{tj58kzP2u|0`9(ln$4tpCLUn1q%O$? zLL0ACwuITB6D5;k`nA?B=$>{}mEH?{E05}~J+h{q(}EFa!~rdh%(#MF%*^cUQnLDr zwNGHixt}bbKI5d4MBZDyYI^`uoaA}KKZA2ydE0wnGWW7&L z@joc4o*)b7gZR^*1X>GPGQdYL86KWCO0gdk?2exg`8&;C)z@*!qLD4+`We6#rtw`NNODsKYJX5TArhi0cP`VUpOT)m)WHa(mWL{kC>+S09=9Xko zZ#6$sH+d1g|2o13m)QvUY4PD%ro-3gVcGBI2J~kx3i9mlr5t=qjyOv#oZ)(kDA*OH zige1&4(%Rr+zZ>o;eUl&7M3LO*A@?IQY_xTSIv24bpM@|C@wATV8e_}*VNvg2m(ne z*9G+##l=6#<=YNp=)CT7H+*GdVGe%f@3CUW)=oJbv4(`g$|B_Ir$BMw;2W)1P}B#$ z)DpAkJ~lQ}(;o)Io$IZh_afNL!^4qZx}Pl4%a3r)KkMybW?5^rv@mjiiT@rnLo~js zTDxV+eqV)n9?vVv%>V35YmT{iZC1TMAVY^1Z&5mwQceCey5!oadD(GlI{HhBzKHT; zO7SQ9qSFZ@1^Ezc=|aOf{iKGg$vB0w!uEQwU)G&H&v-s=55J#opGM77+`exn%W+;h z&%XZT^?lp3WAt9czFqva%+~$2hb7S15gu>i$2ziFnws!E=~-AF!H^9=QfFsQqM8#U za0U-2r-{2zlFHFnW}y`o2f^Vnw|9rnxOf)t`SUu?;l?cCF)`PqgkihCMf-0(Ar@(C zk7-jhC}SIn%KVm6l+vz3IDMt{lfg|U-%vX;R=#&&_H%itAN^yJ9MO0(A&pobMOLRpcbfi> zB4LmB@`{QWm!A;E5;|pnv~w=~bQYNt&$C@s8^3bLBY( zLBZn4TWT1tk5dB)TlM&2_9}B_H6B@!1YD|z;s~_KDm+!|bm?z?BrgtPHnzuZ-k`zD zV%o4-un`(v3&{m`=i~evwoN zi{)!oA1RpVbxgg_=B)PLwJ|Rkb8^K3Q^&-Tl0cUdE3M23Aw%vsc+FgyF3=RSDh@u+ zzrC)43*XorzmH7NKw&5|Pv6y*qUwuElek~!x;k4G@NpM1)7tYNk+ty@H?VwTA#x=d z(`U8H!Ii&t6CZ~Z$qvYGP84qH5t33=;tGSKy+f~caJg&(`@yC~rcdh|=;=Z;Qn$7y zJnbXTyu0O0w$!sESFo;L;$ahgzDP&$h%~a{ArW@FTUlLiKpP=Q-~5!Ao&B}bbl2~> zfKCOTS-<({s68B#4cf%KFLorjoMwpE*v*g}zXo#_Mk0iKk9N79stAQ(T9A}S=V9No zd{~K#2eqCIrE(`?1vu~ULP5ut6jj&6_G-kQ5psw412h6U(fZ1U-tZtgnQ$-D3qJqI z8`C)DEFs^Rf1aBJ*YMKF-S6a;dZLDul$0vn`kqmXsJOVX%K6QP-{*L2&Q8vawik1C ze#sdbd)bfSOKra4nsbesbcCE&3nOoH#;PeLKQ~lg<5LQ%%*ivzf8EplTGsQ_`kknD zAgrU^TLqt&k@hO{c;w6@ba@GOM*8isk#K}e(AzC@^kXCUbWK>{KndT1Rdam&o$JL8 zPnPZnrd03l;9$+Ey!Jaf883Nq4i4Ss_lh*q(wiv?&cuh1wDZ{p=n_aYfoEt>F=Q&B zIK*K#T^F+!)Bo)UL{_gs6%B)kNn0e=f! zC8T-yv8Cn!jZ8T5a9H10?b%Cihx}ZfN=8{io{;%Ebja(9d;D;G`H!!>jQMRN4IA5N zuU))~yRT$o9(c>j_8#Nd@-$OL7QG0o^x83AQ=h9@>F&O$zBKeETvL(wal|oH?#0Tg z91qs@JfvLR{Vw=V6gA%GuhVWL91jKDjxG2+T4Rmnkq!HLD4u`xIXl}t+*+A%S@x-^ zS)w`1zbW;Z`5OP$zinSqR<--)WxMlee+}7qT@625PVtW7%aD zk~tdA$j5QE`C)OXsrm=IdT-v;Sw)Rrk@(%h!=o&2=dttfeE2E}X4B5nWP1(3s^UGTG#mW+P3 zFZ%MkT_4W@Yj#z)(+7D=5&;ww+#L!xS?)4!jVG4CEVX$~cNpsL;B#6G!(U@u{Ndme z#k(#>LXg(eo%g@RY@f18|L8O{YMfu9H*aBX-rU01U|-$wHt~8K%R+5<-r_pH$Y{d= z$>`^@L0_e}&f=!x!m18w7XRF8NsdvE`9!o;R{Cw(fdjH*5{R zk6LLsqZMrg*ruI+^ZBTZ7{Bax!&@AAoq|>4cyhwg--vj1_mbol($)A$JQn&5S=ROe zJ==BWDZ`%KB#a6fE@UP58YBjmzLPApH48N$w#0@o_&yz|b8v9X6TJ5FMZ5vufRa>F zK9q;1Aq$j+uWM`Xar8OxcuOaw#70*w8jxEa&OiQzj*2 zR~xmCHz&Rx3r%eLlRGqhKx{ZOU-p1mv%k?MrltnDP#_Hzb-23`w-pO%@z@>Q=e0+~ zCjjGP@Vc|3{R{hvVB zr)fjCtu}5A%E=kAta)7nZHhQQ!%oDt0)X7~TqGv_?cCu06ypQ8<1$5iizGtAjAF|- zdd>XZS&xEWUvO>Fd&_m)DmwZl1ck~P32Xf<(`WdN_6f+?#FC0q;qULSu(84gqYxF- z%4}4kadEHBsBES}-FVr5@u^ci&fY+9;Z@Uc(s+@&y|y%Yr#yd(M|yGNSkRAIlNl1y zQ_LdReY9{q-I%)B29k2`n1q%nKas{i|mW8WEaHT#EOH)sJYYkZVe~F_`|xU z&h22*N)xE5PPz(k!GcUjVSzESHbHuId-f>SlW1Td)Ds}Tii)pxVE!|0W+hJz16%IR zXBoSmhnuujPzgxi8#34(M-1B)VXz_eHAV7XdpK3eo-SPd+LQ)uj}B+K@c8(&Z@z4k z>meA^o**Krb25{YOJlJiYyE&)+e1*xV*a}Z{0_Cjjl=jTIFVT|r;nkm6%cU7a#;FD zn34SzPnwhT)r_I6jFK@z+;qbg0bQZbz>wMTpCp>x&PM5LzW%#Qg8niy|1oLJmW0ch z?Dwh1V2Uu8#l=1Y0)n4U8e~G=a|`Ej2{*S#(`xFt2N{hDSN37id9*dUT~Yf`jV0Ba zA%<~O69srXHKTD`^A;>=7K^*>`uIFHd_Nh}PjH0Dy=mgETI{#d(P29g{6^!qM^Yi6 z;XScIKA_9N4gQG?(S_HxRvy?bkAYeW>|cL)r(8RH53)+b5KP?{+&~$yAJAwdNjJb^ z9!q2rFa|7LVq%@$<}hY7i^yVB+RjTERyPsh5>O!tb#N8=IE3o(WuW0$5*kLv{rz*m zbDv(!uq4*R#lB#_C<``xLVL14+eT@DvSM4HDfz78lZWm5Oc?!unHUI)l%Bs)KU0p$ z3GZ<}@;VoGhbh0k{hK%h&Wu)F+UZaUd=ymj~KFE*K0w^^e6N|DKwSKeP}-toIU zL65f^NK(+4E@4|3nLuBcDCzHCUNgOrvus=2vRVq+2!%nVd|AY{M*;#up07A;^aedX zPwy;xB6w-DH#fzk4$i$n20cT6oOB_Q+xa#(Rl6R zreD#|Ps^4`*m#wC*H=Ij-U8}f!Bv|b@=>VXE%ww__j-#ztwt$%qR}oy;t?i9hjPpW z-pnok?3XnI6`wGwdvtxQ@j$A5WW*U=pI2A@4m;#u-cwfW-lL)d-!p9~zfPT{sO2T( z=Nyf>jY#z%zitUEI2>g>5gXm|bm}DY6eolhN=nzbb#{7s0v+^7TBuw29OOo(5xO|v zSmHYqbK9B?*IQ&Hz}~yk4+a!#Kto5*eGm{1Eg1}^p|P$drWigd|EcOg3uwx&4cc#B zLc=zD6aRSdWB2w1EpKTFOOW6qlIrzHt1ISpiLD$Z8LYRYZbh6%BDa3a~elB-%eCnWrK<>F*(6SomWW(5Rww(xdlNULWf3mI$wz%h=0!oi_3Gd zlb8blY|XU)7=cbJv6JIHG0&)HeR9>?`3L&F*!GZVE$q2PAU1#9hL)Il^u77!z+G7) z=>{@|6uOF~L>^t)W&FTW#Q_ap=MgX&{k{}pJ)Y)|MK>bJ)OL*~_0~zwE7OBQw8&}uWMxLRUGp4N^OUTW zlGGlhCya}!`4q9aFgm)3Jc|vselQ*^i`%`urnk@dZ2rv;g3nARkAP{pR8eAm6c-B= zi&I9j1j8l|-Po>ltBQ#9npHz9!)D0U$3RPuSy5_WfxjWiZdQ9y*PVzVB@h$0a8;yW zWI?!w=fyHHwph2ba*t3O=>cKx9An0<(N)+$67md15II;(bJcBI+F?ffAq@|EvRKQW zF}{Er$qyHYX7Ou6!)%3LosiDh0{Qxrkej;8+KPm_Iyy@o znz661ufSkJYBxnlvg+8D(pf~lHhGJQL-+a>c=%uaC#OajsLRpm={-R_>?Uw;df!$J z*!L$6F#6K0S8MFA-v9Y*H+fWTR2KdDy)<-spBXl)3b;J7Kv(Zn57yTW*WVox&49Nn z^S>w4$2>!AzGNs^?y1Z5s!)osmPlkukt&|-__*2ce;dG>k;gol#igmICtu}SK>$(& zgDas+u-LWi<@2>CE2+b@uP6(pW9v)&b$aafn%iy#0T6Di4k{HB%MUg@YJay@1QF>T zE+XNSbaG{AW|1yxv91vAJ*Pr?n%E(rJAY9*@rB|uJ4b__-d9bgN1!`bMnU0)^rL@v zb7*B$h?bTogUQ+lYt0>eh{aW#V7K16k;@ha=_pbV0-V>I@Hsp}uX2D&RXn@~w2)nP zv0awm_S2B-=#N>nu{nZkCoQ=Xm(uy4@*0cU;rnI(6`RmnG=TVErqD?E0-|jNUJ<^f zETWSM-CxYh^%&TP&HH#g3W9DJt7?^i*y)9IXa4M_;h1;y#a3ct<7;*n{S8Iz;aCcM zq3p0Q*7i6t=l0X08L@x^?u2^aj)<1G8>!9M!(u?87kRg;R0w5A2Ty4&sG1= zn`PEWM1ZG*dwX%Z|8*jt&q=Qr|5@o2fiGwgRsQz&ElDn+ok=FE6K~_=#^aOw<);t%yhn|E{)9jyk|EFpqapC~ngST`%b8#rCI%b)3oZ zP`2P@PizkUM7XS;1<7f0VE##IC?}-o3j_wcq3_LhHH-Z-rpMu`kP}WZqdlXXn{t|! zlHuQIyOd3S0Vet%=!k<|MtD3jC6zST0ee9^yUnGAiZwe_v;}A{#p7dRf4_5&c;ifE zbDDilw?mzV75Y7Ne68`IcmS$txKIttbn~2=lJ2v7baQ- zeCLlo6U|2&N=izTZ_(t5>cHF_gU`J`e^is%@?2tJTK%IfO@7aZi&sLsjRr-fw!c34 zjFPI*FmeN+Q2@J{zKejaBB9jh{msh;-L~R6437D6O>y%{5Tc-4!FWx-Lf4Yb&6*d+ zv{~NPqkJ!TcJJ3_k2C7DB&p;9aOT0lC1~n6cFAD#8EcBu)!-mzh9N$imy69)f(7Q&<(Sgb2KLdY$3IY{5g@i*L;bD(+b z!2wfh>dB$+Jfv)W2XbG-bc}Af$sA?|{r9%fEWa;t037^mDs1JK=N1QWvB%E2vIH$t zm5n3qw%ctVwEaf6fLX>yUu};;f*QCRu!8HU+ zMBz!-Yo->+%*nkq8ALKnwyy^+4W}GR68MLc!7Q-X-JPv5x{gC2tWlnubgL|DMqR~p zMP?7;nlGW^;XT}`rniLUloqDUs<%}We&)erRdqu~LhxUXN zmEaQ+J*heueCs!V?SEcX4YxG+?cy58Pm0^iDQuuLiSnF*Tc)nI|u7S=plVhQd;Oy;{u7|#~6tGdSl z^7Dh&Y$UG+4N;4N8W94u&p&xL^%;|$D4WgGAlsJb9uy^@&E2xNynfLOulf1ux!L0? zFc;P}#A{sdo3vUrx9eE2dIir^Z6=5Bd1+i`erjOgXsZBdI;Z1!|NN5GdI+FV(not_ z9?LV_9|XN~)^-(FGrZ7=KYzjU;+R#DarBRe9H6rChm6e?B=Uay>_Ss2*B&J~4+v1S zwbV>){*W~`nZJEnpP-90+F{wUdAx4OF>hP4rWege0(NSJ^zJOBu zK15*+k5LZ}+A6Ir{c*`v0@aAa=M;e1eobX10zgRHL}K>0$E$0Qqi&;DuAib}by3j( zW$d$Q<-AQ^_zHRA8AVG$fzT#u*Xh1xW^OL}O*@7=0pTZ(LT+%m$iXJF6v^S{=Q=)K zFB1gou(!aV(r)0yd+`au%YfCF)mzwxWiHR$B7+ z3fcEblG^f;X&0EmiFDi0Po`!?42g`$h7^G!xVm(;3;EyqclIg-Web7#UV*4-q)P!c zxsrt!)n+NHDu@M@k=z|3lBITP&Wc%-H*H~$-FbI+_kKXiKfxFoBt(hNt)uW9)&Nm$~Qyji~{pg@_-|M`I)+=M*I zgN;@E4;dOj6=sUeOs$$f@qyc+4qB57r$~6P+Q;Xy8?;_N_`H;%Cwum~0V7UYXY8Vi zYBI&|)Nu?Px&ZNV>L|`bw1>TLGv~|q_ zCS7lOj@-1)E0%qTj7}bb&>^e(pN(`xTbVlAVNf;x1x22rTR3c(+|gX@0kwQ-GMwZk z7t^n46Jt`XYzE{1RI=%nO8;AF-CXRc>c@h@p=D}& zmZ=;7Z3h(;!TsLdnUv?^i*g8`CWo_~6eW);h0j}|SaWtj1feV)-s0<2sbA15SxPG< zEjaL6QdLdTKmN3%AcMMHf@kk3Sy=H$(fXnB!ZB;}0~4O~yi)!=TQRyLzc(^(h$gu( zXNabbyat2ac_{n4x<>8!V2gu0$Dn!BhZ?nMQe{_`^FPUC?KeQcxn|GAq)0D~b4u2P zpDLlO!bcdAAYF+x@qoI=%{;0VG+j`UC&}X|GkaQ+JvqjL?49m*qK=8z4Q)<@%-E9m z%7ug)JR~af{0z%hw-v^|G~HU66_rpxd7U~FmjsjLnI-Ueccp#-nc;2Hj@V?!Oh@sX zmS%{S{x=JY3{Relv#hgaabCWjj<&q)ELd}}MflaXt}r_>c=*1&fkGM}sEdn>zl_Ny zBb)RL(sSA~Gry;*->$EBc07`$qp@OqsxIbAi%$ny#q)~(6!0e_M@IO*O51GcBI<-R|Kb^cq90#4q&wgD;n5T`F{!q0q<+LA2jxhbfYF?mM1w2 zSE?=-#^eP$_(}NtD*+Dmc+5(eo3(0?i*ygTW-H*o3bI?B_53dW28V#7FPeCvK#U-^ zAFhFkF#yt5RTbwi0kKvL>z%H&l;_Pux@)R8LQMM2BEIhPcJnA2WUX) zq+!XN3jiDQnoPHrzcvp~8d8C7j@KKm5?2OXhH=CU!UOu@+0~}FnWFuq?yh@4=*BC= zZW;>cghP5fKt%p(;57zOcqNljE(nLC>eQ} zk~s8mTq4J*%sE5uU$Ja|d~B)eJ%Bk@57n(&bmb+DvQ*6>KBSlF-YM-ATI}+6joCM& zG&4M<-wE|##0SG<4urMFIjtW}bF&|N9Uq?n-j@0WdM2jPkr6=>3|>IXbuhrToqZwj zKut|O2})y|U%lDcv!GSXrm_x<1?t_|Jzgz`wU=UZ05cwcfq(o@vd*~V`;V1C0A%Om zYnwD;X=8{9Yfc=A0&po8#37j7gr#Q4jaxOZY{SD&hq3ke_pWaTW*thKB%DRpMbB{YZp-w^9C=M{QhmQehVF{xUF&hrB`aZFWI`; ze|D)x+sdZ2$75{@aOoC=7X(xmvE&vG$JCM2siC6MH-zuvOixX++9C|8bP;jC$fpaUMFT7tVtBa)`oG`N zR=~=7#At{f>k#nm1*DO(H)@MfIv7SF9y+t^7>E=Sxrx-l<2&J(S`(ax&P~8J5%r@- zTwn$jXl?Nh_qgSDI(oRjxp9%R=x*o-0`k(Om_pEp60uMe9;d$kYv0LZ#kY(6dMLUG zU}z<8uK4m!|Vt)_|AW<=$ov{)N)7B_8A+U=9tx z-Cq8M3H8ove2ja=lpR%6<|$>DmWf7E>4_xC6sGcSui+l;Wc~ z0wf}W=R2Gbc4M>pU2msdhqtGF>L)d`XH>4>_T@59eV@FR>Fgf5r+-yO;&AN9J>P~w zOP3>hnH`aK79Uis3{juiOhCM_F>B%TN243->+1;#2}MOo#&G;UQ)@7xQX>Y3 zpP7;vz_0**=pP=hUdJhN-r^4Xt%!^NVNL1w=4F^6gaa(jctOrySg@Y3PZiirCxZN% zCZ*e?Lcz1JR<4iI9)cRYW7+r{h@I-Sphn*j1=6c#@Q^GUnWMna2t)1i;uG>|7cg-8 z;_HTGN8aWMP7VZ}ay-+xh z`N0V7wP8>VXl?EURkd;132FXbfjtvQfA9r7VH79E3y<8(E7djAyC2+AuusO=>Mv6a z4tjQiFi)gBl$GO^ip{|=eAFw!EhA>Q+`ipN^Y-VJ%9Uo2yT zJax7F<8w#Z7jZXtdTJ}Arn7|mj_HlTSA7YWL~{4zNvX&d78_AMKnQURdcH4&a=8dR zh*O3<`awGCw8sB{kzt64qF zFD@=ZF~hKZ53mC>G}|vXmyef~mF;S8X9GRX?KcMz5fRGo_tq%S5+VZ~bgjMA<9}A= z!4^l&4zMu1mR6?V&Q8I%?ykQM`yz38SAw4>K!R*RMSou(eKjcq`LGDp zRoODC6HB1#OgX?$4J+Ryfi6~iLjr$5vk}cQ@EQzUK|BP<+zOpy>%4!$yE;C1{OH3@ z693cfK+k*gCZ)6qM9m0!Z`aCmbJFu^ulT^nnwy*VL9M#|{R0%xw(22|H3s;Sl^%|c z3X9fYoc~&zf(#Ax+z#9c-}R#wiA8QFtOxaj4w2ef%S5(rk5)t1Q93^U(u=iUNKGLSz_V#7NAWk@olhH$wppO+bj$c6Pe! z{&Y;w>r!A`!0JUCO*YsCtBe^>lXHuKmU+TTM$%NAP>|SnxmF}F%46A=O-vM8s%=)#}05&NJ=-;&+wqsZ0ai8(;_PMKt>=U3lIBHke zY=p`P`Q|0PJ(I6J1rBI%&yQ@m>eg=9kd>7)B4bM9$$U8=J}?Hk#bar;C zAWXXZ5EvZ~eYjh*lJ_?<8Xm1@>I)vv*Hct%=I2m0B${IwAAfspOooH5`A%oF`#P8h zNGn>G`+ByTNjg4xwOhF@P}6bhsP$~ILpmc0Kirg?`_2~cW>|MkP(&s}hLlgCa(s?i zFuX*-Zz~_?N=>CIhyNqhqfgh0xP4_Qvq+#y*}J7>0WA`aZ~qfHJ8*rF$9pGX5g5;cdVYT9I~WL&%obA=|aAkw{C+6VMd5G zTF$p0z<~LG6H5^ViebaDm?y7$Z3D$3q1u2o;(?ryV*7M$Dh=y?XMW=)mV%#Hn847^ zykJQOR|mpQOi*45bbAcFg&N(1siirvLQ(Igfs+Au&M}0SV`w z;IH1m#d%w=fEyV(Yd{|3tYv^!)CojTqQ%tk@W=MvQ7)?;b)R8w3+5Go`vplO+9gYQqa&>k(E{s5qL^3h%rf*hqNH@_$W(t7<4rG^+5&%Lvd6lCWfGkJxhCqshyaZXVB3mm6D43uiNX}zOQ9YY3#5_3OIrQ z+KJCSVCqjX`xG$JvO;cxQ1=b)F8)|pRRwd+u2@G1wLH1pY5mci`IlT+q^h^X4jD|7 zn9Nr(2`w!NtuW#UN(Kfha`L#897R%Dpg_~Y3keC~a6iQ&#WZHCSY#(xQd}vaHZHEV z*1_&lcw-AdMg-hW-7kM1L`_uMJ6XiUITo9_=DNm;L2JugtTrh~%Tm7Ew(_pb9tBQ<65MNBAs~>5Wh6w^bQ@h1 z0EG(UJBJj7nghT(buHQ615x~?xNoO>V%zHGy==!;|KYO_PNV~cw9{Ks$=}&15^eGJ zm&XJ1K6nW&!3ml*RNkPAjZR5?3)T0|OHSlB?;bge@+9J~*KF=aqGNCy2U$HwgH zYd^p9mH@M60X&T_00yn8o(+I zIvyz-DUH2xazaA7^T5~3sET@hg(BWK@_QYss?8Oi=XWijEzoVWx#$?7drGEgxx^eoFInQ$*r+oBX1;$6m z^pFwnS6m?$fAmBzELeuRBh2pm`xz+DX4HZD?_mIOLlAuW)A{<@?&(jy$(XmJ^FtXW zOX``^QcUFgGbyO%S!E7(_T12(&*)tUepQ<(Iiz&wmqGK8ctFTgx8p^q&y2gggV@>;__`p4#+k@oy z9J1jR;r-!Q(Lz=_Jnv)2fP3JY**UuXIn_M9G)v!W?rE0gNB3sO2c2l{jIh3r4$=+T zrFOw@_HyNV+Z3GbnyqeV$5^tLt&HTHo11zd4gWJ8>rCF%Z-8j}`w|}qoP9@!OHh!M z*sg}4?<&0Jio{ZWB+aEfK+D`SSE)u?Br8M6b9pQ_Z77uQOgY%7N3hrTUPuYhQo z{&kj)(f0z~ow{@*k7x7PG37xQE@}EOuyF5C$i4nGKQB#@1j8;jT(%@6&`6B`aqqr0 zmSJyG0y0P}qlxWh^E(kp$bf=fN`ybx*NC+OV`F1!{Uqhk1C*nvwGinc^p`K_->@!Y zO!)*!SYcnn4GK))(h1qzI*vi@1fHpK4at28`b3rR9fxu*jKdzUi{G0SR8$UdwtYMw z5qSMZ2W`uIdw%$MojH2P`C%`#QX@4<#M-sT$CK69I~#`d;?FM5hWG$6PO!1z^0-cW zOC*-PGuk+~xZ75aqdJqA=Vg^L=wThNsJjf6(h_n|YZH2@#F+BM$-;Xw(C=^&!p1-t zR_L*3sfTJjLNsB@E60fH)=|?Mka|_-ta7zhZ}q~wDv%y#5)e4@dPR3~$HV>`wAyU@ z_AJL4MO6=w6_)qSw&fm(Dd(#|gDfEPUli^tH(fjD+Sv^-l0xC=XL(&*yC>?BiX~=V z#KFDH2&_+_TfjQ@+Gsz9G3W??!UQ#O3V6qU_g7fxGN#b*;L}Ff#_%7(HI_RW532nV z_SZ~=Y(j5!9a4zUN(dvLA#MZk6LQ!||PpGS@MM-Z}tvyCX|HE7q zKR90nB(D0V4WS@Am)Bmm{?_J7Vz_%<*%ae&-wL_`q7&+}5u z(3tFylD(ek4t`Aucg1pT4m}`e7KL5o*cNU48w%^3lqqUJ!+E8RrARYJi9dh%X}%N4 zR!c9tkqfVVk|I<#9hGyn&iNzhBqnpY1_Pt?M)wDBfuFRZSYyMZGk*%BM`SjtH9Su} zD7a!4WfTO2$leH@dX<{0IE~pHfrZwVn$=XOt6w;_CL^56xgdi`e`wJ6O!Z8**$EgBV0Aen`|CeGBZ+yPK9rc4ucTB#XW8B zBm${Jzj+A2LGY;L$ZxS(o&bS{0txims8E>ip0~+`v9ajxM?Bq)a^L|`M`8bbUhW!m zxWmnIWas6S4X>}q%*+8`-F{KtKZV4QJ#?opkz88YwgX0}}1 zthA>Hx?J^P2lwZD20D5IuI~cL|9}LMt!y3(4JX-%t<8Q}S*G@57vsa+qFKuh&hc0(E(azd=)+j)?^y9AD`bw4m&dbJ*b$TkCT2W|z#~vk8$-{;qu$#F$~=-*vTXm4 z;l?Dveq>_yeKzI+c3qee%=-BFctBw=kRSi)FuReHi*psc;e+7X&=x4z84I>^7HHHQ zM#s55zIM)@T1~$FUVy!uI*m_wd#V5v#ez`1UocHmOylkS3Ka-NNV4GOSwl;wWcm8P z-}LzP2OufoumBw?lB9>47M+~J?L#YLV(L&_Sjc{XTKsX=%+3Jl&5TEZ8ZdMjnSF^b zTumDL6u=ob8ug`0rvdhQPqgG)p%j{UKMX8VG{Jv2&v0RXfB(}bTttqN5a;lhxU$ch zOwP-doT((#l83p}v;;t_F59w?q##iY(E?q~0V#$OCU1wQTr3 zH9Eb^jO-(Ss%ppbPORK&OI+$~YXBT+Q#t6A`2B^cm0Huo)9}w_=|$9(WB*+;@qd@R zo$App5ZdF(vAF8^W=^KXmi#NW0pd5v7jklFb8vNvphMrKF+Acm@u6XZ_{h`J`e&RG zFBahUG@nXyy7ZoTDgEyGwLK*{SuvN-ZHN&Nr==T3JwM{maat*f(~K*ViPJPRIFnzh z(dwH*Qt^Q4ObEYX14y*DckuDmAwlo&UA%1zzEmjK9}rw>2`x%*f&s*c#ThzW$=1nY zssQbWL#MP&p_C*M00m3>|NHog4gvA;;Ta)<0s#R5_urfd4Iyu*r7xx&w*dSFLPk configurations = new ArrayList<>(); + private final List workflows = new ArrayList<>(); + + @AfterEach + void removeConfigurations() throws Exception { + for (UUID id : configurations) { + SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.DELETE, CONFIG_PATH + "/" + id + "?hardDelete=true", null, Void.class); + } + for (UUID id : workflows) + SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.DELETE, + "/v1/governance/workflowDefinitions/" + id + "?hardDelete=true", + null, + Void.class); + } + + @ParameterizedTest + @ValueSource(strings = {"dataProduct", "domain", "glossaryTerm", "metric"}) + void versionCheckedSavesRespectFieldPermissions(String type, TestNamespace namespace) + throws Exception { + var consumer = delegatedConsumer(); + createConfiguration(type, namespace); + var asset = createAsset(type, namespace); + String path = "/v1/" + collection(type) + "/" + asset.getId(); + var options = + RequestOptions.builder().header("Content-Type", "application/json-patch+json").build(); + String patch = + "[{\"op\":\"test\",\"path\":\"/version\",\"value\":" + + asset.getVersion() + + "},{\"op\":\"add\",\"path\":\"/description\",\"value\":\"Delegated description\"}]"; + String saved = + consumer.getHttpClient().executeForString(HttpMethod.PATCH, path, patch, options); + assertEquals("Delegated description", JsonUtils.readTree(saved).get("description").asText()); + String denied = "[{\"op\":\"add\",\"path\":\"/displayName\",\"value\":\"Unauthorized name\"}]"; + assertThrows( + ForbiddenException.class, + () -> consumer.getHttpClient().executeForString(HttpMethod.PATCH, path, denied, options)); + assertFalse(progress(type, asset.getId()).getCanAdvance()); + } + + @ParameterizedTest + @ValueSource(strings = {"dataProduct", "domain", "glossaryTerm", "metric"}) + void everyApprovalRequiresItsWorkflowAndConcurrentRetriesReuseTasks( + String type, TestNamespace namespace) throws Exception { + var workflow = approvalWorkflow(namespace); + var form = createConfiguration(type, namespace); + var approvals = + List.of(approvalStep("first-review", workflow), approvalStep("second-review", workflow)); + form.getOnboarding() + .getGates() + .add(new OnboardingGate().withStage(OnboardingStage.IN_REVIEW).withSteps(approvals)); + publish(form); + var asset = createAsset(type, namespace); + patch(type, asset.getId(), "displayName", "Ready for review"); + var draft = progress(type, asset.getId()); + transition(type, asset.getId(), draft.getEntityVersion(), EntityStatus.IN_REVIEW); + var pending = + await() + .atMost(Duration.ofSeconds(30)) + .until( + () -> progress(type, asset.getId()), + value -> + value.getSteps().stream() + .filter(step -> step.getStep().getType() == OnboardingStep.Type.APPROVAL) + .allMatch( + step -> + step.getTaskId() != null && step.getWorkflowInstanceId() != null)); + UUID first = step(pending, "first-review").getTaskId(); + UUID second = step(pending, "second-review").getTaskId(); + assertNotEquals(first, second); + var submissions = + List.of( + CompletableFuture.supplyAsync(() -> retry(type, asset.getId())), + CompletableFuture.supplyAsync(() -> retry(type, asset.getId()))); + for (var submission : submissions) { + assertEquals(first, step(submission.join(), "first-review").getTaskId()); + assertEquals(second, step(submission.join(), "second-review").getTaskId()); + } + decide(first, true); + assertFalse(progress(type, asset.getId()).getCompleted()); + assertThrows( + InvalidRequestException.class, + () -> patch(type, asset.getId(), "entityStatus", "Approved")); + decide(second, false); + assertEquals( + OnboardingStepResult.State.REJECTED, + step(progress(type, asset.getId()), "second-review").getState()); + var resubmission = retry(type, asset.getId()); + UUID replacement = step(resubmission, "second-review").getTaskId(); + assertNotEquals(second, replacement); + assertEquals(first, step(resubmission, "first-review").getTaskId()); + decide(replacement, true); + patch( + type, + asset.getId(), + "metric".equals(type) ? "displayName" : "description", + "Changed reviewed metadata"); + assertFalse(progress(type, asset.getId()).getCanAdvance()); + var revised = retry(type, asset.getId()); + UUID revisedFirst = step(revised, "first-review").getTaskId(); + assertNotEquals(first, revisedFirst); + decide(revisedFirst, true); + decide(step(revised, "second-review").getTaskId(), true); + var ready = progress(type, asset.getId()); + assertTrue(ready.getCanAdvance()); + assertNotNull(step(ready, "first-review").getWorkflowInstanceId()); + assertTrue( + transition(type, asset.getId(), ready.getEntityVersion(), EntityStatus.APPROVED) + .getCompleted()); + patch(type, asset.getId(), "displayName", "Maintained after approval"); + var maintained = progress(type, asset.getId()); + assertEquals(OnboardingStepResult.State.COMPLETE, step(maintained, "first-review").getState()); + assertEquals( + OnboardingStage.DEPRECATED, + transition(type, asset.getId(), maintained.getEntityVersion(), EntityStatus.DEPRECATED) + .getStage()); + } + + @Test + void backfillNormalizesUnprocessedAndExcludesExistingReviews(TestNamespace namespace) + throws Exception { + var eligible = createAsset("metric", namespace); + var reviewing = createAsset("metric", namespace); + var approved = createAsset("metric", namespace); + patch("metric", reviewing.getId(), "entityStatus", "In Review"); + patch("metric", approved.getId(), "entityStatus", "Approved"); + var existingTask = + SdkClients.adminClient() + .tasks() + .create( + new org.openmetadata.schema.api.tasks.CreateTask() + .withName(namespace.prefix("existing-review")) + .withType(org.openmetadata.schema.type.TaskEntityType.RequestApproval) + .withCategory(org.openmetadata.schema.type.TaskCategory.Approval) + .withAbout("<#E::metric::" + reviewing.getFullyQualifiedName() + ">") + .withAssignees(List.of("shared_user1"))); + var startedTask = + await() + .atMost(Duration.ofSeconds(30)) + .until( + () -> SdkClients.adminClient().tasks().get(existingTask.getId().toString()), + task -> task.getWorkflowInstanceId() != null); + createConfiguration("metric", namespace); + var enrolled = progress("metric", eligible.getId()); + assertEquals(OnboardingStage.DRAFT, enrolled.getStage()); + await() + .atMost(Duration.ofSeconds(45)) + .untilAsserted( + () -> + assertEquals( + EntityStatus.DRAFT, + SdkClients.adminClient() + .metrics() + .get(eligible.getId().toString()) + .getEntityStatus())); + assertThrows( + org.openmetadata.sdk.exceptions.ApiException.class, + () -> + SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.GET, + ONBOARDING_PATH + "metric/" + reviewing.getId(), + null, + OnboardingProgress.class)); + assertEquals( + EntityStatus.IN_REVIEW, + SdkClients.adminClient().metrics().get(reviewing.getId().toString()).getEntityStatus()); + var backfill = + SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.GET, + ONBOARDING_PATH + "backfill/metric", + null, + OnboardingBackfill.class); + assertNotNull(backfill.getConfigurationId()); + await() + .atMost(Duration.ofSeconds(45)) + .until( + () -> + org.openmetadata.service.governance.onboarding.OnboardingBackfillService.get( + "metric") + .getComplete()); + assertTrue( + org.openmetadata.service.governance.onboarding.OnboardingBackfillService.get("metric") + .getScanned() + > 0); + assertEquals( + EntityStatus.APPROVED, + SdkClients.adminClient().metrics().get(approved.getId().toString()).getEntityStatus()); + assertEquals( + null, + org.openmetadata.service.governance.onboarding.OnboardingStore.find(approved.getId())); + var preservedTask = SdkClients.adminClient().tasks().get(existingTask.getId().toString()); + assertEquals(startedTask.getWorkflowInstanceId(), preservedTask.getWorkflowInstanceId()); + assertEquals(startedTask.getStatus(), preservedTask.getStatus()); + var instance = progress("metric", eligible.getId()); + SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.POST, + ONBOARDING_PATH + "backfill/metric/retry", + null, + OnboardingBackfill.class); + org.openmetadata.service.governance.onboarding.OnboardingBackfillService.runPage("metric"); + assertEquals( + instance.getConfigurationVersion(), + progress("metric", eligible.getId()).getConfigurationVersion()); + assertEquals( + instance.getSteps().stream().map(OnboardingStepResult::getTaskId).toList(), + progress("metric", eligible.getId()).getSteps().stream() + .map(OnboardingStepResult::getTaskId) + .toList()); + } + + @ParameterizedTest + @ValueSource(strings = {"dataProduct", "domain", "glossaryTerm", "metric"}) + void creationRequirementsCannotBeBypassedOrMoved(String type, TestNamespace namespace) + throws Exception { + var form = createConfiguration(type, namespace); + form.getOnboarding().getGates().getFirst().setStage(OnboardingStage.CREATION); + form = publish(form); + assertThrows(InvalidRequestException.class, () -> createAsset(type, namespace)); + form.getFormFields() + .add( + new IntakeFormField() + .withFieldPath("name") + .withFieldLabel("Name") + .withFieldKind(IntakeFormField.FieldKind.NATIVE) + .withRequired(true)); + form.getOnboarding() + .getGates() + .add( + new OnboardingGate() + .withStage(OnboardingStage.DRAFT) + .withSteps( + List.of( + new OnboardingStep() + .withId("intrinsic-name") + .withType(OnboardingStep.Type.FIELD) + .withFieldPath("name")))); + var invalid = form; + assertThrows(InvalidRequestException.class, () -> publish(invalid)); + } + + @ParameterizedTest + @ValueSource(strings = {"dataProduct", "domain", "glossaryTerm", "metric"}) + void conditionalRelationshipsAndDelegatedWorkBlockTheWholeGate( + String type, TestNamespace namespace) throws Exception { + var user1 = SdkClients.adminClient().users().getByName("shared_user1").getEntityReference(); + var user2 = SdkClients.adminClient().users().getByName("shared_user2").getEntityReference(); + var form = createConfiguration(type, namespace); + var gate = form.getOnboarding().getGates().getFirst(); + gate.getSteps() + .getFirst() + .setAssignment(new OnboardingAssignment().withRole(OnboardingAssignment.Role.OWNERS)); + form.getFormFields() + .add( + new IntakeFormField() + .withFieldPath("owners") + .withFieldLabel("Owners") + .withFieldKind(IntakeFormField.FieldKind.NATIVE) + .withRequired(true)); + gate.getSteps() + .add( + new OnboardingStep() + .withId("owners") + .withType(OnboardingStep.Type.FIELD) + .withFieldPath("owners") + .withRules(new OnboardingRules().withMinItems(2)) + .withAssignment( + new OnboardingAssignment() + .withRole(OnboardingAssignment.Role.EXPLICIT) + .withAssignees(List.of(user2))) + .withConditions( + List.of( + new OnboardingCondition() + .withFieldPath("displayName") + .withOperator(OnboardingCondition.Operator.EQUALS) + .withValue("Restricted")))); + publish(form); + var asset = createAsset(type, namespace); + var initial = progress(type, asset.getId()); + assertEquals(OnboardingStepResult.State.BLOCKED, step(initial, "display-name").getState()); + assertEquals(OnboardingStepResult.State.NOT_APPLICABLE, step(initial, "owners").getState()); + patch(type, asset.getId(), "displayName", "Restricted"); + var required = retry(type, asset.getId()); + assertEquals(List.of("owners"), required.getBlockingSteps()); + var assignedTask = + SdkClients.adminClient().tasks().get(step(required, "owners").getTaskId().toString()); + assertEquals( + List.of(user2.getId()), + assignedTask.getAssignees().stream().map(ref -> ref.getId()).toList()); + patch(type, asset.getId(), "owners", List.of(user1)); + assertFalse(progress(type, asset.getId()).getCanAdvance()); + assertThrows( + InvalidRequestException.class, + () -> patch(type, asset.getId(), "entityStatus", "In Review")); + patch(type, asset.getId(), "owners", List.of(user1, user2)); + var ready = progress(type, asset.getId()); + assertTrue(ready.getCanAdvance()); + transition(type, asset.getId(), ready.getEntityVersion(), EntityStatus.IN_REVIEW); + assertThrows( + InvalidRequestException.class, () -> patch(type, asset.getId(), "owners", List.of(user1))); + } + + @Test + void suspendedAndDeletedWorkflowsRemainActionableBlockers(TestNamespace namespace) + throws Exception { + var workflow = approvalWorkflow(namespace); + var form = createConfiguration("metric", namespace); + form.getOnboarding() + .getGates() + .add( + new OnboardingGate() + .withStage(OnboardingStage.IN_REVIEW) + .withSteps(List.of(approvalStep("review", workflow)))); + publish(form); + var asset = createAsset("metric", namespace); + patch("metric", asset.getId(), "displayName", "Ready for review"); + var pending = retry("metric", asset.getId()); + UUID task = step(pending, "review").getTaskId(); + var http = SdkClients.adminClient().getHttpClient(); + String workflowPath = + "/v1/governance/workflowDefinitions/name/" + workflow.getFullyQualifiedName(); + http.execute(HttpMethod.PUT, workflowPath + "/suspend", Map.of(), Void.class); + var suspended = retry("metric", asset.getId()); + assertEquals(OnboardingStepResult.State.FAILED, step(suspended, "review").getState()); + assertFalse(suspended.getCanAdvance()); + assertNotNull(step(suspended, "review").getMessage()); + http.execute(HttpMethod.PUT, workflowPath + "/resume", Map.of(), Void.class); + assertEquals(task, step(retry("metric", asset.getId()), "review").getTaskId()); + http.execute( + HttpMethod.DELETE, + "/v1/governance/workflowDefinitions/" + workflow.getId() + "?hardDelete=true", + null, + Void.class); + workflows.remove(workflow.getId()); + var deleted = retry("metric", asset.getId()); + assertEquals(OnboardingStepResult.State.FAILED, step(deleted, "review").getState()); + assertFalse(deleted.getCanAdvance()); + } + + @Test + void customPropertiesUsePersistedValuesAndAcceptLegacyPaths(TestNamespace namespace) + throws Exception { + var http = SdkClients.adminClient().getHttpClient(); + var metricType = + http.execute( + HttpMethod.GET, + "/v1/metadata/types/name/metric", + null, + org.openmetadata.schema.entity.Type.class); + var stringType = + http.execute( + HttpMethod.GET, + "/v1/metadata/types/name/string", + null, + org.openmetadata.schema.entity.Type.class); + String property = "onboard" + UUID.randomUUID().toString().replace("-", ""); + http.execute( + HttpMethod.PUT, + "/v1/metadata/types/" + metricType.getId(), + new org.openmetadata.schema.entity.type.CustomProperty() + .withName(property) + .withDescription("Onboarding integration test") + .withPropertyType(stringType.getEntityReference()), + org.openmetadata.schema.entity.Type.class); + var form = createConfiguration("metric", namespace); + form.getFormFields() + .add( + new IntakeFormField() + .withFieldPath(property) + .withFieldLabel("Justification") + .withFieldKind(IntakeFormField.FieldKind.CUSTOM_PROPERTY) + .withRequired(true)); + form.getOnboarding() + .getGates() + .getFirst() + .getSteps() + .add( + new OnboardingStep() + .withId("justification") + .withType(OnboardingStep.Type.FIELD) + .withFieldPath(property) + .withRules(new OnboardingRules().withMinLength(10))); + var published = publish(form); + assertTrue( + published.getFormFields().stream() + .anyMatch(field -> ("extension." + property).equals(field.getFieldPath()))); + var asset = createAsset("metric", namespace); + patch("metric", asset.getId(), "displayName", "Complete name"); + patch("metric", asset.getId(), "extension", Map.of(property, "short")); + assertFalse(progress("metric", asset.getId()).getCanAdvance()); + patch( + "metric", asset.getId(), "extension", Map.of(property, "Reviewed business justification")); + var ready = progress("metric", asset.getId()); + assertTrue(ready.getCanAdvance()); + transition("metric", asset.getId(), ready.getEntityVersion(), EntityStatus.IN_REVIEW); + assertThrows( + InvalidRequestException.class, () -> patch("metric", asset.getId(), "extension", Map.of())); + } + + @Test + void unassignedWorkflowCannotApproveAndFailedExecutionCanBeResubmitted(TestNamespace namespace) + throws Exception { + var workflow = approvalWorkflow(namespace, 1, List.of()); + var form = createConfiguration("metric", namespace); + form.getOnboarding() + .getGates() + .add( + new OnboardingGate() + .withStage(OnboardingStage.IN_REVIEW) + .withSteps(List.of(approvalStep("review", workflow)))); + publish(form); + var asset = createAsset("metric", namespace); + patch("metric", asset.getId(), "displayName", "Ready for review"); + retry("metric", asset.getId()); + var started = + await() + .atMost(Duration.ofSeconds(30)) + .until( + () -> progress("metric", asset.getId()), + value -> step(value, "review").getWorkflowInstanceId() != null); + var review = step(started, "review"); + assertEquals(OnboardingStepResult.State.BLOCKED, review.getState()); + assertTrue(review.getAssignees().isEmpty()); + assertFalse(started.getCanAdvance()); + assertThrows( + InvalidRequestException.class, + () -> patch("metric", asset.getId(), "entityStatus", "Approved")); + assertEquals(review.getTaskId(), step(retry("metric", asset.getId()), "review").getTaskId()); + org.openmetadata.service.governance.workflows.WorkflowHandler.getInstance() + .terminateWorkflowInstance( + review.getWorkflowInstanceId(), + workflow.getFullyQualifiedName(), + "Integration test workflow failure"); + assertEquals( + OnboardingStepResult.State.FAILED, + step(progress("metric", asset.getId()), "review").getState()); + var replacement = step(retry("metric", asset.getId()), "review"); + assertNotEquals(review.getTaskId(), replacement.getTaskId()); + assertFalse(progress("metric", asset.getId()).getCanAdvance()); + } + + @Test + void configurationCannotShadowImplicitCreationChecksOrDuplicateRequirements( + TestNamespace namespace) throws Exception { + var form = createConfiguration("metric", namespace); + form.getOnboarding().getGates().getFirst().getSteps().getFirst().setId("creation_name"); + assertThrows(InvalidRequestException.class, () -> publish(form)); + form.getOnboarding().getGates().getFirst().getSteps().getFirst().setId("display-name"); + form.getFormFields() + .add(JsonUtils.deepCopy(form.getFormFields().getFirst(), IntakeFormField.class)); + assertThrows(InvalidRequestException.class, () -> publish(form)); + } + + private OnboardingStep approvalStep(String id, WorkflowDefinition workflow) { + return new OnboardingStep() + .withId(id) + .withTitle(id) + .withType(OnboardingStep.Type.APPROVAL) + .withWorkflow(workflow.getEntityReference()); + } + + @Test + void approvalThresholdRequiresDistinctWorkflowDecisions(TestNamespace namespace) + throws Exception { + var workflow = approvalWorkflow(namespace, 2); + var form = createConfiguration("metric", namespace); + form.getOnboarding() + .getGates() + .add( + new OnboardingGate() + .withStage(OnboardingStage.IN_REVIEW) + .withSteps(List.of(approvalStep("review", workflow)))); + publish(form); + var asset = createAsset("metric", namespace); + patch("metric", asset.getId(), "displayName", "Threshold review"); + var draft = progress("metric", asset.getId()); + var reviewing = + transition("metric", asset.getId(), draft.getEntityVersion(), EntityStatus.IN_REVIEW); + UUID task = step(reviewing, "review").getTaskId(); + decide(task, true); + assertFalse(progress("metric", asset.getId()).getCanAdvance()); + SdkClients.user2Client() + .tasks() + .resolve( + task.toString(), + new ResolveTask() + .withTransitionId("approve") + .withResolutionType(TaskResolutionType.Approved) + .withComment("Second independent decision")); + assertTrue(progress("metric", asset.getId()).getCanAdvance()); + } + + private WorkflowDefinition approvalWorkflow(TestNamespace namespace) throws Exception { + return approvalWorkflow(namespace, 1); + } + + private WorkflowDefinition approvalWorkflow(TestNamespace namespace, int threshold) + throws Exception { + return approvalWorkflow( + namespace, + threshold, + List.of( + SdkClients.adminClient().users().getByName("shared_user1").getEntityReference(), + SdkClients.adminClient().users().getByName("shared_user2").getEntityReference())); + } + + private WorkflowDefinition approvalWorkflow( + TestNamespace namespace, + int threshold, + List assignees) + throws Exception { + var http = SdkClients.adminClient().getHttpClient(); + var seed = + http.execute( + HttpMethod.GET, + "/v1/governance/workflowDefinitions/name/RequestApprovalTaskWorkflow", + null, + WorkflowDefinition.class); + ObjectNode json = (ObjectNode) JsonUtils.valueToTree(seed); + for (var node : json.withArray("nodes")) { + if (!"userApprovalTask".equals(node.path("subType").asText())) continue; + var config = (ObjectNode) node.path("config"); + config.put("assigneeStrategy", "reviewers-and-assignees"); + config.put("approvalThreshold", threshold); + config.set( + "assignees", + JsonUtils.valueToTree( + Map.of("addReviewers", false, "addOwners", false, "candidates", assignees))); + } + var template = JsonUtils.convertValue(json, WorkflowDefinition.class); + var request = + new CreateWorkflowDefinition() + .withName("onboard_" + UUID.randomUUID()) + .withDescription("Onboarding approval integration test") + .withTrigger(template.getTrigger()) + .withNodes(template.getNodes()) + .withEdges(template.getEdges()); + var workflow = + http.execute( + HttpMethod.POST, + "/v1/governance/workflowDefinitions", + request, + WorkflowDefinition.class); + workflows.add(workflow.getId()); + return workflow; + } + + private IntakeForm publish(IntakeForm form) throws Exception { + return SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.PUT, + CONFIG_PATH, + new CreateIntakeForm() + .withName(form.getName()) + .withEntityType(TargetEntityType.fromValue(form.getEntityType().value())) + .withEnabled(form.getEnabled()) + .withFormFields(form.getFormFields()) + .withOnboarding(form.getOnboarding()), + IntakeForm.class); + } + + private OnboardingStepResult step(OnboardingProgress progress, String id) { + return progress.getSteps().stream() + .filter(item -> id.equals(item.getStep().getId())) + .findFirst() + .orElseThrow(); + } + + private OnboardingProgress retry(String type, UUID id) { + try { + var progress = progress(type, id); + return SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.POST, + ONBOARDING_PATH + type + "/" + id + "/transition", + new TransitionOnboarding() + .withExpectedVersion(progress.getEntityVersion()) + .withTargetStatus(progress.getNextStatus()) + .withRetry(true), + OnboardingProgress.class); + } catch (Exception exception) { + throw new RuntimeException(exception); + } + } + + private Task decide(UUID taskId, boolean approved) { + return SdkClients.user1Client() + .tasks() + .resolve( + taskId.toString(), + new ResolveTask() + .withTransitionId(approved ? "approve" : "reject") + .withResolutionType( + approved ? TaskResolutionType.Approved : TaskResolutionType.Rejected) + .withComment("Reviewed onboarding metadata")); + } + + @ParameterizedTest + @ValueSource(strings = {"dataProduct", "domain", "glossaryTerm", "metric"}) + void incrementalWritesAndDirectTransitionsUseTheSameGate(String type, TestNamespace namespace) + throws Exception { + createConfiguration(type, namespace); + EntityInterface asset = createAsset(type, namespace); + assertEquals(EntityStatus.DRAFT, asset.getEntityStatus()); + OnboardingProgress initial = progress(type, asset.getId()); + assertTrue(initial.getBlockingSteps().contains("display-name")); + patch(type, asset.getId(), "displayName", "x"); + assertFalse(progress(type, asset.getId()).getCanAdvance()); + assertThrows( + InvalidRequestException.class, + () -> patch(type, asset.getId(), "entityStatus", "In Review")); + assertThrows( + InvalidRequestException.class, + () -> patch(type, asset.getId(), "entityStatus", "Approved")); + patch(type, asset.getId(), "displayName", "Complete metadata"); + OnboardingProgress ready = progress(type, asset.getId()); + assertTrue(ready.getCanAdvance()); + var snapshot = + org.openmetadata.service.governance.onboarding.OnboardingService.entity( + type, asset.getId()); + var review = transition(type, asset.getId(), ready.getEntityVersion(), EntityStatus.IN_REVIEW); + org.openmetadata.service.governance.onboarding.OnboardingService.synchronize( + snapshot, type, false); + assertEquals( + OnboardingStage.IN_REVIEW, + org.openmetadata.service.governance.onboarding.OnboardingStore.find(asset.getId()) + .getStage()); + assertEquals(OnboardingStage.IN_REVIEW, review.getStage()); + assertThrows( + InvalidRequestException.class, () -> patch(type, asset.getId(), "displayName", "")); + var approved = + transition(type, asset.getId(), review.getEntityVersion(), EntityStatus.APPROVED); + assertTrue(approved.getCompleted()); + assertTrue(progress(type, asset.getId()).getCompleted()); + } + + @Test + void configurationVersionsRemainPinnedAndLegacyUpdatesPreserveGates(TestNamespace namespace) + throws Exception { + IntakeForm form = createConfiguration("metric", namespace); + EntityInterface first = createAsset("metric", namespace); + var pinned = progress("metric", first.getId()); + var legacy = + new CreateIntakeForm() + .withName(form.getName()) + .withEntityType(TargetEntityType.METRIC) + .withEnabled(true) + .withFormFields( + List.of( + new IntakeFormField() + .withFieldPath("displayName") + .withFieldLabel("Name") + .withFieldKind(IntakeFormField.FieldKind.NATIVE) + .withRequired(false))); + var updated = + SdkClients.adminClient() + .getHttpClient() + .execute(HttpMethod.PUT, CONFIG_PATH, legacy, IntakeForm.class); + assertNotNull(updated.getOnboarding()); + assertEquals( + pinned.getConfigurationVersion(), + progress("metric", first.getId()).getConfigurationVersion()); + EntityInterface second = createAsset("metric", namespace); + assertEquals( + updated.getVersion(), progress("metric", second.getId()).getConfigurationVersion()); + assertNotEquals( + pinned.getConfigurationVersion(), + progress("metric", second.getId()).getConfigurationVersion()); + assertThrows( + ConflictException.class, + () -> transition("metric", first.getId(), -1.0, EntityStatus.IN_REVIEW)); + } + + @Test + void metricLegacyIntakeStillEnforcesCreation(TestNamespace namespace) throws Exception { + var request = + new CreateIntakeForm() + .withName(namespace.prefix("legacy")) + .withEntityType(TargetEntityType.METRIC) + .withFormFields( + List.of( + new IntakeFormField() + .withFieldPath("displayName") + .withFieldLabel("Display name") + .withFieldKind(IntakeFormField.FieldKind.NATIVE) + .withRequired(true))) + .withEnabled(true); + var form = + SdkClients.adminClient() + .getHttpClient() + .execute(HttpMethod.POST, CONFIG_PATH, request, IntakeForm.class); + configurations.add(form.getId()); + assertThrows( + InvalidRequestException.class, + () -> + SdkClients.adminClient() + .metrics() + .create(new CreateMetric().withName(namespace.prefix("missing")))); + assertNotNull( + SdkClients.adminClient() + .metrics() + .create( + new CreateMetric() + .withName(namespace.prefix("complete")) + .withDisplayName("Ready"))); + } + + @ParameterizedTest + @ValueSource(strings = {"dataProduct", "domain", "glossaryTerm", "metric"}) + void putUsesPinnedRequirementsAndBulkImportsCannotBypassGates( + String type, TestNamespace namespace) throws Exception { + var form = createConfiguration(type, namespace); + var asset = createAsset(type, namespace); + form.getOnboarding().getGates().getFirst().setStage(OnboardingStage.CREATION); + publish(form); + + putAsset(type, asset); + assertEquals( + EntityStatus.DRAFT, OnboardingService.entity(type, asset.getId()).getEntityStatus()); + assertEquals(form.getVersion(), progress(type, asset.getId()).getConfigurationVersion()); + patch(type, asset.getId(), "displayName", "Complete metadata"); + var ready = progress(type, asset.getId()); + transition(type, asset.getId(), ready.getEntityVersion(), EntityStatus.IN_REVIEW); + putAsset(type, OnboardingService.entity(type, asset.getId())); + assertEquals( + EntityStatus.IN_REVIEW, OnboardingService.entity(type, asset.getId()).getEntityStatus()); + assertImportsCannotBypassGates(Entity.getEntityRepository(type), type, asset.getId()); + } + + private void assertImportsCannotBypassGates( + EntityRepository repository, String type, UUID id) { + T original = repository.getEntityClass().cast(OnboardingService.entity(type, id)); + T invalid = JsonUtils.deepCopy(original, repository.getEntityClass()); + invalid.setDisplayName(""); + assertThrows( + IllegalArgumentException.class, + () -> repository.updateManyEntitiesForImport(List.of(original), List.of(invalid), "admin")); + assertEquals("Complete metadata", OnboardingService.entity(type, id).getDisplayName()); + invalid.setId(UUID.randomUUID()); + invalid.setName("invalid-import-" + UUID.randomUUID()); + assertThrows( + IllegalArgumentException.class, + () -> repository.createManyEntitiesForImport(List.of(invalid))); + } + + private void putAsset(String type, EntityInterface asset) throws Exception { + var values = JsonUtils.valueToTree(asset); + Map request = new HashMap<>(); + for (String path : List.of("name", "description", "displayName", "domainType")) { + if (values.hasNonNull(path)) request.put(path, values.get(path)); + } + if (type.equals("dataProduct")) + request.put( + "domains", + asset.getDomains().stream().map(domain -> domain.getFullyQualifiedName()).toList()); + if (type.equals("glossaryTerm")) + request.put("glossary", values.path("glossary").path("fullyQualifiedName").asText()); + SdkClients.adminClient() + .getHttpClient() + .executeForString(HttpMethod.PUT, "/v1/" + collection(type), request); + } + + private IntakeForm createConfiguration(String type, TestNamespace namespace) throws Exception { + var step = + new OnboardingStep() + .withId("display-name") + .withTitle("Display name") + .withType(OnboardingStep.Type.FIELD) + .withFieldPath("displayName") + .withRules(new OnboardingRules().withMinLength(5)); + var request = + new CreateIntakeForm() + .withName(namespace.prefix("onboarding")) + .withEntityType(TargetEntityType.fromValue(type)) + .withEnabled(true) + .withFormFields( + List.of( + new IntakeFormField() + .withFieldPath("displayName") + .withFieldLabel("Display name") + .withFieldKind(IntakeFormField.FieldKind.NATIVE) + .withRequired(true))) + .withOnboarding( + new OnboardingConfiguration() + .withEnabled(true) + .withGates( + List.of( + new OnboardingGate() + .withStage(OnboardingStage.DRAFT) + .withSteps(List.of(step))))); + var form = + SdkClients.adminClient() + .getHttpClient() + .execute(HttpMethod.POST, CONFIG_PATH, request, IntakeForm.class); + configurations.add(form.getId()); + return form; + } + + private OpenMetadataClient delegatedConsumer() { + String name = "onboarding-consumer-" + UUID.randomUUID(); + String email = name + "@test.openmetadata.org"; + var admin = SdkClients.adminClient(); + admin + .users() + .create( + new CreateUser() + .withName(name) + .withEmail(email) + .withIsAdmin(false) + .withRoles(List.of(admin.roles().getByName("DataConsumer").getId()))); + return SdkClients.createClient(email, email, new String[] {}); + } + + private EntityInterface createAsset(String type, TestNamespace namespace) { + var client = SdkClients.adminClient(); + String name = namespace.prefix("asset-" + UUID.randomUUID()); + return switch (type) { + case "metric" -> client.metrics().create(new CreateMetric().withName(name)); + case "domain" -> client + .domains() + .create( + new CreateDomain() + .withName(name) + .withDescription("Description") + .withDomainType(CreateDomain.DomainType.AGGREGATE)); + case "glossaryTerm" -> { + var glossary = + client + .glossaries() + .create( + new CreateGlossary() + .withName(namespace.prefix("glossary")) + .withDescription("Description")); + yield client + .glossaryTerms() + .create( + new CreateGlossaryTerm() + .withName(name) + .withDescription("Description") + .withGlossary(glossary.getFullyQualifiedName())); + } + case "dataProduct" -> { + var domain = + client + .domains() + .create( + new CreateDomain() + .withName(namespace.prefix("domain")) + .withDescription("Description") + .withDomainType(CreateDomain.DomainType.AGGREGATE)); + yield client + .dataProducts() + .create( + new CreateDataProduct() + .withName(name) + .withDescription("Description") + .withDomains(List.of(domain.getFullyQualifiedName()))); + } + default -> throw new IllegalArgumentException(type); + }; + } + + private OnboardingProgress progress(String type, UUID id) { + return await() + .atMost(Duration.ofSeconds(30)) + .ignoreExceptions() + .until( + () -> + SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.GET, + ONBOARDING_PATH + type + "/" + id, + null, + OnboardingProgress.class), + value -> value != null); + } + + private OnboardingProgress transition(String type, UUID id, Double version, EntityStatus status) + throws Exception { + return SdkClients.adminClient() + .getHttpClient() + .execute( + HttpMethod.POST, + ONBOARDING_PATH + type + "/" + id + "/transition", + new TransitionOnboarding().withExpectedVersion(version).withTargetStatus(status), + OnboardingProgress.class); + } + + private void patch(String type, UUID id, String field, Object value) throws Exception { + String json = + "[{\"op\":\"add\",\"path\":\"/" + + field + + "\",\"value\":" + + JsonUtils.pojoToJson(value) + + "}]"; + SdkClients.adminClient() + .getHttpClient() + .executeForString( + HttpMethod.PATCH, + "/v1/" + collection(type) + "/" + id, + json, + RequestOptions.builder().header("Content-Type", "application/json-patch+json").build()); + } + + private String collection(String type) { + return switch (type) { + case "dataProduct" -> "dataProducts"; + case "glossaryTerm" -> "glossaryTerms"; + case "metric" -> "metrics"; + default -> "domains"; + }; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java b/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java index f473a861ab3e..fbb0f52fd7b6 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java @@ -114,6 +114,7 @@ import org.openmetadata.service.exception.JsonMappingExceptionMapper; import org.openmetadata.service.exception.OMErrorPageHandler; import org.openmetadata.service.fernet.Fernet; +import org.openmetadata.service.governance.onboarding.OnboardingWorker; import org.openmetadata.service.governance.workflows.WorkflowHandler; import org.openmetadata.service.jdbi3.BulkExecutor; import org.openmetadata.service.jdbi3.CollectionDAO; @@ -446,6 +447,7 @@ public void run(OpenMetadataApplicationConfig catalogConfig, Environment environ registerUserActivityTracking(environment); environment.lifecycle().manage(new ManagedShutdown()); + environment.lifecycle().manage(new OnboardingWorker()); JobHandlerRegistry registry = getJobHandlerRegistry(); environment diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingAssignments.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingAssignments.java new file mode 100644 index 000000000000..7935ad7820a1 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingAssignments.java @@ -0,0 +1,79 @@ +package org.openmetadata.service.governance.onboarding; + +import java.util.ArrayList; +import java.util.List; +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.governance.onboarding.OnboardingAssignment; +import org.openmetadata.schema.governance.onboarding.OnboardingInstance; +import org.openmetadata.schema.governance.onboarding.OnboardingStep; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.Include; +import org.openmetadata.service.Entity; +import org.openmetadata.service.exception.EntityNotFoundException; +import org.openmetadata.service.util.RequestEntityCache; + +public final class OnboardingAssignments { + private OnboardingAssignments() {} + + public static List resolve( + OnboardingStep step, EntityInterface entity, OnboardingInstance instance) { + OnboardingAssignment assignment = step.getAssignment(); + if (assignment == null || assignment.getRole() == null) + return active(list(instance.getCreator())); + return active( + switch (assignment.getRole()) { + case CREATOR -> list(instance.getCreator()); + case OWNERS -> safe(entity.getOwners()); + case EXPERTS -> safe(entity.getExperts()); + case EXPLICIT -> safe(assignment.getAssignees()); + case DOMAIN_OWNERS -> domainOwners(entity); + }); + } + + private static List active(List references) { + List result = new ArrayList<>(); + for (var reference : references) { + if (reference == null + || reference.getId() == null + || !List.of(Entity.USER, Entity.TEAM).contains(reference.getType())) continue; + try { + RequestEntityCache.invalidate(reference.getType(), reference.getId(), null); + EntityInterface assignee = + Entity.getEntity( + reference.getType(), reference.getId(), "", Include.NON_DELETED, false); + result.add(assignee.getEntityReference()); + } catch (EntityNotFoundException removedAssignee) { + // Deleted users and teams leave unresolved work until responsibilities are corrected. + } + } + return result; + } + + private static List domainOwners(EntityInterface entity) { + if (Entity.DOMAIN.equals(entity.getEntityReference().getType())) + return safe(entity.getOwners()); + List owners = new ArrayList<>(); + for (EntityReference domain : safe(entity.getDomains())) { + try { + RequestEntityCache.invalidate(Entity.DOMAIN, domain.getId(), null); + EntityInterface parent = + Entity.getEntity(Entity.DOMAIN, domain.getId(), "owners", Include.NON_DELETED, false); + for (EntityReference owner : safe(parent.getOwners())) { + if (owners.stream().noneMatch(candidate -> candidate.getId().equals(owner.getId()))) + owners.add(owner); + } + } catch (EntityNotFoundException removedDomain) { + // A removed domain cannot supply active responsibilities. + } + } + return owners; + } + + private static List safe(List references) { + return references == null ? List.of() : references; + } + + private static List list(EntityReference reference) { + return reference == null ? List.of() : List.of(reference); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBackfillService.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBackfillService.java new file mode 100644 index 000000000000..2537f1a94f58 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBackfillService.java @@ -0,0 +1,138 @@ +package org.openmetadata.service.governance.onboarding; + +import jakarta.ws.rs.WebApplicationException; +import java.util.ArrayList; +import java.util.Objects; +import java.util.UUID; +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.entity.governance.IntakeForm; +import org.openmetadata.schema.governance.onboarding.Failure; +import org.openmetadata.schema.governance.onboarding.OnboardingBackfill; +import org.openmetadata.schema.type.EntityStatus; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.ListFilter; + +public final class OnboardingBackfillService { + private static final int PAGE_SIZE = 50; + private static final int FAILURE_LIMIT = 100; + + private OnboardingBackfillService() {} + + public static OnboardingBackfill get(String type) { + OnboardingService.requireType(type); + IntakeForm form = OnboardingService.configured(type); + if (!OnboardingEvaluator.isEnabled(form)) return null; + String json = OnboardingStore.dao().getBackfill(form.getId().toString()); + return json == null ? null : JsonUtils.readValue(json, OnboardingBackfill.class); + } + + public static OnboardingBackfill retry(String type) { + IntakeForm form = OnboardingService.configured(type); + if (!OnboardingEvaluator.isEnabled(form)) + throw new IllegalArgumentException("Enable onboarding before starting backfill"); + initialize(form); + String lease = claim(form); + if (lease == null) + throw new WebApplicationException("Backfill is processing a page; retry shortly", 409); + try { + var progress = get(type); + progress.withCursor(null).withComplete(false).withFailures(new ArrayList<>()); + save(progress); + return progress; + } finally { + OnboardingStore.dao().releaseBackfill(form.getId().toString(), lease); + } + } + + public static void runPage(String type) { + IntakeForm form = OnboardingService.configured(type); + if (!OnboardingEvaluator.isEnabled(form)) return; + initialize(form); + String lease = claim(form); + if (lease == null) return; + try { + var progress = get(type); + if (!Objects.equals(progress.getConfigurationVersion(), form.getVersion())) { + progress = + new OnboardingBackfill() + .withConfigurationId(form.getId()) + .withConfigurationVersion(form.getVersion()); + } + if (Boolean.TRUE.equals(progress.getComplete())) return; + var repository = Entity.getEntityRepository(type); + var filter = + new ListFilter( + repository.supportsSoftDelete + ? org.openmetadata.schema.type.Include.NON_DELETED + : org.openmetadata.schema.type.Include.ALL); + var page = + repository.listAfter( + null, repository.getFields("*"), filter, PAGE_SIZE, progress.getCursor()); + for (EntityInterface asset : page.getData()) enroll(asset, type, progress); + progress + .withCursor(page.getPaging().getAfter()) + .withComplete(page.getPaging().getAfter() == null); + save(progress); + } finally { + OnboardingStore.dao().releaseBackfill(form.getId().toString(), lease); + } + } + + private static String claim(IntakeForm form) { + String owner = UUID.randomUUID().toString(); + long now = System.currentTimeMillis(); + return OnboardingStore.dao().claimBackfill(form.getId().toString(), owner, now, now + 600_000) + == 1 + ? owner + : null; + } + + private static OnboardingBackfill initialize(IntakeForm form) { + String json = OnboardingStore.dao().getBackfill(form.getId().toString()); + OnboardingBackfill progress = + json == null ? null : JsonUtils.readValue(json, OnboardingBackfill.class); + if (progress != null) return progress; + progress = + new OnboardingBackfill() + .withConfigurationId(form.getId()) + .withConfigurationVersion(form.getVersion()); + if (json == null) { + try { + OnboardingStore.dao() + .insertBackfill(form.getId().toString(), JsonUtils.pojoToJson(progress)); + } catch (RuntimeException exception) { + if (OnboardingStore.dao().getBackfill(form.getId().toString()) == null) throw exception; + } + } + return progress; + } + + private static void enroll(EntityInterface asset, String type, OnboardingBackfill progress) { + progress.setScanned(progress.getScanned() + 1); + if (!OnboardingService.eligible(asset)) return; + boolean enrolled = OnboardingStore.find(asset.getId()) != null; + try { + OnboardingService.synchronize(asset, type, false); + if (asset.getEntityStatus() == EntityStatus.UNPROCESSED) { + OnboardingService.patchStatus( + type, asset.getId(), asset.getVersion(), EntityStatus.DRAFT, "governance-bot"); + } + if (!enrolled) progress.setEnrolled(progress.getEnrolled() + 1); + } catch (RuntimeException exception) { + if (progress.getFailures().size() < FAILURE_LIMIT) { + progress + .getFailures() + .add( + new Failure() + .withEntity(asset.getEntityReference()) + .withMessage(exception.getMessage())); + } + } + } + + private static void save(OnboardingBackfill progress) { + OnboardingStore.dao() + .updateBackfill(progress.getConfigurationId().toString(), JsonUtils.pojoToJson(progress)); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBoardService.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBoardService.java new file mode 100644 index 000000000000..7a2f794d2c17 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingBoardService.java @@ -0,0 +1,61 @@ +package org.openmetadata.service.governance.onboarding; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.function.Predicate; +import org.openmetadata.schema.governance.onboarding.OnboardingBoard; +import org.openmetadata.schema.governance.onboarding.OnboardingProgress; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.service.exception.EntityNotFoundException; + +public final class OnboardingBoardService { + private OnboardingBoardService() {} + + public record Filter(String entityType, String stage, UUID domain, UUID assignee) {} + + public static OnboardingBoard list( + Filter filter, String after, int limit, Predicate canView) { + if (filter.entityType() != null) OnboardingService.requireType(filter.entityType()); + List results = new ArrayList<>(); + String cursor = after == null ? "" : after; + for (int scanned = 0; scanned < 1000 && results.size() < limit; ) { + var page = + OnboardingStore.dao() + .list( + filter.entityType(), + filter.stage(), + cursor, + Math.min(100, limit - results.size())); + if (page.isEmpty()) return new OnboardingBoard().withData(results); + for (String json : page) { + var instance = OnboardingStore.read(json); + cursor = instance.getId().toString(); + scanned++; + try { + if (!canView.test(instance.getEntity())) continue; + var progress = + OnboardingService.get(instance.getEntity().getType(), instance.getEntity().getId()); + if (matches(progress, filter)) results.add(progress); + } catch (EntityNotFoundException deletedAsset) { + // Deleted assets are excluded while the lifecycle handler closes their outstanding work. + } + } + } + return new OnboardingBoard().withData(results).withAfter(cursor); + } + + private static boolean matches(OnboardingProgress progress, Filter filter) { + boolean domainMatches = + filter.domain() == null + || progress.getDomains().stream() + .anyMatch(domain -> filter.domain().equals(domain.getId())); + boolean assigneeMatches = + filter.assignee() == null + || progress.getSteps().stream() + .filter(step -> !OnboardingEvaluator.isSatisfied(step)) + .flatMap(step -> step.getAssignees().stream()) + .anyMatch(assignee -> filter.assignee().equals(assignee.getId())); + return domainMatches && assigneeMatches; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingConfigurationValidator.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingConfigurationValidator.java new file mode 100644 index 000000000000..0d59b4140e98 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingConfigurationValidator.java @@ -0,0 +1,220 @@ +package org.openmetadata.service.governance.onboarding; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.openmetadata.schema.entity.governance.IntakeForm; +import org.openmetadata.schema.entity.governance.IntakeFormField; +import org.openmetadata.schema.governance.onboarding.OnboardingStage; +import org.openmetadata.schema.governance.onboarding.OnboardingStep; +import org.openmetadata.schema.governance.workflows.WorkflowDefinition; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.util.IntakeFormUtil; + +public final class OnboardingConfigurationValidator { + private static final Map> CREATION_FIELDS = + Map.of( + "dataProduct", + Set.of("name", "description", "domains"), + "domain", + Set.of("name", "description", "domainType"), + "glossaryTerm", + Set.of("name", "description", "glossary"), + "metric", + Set.of("name")); + + private OnboardingConfigurationValidator() {} + + public static Set creationFields(String type) { + return CREATION_FIELDS.getOrDefault(type, Set.of()); + } + + public static void validate(IntakeForm form) { + if (form.getOnboarding() == null) return; + require(form.getOnboarding().getGates() != null, "Onboarding gates are required"); + normalizeCustomPaths(form); + Set fieldPaths = new HashSet<>(); + for (var field : IntakeFormUtil.getEffectiveFormFields(form)) { + validatePath(form.getEntityType().value(), field.getFieldPath()); + require(fieldPaths.add(field.getFieldPath()), "Each intake field must be defined once"); + } + Set ids = new HashSet<>(); + Set fields = new HashSet<>(); + Set stages = new HashSet<>(); + for (var gate : form.getOnboarding().getGates()) { + require(gate != null && gate.getSteps() != null, "Gate steps are required"); + require(gate.getStage() != null && stages.add(gate.getStage()), "Each stage must occur once"); + require( + gate.getStage().ordinal() < OnboardingStage.APPROVED.ordinal() + || gate.getSteps().isEmpty(), + "Approved completes onboarding and cannot contain checks"); + for (var step : gate.getSteps()) { + require(step != null, "A check definition is required"); + if (step.getConditions() == null) step.setConditions(List.of()); + require( + step.getId() != null + && step.getId().matches("[a-zA-Z0-9_-]{1,64}") + && ids.add(step.getId()), + "Step IDs must be unique"); + validateStep(form, gate.getStage(), step, fields); + } + } + Set resolvedIds = new HashSet<>(); + for (var stage : OnboardingEvaluator.STAGES) { + for (var step : OnboardingEvaluator.steps(form, stage)) { + require(resolvedIds.add(step.getId()), "Step IDs must be unique including Creation checks"); + } + } + } + + private static void normalizeCustomPaths(IntakeForm form) { + Map paths = new HashMap<>(); + for (var field : IntakeFormUtil.getEffectiveFormFields(form)) { + if (field.getFieldKind() == IntakeFormField.FieldKind.CUSTOM_PROPERTY + && field.getFieldPath() != null + && !field.getFieldPath().startsWith("extension.")) { + String original = field.getFieldPath(); + field.setFieldPath("extension." + original); + paths.put(original, field.getFieldPath()); + } + } + for (var gate : form.getOnboarding().getGates()) { + if (gate == null || gate.getSteps() == null) continue; + for (var step : gate.getSteps()) { + if (step == null) continue; + step.setFieldPath(paths.getOrDefault(step.getFieldPath(), step.getFieldPath())); + if (step.getConditions() != null) { + for (var condition : step.getConditions()) { + if (condition != null) + condition.setFieldPath( + paths.getOrDefault(condition.getFieldPath(), condition.getFieldPath())); + } + } + } + } + IntakeFormUtil.synchronizeFields(form); + } + + private static void validateStep( + IntakeForm form, OnboardingStage stage, OnboardingStep step, Set fields) { + require(step.getType() != null, "Step type is required"); + if (step.getType() == OnboardingStep.Type.APPROVAL) { + require(stage != OnboardingStage.CREATION, "Approvals require an existing asset"); + require( + step.getWorkflow() != null && step.getWorkflow().getId() != null, + "Select an approval workflow"); + workflow(step); + require(step.getAssignment() == null, "Approval assignments come from the workflow"); + } else { + require( + step.getFieldPath() != null && fields.add(step.getFieldPath()), + "A field can be captured only once"); + require( + IntakeFormUtil.getEffectiveFormFields(form).stream() + .anyMatch(field -> field.getFieldPath().equals(step.getFieldPath())), + "Step must reference an intake field"); + require( + stage == OnboardingStage.CREATION + || !CREATION_FIELDS.get(form.getEntityType().value()).contains(step.getFieldPath()), + "Schema-required fields must remain at Creation"); + if (creationFields(form.getEntityType().value()).contains(step.getFieldPath())) { + require(step.getConditions().isEmpty(), "Schema-required fields cannot be conditional"); + } + } + if (step.getRules() != null) { + require( + step.getRules().getMinLength() == null || step.getRules().getMinLength() > 0, + "Minimum length must be positive"); + require( + step.getRules().getMinItems() == null || step.getRules().getMinItems() > 0, + "Minimum count must be positive"); + } + for (var condition : step.getConditions()) { + require( + condition != null && condition.getFieldPath() != null && condition.getOperator() != null, + "Conditions require a field and operator"); + validatePath(form.getEntityType().value(), condition.getFieldPath()); + } + } + + private static void validatePath(String type, String path) { + require(path != null && !path.isBlank(), "Select an entity field"); + if (path.startsWith("extension.")) { + require( + org.openmetadata.service.TypeRegistry.instance() + .getSchema(type, path.substring("extension.".length())) + != null, + "Custom property does not exist: " + path); + return; + } + require( + !Set.of( + "id", + "version", + "entityStatus", + "updatedAt", + "updatedBy", + "deleted", + "href", + "changeDescription", + "incrementalChangeDescription", + "fullyQualifiedName") + .contains(path.split("\\.")[0]), + "System fields cannot be onboarding requirements"); + Class valueType = Entity.getEntityRepository(type).getEntityClass(); + try { + for (String segment : path.split("\\.")) { + require(!segment.isBlank(), "Invalid field path: " + path); + valueType = + valueType + .getMethod("get" + Character.toUpperCase(segment.charAt(0)) + segment.substring(1)) + .getReturnType(); + } + } catch (NoSuchMethodException missingField) { + throw new IllegalArgumentException("Unknown onboarding field: " + path); + } + } + + public static WorkflowDefinition workflow(OnboardingStep step) { + org.openmetadata.service.util.RequestEntityCache.invalidate( + Entity.WORKFLOW_DEFINITION, step.getWorkflow().getId(), null); + WorkflowDefinition workflow = + Entity.getEntity( + Entity.WORKFLOW_DEFINITION, + step.getWorkflow().getId(), + "*", + Include.NON_DELETED, + false); + require( + Boolean.TRUE.equals(workflow.getDeployed()) + && !Boolean.TRUE.equals(workflow.getSuspended()), + "Approval workflow must be deployed and active"); + var json = JsonUtils.valueToTree(workflow); + require( + "noOp".equals(json.path("trigger").path("type").asText()), + "Select a task workflow with a manual trigger"); + require( + workflow.getNodes().stream() + .anyMatch( + node -> + "userApprovalTask" + .equals(JsonUtils.valueToTree(node).path("subType").asText())), + "Workflow must contain an approval task"); + require( + workflow.getNodes().stream() + .noneMatch( + node -> + "setEntityAttributeTask" + .equals(JsonUtils.valueToTree(node).path("subType").asText())), + "Onboarding workflows must record decisions without changing entity status"); + return workflow; + } + + private static void require(boolean valid, String message) { + if (!valid) throw new IllegalArgumentException(message); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluator.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluator.java new file mode 100644 index 000000000000..93f3cd7ca669 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluator.java @@ -0,0 +1,210 @@ +package org.openmetadata.service.governance.onboarding; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.MissingNode; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import org.openmetadata.schema.entity.governance.IntakeForm; +import org.openmetadata.schema.entity.governance.IntakeFormField; +import org.openmetadata.schema.governance.onboarding.OnboardingCondition; +import org.openmetadata.schema.governance.onboarding.OnboardingStage; +import org.openmetadata.schema.governance.onboarding.OnboardingStep; +import org.openmetadata.schema.governance.onboarding.OnboardingStepResult; +import org.openmetadata.schema.governance.onboarding.OnboardingStepResult.State; +import org.openmetadata.schema.type.EntityStatus; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.util.IntakeFormUtil; + +public final class OnboardingEvaluator { + public static final List STAGES = + List.of( + OnboardingStage.CREATION, + OnboardingStage.DRAFT, + OnboardingStage.IN_REVIEW, + OnboardingStage.APPROVED, + OnboardingStage.DEPRECATED); + public static final Set ENTITY_TYPES = + Set.of("dataProduct", "domain", "glossaryTerm", "metric"); + + private OnboardingEvaluator() {} + + public static boolean isEnabled(IntakeForm form) { + return form != null + && !Boolean.FALSE.equals(form.getEnabled()) + && form.getOnboarding() != null + && Boolean.TRUE.equals(form.getOnboarding().getEnabled()); + } + + public static List evaluate( + IntakeForm form, Object entity, OnboardingStage stage) { + JsonNode values = JsonUtils.valueToTree(entity); + return steps(form, stage).stream() + .map(step -> evaluateStep(form, step, values).withStage(stage)) + .toList(); + } + + public static List evaluateThrough( + IntakeForm form, Object entity, OnboardingStage stage) { + return STAGES.stream() + .filter(candidate -> candidate.ordinal() <= stage.ordinal()) + .flatMap(candidate -> evaluate(form, entity, candidate).stream()) + .toList(); + } + + public static List steps(IntakeForm form, OnboardingStage stage) { + List steps = new ArrayList<>(); + if (form.getOnboarding() != null) { + form.getOnboarding().getGates().stream() + .filter(gate -> gate.getStage() == stage) + .forEach(gate -> steps.addAll(gate.getSteps())); + } + if (stage == OnboardingStage.CREATION) { + IntakeFormUtil.getEffectiveFormFields(form).stream() + .filter(field -> !isScheduled(form, field.getFieldPath())) + .map( + field -> + new OnboardingStep() + .withId("field_" + field.getFieldPath().replace('.', '_')) + .withType(OnboardingStep.Type.FIELD) + .withFieldPath(field.getFieldPath()) + .withTitle(field.getFieldLabel())) + .forEach(steps::add); + OnboardingConfigurationValidator.creationFields(form.getEntityType().value()).stream() + .sorted() + .filter(path -> steps.stream().noneMatch(step -> path.equals(step.getFieldPath()))) + .map( + path -> + new OnboardingStep() + .withId("creation_" + path) + .withType(OnboardingStep.Type.FIELD) + .withFieldPath(path) + .withTitle(path)) + .forEach(steps::add); + } + return steps; + } + + public static boolean isScheduled(IntakeForm form, String fieldPath) { + return form.getOnboarding() != null + && form.getOnboarding().getGates().stream() + .flatMap(gate -> gate.getSteps().stream()) + .anyMatch(step -> fieldPath.equals(step.getFieldPath())); + } + + private static OnboardingStepResult evaluateStep( + IntakeForm form, OnboardingStep step, JsonNode values) { + IntakeFormField field = + IntakeFormUtil.getEffectiveFormFields(form).stream() + .filter(candidate -> candidate.getFieldPath().equals(step.getFieldPath())) + .findFirst() + .orElse(null); + boolean required = + step.getType() == OnboardingStep.Type.APPROVAL + || (field != null && Boolean.TRUE.equals(field.getRequired())); + boolean intrinsic = + step.getFieldPath() != null + && OnboardingConfigurationValidator.creationFields(form.getEntityType().value()) + .contains(step.getFieldPath()); + required |= intrinsic; + if (field == null && intrinsic) { + field = + new IntakeFormField() + .withFieldPath(step.getFieldPath()) + .withFieldLabel(step.getTitle()) + .withFieldKind(IntakeFormField.FieldKind.NATIVE) + .withRequired(true); + } + var result = new OnboardingStepResult().withStep(step).withField(field).withRequired(required); + if (!intrinsic + && !step.getConditions().stream().allMatch(condition -> matches(values, condition))) { + return result.withState(State.NOT_APPLICABLE); + } + if (step.getType() == OnboardingStep.Type.APPROVAL) { + return result.withState(State.PENDING).withMessage("Workflow approval is required"); + } + String error = validateValue(valueAt(values, step.getFieldPath()), step); + return result + .withState(error == null ? State.COMPLETE : State.PENDING) + .withMessage( + error == null + ? null + : field != null && field.getErrorMessage() != null + ? field.getErrorMessage() + : error); + } + + private static String validateValue(JsonNode value, OnboardingStep step) { + if (!hasValue(value)) return "A value is required"; + if (step.getRules() == null) return null; + Integer minimumLength = step.getRules().getMinLength(); + Integer minimumItems = step.getRules().getMinItems(); + if (minimumLength != null + && (!value.isTextual() || value.asText().trim().length() < minimumLength)) { + return "At least " + minimumLength + " characters are required"; + } + if (minimumItems != null && (!value.isArray() || value.size() < minimumItems)) { + return "At least " + minimumItems + " values are required"; + } + return null; + } + + public static JsonNode valueAt(JsonNode values, String path) { + if (path == null || path.isBlank()) return MissingNode.getInstance(); + JsonNode current = values; + for (String segment : path.split("\\.")) current = current.path(segment); + return current; + } + + public static boolean hasValue(JsonNode value) { + return value != null + && !value.isNull() + && !value.isMissingNode() + && (!value.isTextual() || !value.asText().isBlank()) + && (!value.isContainerNode() || !value.isEmpty()); + } + + public static boolean matches(JsonNode values, OnboardingCondition condition) { + JsonNode value = valueAt(values, condition.getFieldPath()); + JsonNode expected = JsonUtils.valueToTree(condition.getValue()); + return switch (condition.getOperator()) { + case PRESENT -> hasValue(value); + case EQUALS -> value.equals(expected); + case CONTAINS -> contains(value, expected); + }; + } + + private static boolean contains(JsonNode value, JsonNode expected) { + if (value.isTextual()) + return expected.isTextual() && value.asText().contains(expected.asText()); + if (!value.isArray()) return false; + for (JsonNode item : value) { + if (item.equals(expected) + || item.path("id").equals(expected) + || item.path("fullyQualifiedName").equals(expected) + || item.path("tagFQN").equals(expected)) return true; + } + return false; + } + + public static boolean isSatisfied(OnboardingStepResult result) { + return result.getState() == State.COMPLETE || result.getState() == State.NOT_APPLICABLE; + } + + public static OnboardingStage stageFor(EntityStatus status) { + if (status == EntityStatus.IN_REVIEW) return OnboardingStage.IN_REVIEW; + if (status == EntityStatus.APPROVED) return OnboardingStage.APPROVED; + if (status == EntityStatus.DEPRECATED) return OnboardingStage.DEPRECATED; + return OnboardingStage.DRAFT; + } + + public static EntityStatus nextStatus(OnboardingStage stage) { + return switch (stage) { + case CREATION -> EntityStatus.DRAFT; + case DRAFT -> EntityStatus.IN_REVIEW; + case IN_REVIEW -> EntityStatus.APPROVED; + case APPROVED -> EntityStatus.DEPRECATED; + case DEPRECATED -> null; + }; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingService.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingService.java new file mode 100644 index 000000000000..c30640c42ba9 --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingService.java @@ -0,0 +1,317 @@ +package org.openmetadata.service.governance.onboarding; + +import jakarta.json.Json; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.WebApplicationException; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.UUID; +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.api.governance.TransitionOnboarding; +import org.openmetadata.schema.entity.governance.IntakeForm; +import org.openmetadata.schema.entity.teams.User; +import org.openmetadata.schema.governance.onboarding.OnboardingInstance; +import org.openmetadata.schema.governance.onboarding.OnboardingProgress; +import org.openmetadata.schema.governance.onboarding.OnboardingStage; +import org.openmetadata.schema.governance.onboarding.OnboardingStageTiming; +import org.openmetadata.schema.governance.onboarding.OnboardingStep; +import org.openmetadata.schema.governance.onboarding.OnboardingStepResult; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.EntityStatus; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.IntakeFormRepository; + +public final class OnboardingService { + private OnboardingService() {} + + public static IntakeForm configured(String entityType) { + return ((IntakeFormRepository) Entity.getEntityRepository(Entity.INTAKE_FORM)) + .findEnabledForEntityType(entityType); + } + + public static EntityInterface entity(String type, UUID id) { + // Worker threads outlive HTTP requests, so their request cache can contain an earlier stage. + org.openmetadata.service.util.RequestEntityCache.clear(); + try (var ignored = org.openmetadata.service.util.FreshReadScope.enter()) { + return Entity.getEntity(type, id, "*", Include.NON_DELETED, false); + } + } + + public static boolean eligible(EntityInterface entity) { + return entity.getEntityStatus() == null + || entity.getEntityStatus() == EntityStatus.DRAFT + || entity.getEntityStatus() == EntityStatus.UNPROCESSED; + } + + public static OnboardingInstance enroll(EntityInterface entity, String type) { + OnboardingInstance existing = OnboardingStore.find(entity.getId()); + if (existing != null) return existing; + IntakeForm form = configured(type); + if (!OnboardingEvaluator.isEnabled(form) || !eligible(entity)) return null; + var instance = + new OnboardingInstance() + .withId(UUID.randomUUID()) + .withEntity(entity.getEntityReference()) + .withConfiguration(JsonUtils.deepCopy(form, IntakeForm.class)) + .withStage(OnboardingStage.DRAFT) + .withEnteredAt(System.currentTimeMillis()) + .withRevision(0L) + .withCreator(creator(entity)) + .withCreationCompleted(creationComplete(form, entity)); + try { + OnboardingStore.dao() + .insert( + instance.getId().toString(), + entity.getId().toString(), + type, + form.getId().toString(), + instance.getStage().value(), + JsonUtils.pojoToJson(instance)); + } catch (RuntimeException exception) { + existing = OnboardingStore.find(entity.getId()); + if (existing == null) throw exception; + return existing; + } + return instance; + } + + private static EntityReference creator(EntityInterface entity) { + String name = entity.getUpdatedBy(); + try { + name = + Entity.getEntityRepository(entity.getEntityReference().getType()) + .getVersion(entity.getId(), "0.1") + .getUpdatedBy(); + } catch (org.openmetadata.service.exception.EntityNotFoundException missingHistory) { + // Imported assets may not retain their first version. + } + User user = Entity.findByNameOrNull(Entity.USER, name, Include.NON_DELETED); + return user == null ? null : user.getEntityReference(); + } + + public static void validateWrite(EntityInterface entity, String type, boolean update) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(type)) return; + OnboardingInstance instance = OnboardingStore.find(entity.getId()); + IntakeForm form = instance == null ? configured(type) : instance.getConfiguration(); + if (!OnboardingEvaluator.isEnabled(form)) return; + if (!update) entity.setEntityStatus(EntityStatus.DRAFT); + if (instance == null && update && !eligible(entity)) return; + OnboardingStage current = OnboardingEvaluator.stageFor(entity.getEntityStatus()); + for (OnboardingStage stage : OnboardingEvaluator.STAGES) { + if (stage.ordinal() >= current.ordinal()) break; + var failures = + OnboardingEvaluator.evaluate(form, entity, stage).stream() + .filter( + result -> + result.getRequired() + && result.getStep().getType() != OnboardingStep.Type.APPROVAL) + .filter( + result -> + instance == null + || Boolean.TRUE.equals(instance.getCreationCompleted()) + || stage != OnboardingStage.CREATION + || OnboardingConfigurationValidator.creationFields(type) + .contains(result.getStep().getFieldPath())) + .filter(result -> !OnboardingEvaluator.isSatisfied(result)) + .toList(); + requireComplete(failures); + } + } + + public static void validateUpdate( + EntityInterface original, EntityInterface updated, String type, boolean replace) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(type)) return; + // PUT preparation uses a temporary ID before the persisted asset and its pinned form are + // loaded. + updated.setId(original.getId()); + if (replace + && updated.getEntityStatus() == EntityStatus.UNPROCESSED + && OnboardingStore.find(original.getId()) != null) { + updated.setEntityStatus(original.getEntityStatus()); + } + validateWrite(updated, type, true); + validateStatus(original, updated, type); + } + + public static boolean preserveStatusDefault(EntityInterface entity, String type) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(type) + || (entity.getEntityStatus() != null + && entity.getEntityStatus() != EntityStatus.UNPROCESSED)) return false; + var original = + Entity.getEntityRepository(type) + .findByNameOrNull(entity.getFullyQualifiedName(), Include.NON_DELETED); + if (original == null) return false; + if (OnboardingStore.find(original.getId()) == null + && (!OnboardingEvaluator.isEnabled(configured(type)) || !eligible(original))) return false; + // Legacy glossary defaults infer Approved from reviewers before PUT has loaded its original. + entity.setEntityStatus( + original.getEntityStatus() == null || original.getEntityStatus() == EntityStatus.UNPROCESSED + ? EntityStatus.DRAFT + : original.getEntityStatus()); + return true; + } + + public static void validateStatus( + EntityInterface original, EntityInterface updated, String type) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(type) + || original.getEntityStatus() == updated.getEntityStatus()) return; + OnboardingInstance instance = OnboardingStore.find(original.getId()); + if (instance == null) instance = enroll(original, type); + if (instance == null) return; + instance.setStage(OnboardingEvaluator.stageFor(original.getEntityStatus())); + EntityStatus target = updated.getEntityStatus(); + if (target == EntityStatus.DRAFT + && (original.getEntityStatus() == EntityStatus.REJECTED + || original.getEntityStatus() == EntityStatus.UNPROCESSED)) return; + if (target != OnboardingEvaluator.nextStatus(instance.getStage())) + throw new IllegalArgumentException("Use the next onboarding gate"); + var progress = progress(instance, updated); + if (Boolean.TRUE.equals(progress.getPaused())) + throw new IllegalArgumentException("Onboarding is paused"); + requireComplete( + progress.getSteps().stream() + .filter(result -> result.getRequired() && !OnboardingEvaluator.isSatisfied(result)) + .toList()); + } + + private static void requireComplete(List failures) { + if (!failures.isEmpty()) + throw new IllegalArgumentException( + "Onboarding checks incomplete: " + + String.join( + ", ", + failures.stream() + .map( + result -> + result.getStep().getTitle() != null + ? result.getStep().getTitle() + : result.getStep().getId()) + .toList())); + } + + public static OnboardingProgress get(String type, UUID id) { + requireType(type); + var instance = OnboardingStore.find(id); + if (instance == null || !type.equals(instance.getEntity().getType())) + throw new NotFoundException("Asset is not enrolled in onboarding"); + var asset = entity(type, id); + instance.setStage(OnboardingEvaluator.stageFor(asset.getEntityStatus())); + return progress(instance, asset); + } + + public static OnboardingProgress progress(OnboardingInstance instance, EntityInterface entity) { + List results = + new ArrayList<>( + OnboardingEvaluator.evaluateThrough( + instance.getConfiguration(), entity, instance.getStage())); + for (var result : results) OnboardingTasks.hydrate(result, instance, entity); + List blockers = + results.stream() + .filter(result -> result.getRequired() && !OnboardingEvaluator.isSatisfied(result)) + .map(result -> result.getStep().getId()) + .toList(); + boolean completed = + entity.getEntityStatus() == EntityStatus.APPROVED + || entity.getEntityStatus() == EntityStatus.DEPRECATED; + boolean paused = + !completed && !OnboardingEvaluator.isEnabled(configured(instance.getEntity().getType())); + return new OnboardingProgress() + .withEntity(entity.getEntityReference()) + .withEntityVersion(entity.getVersion()) + .withConfigurationId(instance.getConfiguration().getId()) + .withConfigurationVersion(instance.getConfiguration().getVersion()) + .withDomains(boardDomains(entity)) + .withStage(instance.getStage()) + .withEnteredAt(instance.getEnteredAt()) + .withSteps(results) + .withBlockingSteps(blockers) + .withNextStatus(OnboardingEvaluator.nextStatus(instance.getStage())) + .withPaused(paused) + .withCanAdvance( + blockers.isEmpty() && !paused && entity.getEntityStatus() != EntityStatus.DEPRECATED) + .withCompleted(completed); + } + + public static OnboardingProgress transition( + String type, UUID id, TransitionOnboarding request, String user) { + requireType(type); + EntityInterface entity = entity(type, id); + if (!Objects.equals(request.getExpectedVersion(), entity.getVersion())) + throw new WebApplicationException("Asset changed; refresh before advancing", 409); + OnboardingInstance instance = enroll(entity, type); + if (instance == null) throw new NotFoundException("Asset is not enrolled in onboarding"); + synchronize(entity, type, Boolean.TRUE.equals(request.getRetry())); + instance = OnboardingStore.find(id); + var progress = progress(instance, entity); + if (request.getTargetStatus() != progress.getNextStatus()) + throw new IllegalArgumentException("Use the next onboarding gate"); + if (!Boolean.TRUE.equals(progress.getCanAdvance())) return progress; + patchStatus(type, id, entity.getVersion(), request.getTargetStatus(), user); + synchronize(entity(type, id), type, false); + return get(type, id); + } + + private static List boardDomains(EntityInterface entity) { + if (Entity.DOMAIN.equals(entity.getEntityReference().getType())) + return List.of(entity.getEntityReference()); + return entity.getDomains() == null ? List.of() : entity.getDomains(); + } + + public static void patchStatus( + String type, UUID id, Double version, EntityStatus status, String user) { + var patch = + Json.createPatchBuilder() + .test("/version", Json.createValue(version)) + .add("/entityStatus", status.value()) + .build(); + Entity.getEntityRepository(type).patch(null, id, user, patch); + } + + public static void synchronize(EntityInterface entity, String type, boolean retry) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(type)) return; + OnboardingInstance instance = enroll(entity, type); + if (instance == null) return; + Entity.getCollectionDAO() + .useTransaction( + dao -> { + var locked = + OnboardingStore.read(dao.onboardingDAO().lock(entity.getId().toString())); + EntityInterface current = entity(type, entity.getId()); + OnboardingStage stage = OnboardingEvaluator.stageFor(current.getEntityStatus()); + if (stage != locked.getStage()) { + locked + .getStageHistory() + .add( + new OnboardingStageTiming() + .withStage(locked.getStage()) + .withEnteredAt(locked.getEnteredAt()) + .withExitedAt(System.currentTimeMillis())); + locked.setStage(stage); + locked.setEnteredAt(System.currentTimeMillis()); + } + locked.setEntity(current.getEntityReference()); + if (creationComplete(locked.getConfiguration(), current)) + locked.setCreationCompleted(true); + if (OnboardingEvaluator.isEnabled(configured(type))) + OnboardingTasks.reserve(locked, current, retry); + locked.setSteps(progress(locked, current).getSteps()); + OnboardingStore.save(locked); + }); + if (OnboardingEvaluator.isEnabled(configured(type))) + OnboardingTasks.startPending( + OnboardingStore.find(entity.getId()), entity(type, entity.getId())); + } + + public static void requireType(String type) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(type)) + throw new IllegalArgumentException("Unsupported onboarding entity type"); + } + + private static boolean creationComplete(IntakeForm form, EntityInterface entity) { + return OnboardingEvaluator.evaluate(form, entity, OnboardingStage.CREATION).stream() + .noneMatch(step -> step.getRequired() && !OnboardingEvaluator.isSatisfied(step)); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingStore.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingStore.java new file mode 100644 index 000000000000..e57c59ac672e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingStore.java @@ -0,0 +1,44 @@ +package org.openmetadata.service.governance.onboarding; + +import java.util.UUID; +import org.openmetadata.schema.governance.onboarding.OnboardingInstance; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.jdbi3.OnboardingDAO; + +public final class OnboardingStore { + private OnboardingStore() {} + + public static OnboardingDAO dao() { + return Entity.getCollectionDAO().onboardingDAO(); + } + + public static OnboardingInstance find(UUID entityId) { + return entityId == null ? null : read(dao().find(entityId.toString())); + } + + public static OnboardingInstance forTask(UUID taskId) { + // Task schemas also resolve during bootstrap, before the persistence layer is initialized. + if (taskId == null || Entity.getCollectionDAO() == null) return null; + return read(dao().findByTask(taskId.toString())); + } + + public static OnboardingInstance read(String json) { + return json == null ? null : JsonUtils.readValue(json, OnboardingInstance.class); + } + + public static void save(OnboardingInstance instance) { + long revision = instance.getRevision(); + instance.setRevision(revision + 1); + if (dao() + .update( + instance.getEntity().getId().toString(), + instance.getStage().value(), + revision, + JsonUtils.pojoToJson(instance)) + != 1) { + throw new jakarta.ws.rs.WebApplicationException( + "Onboarding changed concurrently; refresh and retry", 409); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingTasks.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingTasks.java new file mode 100644 index 000000000000..4cfc6bc1454e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingTasks.java @@ -0,0 +1,458 @@ +package org.openmetadata.service.governance.onboarding; + +import com.fasterxml.jackson.databind.JsonNode; +import jakarta.json.Json; +import java.io.StringReader; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.UUID; +import java.util.stream.StreamSupport; +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.entity.tasks.Task; +import org.openmetadata.schema.governance.onboarding.OnboardingInstance; +import org.openmetadata.schema.governance.onboarding.OnboardingStage; +import org.openmetadata.schema.governance.onboarding.OnboardingStep; +import org.openmetadata.schema.governance.onboarding.OnboardingStepResult; +import org.openmetadata.schema.governance.onboarding.OnboardingStepResult.State; +import org.openmetadata.schema.governance.onboarding.OnboardingTaskBinding; +import org.openmetadata.schema.governance.workflows.WorkflowInstance; +import org.openmetadata.schema.type.TaskCategory; +import org.openmetadata.schema.type.TaskEntityStatus; +import org.openmetadata.schema.type.TaskEntityType; +import org.openmetadata.schema.type.TaskPriority; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.governance.workflows.WorkflowHandler; +import org.openmetadata.service.jdbi3.TaskRepository; +import org.openmetadata.service.jdbi3.WorkflowInstanceRepository; +import org.openmetadata.service.tasks.TaskWorkflowLifecycleResolver; +import org.openmetadata.service.tasks.TaskWorkflowLifecycleResolver.TaskWorkflowBinding; +import org.openmetadata.service.util.IntakeFormUtil; + +public final class OnboardingTasks { + private OnboardingTasks() {} + + private static TaskRepository repository() { + return (TaskRepository) Entity.getEntityRepository(Entity.TASK); + } + + public static OnboardingStep stepForTask(UUID taskId) { + OnboardingInstance instance = OnboardingStore.forTask(taskId); + if (instance == null) return null; + var binding = + instance.getBindings().stream() + .filter(item -> item.getTaskId().equals(taskId)) + .findFirst() + .orElse(null); + return binding == null + ? null + : OnboardingEvaluator.STAGES.stream() + .flatMap( + stage -> OnboardingEvaluator.steps(instance.getConfiguration(), stage).stream()) + .filter(step -> step.getId().equals(binding.getStepId())) + .findFirst() + .orElse(null); + } + + public static Map correlation(UUID taskId) { + var instance = OnboardingStore.forTask(taskId); + if (instance == null) return Map.of(); + var binding = + instance.getBindings().stream() + .filter(item -> item.getTaskId().equals(taskId)) + .findFirst() + .orElseThrow(); + var stage = + OnboardingEvaluator.STAGES.stream() + .filter( + gate -> + OnboardingEvaluator.steps(instance.getConfiguration(), gate).stream() + .anyMatch(step -> step.getId().equals(binding.getStepId()))) + .findFirst() + .orElseThrow(); + return Map.of( + "onboardingInstanceId", + instance.getId().toString(), + "onboardingGate", + stage.value(), + "onboardingStepId", + binding.getStepId(), + "onboardingAttempt", + binding.getAttempt()); + } + + public static TaskWorkflowBinding workflowBinding(Task task) { + OnboardingStep step = stepForTask(task.getId()); + if (step == null || step.getType() != OnboardingStep.Type.APPROVAL) return null; + var workflow = OnboardingConfigurationValidator.workflow(step); + var defaults = + TaskWorkflowLifecycleResolver.resolveBinding( + task.getType(), task.getCategory(), task.getPayload()) + .orElseThrow(); + return new TaskWorkflowBinding( + defaults.schema(), + workflow.getFullyQualifiedName(), + defaults.createFormSchema(), + defaults.createUiSchema(), + defaults.transitionForms(), + defaults.defaultStageMappings()); + } + + public static boolean isManaged(UUID taskId) { + return OnboardingStore.forTask(taskId) != null; + } + + public static boolean isFieldTask(UUID taskId) { + var step = stepForTask(taskId); + return step != null && step.getType() == OnboardingStep.Type.FIELD; + } + + public static void recordDecision(Task task, boolean approved) { + var instance = OnboardingStore.forTask(task.getId()); + if (instance == null || isFieldTask(task.getId()) || !hasCompletedExecution(task)) return; + Entity.getCollectionDAO() + .useTransaction( + dao -> { + var locked = + OnboardingStore.read( + dao.onboardingDAO().lock(instance.getEntity().getId().toString())); + locked.getBindings().stream() + .filter(binding -> binding.getTaskId().equals(task.getId())) + .findFirst() + .ifPresent( + binding -> + binding + .withApproved(approved) + .withDecidedAt(System.currentTimeMillis()) + .withWorkflowInstanceId(task.getWorkflowInstanceId())); + OnboardingStore.save(locked); + }); + } + + private static boolean hasCompletedExecution(Task task) { + if (task.getWorkflowInstanceId() == null) return false; + var repository = + (WorkflowInstanceRepository) Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE); + WorkflowInstance execution = repository.getById(task.getWorkflowInstanceId()); + return execution != null + && execution.getStatus() == WorkflowInstance.WorkflowStatus.FINISHED + && Objects.equals(execution.getWorkflowDefinitionId(), task.getWorkflowDefinitionId()) + && !WorkflowHandler.getInstance().hasActiveRuntimeTask(task.getId()); + } + + public static void hydrate( + OnboardingStepResult result, OnboardingInstance instance, EntityInterface entity) { + if (result.getState() == State.NOT_APPLICABLE) return; + var binding = binding(instance, result.getStep().getId()); + Task task = binding == null ? null : repository().findCommittedTask(binding.getTaskId()); + if (task != null) + result.withTaskId(task.getId()).withWorkflowInstanceId(task.getWorkflowInstanceId()); + if (result.getStep().getType() == OnboardingStep.Type.FIELD) { + result.setAssignees(OnboardingAssignments.resolve(result.getStep(), entity, instance)); + if (!OnboardingEvaluator.isSatisfied(result) + && task != null + && TaskRepository.isTerminalStatus(task.getStatus())) { + result + .withState(State.FAILED) + .withMessage("The field still needs a value; retry to reopen assigned work"); + } + if (!OnboardingEvaluator.isSatisfied(result) && result.getAssignees().isEmpty()) + result.withState(State.BLOCKED).withMessage("Assign a responsible user or team"); + } else { + hydrateApproval(result, binding, task, instance, entity); + } + } + + private static void hydrateApproval( + OnboardingStepResult result, + OnboardingTaskBinding binding, + Task task, + OnboardingInstance instance, + EntityInterface entity) { + if (instance.getStage().ordinal() >= OnboardingStage.APPROVED.ordinal() + && binding != null + && Boolean.TRUE.equals(binding.getApproved()) + && binding.getWorkflowInstanceId() != null) { + result + .withState(State.COMPLETE) + .withMessage(null) + .withTaskId(binding.getTaskId()) + .withWorkflowInstanceId(binding.getWorkflowInstanceId()); + return; + } + try { + OnboardingConfigurationValidator.workflow(result.getStep()); + } catch (RuntimeException exception) { + result.withState(State.FAILED).withMessage(exception.getMessage()); + return; + } + if (task == null) return; + result.setAssignees(task.getAssignees() == null ? List.of() : task.getAssignees()); + if (!Objects.equals(binding.getFingerprint(), fingerprint(instance, entity))) { + result.withState(State.PENDING).withMessage("Metadata changed; request a fresh approval"); + } else if (task.getStatus() == TaskEntityStatus.Approved + && Boolean.TRUE.equals(binding.getApproved()) + && Objects.equals(binding.getWorkflowInstanceId(), task.getWorkflowInstanceId()) + && hasCompletedExecution(task)) { + result.withState(State.COMPLETE).withMessage(null); + } else if (task.getStatus() == TaskEntityStatus.Rejected) { + result.withState(State.REJECTED).withMessage("Approval rejected; revise and resubmit"); + } else if ("workflow-start-failed".equals(task.getWorkflowStageId()) + || TaskRepository.isTerminalStatus(task.getStatus()) + || failedExecution(task)) { + result + .withState(State.FAILED) + .withMessage("Workflow failed; retry after resolving the error"); + } else if (result.getAssignees().isEmpty()) { + result.withState(State.BLOCKED).withMessage("The workflow has no assignees"); + } + } + + private static boolean failedExecution(Task task) { + if (task.getWorkflowInstanceId() == null) + return task.getUpdatedAt() < System.currentTimeMillis() - 60_000; + try { + var repository = + (WorkflowInstanceRepository) + Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE); + var execution = repository.getById(task.getWorkflowInstanceId()); + return execution == null + || execution.getStatus() != WorkflowInstance.WorkflowStatus.RUNNING + && execution.getStatus() != WorkflowInstance.WorkflowStatus.FINISHED; + } catch (org.openmetadata.service.exception.EntityNotFoundException missingExecution) { + return true; + } + } + + public static void closeAll(OnboardingInstance instance) { + instance.getBindings().forEach(OnboardingTasks::closeFieldTask); + } + + public static void reserve(OnboardingInstance instance, EntityInterface entity, boolean retry) { + if (instance.getStage().ordinal() >= OnboardingStage.APPROVED.ordinal()) return; + var results = + OnboardingEvaluator.evaluateThrough( + instance.getConfiguration(), entity, instance.getStage()); + boolean fieldsReady = + results.stream() + .filter(result -> result.getStep().getType() == OnboardingStep.Type.FIELD) + .noneMatch(result -> result.getRequired() && !OnboardingEvaluator.isSatisfied(result)); + for (var result : results) { + if (result.getState() == State.NOT_APPLICABLE) continue; + if (result.getStep().getType() == OnboardingStep.Type.APPROVAL && !fieldsReady) continue; + if (result.getStep().getType() == OnboardingStep.Type.FIELD + && OnboardingEvaluator.isSatisfied(result)) continue; + reserveStep(instance, entity, result, retry); + } + } + + private static void reserveStep( + OnboardingInstance instance, + EntityInterface entity, + OnboardingStepResult result, + boolean retry) { + if (!canStart(result.getStep())) return; + var previous = binding(instance, result.getStep().getId()); + if (previous != null) { + hydrate(result, instance, entity); + if (!retry + || result.getState() == State.COMPLETE + || (result.getState() != State.REJECTED + && result.getState() != State.FAILED + && Objects.equals(previous.getFingerprint(), fingerprint(instance, entity)))) return; + } + if (result.getStep().getType() == OnboardingStep.Type.FIELD + && OnboardingAssignments.resolve(result.getStep(), entity, instance).isEmpty()) return; + var next = + new OnboardingTaskBinding() + .withStepId(result.getStep().getId()) + .withTaskId(UUID.randomUUID()) + .withAttempt(previous == null ? 1 : previous.getAttempt() + 1) + .withFingerprint(fingerprint(instance, entity)); + if (result.getStep().getWorkflow() != null) + next.setWorkflowDefinitionId(result.getStep().getWorkflow().getId()); + instance.getBindings().add(next); + OnboardingStore.dao() + .bindTask( + next.getTaskId().toString(), + instance.getId().toString(), + next.getStepId(), + next.getAttempt()); + } + + public static void startPending(OnboardingInstance instance, EntityInterface entity) { + if (instance.getStage().ordinal() >= OnboardingStage.APPROVED.ordinal()) { + closeAll(instance); + return; + } + closeSupersededAttempts(instance); + for (var result : + OnboardingEvaluator.evaluateThrough( + instance.getConfiguration(), entity, instance.getStage())) { + var binding = binding(instance, result.getStep().getId()); + if (binding == null) continue; + if (result.getState() == State.NOT_APPLICABLE + || (result.getStep().getType() == OnboardingStep.Type.FIELD + && OnboardingEvaluator.isSatisfied(result))) { + closeFieldTask(binding); + } else { + startTask(instance, entity, result.getStep(), binding); + } + } + } + + private static void closeSupersededAttempts(OnboardingInstance instance) { + for (var previous : instance.getBindings()) { + var current = binding(instance, previous.getStepId()); + if (!previous.getTaskId().equals(current.getTaskId())) closeFieldTask(previous); + } + } + + private static void startTask( + OnboardingInstance instance, + EntityInterface entity, + OnboardingStep step, + OnboardingTaskBinding binding) { + Task existing = repository().findCommittedTask(binding.getTaskId()); + if (existing != null) { + if (step.getType() == OnboardingStep.Type.FIELD) + refreshAssignees(existing, step, instance, entity); + return; + } + boolean approval = step.getType() == OnboardingStep.Type.APPROVAL; + if (!canStart(step)) return; + var task = + new Task() + .withId(binding.getTaskId()) + .withName("onboarding-" + binding.getTaskId()) + .withDisplayName(step.getTitle() == null ? step.getId() : step.getTitle()) + .withDescription(step.getGuidance()) + .withType(approval ? TaskEntityType.RequestApproval : TaskEntityType.CustomTask) + .withCategory(approval ? TaskCategory.Approval : TaskCategory.Custom) + .withStatus(TaskEntityStatus.Open) + .withPriority(TaskPriority.Medium) + .withAbout(entity.getEntityReference()) + .withCreatedBy(instance.getCreator()) + .withUpdatedBy("governance-bot") + .withUpdatedAt(System.currentTimeMillis()) + .withCreatedAt(System.currentTimeMillis()) + .withAssignees( + approval ? List.of() : OnboardingAssignments.resolve(step, entity, instance)) + .withPayload(Map.of()); + try { + repository().create(null, task); + } catch (RuntimeException exception) { + if (repository().findCommittedTask(binding.getTaskId()) == null) throw exception; + } + } + + private static void closeFieldTask(OnboardingTaskBinding binding) { + Task task = repository().findCommittedTask(binding.getTaskId()); + if (task != null && TaskRepository.OPEN_TASK_STATUSES.contains(task.getStatus())) + repository().closeTask(task, "governance-bot", "Onboarding check satisfied or superseded"); + } + + private static void refreshAssignees( + Task task, OnboardingStep step, OnboardingInstance instance, EntityInterface entity) { + if (!TaskRepository.OPEN_TASK_STATUSES.contains(task.getStatus())) return; + var assignees = OnboardingAssignments.resolve(step, entity, instance); + var current = + task.getAssignees() == null + ? List.of() + : task.getAssignees(); + var ids = + assignees.stream() + .map(org.openmetadata.schema.type.EntityReference::getId) + .collect(java.util.stream.Collectors.toSet()); + if (ids.equals( + current.stream() + .map(org.openmetadata.schema.type.EntityReference::getId) + .collect(java.util.stream.Collectors.toSet()))) return; + try (var reader = Json.createReader(new StringReader(JsonUtils.pojoToJson(assignees)))) { + repository() + .patch( + null, + task.getId(), + "governance-bot", + Json.createPatchBuilder().add("/assignees", reader.readArray()).build()); + } + } + + private static boolean canStart(OnboardingStep step) { + if (step.getType() == OnboardingStep.Type.FIELD) return true; + try { + OnboardingConfigurationValidator.workflow(step); + return true; + } catch (IllegalArgumentException + | org.openmetadata.service.exception.EntityNotFoundException unavailableWorkflow) { + return false; + } + } + + private static OnboardingTaskBinding binding(OnboardingInstance instance, String stepId) { + return instance.getBindings().stream() + .filter(binding -> binding.getStepId().equals(stepId)) + .max(Comparator.comparingInt(OnboardingTaskBinding::getAttempt)) + .orElse(null); + } + + static String fingerprint(OnboardingInstance instance, EntityInterface entity) { + var values = JsonUtils.valueToTree(entity); + Map captured = new TreeMap<>(); + var paths = new TreeSet<>(List.of("domains", "tags", "owners", "reviewers", "experts")); + paths.addAll(OnboardingConfigurationValidator.creationFields(instance.getEntity().getType())); + IntakeFormUtil.getEffectiveFormFields(instance.getConfiguration()) + .forEach(field -> paths.add(field.getFieldPath())); + instance + .getConfiguration() + .getOnboarding() + .getGates() + .forEach( + gate -> + gate.getSteps() + .forEach( + step -> { + if (step.getConditions() != null) + step.getConditions() + .forEach(condition -> paths.add(condition.getFieldPath())); + })); + paths.forEach( + path -> captured.put(path, canonicalValue(OnboardingEvaluator.valueAt(values, path)))); + return UUID.nameUUIDFromBytes(JsonUtils.pojoToJson(captured).getBytes(StandardCharsets.UTF_8)) + .toString(); + } + + private static Object canonicalValue(JsonNode value) { + if (value == null || value.isMissingNode() || value.isNull()) return null; + if (value.isArray()) { + List items = new ArrayList<>(); + value.forEach(item -> items.add(canonicalValue(item))); + if (StreamSupport.stream(value.spliterator(), false) + .allMatch(OnboardingTasks::isRelationshipValue)) { + items.sort(Comparator.comparing(JsonUtils::pojoToJson)); + } + return items; + } + if (value.isObject()) { + if (value.hasNonNull("id") && value.hasNonNull("type")) + return Map.of("id", value.get("id").asText(), "type", value.get("type").asText()); + if (value.hasNonNull("tagFQN")) return value.get("tagFQN").asText(); + Map fields = new TreeMap<>(); + value + .fields() + .forEachRemaining(field -> fields.put(field.getKey(), canonicalValue(field.getValue()))); + return fields; + } + return value; + } + + private static boolean isRelationshipValue(JsonNode value) { + return value.hasNonNull("tagFQN") || (value.hasNonNull("id") && value.hasNonNull("type")); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorker.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorker.java new file mode 100644 index 000000000000..6f97002de18c --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorker.java @@ -0,0 +1,123 @@ +package org.openmetadata.service.governance.onboarding; + +import io.dropwizard.lifecycle.Managed; +import java.util.Set; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import lombok.extern.slf4j.Slf4j; +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.type.ChangeDescription; +import org.openmetadata.service.Entity; +import org.openmetadata.service.events.lifecycle.EntityLifecycleEventDispatcher; +import org.openmetadata.service.events.lifecycle.EntityLifecycleEventHandler; +import org.openmetadata.service.security.policyevaluator.SubjectContext; + +@Slf4j +public final class OnboardingWorker implements Managed, EntityLifecycleEventHandler { + private final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); + private String cursor = ""; + + @Override + public void start() { + EntityLifecycleEventDispatcher.getInstance().registerHandler(this); + executor.scheduleWithFixedDelay(this::recover, 10, 10, TimeUnit.SECONDS); + } + + @Override + public void stop() throws InterruptedException { + EntityLifecycleEventDispatcher.getInstance().unregisterHandler(getHandlerName()); + executor.shutdownNow(); + executor.awaitTermination(5, TimeUnit.SECONDS); + } + + @Override + public String getHandlerName() { + return "onboarding"; + } + + @Override + public Set getSupportedEntityTypes() { + return Set.of( + Entity.DATA_PRODUCT, Entity.DOMAIN, Entity.GLOSSARY_TERM, Entity.METRIC, Entity.TASK); + } + + @Override + public void onEntityCreated(EntityInterface entity, SubjectContext subject) { + synchronize(entity); + } + + @Override + public void onEntityUpdated( + EntityInterface entity, ChangeDescription changes, SubjectContext subject) { + synchronize(entity); + } + + @Override + public void onEntityDeleted(EntityInterface entity, SubjectContext subject) { + var instance = OnboardingStore.find(entity.getId()); + if (instance == null) return; + OnboardingTasks.closeAll(instance); + Entity.getCollectionDAO() + .useTransaction( + dao -> { + dao.onboardingDAO().deleteTasks(instance.getId().toString()); + dao.onboardingDAO().delete(entity.getId().toString()); + }); + } + + @Override + public void onEntitySoftDeletedOrRestored( + EntityInterface entity, boolean deleted, SubjectContext subject) { + if (!deleted) { + synchronize(entity); + return; + } + var instance = OnboardingStore.find(entity.getId()); + if (instance != null) OnboardingTasks.closeAll(instance); + } + + private void synchronize(EntityInterface entity) { + var reference = entity.getEntityReference(); + if (Entity.TASK.equals(reference.getType())) { + var instance = OnboardingStore.forTask(entity.getId()); + if (instance == null) return; + reference = instance.getEntity(); + } + var asset = OnboardingService.entity(reference.getType(), reference.getId()); + OnboardingService.synchronize(asset, reference.getType(), false); + } + + private void recover() { + for (String type : OnboardingEvaluator.ENTITY_TYPES) { + try { + OnboardingBackfillService.runPage(type); + } catch (RuntimeException exception) { + LOG.error("Could not backfill onboarding for {}", type, exception); + } + } + recoverInstances(); + } + + private void recoverInstances() { + try { + var page = OnboardingStore.dao().list(null, null, cursor, 50); + for (String json : page) { + var instance = OnboardingStore.read(json); + cursor = instance.getId().toString(); + try { + synchronize( + OnboardingService.entity( + instance.getEntity().getType(), instance.getEntity().getId())); + } catch (org.openmetadata.service.exception.EntityNotFoundException deletedAsset) { + OnboardingTasks.closeAll(instance); + } catch (RuntimeException exception) { + LOG.warn("Could not reconcile onboarding instance {}", instance.getId(), exception); + } + } + if (page.size() < 50) cursor = ""; + } catch (RuntimeException exception) { + LOG.error("Could not recover onboarding instances", exception); + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorkflowGuard.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorkflowGuard.java new file mode 100644 index 000000000000..1f37ed5231cb --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/onboarding/OnboardingWorkflowGuard.java @@ -0,0 +1,32 @@ +package org.openmetadata.service.governance.onboarding; + +import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.governance.workflows.WorkflowDefinition; +import org.openmetadata.schema.type.Include; +import org.openmetadata.schema.utils.JsonUtils; +import org.openmetadata.service.Entity; +import org.openmetadata.service.governance.workflows.elements.TriggerFactory; +import org.openmetadata.service.resources.feeds.MessageParser; + +public final class OnboardingWorkflowGuard { + private OnboardingWorkflowGuard() {} + + public static boolean suppressAutomaticApproval( + MessageParser.EntityLink link, String triggerKey) { + if (!OnboardingEvaluator.ENTITY_TYPES.contains(link.getEntityType())) return false; + EntityInterface asset = Entity.getEntity(link, "*", Include.NON_DELETED); + if (OnboardingStore.find(asset.getId()) == null + && !(OnboardingService.eligible(asset) + && OnboardingEvaluator.isEnabled(OnboardingService.configured(link.getEntityType())))) + return false; + String name = TriggerFactory.getMainWorkflowDefinitionNameFromTrigger(triggerKey); + WorkflowDefinition workflow = + Entity.findByNameOrNull(Entity.WORKFLOW_DEFINITION, name, Include.NON_DELETED); + return workflow != null + && workflow.getNodes().stream() + .anyMatch( + node -> + "userApprovalTask" + .equals(JsonUtils.valueToTree(node).path("subType").asText())); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/CreateTask.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/CreateTask.java index 777e13ba4edc..21e99ed51b92 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/CreateTask.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/CreateTask.java @@ -67,6 +67,7 @@ import org.openmetadata.schema.utils.JsonUtils; import org.openmetadata.service.Entity; import org.openmetadata.service.exception.EntityNotFoundException; +import org.openmetadata.service.governance.onboarding.OnboardingTasks; import org.openmetadata.service.governance.workflows.WorkflowHandler; import org.openmetadata.service.governance.workflows.WorkflowVariableHandler; import org.openmetadata.service.governance.workflows.WorkflowVariableHandler.InputNamespaces; @@ -777,6 +778,7 @@ static Object findPriorOpenApprovalPayload( static boolean isSupersedablePriorApprovalTask( Task prior, UUID currentWorkflowDefinitionId, UUID currentWorkflowInstanceId) { return prior != null + && !OnboardingTasks.isManaged(prior.getId()) && currentWorkflowInstanceId != null && currentWorkflowDefinitionId != null && prior.getWorkflowInstanceId() != null diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FilterEntityImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FilterEntityImpl.java index 7bf60d13fc19..9b03cffee39c 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FilterEntityImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FilterEntityImpl.java @@ -23,6 +23,7 @@ import org.openmetadata.schema.utils.JsonUtils; import org.openmetadata.service.Entity; import org.openmetadata.service.exception.EntityNotFoundException; +import org.openmetadata.service.governance.onboarding.OnboardingWorkflowGuard; import org.openmetadata.service.governance.workflows.WorkflowHandler; import org.openmetadata.service.governance.workflows.WorkflowVariableHandler; import org.openmetadata.service.jdbi3.RecognizerFeedbackRepository; @@ -72,6 +73,12 @@ public void execute(DelegateExecution execution) { // Parse entity type from entity link to determine which filter to use MessageParser.EntityLink entityLink = MessageParser.EntityLink.parse(entityLinkStr); String entityType = entityLink.getEntityType(); + if (OnboardingWorkflowGuard.suppressAutomaticApproval( + entityLink, + WorkflowHandler.getProcessDefinitionKeyFromId(execution.getProcessDefinitionId()))) { + execution.setVariable(PASSES_FILTER_VARIABLE, false); + return; + } // Extract entity-specific filter String filterLogic = diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java index 453ad008623c..7410548d33b9 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/CollectionDAO.java @@ -78,6 +78,9 @@ public interface CollectionDAO @CreateSqlObject IntakeFormDAO intakeFormDAO(); + @CreateSqlObject + OnboardingDAO onboardingDAO(); + interface IntakeFormDAO extends EntityDAO { @Override default String getTableName() { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java index 7b8f5c868e0a..2b0743078f50 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java @@ -234,6 +234,9 @@ import org.openmetadata.service.exception.EntityRelationshipNotFoundException; import org.openmetadata.service.exception.PreconditionFailedException; import org.openmetadata.service.formatter.util.FormatterUtil; +import org.openmetadata.service.governance.onboarding.OnboardingEvaluator; +import org.openmetadata.service.governance.onboarding.OnboardingService; +import org.openmetadata.service.governance.onboarding.OnboardingStore; import org.openmetadata.service.governance.workflows.WorkflowHandler; import org.openmetadata.service.jdbi3.CoreRelationshipDAOs.EntityRelationshipRecord; import org.openmetadata.service.jdbi3.CoreRelationshipDAOs.EntityVersionPair; @@ -3024,7 +3027,9 @@ public final void prepareInternal(T entity, boolean update) { prepare(entity, update); setFullyQualifiedName(entity); validateExtension(entity, update); - setDefaultStatus(entity, update); + if (!update || !OnboardingService.preserveStatusDefault(entity, entityType)) { + setDefaultStatus(entity, update); + } // Domain is already validated } @@ -3917,6 +3922,7 @@ public List createManyEntitiesForImport(List entities, String impersonated // 2. Set impersonatedBy for each entity for (T entity : entities) { entity.setImpersonatedBy(impersonatedBy); + OnboardingService.validateWrite(entity, entityType, false); } // 3. Store entities and relationships in one atomic transaction. Cache invalidations issued by @@ -3966,6 +3972,7 @@ public List updateManyEntitiesForImport( updated.setUpdatedAt(System.currentTimeMillis()); // 2. Set impersonatedBy updated.setImpersonatedBy(impersonatedBy); + OnboardingService.validateUpdate(original, updated, entityType, true); updatedEntities.add(updated); } @@ -3995,6 +4002,9 @@ public List updateManyEntitiesForImport( @SuppressWarnings("unused") protected void postCreate(T entity) { + if (OnboardingEvaluator.ENTITY_TYPES.contains(entityType)) { + OnboardingService.enroll(entity, entityType); + } try (var ignored = phase("lifecycleDispatch")) { EntityLifecycleEventDispatcher.getInstance().onEntityCreated(entity, null); } @@ -5163,6 +5173,7 @@ private void runInTransactionWithRetry(Runnable flushBody) { } protected T createNewEntity(T entity) { + OnboardingService.validateWrite(entity, entityType, false); try { createNewEntityFlush(entity); try (var ignored = phase("createPostCreate")) { @@ -5458,6 +5469,7 @@ private void enqueueLineageEsRetry(EntityReference toEntity, Exception failure) } private List createManyEntities(List entities) { + entities.forEach(entity -> OnboardingService.validateWrite(entity, entityType, false)); createManyEntitiesFlush(entities); try (var ignored = phase("postCreate")) { postCreate(entities); @@ -9083,6 +9095,7 @@ private final class UpdaterSnapshot { } private void flushUpdateBody(boolean useOptimisticStore, boolean importMode) { + validateOnboardingUpdate(); boolean consolidateChanges; try (var ignored = phase("entityUpdateConsolidate")) { consolidateChanges = consolidateChanges(original, updated, operation); @@ -9184,6 +9197,7 @@ private void reactUpdate() { */ @Transaction public final void updateWithDeferredStore() { + validateOnboardingUpdate(); changeDescription = new ChangeDescription(); try (var ignored = phase("entityUpdateDiffDeferred")) { updateInternal(); @@ -9472,6 +9486,12 @@ private void updateDisplayName() { } } + private void validateOnboardingUpdate() { + if (!operation.isDelete()) { + OnboardingService.validateUpdate(original, updated, entityType, operation.isPut()); + } + } + private void updateEntityStatus(boolean consolidatingChanges) { if (supportsEntityStatus) { if (original.getEntityStatus() == updated.getEntityStatus()) { @@ -9482,7 +9502,9 @@ private void updateEntityStatus(boolean consolidatingChanges) { && original.getEntityStatus() == EntityStatus.IN_REVIEW && (updated.getEntityStatus() == EntityStatus.APPROVED || updated.getEntityStatus() == EntityStatus.REJECTED)) { - checkUpdatedByReviewer(original, updated.getUpdatedBy()); + if (OnboardingStore.find(original.getId()) == null) { + checkUpdatedByReviewer(original, updated.getUpdatedBy()); + } } recordChange("entityStatus", original.getEntityStatus(), updated.getEntityStatus()); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IntakeFormRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IntakeFormRepository.java index 4d61d3b9fa36..70db8f07a1b3 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IntakeFormRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IntakeFormRepository.java @@ -22,6 +22,7 @@ import org.openmetadata.schema.type.change.ChangeSource; import org.openmetadata.schema.utils.JsonUtils; import org.openmetadata.service.Entity; +import org.openmetadata.service.governance.onboarding.OnboardingConfigurationValidator; import org.openmetadata.service.resources.governance.IntakeFormResource; import org.openmetadata.service.util.EntityUtil.Fields; import org.openmetadata.service.util.EntityUtil.RelationIncludes; @@ -30,7 +31,8 @@ @Slf4j @Repository public class IntakeFormRepository extends EntityRepository { - private static final String UPDATE_FIELDS = "owners,formFields,requiredFields,enabled,entityType"; + private static final String UPDATE_FIELDS = + "owners,formFields,requiredFields,enabled,entityType,onboarding"; public IntakeFormRepository() { super( @@ -59,6 +61,8 @@ public void prepare(IntakeForm entity, boolean update) { throw new IllegalArgumentException("IntakeForm requires entityType"); } IntakeFormUtil.synchronizeFields(entity); + preserveOnboarding(entity, update); + OnboardingConfigurationValidator.validate(entity); ensureUniquePerEntityType(entity, update); } @@ -121,6 +125,25 @@ public void removeCustomPropertyField(String entityType, String propertyName, St } } + private void preserveOnboarding(IntakeForm entity, boolean update) { + if (!update || entity.getOnboarding() != null) return; + String json = + Entity.getCollectionDAO().intakeFormDAO().findByEntityType(entity.getEntityType().value()); + if (json != null) { + var existing = JsonUtils.readValue(json, IntakeForm.class); + entity.setOnboarding(existing.getOnboarding()); + if (existing.getOnboarding() != null) { + for (var field : IntakeFormUtil.getEffectiveFormFields(existing)) { + if (entity.getFormFields().stream() + .noneMatch(candidate -> candidate.getFieldPath().equals(field.getFieldPath()))) { + entity.getFormFields().add(field); + } + } + IntakeFormUtil.synchronizeFields(entity); + } + } + } + private void ensureUniquePerEntityType(IntakeForm entity, boolean update) { String existingJson = Entity.getCollectionDAO().intakeFormDAO().findByEntityType(entity.getEntityType().value()); @@ -152,6 +175,7 @@ public IntakeFormUpdater(IntakeForm original, IntakeForm updated, Operation oper @Override public void entitySpecificUpdate(boolean consolidatingChanges) { recordChange("entityType", original.getEntityType(), updated.getEntityType()); + recordChange("onboarding", original.getOnboarding(), updated.getOnboarding()); recordChange("enabled", original.getEnabled(), updated.getEnabled()); recordChange("formFields", original.getFormFields(), updated.getFormFields()); recordChange("requiredFields", original.getRequiredFields(), updated.getRequiredFields()); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/MetricRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/MetricRepository.java index 625c0d3b73ae..80d4e24b063a 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/MetricRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/MetricRepository.java @@ -72,6 +72,7 @@ import org.openmetadata.service.util.EntityUtil; import org.openmetadata.service.util.EntityUtil.RelationIncludes; import org.openmetadata.service.util.FullyQualifiedName; +import org.openmetadata.service.util.IntakeFormValidator; @Slf4j public class MetricRepository extends EntityRepository { @@ -123,6 +124,7 @@ private void setMeasureFQNs(String metricFqn, List measures) { @Override public void prepare(Metric metric, boolean update) { + IntakeFormValidator.validate(metric, Entity.METRIC); validateRelatedTerms(metric, metric.getRelatedMetrics()); validateCustomUnitOfMeasurement(metric); metric.setAssets(EntityUtil.populateEntityReferences(metric.getAssets())); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/OnboardingDAO.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/OnboardingDAO.java new file mode 100644 index 000000000000..d6aba8128d8a --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/OnboardingDAO.java @@ -0,0 +1,106 @@ +package org.openmetadata.service.jdbi3; + +import static org.openmetadata.service.jdbi3.locator.ConnectionType.MYSQL; +import static org.openmetadata.service.jdbi3.locator.ConnectionType.POSTGRES; + +import java.util.List; +import org.jdbi.v3.sqlobject.customizer.Bind; +import org.jdbi.v3.sqlobject.statement.SqlQuery; +import org.jdbi.v3.sqlobject.statement.SqlUpdate; +import org.openmetadata.service.jdbi3.locator.ConnectionAwareSqlUpdate; +import org.openmetadata.service.util.jdbi.BindJson; + +public interface OnboardingDAO { + @SqlQuery("SELECT json FROM onboarding_instance WHERE entityId = :entityId") + String find(@Bind("entityId") String entityId); + + @SqlQuery("SELECT json FROM onboarding_instance WHERE entityId = :entityId FOR UPDATE") + String lock(@Bind("entityId") String entityId); + + @SqlQuery( + "SELECT i.json FROM onboarding_instance i JOIN onboarding_task t ON i.id = t.instanceId WHERE t.taskId = :taskId") + String findByTask(@Bind("taskId") String taskId); + + @ConnectionAwareSqlUpdate( + value = + "INSERT INTO onboarding_instance (id,entityId,entityType,configurationId,stage,revision,json) VALUES (:id,:entityId,:entityType,:configurationId,:stage,0,:json)", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = + "INSERT INTO onboarding_instance (id,entityId,entityType,configurationId,stage,revision,json) VALUES (:id,:entityId,:entityType,:configurationId,:stage,0,:json::jsonb)", + connectionType = POSTGRES) + void insert( + @Bind("id") String id, + @Bind("entityId") String entityId, + @Bind("entityType") String entityType, + @Bind("configurationId") String configurationId, + @Bind("stage") String stage, + @BindJson("json") String json); + + @ConnectionAwareSqlUpdate( + value = + "UPDATE onboarding_instance SET json=:json, stage=:stage, revision=revision+1 WHERE entityId=:entityId AND revision=:revision", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = + "UPDATE onboarding_instance SET json=:json::jsonb, stage=:stage, revision=revision+1 WHERE entityId=:entityId AND revision=:revision", + connectionType = POSTGRES) + int update( + @Bind("entityId") String entityId, + @Bind("stage") String stage, + @Bind("revision") long revision, + @BindJson("json") String json); + + @SqlQuery( + "SELECT json FROM onboarding_instance WHERE (:entityType IS NULL OR entityType=:entityType) AND (:stage IS NULL OR stage=:stage) AND id > :after ORDER BY id LIMIT :limit") + List list( + @Bind("entityType") String entityType, + @Bind("stage") String stage, + @Bind("after") String after, + @Bind("limit") int limit); + + @SqlUpdate( + "INSERT INTO onboarding_task (taskId,instanceId,stepId,attempt) VALUES (:taskId,:instanceId,:stepId,:attempt)") + void bindTask( + @Bind("taskId") String taskId, + @Bind("instanceId") String instanceId, + @Bind("stepId") String stepId, + @Bind("attempt") int attempt); + + @SqlUpdate("DELETE FROM onboarding_task WHERE instanceId=:id") + void deleteTasks(@Bind("id") String id); + + @SqlUpdate("DELETE FROM onboarding_instance WHERE entityId=:entityId") + void delete(@Bind("entityId") String entityId); + + @SqlQuery("SELECT json FROM onboarding_backfill WHERE configurationId=:id") + String getBackfill(@Bind("id") String id); + + @SqlUpdate( + "UPDATE onboarding_backfill SET leaseOwner=:owner, leaseUntil=:until WHERE configurationId=:id AND leaseUntil < :now") + int claimBackfill( + @Bind("id") String id, + @Bind("owner") String owner, + @Bind("now") long now, + @Bind("until") long until); + + @SqlUpdate( + "UPDATE onboarding_backfill SET leaseOwner=NULL, leaseUntil=0 WHERE configurationId=:id AND leaseOwner=:owner") + void releaseBackfill(@Bind("id") String id, @Bind("owner") String owner); + + @ConnectionAwareSqlUpdate( + value = "INSERT INTO onboarding_backfill (configurationId,json) VALUES (:id,:json)", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = "INSERT INTO onboarding_backfill (configurationId,json) VALUES (:id,:json::jsonb)", + connectionType = POSTGRES) + void insertBackfill(@Bind("id") String id, @BindJson("json") String json); + + @ConnectionAwareSqlUpdate( + value = "UPDATE onboarding_backfill SET json=:json WHERE configurationId=:id", + connectionType = MYSQL) + @ConnectionAwareSqlUpdate( + value = "UPDATE onboarding_backfill SET json=:json::jsonb WHERE configurationId=:id", + connectionType = POSTGRES) + void updateBackfill(@Bind("id") String id, @BindJson("json") String json); +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TaskRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TaskRepository.java index 94904ed9e2b4..722bf4c4db44 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TaskRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TaskRepository.java @@ -61,6 +61,7 @@ import org.openmetadata.service.events.lifecycle.handlers.IncidentTcrsSyncHandler; import org.openmetadata.service.exception.CatalogExceptionMessage; import org.openmetadata.service.exception.EntityNotFoundException; +import org.openmetadata.service.governance.onboarding.OnboardingTasks; import org.openmetadata.service.governance.workflows.WorkflowHandler; import org.openmetadata.service.jdbi3.CoreRelationshipDAOs.FieldRelationshipDAO.FieldRelationship; import org.openmetadata.service.resources.feeds.MessageParser; @@ -354,7 +355,7 @@ public void prepare(Task task, boolean update) { } if (!update) { - setDefaultAssigneesFromEntityOwners(task); + if (!OnboardingTasks.isManaged(task.getId())) setDefaultAssigneesFromEntityOwners(task); } TaskFieldValidator.validateAssignees(task.getAssignees()); TaskFieldValidator.validateReviewers(task.getReviewers()); @@ -1242,7 +1243,11 @@ public Task resolveTask(Task task, TaskResolution resolution, String updatedBy) task.setUpdatedBy(updatedBy); task.setUpdatedAt(System.currentTimeMillis()); - storeEntity(task, true); + daoCollection.useTransaction( + dao -> { + storeEntity(task, true); + OnboardingTasks.recordDecision(task, newStatus == TaskEntityStatus.Approved); + }); // storeEntity is the raw persistence path and deliberately skips the full // update pipeline. Invoke postUpdate explicitly so lifecycle hooks fire diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/IntakeFormMapper.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/IntakeFormMapper.java index 62d09eb15e9c..fd5421a774bd 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/IntakeFormMapper.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/IntakeFormMapper.java @@ -27,6 +27,7 @@ public IntakeForm createToEntity(CreateIntakeForm create, String user) { .withEnabled(create.getEnabled() == null ? Boolean.TRUE : create.getEnabled()) .withFormFields(create.getFormFields()) .withRequiredFields(create.getRequiredFields()) + .withOnboarding(create.getOnboarding()) .withFullyQualifiedName(create.getName()); IntakeFormUtil.synchronizeFields(intakeForm); return intakeForm; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/OnboardingResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/OnboardingResource.java new file mode 100644 index 000000000000..e486d219f51a --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/governance/OnboardingResource.java @@ -0,0 +1,141 @@ +package org.openmetadata.service.resources.governance; + +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.SecurityContext; +import java.util.UUID; +import org.openmetadata.schema.api.governance.EvaluateOnboarding; +import org.openmetadata.schema.api.governance.TransitionOnboarding; +import org.openmetadata.schema.governance.onboarding.OnboardingBackfill; +import org.openmetadata.schema.governance.onboarding.OnboardingBoard; +import org.openmetadata.schema.governance.onboarding.OnboardingProgress; +import org.openmetadata.schema.type.EntityReference; +import org.openmetadata.schema.type.MetadataOperation; +import org.openmetadata.service.governance.onboarding.OnboardingBackfillService; +import org.openmetadata.service.governance.onboarding.OnboardingBoardService; +import org.openmetadata.service.governance.onboarding.OnboardingEvaluator; +import org.openmetadata.service.governance.onboarding.OnboardingService; +import org.openmetadata.service.resources.Collection; +import org.openmetadata.service.security.AuthorizationException; +import org.openmetadata.service.security.Authorizer; +import org.openmetadata.service.security.policyevaluator.OperationContext; +import org.openmetadata.service.security.policyevaluator.ResourceContext; + +@Path("/v1/governance/onboarding") +@Tag(name = "Onboarding", description = "Guided governance onboarding and workflow-backed gates") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Collection(name = "onboarding", order = 9) +public class OnboardingResource { + private final Authorizer authorizer; + + public OnboardingResource(Authorizer authorizer) { + this.authorizer = authorizer; + } + + @POST + @Path("/evaluate") + public OnboardingProgress evaluate( + @Context SecurityContext context, @Valid EvaluateOnboarding request) { + String type = request.getEntityType().value(); + authorize(context, type, null, MetadataOperation.CREATE); + var form = OnboardingService.configured(type); + if (form == null) throw new NotFoundException("No enabled intake form for " + type); + var steps = OnboardingEvaluator.evaluate(form, request.getEntity(), request.getStage()); + var blockers = + steps.stream() + .filter(step -> step.getRequired() && !OnboardingEvaluator.isSatisfied(step)) + .map(step -> step.getStep().getId()) + .toList(); + return new OnboardingProgress() + .withConfigurationId(form.getId()) + .withConfigurationVersion(form.getVersion()) + .withStage(request.getStage()) + .withSteps(steps) + .withBlockingSteps(blockers) + .withCanAdvance(blockers.isEmpty()) + .withNextStatus(OnboardingEvaluator.nextStatus(request.getStage())); + } + + @GET + @Path("/{entityType}/{id}") + public OnboardingProgress get( + @Context SecurityContext context, + @PathParam("entityType") String type, + @PathParam("id") UUID id) { + authorize(context, type, id, MetadataOperation.VIEW_ALL); + return OnboardingService.get(type, id); + } + + @POST + @Path("/{entityType}/{id}/transition") + public OnboardingProgress transition( + @Context SecurityContext context, + @PathParam("entityType") String type, + @PathParam("id") UUID id, + @Valid TransitionOnboarding request) { + authorize(context, type, id, MetadataOperation.EDIT_ALL); + return OnboardingService.transition(type, id, request, context.getUserPrincipal().getName()); + } + + @GET + public OnboardingBoard list( + @Context SecurityContext context, + @QueryParam("entityType") String type, + @QueryParam("stage") String stage, + @QueryParam("domain") UUID domain, + @QueryParam("assignee") UUID assignee, + @QueryParam("after") String after, + @QueryParam("limit") @DefaultValue("25") @Min(1) @Max(100) int limit) { + return OnboardingBoardService.list( + new OnboardingBoardService.Filter(type, stage, domain, assignee), + after, + limit, + entity -> canView(context, entity)); + } + + @GET + @Path("/backfill/{entityType}") + public OnboardingBackfill backfill( + @Context SecurityContext context, @PathParam("entityType") String type) { + authorizer.authorizeAdmin(context); + return OnboardingBackfillService.get(type); + } + + @POST + @Path("/backfill/{entityType}/retry") + public OnboardingBackfill retryBackfill( + @Context SecurityContext context, @PathParam("entityType") String type) { + authorizer.authorizeAdmin(context); + return OnboardingBackfillService.retry(type); + } + + private void authorize( + SecurityContext context, String type, UUID id, MetadataOperation operation) { + OnboardingService.requireType(type); + authorizer.authorize( + context, new OperationContext(type, operation), new ResourceContext<>(type, id, null)); + } + + private boolean canView(SecurityContext context, EntityReference entity) { + try { + authorize(context, entity.getType(), entity.getId(), MetadataOperation.VIEW_ALL); + return true; + } catch (AuthorizationException denied) { + return false; + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskFormExecutionResolver.java b/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskFormExecutionResolver.java index 04517c127c0f..04828d464096 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskFormExecutionResolver.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskFormExecutionResolver.java @@ -23,6 +23,7 @@ import org.openmetadata.schema.type.TaskCategory; import org.openmetadata.schema.utils.JsonUtils; import org.openmetadata.service.Entity; +import org.openmetadata.service.governance.onboarding.OnboardingTasks; import org.openmetadata.service.jdbi3.TaskFormSchemaRepository; /** Resolves schema-driven task execution metadata from TaskFormSchema uiSchema bindings. */ @@ -104,6 +105,8 @@ public static TaskExecutionBinding resolve(Task task) { } public static TaskExecutionPlan resolveExecutionPlan(Task task) { + if (task != null && OnboardingTasks.isManaged(task.getId())) + return new TaskExecutionPlan(List.of(), List.of()); TaskExecutionPlan defaults = defaultExecutionPlan(task); if (task == null || task.getType() == null) { return defaults; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskWorkflowLifecycleResolver.java b/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskWorkflowLifecycleResolver.java index 78252fe0da8a..6ff22a7607be 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskWorkflowLifecycleResolver.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/tasks/TaskWorkflowLifecycleResolver.java @@ -38,6 +38,7 @@ import org.openmetadata.schema.type.TaskResolutionType; import org.openmetadata.schema.utils.JsonUtils; import org.openmetadata.service.Entity; +import org.openmetadata.service.governance.onboarding.OnboardingTasks; import org.openmetadata.service.jdbi3.TaskFormSchemaRepository; /** Resolves workflow lifecycle bindings for configurable task forms. */ @@ -124,6 +125,8 @@ public static Optional resolveSchema( } public static Optional resolveBinding(Task task) { + if (task != null && OnboardingTasks.isManaged(task.getId())) + return Optional.ofNullable(OnboardingTasks.workflowBinding(task)); if (task == null || task.getType() == null) { return Optional.empty(); } @@ -514,7 +517,9 @@ public static String defaultTransitionId(Task task, TaskResolutionType resolutio } public static Map buildWorkflowStartVariables(Task draftTask) { - return WorkflowStartVariables.of(draftTask).toVariables(); + var variables = WorkflowStartVariables.of(draftTask).toVariables(); + variables.putAll(OnboardingTasks.correlation(draftTask.getId())); + return variables; } /** diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormUtil.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormUtil.java index 0efa3c17ecf2..2f4b5e3a154c 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormUtil.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormUtil.java @@ -51,6 +51,16 @@ public static boolean removeCustomPropertyField(IntakeForm form, String property if (removed) { form.setFormFields(formFields); form.setRequiredFields(toRequiredFields(formFields)); + if (form.getOnboarding() != null) { + form.getOnboarding() + .getGates() + .forEach( + gate -> + gate.setSteps( + gate.getSteps().stream() + .filter(step -> !extensionPath.equals(step.getFieldPath())) + .toList())); + } } return removed; } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormValidator.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormValidator.java index 065209a30811..defc468e5319 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormValidator.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/IntakeFormValidator.java @@ -23,6 +23,8 @@ import org.openmetadata.schema.entity.governance.IntakeForm; import org.openmetadata.schema.entity.governance.IntakeFormField; import org.openmetadata.service.Entity; +import org.openmetadata.service.governance.onboarding.OnboardingEvaluator; +import org.openmetadata.service.governance.onboarding.OnboardingStore; import org.openmetadata.service.jdbi3.IntakeFormRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,7 +58,9 @@ private IntakeFormValidator() {} */ public static void validate(EntityInterface entity, String entityType) { IntakeForm form = loadIntakeForm(entityType); - if (form == null) return; + if (form == null + || (form.getOnboarding() != null && Boolean.TRUE.equals(form.getOnboarding().getEnabled())) + || OnboardingStore.find(entity.getId()) != null) return; List intakeMissing = checkIntakeFormRequiredFields(entity, form); if (!intakeMissing.isEmpty()) { @@ -109,7 +113,7 @@ private static boolean isFieldSet(EntityInterface entity, IntakeFormField field) private static boolean isNativeFieldSet(EntityInterface entity, String fieldName) { try { JsonNode node = MAPPER.valueToTree(entity); - return hasMeaningfulValue(node.get(fieldName)); + return hasMeaningfulValue(OnboardingEvaluator.valueAt(node, fieldName)); } catch (Exception e) { LOG.debug("Could not resolve native field '{}' on entity: {}", fieldName, e.getMessage()); return false; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonPatchUtils.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonPatchUtils.java index 80720eb10771..2532113eef41 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonPatchUtils.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonPatchUtils.java @@ -37,6 +37,8 @@ @Slf4j public class JsonPatchUtils { + private static final String VERSION_PATH = "/version"; + private static final String TEST_OPERATION = "test"; private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private JsonPatchUtils() {} @@ -165,9 +167,11 @@ public static MetadataOperation getMetadataOperation(Object jsonPatchObject) { public static MetadataOperation getMetadataOperation( Object jsonPatchObject, String resourceType) { String path; + String operation; // Handle jakarta JSON patch objects efficiently if (jsonPatchObject instanceof JsonObject jsonPatchObj) { + operation = jsonPatchObj.getString("op", ""); JsonValue pathValue = jsonPatchObj.get("path"); if (pathValue instanceof JsonString) { path = ((JsonString) pathValue).getString(); @@ -178,9 +182,13 @@ public static MetadataOperation getMetadataOperation( // Fallback for other object types Map jsonPatchMap = JsonUtils.getMap(jsonPatchObject); path = jsonPatchMap.get("path").toString(); + operation = String.valueOf(jsonPatchMap.get("op")); } - return getMetadataOperation(path, resourceType); + // A version precondition does not edit metadata, but PATCH still returns the asset. + return VERSION_PATH.equals(path) && TEST_OPERATION.equals(operation) + ? MetadataOperation.VIEW_ALL + : getMetadataOperation(path, resourceType); } public static MetadataOperation getMetadataOperation(String path) { diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluatorTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluatorTest.java new file mode 100644 index 000000000000..91a545eff2a8 --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingEvaluatorTest.java @@ -0,0 +1,101 @@ +package org.openmetadata.service.governance.onboarding; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.Map; +import org.junit.jupiter.api.Test; +import org.openmetadata.schema.entity.governance.IntakeForm; +import org.openmetadata.schema.governance.onboarding.OnboardingStage; +import org.openmetadata.schema.utils.JsonUtils; + +class OnboardingEvaluatorTest { + private static final IntakeForm FORM = + JsonUtils.readValue( + """ + {"name":"metric","entityType":"metric","enabled":true, + "formFields":[{"fieldPath":"displayName","fieldLabel":"Display name","fieldKind":"native","required":true}, + {"fieldPath":"extension.purpose","fieldLabel":"Purpose","fieldKind":"customProperty","required":true}], + "onboarding":{"enabled":true,"gates":[{"stage":"Draft","steps":[ + {"id":"purpose","type":"field","fieldPath":"extension.purpose","rules":{"minLength":10}} + ]}]}} + """, + IntakeForm.class); + + @Test + void creationDoesNotRequireFieldsScheduledForDraft() { + var results = + OnboardingEvaluator.evaluate( + FORM, Map.of("name", "orders", "displayName", "Orders"), OnboardingStage.CREATION); + assertTrue(results.stream().allMatch(OnboardingEvaluator::isSatisfied)); + } + + @Test + void draftGateEvaluatesTheStoredCustomPropertyRule() { + var missing = + OnboardingEvaluator.evaluate(FORM, Map.of("displayName", "Orders"), OnboardingStage.DRAFT); + assertTrue( + missing.stream() + .anyMatch(result -> result.getRequired() && !OnboardingEvaluator.isSatisfied(result))); + var complete = + OnboardingEvaluator.evaluate( + FORM, + Map.of( + "displayName", + "Orders", + "extension", + Map.of("purpose", "Measures fulfilled orders")), + OnboardingStage.DRAFT); + assertTrue(complete.stream().allMatch(OnboardingEvaluator::isSatisfied)); + } + + @Test + void zeroAndFalseAreMeaningfulValues() { + assertTrue(OnboardingEvaluator.hasValue(JsonUtils.valueToTree(0))); + assertTrue(OnboardingEvaluator.hasValue(JsonUtils.valueToTree(false))); + assertFalse(OnboardingEvaluator.hasValue(JsonUtils.valueToTree(" "))); + assertFalse(OnboardingEvaluator.hasValue(JsonUtils.valueToTree(List.of()))); + } + + @Test + void absentStepAssignmentDefaultsToCreation() { + var results = OnboardingEvaluator.evaluate(FORM, Map.of(), OnboardingStage.CREATION); + assertEquals(2, results.size()); + assertEquals("displayName", results.getFirst().getStep().getFieldPath()); + assertFalse(OnboardingEvaluator.isSatisfied(results.getFirst())); + } + + @Test + void conditionsMatchHydratedTagsDomainsAndTypedCustomValues() { + var entity = + JsonUtils.valueToTree( + Map.of( + "tags", + List.of(Map.of("tagFQN", "PII.Sensitive")), + "domains", + List.of(Map.of("id", "domain-id", "fullyQualifiedName", "Finance")), + "extension", + Map.of("regulated", false))); + for (String condition : + List.of( + "{\"fieldPath\":\"tags\",\"operator\":\"contains\",\"value\":\"PII.Sensitive\"}", + "{\"fieldPath\":\"domains\",\"operator\":\"contains\",\"value\":\"domain-id\"}", + "{\"fieldPath\":\"domains\",\"operator\":\"contains\",\"value\":\"Finance\"}", + "{\"fieldPath\":\"extension.regulated\",\"operator\":\"equals\",\"value\":false}")) { + assertTrue( + OnboardingEvaluator.matches( + entity, + JsonUtils.readValue( + condition, + org.openmetadata.schema.governance.onboarding.OnboardingCondition.class))); + } + assertFalse( + OnboardingEvaluator.matches( + entity, + JsonUtils.readValue( + "{\"fieldPath\":\"domains\",\"operator\":\"contains\",\"value\":\"Marketing\"}", + org.openmetadata.schema.governance.onboarding.OnboardingCondition.class))); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingTasksTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingTasksTest.java new file mode 100644 index 000000000000..47b16dcf670d --- /dev/null +++ b/openmetadata-service/src/test/java/org/openmetadata/service/governance/onboarding/OnboardingTasksTest.java @@ -0,0 +1,56 @@ +package org.openmetadata.service.governance.onboarding; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import java.util.List; +import java.util.Map; +import java.util.UUID; +import org.junit.jupiter.api.Test; +import org.openmetadata.schema.api.governance.CreateIntakeForm.TargetEntityType; +import org.openmetadata.schema.entity.data.Metric; +import org.openmetadata.schema.entity.governance.IntakeForm; +import org.openmetadata.schema.entity.governance.IntakeFormField; +import org.openmetadata.schema.governance.onboarding.OnboardingConfiguration; +import org.openmetadata.schema.governance.onboarding.OnboardingInstance; +import org.openmetadata.schema.type.EntityReference; + +class OnboardingTasksTest { + @Test + void changingOrderedCustomValuesInvalidatesTheReviewedSnapshot() { + var instance = instance(); + var metric = + new Metric().withName("metric").withExtension(Map.of("sequence", List.of("from", "to"))); + String reviewed = OnboardingTasks.fingerprint(instance, metric); + metric.setExtension(Map.of("sequence", List.of("to", "from"))); + assertNotEquals(reviewed, OnboardingTasks.fingerprint(instance, metric)); + } + + @Test + void relationshipHydrationAndOrderDoNotInvalidateTheReviewedSnapshot() { + var first = new EntityReference().withId(UUID.randomUUID()).withType("user").withName("first"); + var second = + new EntityReference().withId(UUID.randomUUID()).withType("team").withName("second"); + var instance = instance(); + var metric = new Metric().withName("metric").withOwners(List.of(first, second)); + String reviewed = OnboardingTasks.fingerprint(instance, metric); + first.setDisplayName("A new display name"); + metric.setOwners(List.of(second, first)); + assertEquals(reviewed, OnboardingTasks.fingerprint(instance, metric)); + } + + private OnboardingInstance instance() { + return new OnboardingInstance() + .withEntity(new EntityReference().withId(UUID.randomUUID()).withType("metric")) + .withConfiguration( + new IntakeForm() + .withEntityType(TargetEntityType.METRIC) + .withFormFields( + List.of( + new IntakeFormField() + .withFieldPath("extension.sequence") + .withFieldKind(IntakeFormField.FieldKind.CUSTOM_PROPERTY))) + .withOnboarding( + new OnboardingConfiguration().withEnabled(true).withGates(List.of()))); + } +} diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/util/JsonPatchUtilsTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/util/JsonPatchUtilsTest.java index e892e6e86623..b83b2426a721 100644 --- a/openmetadata-service/src/test/java/org/openmetadata/service/util/JsonPatchUtilsTest.java +++ b/openmetadata-service/src/test/java/org/openmetadata/service/util/JsonPatchUtilsTest.java @@ -69,6 +69,34 @@ public void setup() { when(resourceContextMock.getEntity()).thenReturn(originalTable); } + @Test + void versionPreconditionsRequireReadPermissionAlongsideTheEditedField() { + JsonPatch patch = + Json.createPatchBuilder() + .test("/version", Json.createValue(0.1)) + .add("/displayName", "Reviewed name") + .build(); + assertEquals( + Set.of(MetadataOperation.VIEW_ALL, MetadataOperation.EDIT_DISPLAY_NAME), + JsonPatchUtils.getMetadataOperations(resourceContextMock, patch)); + assertEquals( + MetadataOperation.EDIT_ALL, + JsonPatchUtils.getMetadataOperation( + Json.createObjectBuilder() + .add("op", "replace") + .add("path", "/version") + .add("value", 1) + .build())); + assertEquals( + MetadataOperation.EDIT_ALL, + JsonPatchUtils.getMetadataOperation( + Json.createObjectBuilder() + .add("op", "test") + .add("path", "/unknown") + .add("value", 1) + .build())); + } + @Test void testGetMetadataOperation() { Object[][] patchPathToOperations = { diff --git a/openmetadata-spec/src/main/resources/json/schema/api/governance/createIntakeForm.json b/openmetadata-spec/src/main/resources/json/schema/api/governance/createIntakeForm.json index 416d33b8d29a..ef8b1e52e105 100644 --- a/openmetadata-spec/src/main/resources/json/schema/api/governance/createIntakeForm.json +++ b/openmetadata-spec/src/main/resources/json/schema/api/governance/createIntakeForm.json @@ -5,7 +5,9 @@ "description": "Create IntakeForm API request.", "type": "object", "javaType": "org.openmetadata.schema.api.governance.CreateIntakeForm", - "javaInterfaces": ["org.openmetadata.schema.CreateEntity"], + "javaInterfaces": [ + "org.openmetadata.schema.CreateEntity" + ], "properties": { "name": { "description": "Unique name of the IntakeForm.", @@ -50,8 +52,14 @@ "description": "Owners of this IntakeForm configuration.", "$ref": "../../type/entityReferenceList.json", "default": null + }, + "onboarding": { + "$ref": "../../governance/onboarding/onboardingConfiguration.json" } }, - "required": ["name", "entityType"], + "required": [ + "name", + "entityType" + ], "additionalProperties": false } diff --git a/openmetadata-spec/src/main/resources/json/schema/api/governance/evaluateOnboarding.json b/openmetadata-spec/src/main/resources/json/schema/api/governance/evaluateOnboarding.json new file mode 100644 index 000000000000..c28d3082ecbc --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/api/governance/evaluateOnboarding.json @@ -0,0 +1,25 @@ +{ + "$id": "https://open-metadata.org/schema/api/governance/evaluateOnboarding.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "evaluateOnboarding", + "javaType": "org.openmetadata.schema.api.governance.EvaluateOnboarding", + "type": "object", + "properties": { + "entityType": { + "$ref": "../../governance/intakeForm.json#/definitions/targetEntityType" + }, + "entity": { + "type": "object", + "existingJavaType": "java.util.Map" + }, + "stage": { + "$ref": "../../governance/onboarding/onboardingStage.json" + } + }, + "required": [ + "entityType", + "entity", + "stage" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/api/governance/transitionOnboarding.json b/openmetadata-spec/src/main/resources/json/schema/api/governance/transitionOnboarding.json new file mode 100644 index 000000000000..bc4a82b21576 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/api/governance/transitionOnboarding.json @@ -0,0 +1,24 @@ +{ + "$id": "https://open-metadata.org/schema/api/governance/transitionOnboarding.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "transitionOnboarding", + "javaType": "org.openmetadata.schema.api.governance.TransitionOnboarding", + "type": "object", + "properties": { + "targetStatus": { + "$ref": "../../type/status.json" + }, + "expectedVersion": { + "type": "number" + }, + "retry": { + "type": "boolean", + "default": false + } + }, + "required": [ + "targetStatus", + "expectedVersion" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/intakeForm.json b/openmetadata-spec/src/main/resources/json/schema/governance/intakeForm.json index 550cb52a6be4..acfbf35acda2 100644 --- a/openmetadata-spec/src/main/resources/json/schema/governance/intakeForm.json +++ b/openmetadata-spec/src/main/resources/json/schema/governance/intakeForm.json @@ -2,21 +2,31 @@ "$id": "https://open-metadata.org/schema/governance/intakeForm.json", "$schema": "http://json-schema.org/draft-07/schema#", "title": "IntakeForm", - "description": "An IntakeForm declares the fields shown when creating or updating a governance entity (Data Product, Domain, Glossary Term) and which of those fields are required. Required fields are enforced identically at the API and UI layers so both contracts match.", + "description": "One intake and onboarding configuration per governance entity type. Field requirements are shared by creation forms and lifecycle gates.", "$comment": "@om-entity-type", "type": "object", "javaType": "org.openmetadata.schema.entity.governance.IntakeForm", - "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], + "javaInterfaces": [ + "org.openmetadata.schema.EntityInterface" + ], "definitions": { "targetEntityType": { "description": "Entity types supported by IntakeForm today.", "type": "string", - "enum": ["dataProduct", "domain", "glossaryTerm"] + "enum": [ + "dataProduct", + "domain", + "glossaryTerm", + "metric" + ] }, "fieldKind": { "description": "Whether a required field refers to a native entity attribute or a custom property defined via the Type system.", "type": "string", - "enum": ["native", "customProperty"] + "enum": [ + "native", + "customProperty" + ] }, "requiredField": { "description": "A single field declared as required by this IntakeForm.", @@ -39,7 +49,11 @@ "type": "string" } }, - "required": ["fieldPath", "fieldLabel", "fieldKind"], + "required": [ + "fieldPath", + "fieldLabel", + "fieldKind" + ], "additionalProperties": false }, "intakeFormField": { @@ -58,7 +72,10 @@ "fieldKind": { "description": "Whether a form field refers to a native entity attribute or a custom property defined via the Type system.", "type": "string", - "enum": ["native", "customProperty"] + "enum": [ + "native", + "customProperty" + ] }, "required": { "description": "Whether this field must have a value before the entity can be created or updated.", @@ -68,9 +85,18 @@ "errorMessage": { "description": "Optional override for the validation error message when a required field is missing.", "type": "string" + }, + "recommended": { + "type": "boolean", + "description": "An optional field recommended for onboarding.", + "default": false } }, - "required": ["fieldPath", "fieldLabel", "fieldKind"], + "required": [ + "fieldPath", + "fieldLabel", + "fieldKind" + ], "additionalProperties": false } }, @@ -154,8 +180,15 @@ "description": "When `true` indicates the entity has been soft deleted.", "type": "boolean", "default": false + }, + "onboarding": { + "$ref": "./onboarding/onboardingConfiguration.json" } }, - "required": ["id", "name", "entityType"], + "required": [ + "id", + "name", + "entityType" + ], "additionalProperties": false } diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingAssignment.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingAssignment.json new file mode 100644 index 000000000000..62ac67dac99b --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingAssignment.json @@ -0,0 +1,29 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingAssignment.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingAssignment", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingAssignment", + "type": "object", + "properties": { + "role": { + "type": "string", + "enum": [ + "creator", + "owners", + "experts", + "domainOwners", + "explicit" + ], + "default": "creator" + }, + "assignees": { + "type": "array", + "items": { + "$ref": "../../type/entityReference.json" + }, + "default": [] + } + }, + "required": [], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBackfill.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBackfill.json new file mode 100644 index 000000000000..82d634dcf29d --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBackfill.json @@ -0,0 +1,56 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingBackfill.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingBackfill", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingBackfill", + "type": "object", + "properties": { + "configurationId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "configurationVersion": { + "type": "number" + }, + "cursor": { + "type": "string" + }, + "complete": { + "type": "boolean", + "default": false + }, + "scanned": { + "type": "integer", + "existingJavaType": "java.lang.Long", + "default": 0 + }, + "enrolled": { + "type": "integer", + "existingJavaType": "java.lang.Long", + "default": 0 + }, + "failures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entity": { + "$ref": "../../type/entityReference.json" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "additionalProperties": false + }, + "default": [] + } + }, + "required": [ + "configurationId", + "complete" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBoard.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBoard.json new file mode 100644 index 000000000000..c8b28f6d3b34 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingBoard.json @@ -0,0 +1,23 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingBoard.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingBoard", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingBoard", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "./onboardingProgress.json" + }, + "default": [] + }, + "after": { + "type": "string" + } + }, + "required": [ + "data" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingCondition.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingCondition.json new file mode 100644 index 000000000000..7860e44de2c5 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingCondition.json @@ -0,0 +1,30 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingCondition.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingCondition", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingCondition", + "type": "object", + "properties": { + "fieldPath": { + "type": "string", + "description": "Native or extension field to test." + }, + "operator": { + "type": "string", + "enum": [ + "present", + "equals", + "contains" + ] + }, + "value": { + "description": "Value compared using the selected operator.", + "existingJavaType": "java.lang.Object" + } + }, + "required": [ + "fieldPath", + "operator" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingConfiguration.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingConfiguration.json new file mode 100644 index 000000000000..fbc1db43654a --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingConfiguration.json @@ -0,0 +1,23 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingConfiguration.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingConfiguration", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingConfiguration", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "gates": { + "type": "array", + "items": { + "$ref": "./onboardingGate.json" + }, + "default": [], + "maxItems": 5 + } + }, + "required": [], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingGate.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingGate.json new file mode 100644 index 000000000000..b310d99c5808 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingGate.json @@ -0,0 +1,25 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingGate.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingGate", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingGate", + "type": "object", + "properties": { + "stage": { + "$ref": "./onboardingStage.json" + }, + "steps": { + "type": "array", + "items": { + "$ref": "./onboardingStep.json" + }, + "default": [], + "maxItems": 100 + } + }, + "required": [ + "stage", + "steps" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingInstance.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingInstance.json new file mode 100644 index 000000000000..57ffcbc1a7b7 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingInstance.json @@ -0,0 +1,68 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingInstance.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingInstance", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingInstance", + "type": "object", + "properties": { + "id": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "entity": { + "$ref": "../../type/entityReference.json" + }, + "configuration": { + "$ref": "../intakeForm.json" + }, + "creator": { + "$ref": "../../type/entityReference.json" + }, + "stage": { + "$ref": "./onboardingStage.json" + }, + "enteredAt": { + "type": "integer", + "existingJavaType": "java.lang.Long" + }, + "revision": { + "type": "integer", + "existingJavaType": "java.lang.Long", + "default": 0 + }, + "bindings": { + "type": "array", + "items": { + "$ref": "./onboardingTaskBinding.json" + }, + "default": [] + }, + "steps": { + "type": "array", + "items": { + "$ref": "./onboardingStepResult.json" + }, + "default": [] + }, + "stageHistory": { + "type": "array", + "items": { + "$ref": "./onboardingStageTiming.json" + }, + "default": [] + }, + "creationCompleted": { + "description": "Creation checks passed when enrolled or after revising a backfilled asset.", + "type": "boolean", + "default": false + } + }, + "required": [ + "id", + "entity", + "configuration", + "stage", + "enteredAt", + "revision" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingProgress.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingProgress.json new file mode 100644 index 000000000000..107f97d9a814 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingProgress.json @@ -0,0 +1,68 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingProgress.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingProgress", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingProgress", + "type": "object", + "properties": { + "entity": { + "$ref": "../../type/entityReference.json" + }, + "entityVersion": { + "type": "number" + }, + "configurationId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "configurationVersion": { + "type": "number" + }, + "stage": { + "$ref": "./onboardingStage.json" + }, + "enteredAt": { + "type": "integer", + "existingJavaType": "java.lang.Long" + }, + "steps": { + "type": "array", + "items": { + "$ref": "./onboardingStepResult.json" + }, + "default": [] + }, + "blockingSteps": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "nextStatus": { + "$ref": "../../type/status.json" + }, + "canAdvance": { + "type": "boolean" + }, + "completed": { + "type": "boolean" + }, + "paused": { + "type": "boolean" + }, + "domains": { + "type": "array", + "items": { + "$ref": "../../type/entityReference.json" + }, + "default": [] + } + }, + "required": [ + "stage", + "steps", + "blockingSteps", + "canAdvance" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingRules.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingRules.json new file mode 100644 index 000000000000..cec858837fca --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingRules.json @@ -0,0 +1,19 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingRules.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingRules", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingRules", + "type": "object", + "properties": { + "minLength": { + "type": "integer", + "minimum": 1 + }, + "minItems": { + "type": "integer", + "minimum": 1 + } + }, + "required": [], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStage.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStage.json new file mode 100644 index 000000000000..b50525dfd9c2 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStage.json @@ -0,0 +1,14 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingStage.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingStage", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingStage", + "type": "string", + "enum": [ + "Creation", + "Draft", + "In Review", + "Approved", + "Deprecated" + ] +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStageTiming.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStageTiming.json new file mode 100644 index 000000000000..100a372d4c8d --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStageTiming.json @@ -0,0 +1,26 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingStageTiming.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingStageTiming", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingStageTiming", + "type": "object", + "properties": { + "stage": { + "$ref": "./onboardingStage.json" + }, + "enteredAt": { + "type": "integer", + "existingJavaType": "java.lang.Long" + }, + "exitedAt": { + "type": "integer", + "existingJavaType": "java.lang.Long" + } + }, + "required": [ + "stage", + "enteredAt", + "exitedAt" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStep.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStep.json new file mode 100644 index 000000000000..758ab385ad1a --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStep.json @@ -0,0 +1,55 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingStep.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingStep", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingStep", + "type": "object", + "properties": { + "id": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9_-]+$" + }, + "title": { + "type": "string", + "description": "Step display name." + }, + "type": { + "type": "string", + "enum": [ + "field", + "approval" + ] + }, + "fieldPath": { + "type": "string", + "description": "Reference to formFields; requiredness is defined there." + }, + "workflow": { + "$ref": "../../type/entityReference.json" + }, + "assignment": { + "$ref": "./onboardingAssignment.json" + }, + "conditions": { + "type": "array", + "items": { + "$ref": "./onboardingCondition.json" + }, + "default": [] + }, + "guidance": { + "type": "string", + "description": "Instructions for the person completing this step." + }, + "rules": { + "$ref": "./onboardingRules.json" + } + }, + "required": [ + "id", + "type" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStepResult.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStepResult.json new file mode 100644 index 000000000000..736ce01090df --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingStepResult.json @@ -0,0 +1,56 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingStepResult.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingStepResult", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingStepResult", + "type": "object", + "properties": { + "step": { + "$ref": "./onboardingStep.json" + }, + "field": { + "$ref": "../intakeForm.json#/definitions/intakeFormField" + }, + "required": { + "type": "boolean", + "default": false + }, + "state": { + "type": "string", + "enum": [ + "Pending", + "Complete", + "NotApplicable", + "Blocked", + "Rejected", + "Failed" + ] + }, + "message": { + "type": "string", + "description": "Explanation of an incomplete check." + }, + "assignees": { + "type": "array", + "items": { + "$ref": "../../type/entityReference.json" + }, + "default": [] + }, + "taskId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "workflowInstanceId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "stage": { + "$ref": "./onboardingStage.json" + } + }, + "required": [ + "step", + "required", + "state" + ], + "additionalProperties": false +} diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingTaskBinding.json b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingTaskBinding.json new file mode 100644 index 000000000000..e507d1f8b9e8 --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/governance/onboarding/onboardingTaskBinding.json @@ -0,0 +1,43 @@ +{ + "$id": "https://open-metadata.org/schema/governance/onboarding/onboardingTaskBinding.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "OnboardingTaskBinding", + "javaType": "org.openmetadata.schema.governance.onboarding.OnboardingTaskBinding", + "type": "object", + "properties": { + "stepId": { + "type": "string", + "description": "Stable step identifier." + }, + "taskId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "attempt": { + "type": "integer", + "minimum": 1 + }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of metadata covered by the approval." + }, + "workflowDefinitionId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "workflowInstanceId": { + "$ref": "../../type/basic.json#/definitions/uuid" + }, + "approved": { + "type": "boolean" + }, + "decidedAt": { + "type": "integer", + "existingJavaType": "java.lang.Long" + } + }, + "required": [ + "stepId", + "taskId", + "attempt" + ], + "additionalProperties": false +} diff --git a/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-circles.tsx b/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-circles.tsx index 356fca9aebe1..bf4bcf2974bc 100644 --- a/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-circles.tsx +++ b/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-circles.tsx @@ -1,6 +1,21 @@ +/* + * Copyright 2025 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { AriaAttributes } from 'react'; import { cx as clx, sortCx } from '@/utils/cx'; -interface ProgressBarProps { +interface ProgressBarProps + extends Pick { value: number; min?: number; max?: number; @@ -52,6 +67,8 @@ const sizes = sortCx({ export const ProgressBarCircle = ({ value, + 'aria-label': ariaLabel, + 'aria-labelledby': ariaLabelledBy, min = 0, max = 100, size, @@ -77,6 +94,8 @@ export const ProgressBarCircle = ({ return (
{ + it('exposes the name and count of a labelled progress bar', () => { + render( + <> + Required checks + + + ); + const progress = screen.getByRole('progressbar', { + name: 'Required checks', + }); + expect(progress).toHaveAttribute('aria-valuenow', '2'); + expect(progress).toHaveAttribute('aria-valuemax', '3'); + }); + it('uses the circle label as its accessible name', () => { + render( + + ); + expect( + screen.getByRole('progressbar', { name: 'Your checks' }) + ).toHaveAttribute('aria-valuenow', '1'); + }); +}); diff --git a/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-indicators.tsx b/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-indicators.tsx index 5e99dd45911e..4bc538433afd 100644 --- a/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-indicators.tsx +++ b/openmetadata-ui-core-components/src/main/resources/ui/src/components/base/progress-indicators/progress-indicators.tsx @@ -1,6 +1,21 @@ +/* + * Copyright 2025 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { AriaAttributes } from 'react'; import { cx } from '@/utils/cx'; -export interface ProgressBarProps { +export interface ProgressBarProps + extends Pick { /** * The current value of the progress bar. */ @@ -38,6 +53,8 @@ export interface ProgressBarProps { */ export const ProgressBarBase = ({ value, + 'aria-label': ariaLabel, + 'aria-labelledby': ariaLabelledBy, min = 0, max = 100, className, @@ -47,6 +64,8 @@ export const ProgressBarBase = ({ return (
) => + fields.filter((field) => field.fieldPath.startsWith('extension.')); +const setRequirement = async ( + page: Page, + property: string, + requirement: 'Required' | 'Optional' +) => { + const check = page.getByTestId(`onboarding-field-extension.${property}`); + await check.getByRole('button').filter({ hasText: property }).click(); + await page + .getByTestId('onboarding-check-settings') + .getByRole('button', { name: / Requirement$/ }) + .click(); + await page.getByRole('option', { name: requirement, exact: true }).click(); +}; // ----------------------------------------------------------------------------- // API helpers — set up / tear down IntakeForms and custom properties directly, @@ -323,7 +338,7 @@ test.describe( await waitForAllLoadersToDisappear(page); await expect( - page.getByRole('heading', { name: 'Intake Forms' }) + page.getByRole('heading', { name: 'Onboarding & Intake Forms' }) ).toBeVisible(); await expect(page.getByTestId('add-intake-form')).toBeVisible(); }); @@ -351,17 +366,28 @@ test.describe( page.getByTestId('intake-form-designer-modal') ).toBeVisible(); await expect( - page.getByRole('alert').filter({ hasText: /only one intake form/i }) + page.getByTestId('onboarding-stage-Creation') ).toBeVisible(); }); await test.step('Include three custom properties and require one; save', async () => { for (const propertyName of scenario.customPropertyNames) { - await page.getByTestId(`include-extension.${propertyName}`).click(); + await page + .getByTestId('intake-form-designer-modal') + .getByRole('button', { name: / Field$/ }) + .click(); + await page + .getByRole('option', { name: propertyName, exact: true }) + .click(); + await page + .getByRole('button', { name: 'Add field', exact: true }) + .click(); } - await page - .getByTestId(`require-extension.${scenario.customPropertyNames[0]}`) - .click(); + await setRequirement( + page, + scenario.customPropertyNames[0], + 'Required' + ); const createResponse = page.waitForResponse( (response) => @@ -383,14 +409,16 @@ test.describe( ) ) ); - expect(body.formFields).toHaveLength(3); - expect(body.requiredFields).toHaveLength(1); + expect(customFields(body.formFields)).toHaveLength(3); + expect(customFields(body.requiredFields)).toHaveLength(1); await waitForAllLoadersToDisappear(page); }); await test.step('New row renders in the list', async () => { - await expect(page.getByText(scenario.label).first()).toBeVisible(); + await expect( + page.getByTestId(`edit-${scenario.entityType}`) + ).toBeVisible(); for (const propertyName of scenario.customPropertyNames) { await expect( page.getByText(`extension.${propertyName}`) @@ -439,7 +467,7 @@ test.describe( await page.getByTestId(`edit-${scenario.entityType}`).click(); await expect( page.getByTestId( - `include-extension.${scenario.customPropertyNames[0]}` + `onboarding-field-extension.${scenario.customPropertyNames[0]}` ) ).toBeVisible(); }; @@ -466,11 +494,14 @@ test.describe( await test.step('Removing an included optional field preserves the required field', async () => { await openDesigner(); await page - .getByTestId(`include-extension.${scenario.customPropertyNames[1]}`) + .getByTestId( + `onboarding-field-extension.${scenario.customPropertyNames[1]}` + ) + .getByRole('button', { name: 'Remove', exact: true }) .click(); const body = await submitUpdate(); - expect(body.formFields).toHaveLength(2); - expect(body.requiredFields).toHaveLength(1); + expect(customFields(body.formFields)).toHaveLength(2); + expect(customFields(body.requiredFields)).toHaveLength(1); expect(body.formFields).not.toEqual( expect.arrayContaining([ expect.objectContaining({ @@ -482,9 +513,11 @@ test.describe( await test.step('Clearing Required keeps the field included and makes it optional', async () => { await openDesigner(); - await page - .getByTestId(`require-extension.${scenario.customPropertyNames[0]}`) - .click(); + await setRequirement( + page, + scenario.customPropertyNames[0], + 'Optional' + ); const body = await submitUpdate(); expect(body.formFields).toEqual( expect.arrayContaining([ @@ -494,26 +527,31 @@ test.describe( }), ]) ); - expect(body.formFields).toHaveLength(2); - expect(body.requiredFields).toHaveLength(0); + expect(customFields(body.formFields)).toHaveLength(2); + expect(customFields(body.requiredFields)).toHaveLength(0); }); await test.step('Removing an included required field clears both states', async () => { await openDesigner(); + await setRequirement( + page, + scenario.customPropertyNames[0], + 'Required' + ); await page - .getByTestId(`require-extension.${scenario.customPropertyNames[0]}`) - .click(); - await page - .getByTestId(`include-extension.${scenario.customPropertyNames[0]}`) + .getByTestId( + `onboarding-field-extension.${scenario.customPropertyNames[0]}` + ) + .getByRole('button', { name: 'Remove', exact: true }) .click(); const body = await submitUpdate(); - expect(body.formFields).toEqual([ + expect(customFields(body.formFields)).toEqual([ expect.objectContaining({ fieldPath: `extension.${scenario.customPropertyNames[2]}`, required: false, }), ]); - expect(body.requiredFields).toHaveLength(0); + expect(customFields(body.requiredFields)).toHaveLength(0); }); }); } @@ -623,29 +661,27 @@ test.describe( .first() .fill('Playwright product without a Type — client-side should block'); - // Save should not fire a POST because Antd form validation fails on - // the required `dataProductType` field. We verify by racing a POST - // listener against a short grace window via page.waitForResponse - // with a timeout — no POST within the window = client blocked. - let postFired = false; - const postListener = (r: import('@playwright/test').Response) => { + const requests: string[] = []; + const recordCreate = (request: import('@playwright/test').Request) => { if ( - r.url().endsWith('/api/v1/dataProducts') && - r.request().method() === 'POST' - ) { - postFired = true; - } + request.url().endsWith('/api/v1/dataProducts') && + request.method() === 'POST' + ) + requests.push(request.url()); }; - page.on('response', postListener); - await clickDrawerSave(page); - - // Poll for up to 3s and confirm no POST ever fires. We intentionally - // avoid `page.waitForTimeout` (linted as flaky) and instead use - // toPass, which re-runs until it succeeds or times out. - await expect(async () => { - expect(postFired).toBe(false); - }).toPass({ timeout: 3000, intervals: [300] }); - page.off('response', postListener); + page.on('request', recordCreate); + try { + await clickDrawerSave(page); + await expect( + page + .getByTestId('add-domain-form') + .getByText('Data Product Type is required', { exact: true }) + ).toBeVisible(); + await expect(page.getByTestId('add-domain-form')).toBeVisible(); + expect(requests).toEqual([]); + } finally { + page.off('request', recordCreate); + } }); await test.step('Backend also rejects with 400 when called directly', async () => { @@ -862,7 +898,9 @@ test.describe( await expect(disabledItem).toHaveAttribute('aria-disabled', 'true'); }); - test('designer does not list schema-required fields', async ({ page }) => { + test('designer keeps schema-required fields fixed at Creation', async ({ + page, + }) => { await redirectToHomePage(page); await page.goto(INTAKE_FORMS_URL); await waitForAllLoadersToDisappear(page); @@ -877,16 +915,35 @@ test.describe( page.getByTestId('intake-form-designer-modal') ).toBeVisible(); - // Schema-required fields must NOT be toggleable from the intake form - // designer — they are intrinsic and always enforced. - await expect(page.getByTestId('require-name')).toHaveCount(0); - await expect(page.getByTestId('require-description')).toHaveCount(0); - await expect(page.getByTestId('require-domains')).toHaveCount(0); - - // Some optional native fields SHOULD be offered - await expect(page.getByTestId('require-dataProductType')).toBeVisible(); - await expect(page.getByTestId('require-displayName')).toBeVisible(); - await expect(page.getByTestId('require-visibility')).toBeVisible(); + for (const field of ['name', 'description', 'domains']) { + const row = page.getByTestId(`onboarding-field-${field}`); + await expect(row).toBeVisible(); + await expect( + row.getByRole('button', { name: 'Remove', exact: true }) + ).toBeDisabled(); + } + await page + .getByTestId('onboarding-field-name') + .getByRole('button', { name: /^\d+\. Name$/ }) + .click(); + await expect( + page + .getByTestId('onboarding-check-settings') + .getByRole('button', { name: / Requirement$/ }) + ).toBeDisabled(); + await page + .getByTestId('intake-form-designer-modal') + .getByRole('button', { name: / Field$/ }) + .click(); + await expect( + page.getByRole('option', { name: 'Data Product Type', exact: true }) + ).toBeVisible(); + await expect( + page.getByRole('option', { name: 'Display Name', exact: true }) + ).toBeVisible(); + await expect( + page.getByRole('option', { name: 'Visibility', exact: true }) + ).toBeVisible(); }); for (const scenario of designerScenarios) { @@ -1303,7 +1360,10 @@ test.describe( response.request().method() === 'GET' ); await page.getByTestId('domain-details-add-button').click(); - await page.getByRole('menuitem', { name: 'Data Products' }).click(); + await page + .locator('.ant-dropdown-menu') + .getByRole('menuitem', { name: 'Data Products', exact: true }) + .click(); await intakeFetch; await expect(page.getByTestId('add-domain-form')).toBeVisible(); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Onboarding.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Onboarding.spec.ts new file mode 100644 index 000000000000..f600c8987334 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Onboarding.spec.ts @@ -0,0 +1,533 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { APIRequestContext, Page } from '@playwright/test'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect, test } from '../../support/fixtures/base'; +import { UserClass } from '../../support/user/UserClass'; +import { + authenticateAdminPage, + createAdminApiContext, +} from '../../utils/admin'; +import { uuid } from '../../utils/common'; +import { waitForAllLoadersToDisappear } from '../../utils/entity'; +import { + createOnboardingAssetThroughUI, + ONBOARDING_TYPES, +} from '../../utils/onboarding'; + +interface Asset { + id: string; + name: string; + fullyQualifiedName: string; +} +const TYPES = ONBOARDING_TYPES; +const SETTINGS = '/settings/governance/intake-forms'; +const openChecklist = async (page: Page) => { + const checklist = page.getByTestId('onboarding-checklist'); + await expect(checklist).toBeVisible(); + await expect(checklist.getByTestId('onboarding-journey')).toBeVisible(); + await expect(checklist.getByTestId('onboarding-advance')).toBeVisible(); + return checklist; +}; + +test.describe('Unified onboarding', { tag: [DOMAIN_TAGS.GOVERNANCE] }, () => { + test.describe.configure({ mode: 'serial' }); + const delegate = new UserClass(); + const viewer = new UserClass(); + let permissionRole: Asset; + let permissionPolicy: Asset; + let api: APIRequestContext; + let dispose: () => Promise; + let domain: Asset; + let glossary: Asset; + let workflow: Asset; + const cleanup: string[] = []; + + test.beforeAll(async () => { + const login = await createAdminApiContext(); + api = login.apiContext; + dispose = login.afterAction; + const policyResponse = await api.post('/api/v1/policies', { + data: { + name: `onboarding_delegate_policy_${uuid()}`, + description: + 'Allow delegated display name edits on onboarding asset types', + rules: [ + { + name: 'DelegatedMetadata', + resources: TYPES.map((type) => type.type), + operations: ['EditDisplayName'], + effect: 'allow', + }, + ], + }, + }); + expect(policyResponse.status()).toBe(201); + permissionPolicy = await policyResponse.json(); + const roleResponse = await api.post('/api/v1/roles', { + data: { + name: `onboarding_delegate_role_${uuid()}`, + policies: [ + 'DataConsumerPolicy', + 'TaskAuthorPolicy', + permissionPolicy.name, + ], + }, + }); + expect(roleResponse.status()).toBe(201); + permissionRole = await roleResponse.json(); + await viewer.create(api); + const userResponse = await api.post('/api/v1/users', { + data: { + name: delegate.data.email.split('@')[0], + email: delegate.data.email, + displayName: 'Onboarding reviewer', + isAdmin: false, + roles: [permissionRole.id], + createPasswordType: 'ADMIN_CREATE', + password: delegate.data.password, + confirmPassword: delegate.data.password, + }, + }); + expect(userResponse.status()).toBe(201); + delegate.responseData = await userResponse.json(); + expect(delegate.responseData.isAdmin).toBe(false); + const domainResponse = await api.post('/api/v1/domains', { + data: { + name: `onboarding_parent_${uuid()}`, + description: 'Onboarding test parent', + domainType: 'Aggregate', + }, + }); + expect(domainResponse.status()).toBe(201); + domain = await domainResponse.json(); + const glossaryResponse = await api.post('/api/v1/glossaries', { + data: { + name: `onboarding_glossary_${uuid()}`, + description: 'Onboarding test glossary', + }, + }); + expect(glossaryResponse.status()).toBe(201); + glossary = await glossaryResponse.json(); + const seedResponse = await api.get( + '/api/v1/governance/workflowDefinitions/name/RequestApprovalTaskWorkflow?fields=*' + ); + expect(seedResponse.status()).toBe(200); + const seed = await seedResponse.json(); + for (const node of seed.nodes) { + if (node.subType === 'userApprovalTask') { + node.config.assigneeStrategy = 'reviewers-and-assignees'; + node.config.approvalThreshold = 1; + node.config.assignees = { + addReviewers: false, + addOwners: false, + candidates: [ + { + id: delegate.responseData.id, + type: 'user', + fullyQualifiedName: delegate.responseData.fullyQualifiedName, + }, + ], + }; + } + } + const workflowResponse = await api.post( + '/api/v1/governance/workflowDefinitions', + { + data: { + name: `onboarding_${uuid()}`, + description: 'Browser journey approval', + config: seed.config, + trigger: seed.trigger, + nodes: seed.nodes, + edges: seed.edges, + }, + } + ); + expect(workflowResponse.status()).toBe(201); + workflow = await workflowResponse.json(); + }); + + test.afterAll(async () => { + for (const path of cleanup.reverse()) { + const response = await api.delete( + `${path}?hardDelete=true&recursive=true` + ); + expect([200, 204, 404]).toContain(response.status()); + } + if (workflow) { + const workflowResponse = await api.delete( + `/api/v1/governance/workflowDefinitions/${workflow.id}?hardDelete=true` + ); + expect(workflowResponse.ok()).toBeTruthy(); + } + if (delegate.responseData.id) await delegate.delete(api); + if (viewer.responseData.id) await viewer.delete(api); + if (permissionRole) + await api.delete(`/api/v1/roles/${permissionRole.id}?hardDelete=true`); + if (permissionPolicy) + await api.delete( + `/api/v1/policies/${permissionPolicy.id}?hardDelete=true` + ); + if (glossary) + await api.delete( + `/api/v1/glossaries/${glossary.id}?hardDelete=true&recursive=true` + ); + if (domain) + await api.delete( + `/api/v1/domains/${domain.id}?hardDelete=true&recursive=true` + ); + await dispose?.(); + }); + + test.beforeEach(async ({ page }) => { + page.setDefaultTimeout(30000); + await authenticateAdminPage(page); + }); + + for (const type of TYPES) { + test(`${type.label}: configure, resume, delegate, approve and navigate the board`, async ({ + page, + browser, + baseURL, + }) => { + test.slow(); + let asset: Asset; + await test.step('Publish ordered field and workflow checks', async () => { + await page.goto(SETTINGS); + await waitForAllLoadersToDisappear(page); + await page.getByTestId('add-intake-form').click(); + await page + .getByRole('menuitem', { name: type.label, exact: true }) + .click(); + const designer = page.getByTestId('intake-form-designer-modal'); + await expect(designer).toBeVisible(); + await designer.getByTestId('onboarding-stage-Draft').click(); + await designer.getByRole('button', { name: / Field$/ }).click(); + await page + .getByRole('option', { name: 'Display Name', exact: true }) + .click(); + await designer + .getByRole('button', { name: 'Add field', exact: true }) + .click(); + const settings = designer.getByTestId('onboarding-check-settings'); + await settings.getByRole('button', { name: / Requirement$/ }).click(); + await page + .getByRole('option', { name: 'Required', exact: true }) + .click(); + await settings + .getByRole('spinbutton', { name: 'Minimum length', exact: true }) + .fill('5'); + await settings.getByRole('button', { name: / Assign to$/ }).click(); + await page + .getByRole('option', { name: 'Selected users or teams', exact: true }) + .click(); + await settings + .getByRole('combobox', { name: 'Assignees', exact: true }) + .fill(delegate.responseData.name); + await page + .getByRole('option', { + name: + delegate.responseData.displayName ?? delegate.responseData.name, + exact: true, + }) + .click(); + await page.keyboard.press('Escape'); + await designer.getByRole('button', { name: / Field$/ }).click(); + await page.getByRole('option', { name: 'Tags', exact: true }).click(); + await designer + .getByRole('button', { name: 'Add field', exact: true }) + .click(); + await designer.getByTestId('onboarding-stage-In Review').click(); + await designer + .getByRole('button', { name: 'Add approval', exact: true }) + .click(); + await settings.getByRole('button', { name: / Workflow$/ }).click(); + await page + .getByRole('option', { name: workflow.name, exact: true }) + .click(); + await designer + .getByRole('button', { name: 'Producer preview', exact: true }) + .click(); + const preview = designer.getByTestId('onboarding-producer-preview'); + await expect(preview.getByTestId('onboarding-journey')).toBeVisible(); + await expect( + preview.getByRole('progressbar', { name: 'Your checks', exact: true }) + ).toBeVisible(); + await expect(preview.getByTestId('onboarding-advance')).toBeDisabled(); + await test.info().attach('onboarding-preview', { + body: await preview.screenshot(), + contentType: 'image/png', + }); + await designer.getByTestId('onboarding-preview-toggle').click(); + await designer.getByTestId('onboarding-stage-In Review').click(); + await designer + .getByRole('button', { name: '1. Approval', exact: true }) + .click(); + await test.info().attach('onboarding-builder', { + body: await designer.screenshot(), + contentType: 'image/png', + }); + await page.setViewportSize({ width: 390, height: 844 }); + await expect( + designer.getByTestId('onboarding-check-settings') + ).toBeVisible(); + await test.info().attach('onboarding-builder-narrow', { + body: await page.screenshot(), + contentType: 'image/png', + }); + await page.setViewportSize({ width: 1280, height: 900 }); + const saved = page.waitForResponse( + (response) => + response.url().endsWith('/api/v1/governance/intakeForms') && + response.request().method() === 'POST' + ); + await page.getByTestId('intake-form-submit').click(); + const response = await saved; + expect(response.status()).toBe(201); + const form = await response.json(); + cleanup.push(`/api/v1/governance/intakeForms/${form.id}`); + }); + await test.step('Create an asset with later requirements still empty', async () => { + asset = await createOnboardingAssetThroughUI( + page, + type, + uuid(), + domain, + glossary + ); + cleanup.push(`/api/v1/${type.collection}/${asset.id}`); + await page.goto('/onboarding'); + await expect(page.getByTestId('onboarding-board')).toBeVisible(); + await page.getByRole('link', { name: asset.name, exact: true }).click(); + const checklist = await openChecklist(page); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Draft'); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect(checklist.getByTestId('onboarding-handoff')).toBeVisible(); + await expect( + checklist.getByTestId('onboarding-advance') + ).toBeDisabled(); + await test.info().attach('onboarding-checklist', { + body: await checklist.screenshot(), + contentType: 'image/png', + }); + }); + await test.step('An ordinary viewer cannot edit delegated work', async () => { + const viewerPage = await browser.newPage({ baseURL }); + try { + await viewer.login(viewerPage); + await viewerPage.goto(page.url()); + const checklist = await openChecklist(viewerPage); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect( + checklist.getByTestId('onboarding-handoff') + ).toBeVisible(); + await expect( + checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }) + ).toHaveCount(0); + await expect( + checklist.getByRole('button', { name: 'Edit', exact: true }) + ).toHaveCount(0); + await expect( + checklist.getByTestId('onboarding-advance') + ).toBeDisabled(); + } finally { + await viewerPage.close(); + } + }); + await test.step('Save delegated metadata and resume after reload', async () => { + const delegatedPage = await browser.newPage({ baseURL }); + try { + await delegate.login(delegatedPage); + await delegatedPage.goto(page.url()); + const checklist = await openChecklist(delegatedPage); + await expect( + checklist + .getByRole('navigation', { name: 'Your checks', exact: true }) + .getByRole('button', { name: 'Display Name', exact: true }) + ).toHaveAttribute('aria-current', 'step'); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await expect( + checklist.getByRole('heading', { + name: 'Display Name', + exact: true, + }) + ).toBeFocused(); + await input.fill('Ready for review'); + const saved = delegatedPage.waitForResponse( + (response) => + response + .url() + .includes(`/api/v1/${type.collection}/${asset.id}`) && + response.request().method() === 'PATCH' + ); + await checklist + .getByRole('button', { name: 'Save & continue', exact: true }) + .click(); + expect((await saved).status()).toBe(200); + await delegatedPage.reload(); + const resumed = await openChecklist(delegatedPage); + await expect( + resumed.getByRole('button', { name: 'Display Name', exact: true }) + ).toContainText('Complete'); + await resumed + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect( + resumed.getByRole('textbox', { name: 'Display Name', exact: true }) + ).toHaveValue('Ready for review'); + } finally { + await delegatedPage.close(); + } + }); + await test.step('Complete the workflow before advancing the gate', async () => { + await page.reload(); + const checklist = await openChecklist(page); + await page.setViewportSize({ width: 390, height: 844 }); + await test.info().attach('onboarding-journey-narrow', { + body: await page.screenshot(), + contentType: 'image/png', + }); + await page.setViewportSize({ width: 1280, height: 900 }); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + const tags = checklist.getByRole('button', { + name: 'Tags', + exact: true, + }); + await tags.focus(); + await page.keyboard.press('Enter'); + await expect( + checklist.getByRole('heading', { name: 'Tags', exact: true }) + ).toBeFocused(); + await checklist + .getByRole('button', { name: 'Skip', exact: true }) + .click(); + await expect(tags).toContainText('Pending'); + const transition = page.waitForResponse((response) => + response + .url() + .endsWith(`/onboarding/${type.type}/${asset.id}/transition`) + ); + await checklist.getByTestId('onboarding-advance').click(); + expect((await transition).status()).toBe(200); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + await checklist + .getByRole('button', { name: 'Approval', exact: true }) + .click(); + const taskLink = checklist + .getByTestId('onboarding-handoff') + .getByRole('link', { name: 'View task', exact: true }); + await expect(taskLink).toHaveAttribute('href'); + const taskHref = await taskLink.getAttribute('href'); + if (!taskHref) throw new Error('Approval task link is missing'); + const stillBlocked = page.waitForResponse((response) => + response + .url() + .endsWith(`/onboarding/${type.type}/${asset.id}/transition`) + ); + await checklist.getByTestId('onboarding-advance').click(); + expect((await stillBlocked).status()).toBe(200); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + await expect(taskLink).toHaveAttribute('href', taskHref); + const unassignedPage = await browser.newPage({ baseURL }); + try { + await viewer.login(unassignedPage); + await unassignedPage.goto(taskHref); + await expect( + unassignedPage.getByTestId('task-detail-panel') + ).toBeVisible(); + await expect(unassignedPage.getByTestId('task-approve')).toHaveCount( + 0 + ); + await expect(unassignedPage.getByTestId('task-reject')).toHaveCount( + 0 + ); + } finally { + await unassignedPage.close(); + } + const reviewerPage = await browser.newPage({ baseURL }); + try { + await delegate.login(reviewerPage); + await reviewerPage.goto(taskHref); + await expect( + reviewerPage.getByTestId('task-detail-panel') + ).toBeVisible(); + const resolved = reviewerPage.waitForResponse( + (response) => + response.url().includes('/api/v1/tasks/') && + response.url().endsWith('/resolve') && + response.request().method() === 'POST' + ); + await reviewerPage.getByTestId('task-approve').click(); + expect((await resolved).ok()).toBeTruthy(); + await expect( + reviewerPage.getByTestId('task-status-badge') + ).toHaveText('Approved'); + } finally { + await reviewerPage.close(); + } + await checklist + .getByRole('button', { name: 'Refresh', exact: true }) + .click(); + await expect(checklist.getByTestId('onboarding-advance')).toHaveText( + 'Advance to Approved' + ); + const approved = page.waitForResponse((response) => + response + .url() + .endsWith(`/onboarding/${type.type}/${asset.id}/transition`) + ); + await checklist.getByTestId('onboarding-advance').click(); + expect((await approved).status()).toBe(200); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Approved'); + await checklist + .getByRole('button', { name: 'Approval', exact: true }) + .click(); + await expect(checklist.getByText(/Workflow execution:/)).toBeVisible(); + await checklist + .getByRole('link', { name: 'Onboarding board', exact: true }) + .click(); + await expect( + page + .getByRole('row') + .filter({ hasText: 'Ready for review' }) + .filter({ hasText: type.label }) + ).toContainText('Approved'); + await test.info().attach('onboarding-board', { + body: await page.getByTestId('onboarding-board').screenshot(), + contentType: 'image/png', + }); + }); + }); + } +}); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingConfiguration.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingConfiguration.spec.ts new file mode 100644 index 000000000000..be2ad7d618f4 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingConfiguration.spec.ts @@ -0,0 +1,295 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FieldKind, + TargetEntityType, + Type, +} from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { authenticateAdminPage } from '../../utils/admin'; +import { + approvalStep, + onboardingTest as test, + ONBOARDING_TYPES, + visitOnboardingAsset, +} from '../../utils/onboarding'; + +const metric = ONBOARDING_TYPES.find( + (item) => item.type === TargetEntityType.Metric +)!; +const fields = [ + { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + required: true, + }, +]; +const checks = [ + { + id: 'display-name', + type: Type.Field, + fieldPath: 'displayName', + title: 'Display Name', + rules: { minLength: 5 }, + }, +]; + +test.describe( + 'Onboarding configuration, preview and board', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + test.beforeEach(async ({ page }) => { + page.setDefaultTimeout(20000); + await authenticateAdminPage(page); + }); + + test('Builder preserves dirty edits on Escape and publication failure; old assets keep their version', async ({ + page, + onboarding, + }) => { + const form = await onboarding.publish(metric, fields, checks); + const oldAsset = await onboarding.createAsset(metric); + const oldProgress = await onboarding.progress(metric, oldAsset); + await page.goto('/settings/governance/intake-forms'); + await expect(page.getByTestId('onboarding-configurations')).toContainText( + 'Creation: Checks: 1' + ); + await page.getByTestId('configure-onboarding-metric').click(); + const designer = page.getByTestId('intake-form-designer-modal'); + await designer + .getByRole('textbox', { name: 'Description', exact: true }) + .fill('New published guidance'); + await page.keyboard.press('Escape'); + await page + .getByRole('button', { name: 'Continue Editing', exact: true }) + .click(); + await expect( + designer.getByRole('textbox', { name: 'Description', exact: true }) + ).toHaveValue('New published guidance'); + await designer.getByTestId('onboarding-stage-Draft').click(); + await designer + .getByRole('button', { name: '1. Display Name', exact: true }) + .click(); + const settings = designer.getByTestId('onboarding-check-settings'); + await settings + .getByRole('spinbutton', { name: 'Minimum length', exact: true }) + .fill('10'); + await expect( + settings.getByRole('spinbutton', { name: 'Minimum count', exact: true }) + ).toHaveCount(0); + await page.setViewportSize({ width: 320, height: 844 }); + await expect(designer).toBeVisible(); + expect( + await designer.evaluate( + (node) => node.scrollWidth <= node.clientWidth + 1 + ) + ).toBe(true); + const publish = page.getByTestId('intake-form-submit'); + await publish.scrollIntoViewIfNeeded(); + const bounds = await publish.boundingBox(); + expect(bounds).not.toBeNull(); + expect(bounds!.x).toBeGreaterThanOrEqual(0); + expect(bounds!.x + bounds!.width).toBeLessThanOrEqual(320); + await page.route( + '**/api/v1/governance/intakeForms', + (route) => + route.request().method() === 'PUT' + ? route.fulfill({ + status: 503, + json: { message: 'Publication unavailable' }, + }) + : route.fallback(), + { times: 1 } + ); + const failed = page.waitForResponse( + (response) => + response.url().endsWith('/api/v1/governance/intakeForms') && + response.request().method() === 'PUT' + ); + await publish.click(); + expect((await failed).status()).toBe(503); + await page.getByTestId('alert-icon-close').click(); + await expect( + designer.getByRole('textbox', { name: 'Description', exact: true }) + ).toHaveValue('New published guidance'); + const saved = page.waitForResponse( + (response) => + response.url().endsWith('/api/v1/governance/intakeForms') && + response.request().method() === 'PUT' + ); + await publish.click(); + expect((await saved).ok()).toBeTruthy(); + await expect(designer).toHaveCount(0); + const newAsset = await onboarding.createAsset(metric); + const newProgress = await onboarding.progress(metric, newAsset); + expect(newProgress.configurationId).toBe(form.id); + expect(newProgress.configurationVersion).not.toBe( + oldProgress.configurationVersion + ); + expect( + (await onboarding.progress(metric, oldAsset)).configurationVersion + ).toBe(oldProgress.configurationVersion); + const oldChecklist = await visitOnboardingAsset(page, metric, oldAsset); + await expect(oldChecklist).toContainText('Minimum characters: 5'); + const newChecklist = await visitOnboardingAsset(page, metric, newAsset); + await expect(newChecklist).toContainText('Minimum characters: 10'); + }); + + test('Producer preview completes local checks and simulated decisions without creating assets or tasks', async ({ + page, + onboarding, + }) => { + const reviewer = await onboarding.createUser(); + const workflow = await onboarding.workflow([reviewer]); + await onboarding.publish(metric, fields, checks, [ + approvalStep('Preview review', workflow), + ]); + await page.goto('/settings/governance/intake-forms'); + await page.getByTestId('configure-onboarding-metric').click(); + const designer = page.getByTestId('intake-form-designer-modal'); + await designer.getByTestId('onboarding-preview-toggle').click(); + const preview = designer.getByTestId('onboarding-producer-preview'); + const writes: string[] = []; + const recordWrite = (request: import('@playwright/test').Request) => { + if ( + ['POST', 'PUT', 'PATCH', 'DELETE'].includes(request.method()) && + /\/api\/v1\/(metrics|tasks|governance\/onboarding)(\/|\?|$)/.test( + request.url() + ) + ) + writes.push(request.url()); + }; + page.on('request', recordWrite); + try { + await preview + .getByRole('textbox', { name: 'Name', exact: true }) + .fill('Preview metric'); + await preview + .getByRole('button', { name: 'Save & continue', exact: true }) + .click(); + await preview.getByTestId('onboarding-advance').click(); + await preview + .getByRole('textbox', { name: 'Display Name', exact: true }) + .fill('Preview ready'); + await preview + .getByRole('button', { name: 'Save & continue', exact: true }) + .click(); + await preview.getByTestId('onboarding-advance').click(); + await preview + .getByRole('button', { name: 'Preview review', exact: true }) + .click(); + await preview + .getByRole('button', { name: 'Simulate rejection', exact: true }) + .click(); + await expect( + preview.getByRole('button', { name: 'Preview review', exact: true }) + ).toContainText('Rejected'); + await expect(preview.getByTestId('onboarding-advance')).toBeDisabled(); + await preview + .getByRole('button', { name: 'Simulate approval', exact: true }) + .click(); + await preview.getByTestId('onboarding-advance').click(); + await expect(preview).toContainText('Approved completes onboarding'); + expect(writes).toEqual([]); + await preview + .getByRole('button', { name: 'Reset', exact: true }) + .click(); + await expect( + preview.getByRole('textbox', { name: 'Name', exact: true }) + ).toHaveValue(''); + expect(writes).toEqual([]); + } finally { + page.off('request', recordWrite); + } + }); + + test('Board filters and pagination survive reload and back navigation; errors clear stale rows', async ({ + page, + onboarding, + }) => { + test.slow(); + await onboarding.publish(metric, fields, checks); + const domain = await onboarding.createResource('domains', { + name: `board_${Date.now()}`, + description: 'Isolated board domain', + domainType: 'Aggregate', + }); + const assets = []; + for (let count = 0; count < 26; count++) + assets.push( + await onboarding.createAsset(metric, { + domains: [domain.fullyQualifiedName], + }) + ); + await page.goto( + `/onboarding?entityType=metric&domain=${domain.id}&domainName=${domain.name}` + ); + const board = page.getByTestId('onboarding-board'); + const rows = board + .getByRole('row') + .filter({ has: page.getByRole('link') }); + await expect(rows).toHaveCount(25); + await board.getByRole('button', { name: / Stage$/ }).click(); + await page.getByRole('option', { name: 'Draft', exact: true }).click(); + await expect(page).toHaveURL(/stage=Draft/); + await expect(rows).toHaveCount(25); + await board.getByRole('button', { name: 'Next', exact: true }).click(); + await expect(rows).toHaveCount(1); + const secondPage = await rows.allTextContents(); + const secondUrl = page.url(); + await page.reload(); + await expect(rows).toHaveCount(1); + await expect(rows).toHaveText(secondPage); + expect(page.url()).toBe(secondUrl); + await rows + .getByRole('link', { name: 'Display Name', exact: true }) + .click(); + await expect(page.getByTestId('task-detail-panel')).toBeVisible(); + await page.goBack(); + await expect(rows).toHaveCount(1); + const remaining = rows.getByRole('link', { name: /^journey_/ }); + await remaining.click(); + await expect(page.getByTestId('onboarding-checklist')).toBeVisible(); + await page.goBack(); + await expect(page).toHaveURL(secondUrl); + await expect(rows).toHaveCount(1); + await board + .getByRole('button', { name: 'Previous', exact: true }) + .click(); + await expect(rows).toHaveCount(25); + await page.route( + '**/api/v1/governance/onboarding?*', + (route) => + route.fulfill({ + status: 503, + json: { message: 'Board unavailable' }, + }), + { times: 1 } + ); + await board.getByRole('button', { name: / Stage$/ }).click(); + await page.getByRole('option', { name: 'Approved', exact: true }).click(); + await expect(board.getByRole('alert')).toContainText( + 'Could not load the board' + ); + await expect(rows).toHaveCount(0); + await board.getByRole('button', { name: 'Refresh', exact: true }).click(); + await expect(board).toContainText('No assets match these filters.'); + await expect(board.getByRole('alert')).toHaveCount(0); + expect((await onboarding.progress(metric, assets[0])).stage).toBe( + 'Draft' + ); + }); + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingCreation.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingCreation.spec.ts new file mode 100644 index 000000000000..eab4e0a2550d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingCreation.spec.ts @@ -0,0 +1,159 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Type } from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { uuid } from '../../utils/common'; +import { + createOnboardingAssetThroughUI, + onboardingTest as test, + ONBOARDING_TYPES, + visitOnboardingAsset, +} from '../../utils/onboarding'; + +test.describe( + 'Onboarding creation requirements', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + for (const type of ONBOARDING_TYPES) { + test(`${type.label}: non-admin creation blocks missing requirements and queues later work`, async ({ + page, + onboarding, + }) => { + test.slow(); + const creator = await onboarding.createUser(['Create', 'EditAll']); + const domain = await onboarding.createResource('domains', { + name: `parent_${uuid()}`, + description: 'Creation parent', + domainType: 'Aggregate', + }); + const glossary = await onboarding.createResource('glossaries', { + name: `glossary_${uuid()}`, + description: 'Creation glossary', + }); + await onboarding.createResource('governance/intakeForms', { + name: `creation_${uuid()}`, + enabled: true, + entityType: type.type, + formFields: [ + { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: 'native', + required: true, + errorMessage: 'Provide a display name before creating.', + }, + { + fieldPath: 'tags', + fieldLabel: 'Tags', + fieldKind: 'native', + required: true, + }, + ], + onboarding: { + enabled: true, + gates: [ + { + stage: 'Creation', + steps: [ + { + id: 'display-name', + type: Type.Field, + title: 'Display Name', + fieldPath: 'displayName', + }, + ], + }, + { + stage: 'Draft', + steps: [ + { + id: 'tags', + type: Type.Field, + title: 'Tags', + fieldPath: 'tags', + }, + ], + }, + ], + }, + }); + await creator.login(page); + const asset = await createOnboardingAssetThroughUI( + page, + type, + uuid(), + domain, + glossary, + async (submit) => { + await expect( + page.getByTestId('onboarding-upcoming-work') + ).toContainText('Tags'); + const requests: string[] = []; + const observe = (request: import('@playwright/test').Request) => { + if ( + request.method() === 'POST' && + request.url().endsWith(`/api/v1/${type.collection}`) + ) + requests.push(request.url()); + }; + page.on('request', observe); + try { + await submit(); + await expect( + page + .getByTestId('onboarding-creation-checklist') + .getByText('Provide a display name before creating.', { + exact: true, + }) + ).toBeVisible(); + expect(requests).toEqual([]); + await page + .getByRole('textbox', { name: /Display Name/ }) + .fill('Created by a producer'); + } finally { + page.off('request', observe); + } + } + ); + onboarding.cleanup.push(`/api/v1/${type.collection}/${asset.id}`); + const checklist = await visitOnboardingAsset(page, type, asset); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Draft'); + await expect( + checklist.getByRole('navigation', { + name: 'Your checks', + exact: true, + }) + ).toContainText('Tags'); + await expect( + checklist.getByTestId('onboarding-advance') + ).toBeDisabled(); + await page.reload(); + await expect( + checklist.getByRole('button', { name: 'Display Name', exact: true }) + ).toContainText('Complete'); + await expect( + checklist.getByRole('button', { name: 'Tags', exact: true }) + ).toContainText('Pending'); + await checklist + .getByRole('link', { name: 'Onboarding board', exact: true }) + .click(); + await expect( + page.getByRole('row').filter({ hasText: 'Created by a producer' }) + ).toContainText('Draft'); + }); + } + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingFields.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingFields.spec.ts new file mode 100644 index 000000000000..e970d611319e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingFields.spec.ts @@ -0,0 +1,349 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FieldKind, + Operator, + Role, + TargetEntityType, + Type, +} from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { authenticateAdminPage } from '../../utils/admin'; +import { uuid } from '../../utils/common'; +import { + onboardingTest as test, + ONBOARDING_TYPES, + saveOnboardingField, + visitOnboardingAsset, +} from '../../utils/onboarding'; + +const metric = ONBOARDING_TYPES.find( + (type) => type.type === TargetEntityType.Metric +)!; + +test.describe( + 'Onboarding field types and conditions', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + test('Metric: a domain owner sees and completes the domain-assigned check', async ({ + page, + onboarding, + }) => { + const owner = await onboarding.createUser(['EditDisplayName']); + const domain = await onboarding.createResource('domains', { + name: `owned_${uuid()}`, + description: 'Owned domain', + domainType: 'Aggregate', + owners: [{ id: owner.responseData.id, type: 'user' }], + }); + await onboarding.publish( + metric, + [ + { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + required: true, + }, + ], + [ + { + id: 'name', + title: 'Display Name', + type: Type.Field, + fieldPath: 'displayName', + assignment: { role: Role.DomainOwners }, + }, + ] + ); + const asset = await onboarding.createAsset(metric, { + domains: [domain.fullyQualifiedName], + }); + await owner.login(page); + const checklist = await visitOnboardingAsset(page, metric, asset); + await expect( + checklist.getByRole('navigation', { name: 'Your checks', exact: true }) + ).toContainText('Display Name'); + await checklist + .getByRole('textbox', { name: 'Display Name', exact: true }) + .fill('Owned domain metric'); + expect( + (await saveOnboardingField(page, checklist, metric, asset)).ok() + ).toBeTruthy(); + await page.reload(); + await expect( + checklist.getByRole('button', { name: 'Display Name', exact: true }) + ).toContainText('Complete'); + const progress = await onboarding.progress(metric, asset); + expect( + progress.steps + .find((step) => step.step.id === 'name') + ?.assignees?.map((assignee) => assignee.id) + ).toContain(owner.responseData.id); + }); + + test('Metric: a glossary-only editor can add a term while preserving protected classification tags', async ({ + page, + onboarding, + }) => { + const editor = await onboarding.createUser(['EditGlossaryTerms']); + const glossary = await onboarding.createResource('glossaries', { + name: `glossary_${uuid()}`, + description: 'Tag choices', + }); + const term = await onboarding.createResource('glossaryTerms', { + name: `term_${uuid()}`, + description: 'Business term', + glossary: glossary.fullyQualifiedName, + }); + const classification = await onboarding.createResource( + 'classifications', + { + name: `classification_${uuid()}`, + description: 'Protected classification', + } + ); + const tag = await onboarding.createResource('tags', { + name: `protected_${uuid()}`, + description: 'Protected tag', + classification: classification.name, + }); + await onboarding.publish( + metric, + [ + { + fieldPath: 'tags', + fieldLabel: 'Tags', + fieldKind: FieldKind.Native, + required: true, + }, + ], + [ + { + id: 'tags', + title: 'Tags', + type: Type.Field, + fieldPath: 'tags', + rules: { minItems: 2 }, + assignment: { + role: Role.Explicit, + assignees: [{ id: editor.responseData.id, type: 'user' }], + }, + }, + ] + ); + const asset = await onboarding.createAsset(metric, { + tags: [ + { + tagFQN: tag.fullyQualifiedName, + source: 'Classification', + labelType: 'Manual', + state: 'Confirmed', + }, + ], + }); + await editor.login(page); + const checklist = await visitOnboardingAsset(page, metric, asset); + const input = checklist.getByRole('combobox', { + name: /^Tags/, + }); + await expect( + checklist.getByText(tag.fullyQualifiedName, { exact: true }) + ).toBeVisible(); + const search = page.waitForResponse( + (response) => + response.url().includes('/search/query') && + new URL(response.url()).searchParams.get('q') === tag.name + ); + await input.fill(tag.name); + expect((await search).ok()).toBeTruthy(); + await expect( + page.getByRole('option').filter({ hasText: tag.name }) + ).toHaveCount(0); + await input.fill(term.name); + await page.getByRole('option').filter({ hasText: term.name }).click(); + await page.keyboard.press('Escape'); + const saved = await saveOnboardingField(page, checklist, metric, asset); + expect(saved.ok()).toBeTruthy(); + expect((await saved.json()).tags).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + tagFQN: tag.fullyQualifiedName, + source: 'Classification', + }), + expect.objectContaining({ + tagFQN: term.fullyQualifiedName, + source: 'Glossary', + }), + ]) + ); + await page.reload(); + await expect( + checklist.getByRole('button', { name: 'Tags', exact: true }) + ).toContainText('Complete'); + }); + + test('Metric: team member completes a conditional custom property through the saved journey', async ({ + page, + onboarding, + }) => { + test.slow(); + const member = await onboarding.createUser([ + 'EditDisplayName', + 'EditCustomFields', + ]); + const team = await onboarding.createResource('teams', { + name: `stewards_${uuid()}`, + teamType: 'Group', + users: [member.responseData.id], + }); + const property = `justification${uuid().replaceAll('-', '')}`; + await onboarding.registerStringProperty('metric', property); + const assignment = { + role: Role.Explicit, + assignees: [{ id: team.id, type: 'team' }], + }; + await onboarding.publish( + metric, + [ + { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + }, + { + fieldPath: `extension.${property}`, + fieldLabel: 'Justification', + fieldKind: FieldKind.CustomProperty, + required: true, + }, + ], + [ + { + id: 'name', + title: 'Display Name', + type: Type.Field, + fieldPath: 'displayName', + assignment, + }, + { + id: 'reason', + title: 'Justification', + type: Type.Field, + fieldPath: `extension.${property}`, + assignment, + rules: { minLength: 10 }, + conditions: [ + { + fieldPath: 'displayName', + operator: Operator.Equals, + value: 'Review', + }, + ], + }, + ] + ); + const asset = await onboarding.createAsset(metric); + await member.login(page); + const checklist = await visitOnboardingAsset(page, metric, asset); + expect((await onboarding.progress(metric, asset)).canAdvance).toBe(true); + await checklist + .getByRole('textbox', { name: 'Display Name', exact: true }) + .fill('Review'); + expect( + (await saveOnboardingField(page, checklist, metric, asset)).ok() + ).toBeTruthy(); + expect((await onboarding.progress(metric, asset)).canAdvance).toBe(false); + await expect( + checklist.getByRole('navigation', { name: 'Your checks', exact: true }) + ).toContainText('Justification'); + + const input = checklist.locator( + `[data-testid="extension-${property}"] input, input[data-testid="extension-${property}"]` + ); + await input.fill('short'); + expect( + (await saveOnboardingField(page, checklist, metric, asset)).ok() + ).toBeTruthy(); + await expect( + checklist.getByRole('button', { name: 'Justification', exact: true }) + ).toContainText('Pending'); + await input.fill('A reviewed business justification'); + expect( + (await saveOnboardingField(page, checklist, metric, asset)).ok() + ).toBeTruthy(); + await page.reload(); + await expect( + checklist.getByRole('button', { name: 'Justification', exact: true }) + ).toContainText('Complete'); + await checklist + .getByRole('button', { name: 'Justification', exact: true }) + .click(); + await expect(input).toHaveValue('A reviewed business justification'); + await expect(checklist.getByTestId('onboarding-advance')).toBeDisabled(); + }); + + test('Metric: saving expression code preserves its language and survives reload', async ({ + page, + onboarding, + }) => { + await authenticateAdminPage(page); + await onboarding.publish( + metric, + [ + { + fieldPath: 'metricExpression.code', + fieldLabel: 'Expression', + fieldKind: FieldKind.Native, + required: true, + }, + ], + [ + { + id: 'expression', + title: 'Expression', + type: Type.Field, + fieldPath: 'metricExpression.code', + rules: { minLength: 5 }, + }, + ] + ); + const asset = await onboarding.createAsset(metric, { + metricExpression: { language: 'SQL', code: 'x' }, + }); + const checklist = await visitOnboardingAsset(page, metric, asset); + const input = checklist.getByRole('textbox', { + name: 'Expression', + exact: true, + }); + await input.fill('SUM(order_total)'); + const response = await saveOnboardingField( + page, + checklist, + metric, + asset + ); + expect(response.ok()).toBeTruthy(); + expect((await response.json()).metricExpression).toEqual({ + language: 'SQL', + code: 'SUM(order_total)', + }); + await page.reload(); + await checklist + .getByRole('button', { name: 'Expression', exact: true }) + .click(); + await expect(input).toHaveValue('SUM(order_total)'); + }); + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingNavigation.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingNavigation.spec.ts new file mode 100644 index 000000000000..48aa3f6291cb --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingNavigation.spec.ts @@ -0,0 +1,171 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FieldKind, + TargetEntityType, + Type, +} from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { authenticateAdminPage } from '../../utils/admin'; +import { + onboardingTest as test, + ONBOARDING_TYPES, + visitOnboardingAsset, +} from '../../utils/onboarding'; + +const metric = ONBOARDING_TYPES.find( + (type) => type.type === TargetEntityType.Metric +)!; +const fields = [ + { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + required: true, + }, +]; +const checks = [ + { + id: 'name', + title: 'Display Name', + type: Type.Field, + fieldPath: 'displayName', + }, +]; + +test.describe( + 'Onboarding keyboard and navigation', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + test('Browser Back preserves dirty input until the producer explicitly discards it', async ({ + page, + onboarding, + }) => { + await authenticateAdminPage(page); + await onboarding.publish(metric, fields, checks); + const asset = await onboarding.createAsset(metric); + await page.goto('/onboarding?entityType=metric'); + await page.getByRole('link', { name: asset.name, exact: true }).click(); + const checklist = page.getByTestId('onboarding-checklist'); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await input.fill('A draft worth keeping'); + const assetUrl = page.url(); + await page.goBack(); + await expect( + page.getByRole('dialog', { name: 'Unsaved changes', exact: true }) + ).toBeVisible(); + await page + .getByRole('button', { name: 'Continue Editing', exact: true }) + .click(); + await expect(page).toHaveURL(assetUrl); + await expect(input).toHaveValue('A draft worth keeping'); + await page.goBack(); + await page.getByRole('button', { name: 'Discard', exact: true }).click(); + await expect(page).toHaveURL(/\/onboarding\?entityType=metric$/); + await page.getByRole('link', { name: asset.name, exact: true }).click(); + await expect(input).toHaveValue(''); + }); + + test('Browser Forward preserves dirty input without replacing the original history entry', async ({ + page, + onboarding, + }) => { + await authenticateAdminPage(page); + await onboarding.publish(metric, fields, checks); + const asset = await onboarding.createAsset(metric); + const checklist = await visitOnboardingAsset(page, metric, asset); + await checklist + .getByRole('link', { name: 'Onboarding board', exact: true }) + .click(); + const boardUrl = page.url(); + await page.goBack(); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await input.fill('Forward draft'); + const assetUrl = page.url(); + await page.goForward(); + await page + .getByRole('button', { name: 'Continue Editing', exact: true }) + .click(); + await expect(page).toHaveURL(assetUrl); + await expect(input).toHaveValue('Forward draft'); + await page.goForward(); + await page.getByRole('button', { name: 'Discard', exact: true }).click(); + await expect(page).toHaveURL(boardUrl); + await page.goBack(); + await expect(page).toHaveURL(assetUrl); + await expect(input).toHaveValue(''); + }); + + test('A producer can reach, edit and save a check with Tab and Enter at 320px', async ({ + page, + onboarding, + }) => { + await authenticateAdminPage(page); + await onboarding.publish(metric, fields, checks); + const asset = await onboarding.createAsset(metric); + await page.setViewportSize({ width: 320, height: 844 }); + const checklist = await visitOnboardingAsset(page, metric, asset); + await expect( + checklist.getByRole('heading', { name: 'Display Name', exact: true }) + ).toBeFocused(); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await page.keyboard.press('Tab'); + await expect(input).toBeFocused(); + await page.keyboard.type('Keyboard producer'); + await page.keyboard.press('Tab'); + const back = checklist.getByRole('button', { name: 'Back', exact: true }); + await expect(back).toBeFocused(); + await page.keyboard.press('Enter'); + await expect( + page.getByRole('dialog', { name: 'Unsaved changes', exact: true }) + ).toBeVisible(); + await page.keyboard.press('Escape'); + await expect(back).toBeFocused(); + await page.keyboard.press('Tab'); + const save = checklist.getByRole('button', { + name: 'Save & continue', + exact: true, + }); + await expect(save).toBeFocused(); + await expect(save).toBeInViewport(); + const bounds = await save.boundingBox(); + expect(bounds!.x).toBeGreaterThanOrEqual(0); + expect(bounds!.x + bounds!.width).toBeLessThanOrEqual(320); + const saved = page.waitForResponse( + (response) => + response.request().method() === 'PATCH' && + response.url().endsWith(`/api/v1/metrics/${asset.id}`) + ); + await page.keyboard.press('Enter'); + expect((await saved).ok()).toBeTruthy(); + await expect( + checklist.locator('button[data-loading="true"]') + ).toHaveCount(0); + await page.reload(); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect(input).toHaveValue('Keyboard producer'); + }); + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRecovery.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRecovery.spec.ts new file mode 100644 index 000000000000..e9cebd375147 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRecovery.spec.ts @@ -0,0 +1,445 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FieldKind, + Role, + TargetEntityType, + Type, +} from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { authenticateAdminPage } from '../../utils/admin'; +import { + onboardingTest as test, + ONBOARDING_TYPES, + refreshChecklist, + saveOnboardingField, + visitOnboardingAsset, +} from '../../utils/onboarding'; + +const displayName = { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + required: true, +}; +const nameCheck = { + id: 'display-name', + type: Type.Field, + fieldPath: 'displayName', + title: 'Display Name', + rules: { minLength: 5 }, +}; + +test.describe( + 'Onboarding editing and failure recovery', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + test.beforeEach(async ({ page }) => { + await authenticateAdminPage(page); + }); + + for (const type of ONBOARDING_TYPES) { + test(`${type.label}: guard dirty actions, validate boundaries and reload saved progress`, async ({ + page, + onboarding, + }) => { + await onboarding.publish(type, [displayName], [nameCheck]); + const asset = await onboarding.createAsset(type, { + displayName: 'Saved value', + }); + let checklist = await visitOnboardingAsset(page, type, asset); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await input.fill('Unfinished replacement'); + for (const action of [ + checklist.getByRole('button', { name: 'Collapse', exact: true }), + checklist.getByTestId('onboarding-advance'), + checklist.getByRole('link', { + name: 'Onboarding board', + exact: true, + }), + ]) { + await action.click(); + await expect( + page.getByRole('dialog', { name: 'Unsaved changes', exact: true }) + ).toBeVisible(); + await page + .getByRole('button', { name: 'Continue Editing', exact: true }) + .click(); + await expect(input).toHaveValue('Unfinished replacement'); + } + expect((await onboarding.progress(type, asset)).stage).toBe('Draft'); + await checklist + .getByRole('button', { name: 'Collapse', exact: true }) + .click(); + await page + .getByRole('button', { name: 'Discard', exact: true }) + .click(); + await expect(checklist.getByTestId('onboarding-journey')).toHaveCount( + 0 + ); + await checklist + .getByRole('button', { name: 'View details', exact: true }) + .click(); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect(input).toHaveValue('Saved value'); + for (const value of [' ', 'abcd']) { + await input.fill(value); + expect( + (await saveOnboardingField(page, checklist, type, asset)).ok() + ).toBeTruthy(); + await expect(input).toHaveValue(value); + await expect( + checklist.getByTestId('onboarding-advance') + ).toBeDisabled(); + } + await input.fill('abcde'); + expect( + (await saveOnboardingField(page, checklist, type, asset)).ok() + ).toBeTruthy(); + await page.reload(); + checklist = page.getByTestId('onboarding-checklist'); + await expect( + checklist.getByRole('button', { name: 'Display Name', exact: true }) + ).toContainText('Complete'); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect(input).toHaveValue('abcde'); + await expect(checklist.getByTestId('onboarding-advance')).toBeEnabled(); + }); + + test(`${type.label}: failed and stale transitions retain saved progress and recover`, async ({ + page, + onboarding, + }) => { + await onboarding.publish(type, [displayName], [nameCheck]); + const asset = await onboarding.createAsset(type, { + displayName: 'Saved value', + }); + const checklist = await visitOnboardingAsset(page, type, asset); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await input.fill('Discard this edit'); + const transitionUrl = `**/onboarding/${type.type}/${asset.id}/transition`; + await page.route( + transitionUrl, + (route) => + route.fulfill({ + status: 503, + json: { message: 'Transition unavailable' }, + }), + { times: 1 } + ); + const failed = page.waitForResponse(transitionUrl); + await checklist.getByTestId('onboarding-advance').click(); + await page + .getByRole('button', { name: 'Discard', exact: true }) + .click(); + expect((await failed).status()).toBe(503); + await expect(input).toHaveValue('Saved value'); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Draft'); + const update = await onboarding.api.patch( + `/api/v1/${type.collection}/${asset.id}`, + { + headers: { 'Content-Type': 'application/json-patch+json' }, + data: [ + { + op: 'add', + path: '/displayName', + value: 'Saved in another tab', + }, + ], + } + ); + expect(update.ok()).toBeTruthy(); + const stale = page.waitForResponse(transitionUrl); + await checklist.getByTestId('onboarding-advance').click(); + expect((await stale).status()).toBe(409); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Draft'); + await refreshChecklist(page, checklist, type, asset); + await expect(input).toHaveValue('Saved in another tab'); + const recovered = page.waitForResponse(transitionUrl); + await checklist.getByTestId('onboarding-advance').click(); + expect((await recovered).ok()).toBeTruthy(); + await page.reload(); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + }); + + test(`${type.label}: retry failed loads and saves, reconcile a concurrent edit`, async ({ + page, + onboarding, + }) => { + await onboarding.publish(type, [displayName], [nameCheck]); + const asset = await onboarding.createAsset(type, {}); + const fieldUrl = new RegExp( + `/api/v1/${type.collection}/${asset.id}\\?fields=` + ); + await page.route(fieldUrl, (route) => + route.fulfill({ + status: 503, + json: { message: 'Temporary field load failure' }, + }) + ); + const checklist = await visitOnboardingAsset(page, type, asset); + await expect( + checklist.getByRole('button', { name: 'Retry', exact: true }) + ).toBeVisible(); + await page.unroute(fieldUrl); + await refreshChecklist(page, checklist, type, asset); + const input = checklist.getByRole('textbox', { + name: 'Display Name', + exact: true, + }); + await expect(input).toHaveValue(''); + await input.fill('My preserved draft'); + const assetUrl = `**/api/v1/${type.collection}/${asset.id}`; + await page.route( + assetUrl, + (route) => + route.fulfill({ + status: 503, + json: { message: 'Temporary save failure' }, + }), + { times: 1 } + ); + expect( + (await saveOnboardingField(page, checklist, type, asset)).status() + ).toBe(503); + await expect(input).toHaveValue('My preserved draft'); + const concurrent = await onboarding.api.patch( + `/api/v1/${type.collection}/${asset.id}`, + { + headers: { 'Content-Type': 'application/json-patch+json' }, + data: [ + { + op: 'add', + path: '/displayName', + value: 'Changed by another producer', + }, + { + op: 'add', + path: '/description', + value: 'Their description must survive', + }, + ], + } + ); + expect(concurrent.ok()).toBeTruthy(); + const otherVersion = (await concurrent.json()).version; + expect( + (await saveOnboardingField(page, checklist, type, asset)).ok() + ).toBeFalsy(); + await expect(input).toHaveValue('My preserved draft'); + await refreshChecklist(page, checklist, type, asset); + const conflict = checklist.getByTestId('onboarding-field-conflict'); + await expect(conflict).toContainText('Changed by another producer'); + await expect(input).toHaveValue('My preserved draft'); + await expect( + checklist.getByRole('button', { + name: 'Save & continue', + exact: true, + }) + ).toBeDisabled(); + await conflict + .getByRole('button', { name: 'Keep my edits', exact: true }) + .click(); + const saved = await saveOnboardingField(page, checklist, type, asset); + expect(saved.ok()).toBeTruthy(); + expect(saved.request().postDataJSON()).toContainEqual({ + op: 'test', + path: '/version', + value: otherVersion, + }); + expect(await saved.json()).toMatchObject({ + displayName: 'My preserved draft', + description: 'Their description must survive', + }); + await page.reload(); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect(input).toHaveValue('My preserved draft'); + }); + } + + for (const type of ONBOARDING_TYPES.filter( + (item) => item.type !== TargetEntityType.Domain + )) { + test(`${type.label}: delegated EditReviewers permission and minimum-count check`, async ({ + page, + browser, + baseURL, + onboarding, + }) => { + const delegate = await onboarding.createUser(['EditReviewers']); + const second = await onboarding.createUser(); + await onboarding.publish( + type, + [ + { + fieldPath: 'reviewers', + fieldLabel: 'Reviewers', + fieldKind: FieldKind.Native, + required: true, + }, + ], + [ + { + id: 'reviewers', + title: 'Reviewers', + type: Type.Field, + fieldPath: 'reviewers', + rules: { minItems: 2 }, + assignment: { + role: Role.Explicit, + assignees: [{ id: delegate.responseData.id, type: 'user' }], + }, + }, + ] + ); + const asset = await onboarding.createAsset(type); + const producer = await browser.newPage({ baseURL }); + try { + await delegate.login(producer); + const checklist = await visitOnboardingAsset(producer, type, asset); + const input = checklist.getByRole('combobox', { + name: 'Reviewers', + exact: true, + }); + for (const person of [delegate, second]) { + await input.fill(person.responseData.name); + await producer + .getByRole('option', { + name: person.responseData.displayName, + exact: true, + }) + .click(); + await producer.keyboard.press('Escape'); + expect( + (await saveOnboardingField(producer, checklist, type, asset)).ok() + ).toBeTruthy(); + if (person === delegate) + await expect( + checklist.getByRole('button', { + name: 'Reviewers', + exact: true, + }) + ).toContainText('Pending'); + } + await producer.reload(); + await expect( + checklist.getByRole('button', { name: 'Reviewers', exact: true }) + ).toContainText('Complete'); + await expect( + checklist.getByTestId('onboarding-advance') + ).toBeDisabled(); + const stored = await onboarding.api.get( + `/api/v1/${type.collection}/${asset.id}?fields=reviewers` + ); + expect( + (await stored.json()).reviewers.map( + (reviewer: { id: string }) => reviewer.id + ) + ).toEqual( + expect.arrayContaining([ + delegate.responseData.id, + second.responseData.id, + ]) + ); + } finally { + await producer.close(); + } + await visitOnboardingAsset(page, type, asset); + await expect(page.getByTestId('onboarding-advance')).toBeEnabled(); + }); + } + + test('Glossary Term: type, paste, delete and reload multiple synonyms', async ({ + page, + onboarding, + }) => { + const type = ONBOARDING_TYPES.find( + (item) => item.type === TargetEntityType.GlossaryTerm + )!; + await onboarding.publish( + type, + [ + { + fieldPath: 'synonyms', + fieldLabel: 'Synonyms', + fieldKind: FieldKind.Native, + required: true, + }, + ], + [ + { + id: 'synonyms', + title: 'Synonyms', + type: Type.Field, + fieldPath: 'synonyms', + rules: { minItems: 2 }, + }, + ] + ); + const asset = await onboarding.createAsset(type); + const checklist = await visitOnboardingAsset(page, type, asset); + const input = checklist.getByRole('textbox', { + name: 'Synonyms', + exact: true, + }); + await input.pressSequentially('first, second'); + await expect(input).toHaveValue('first, second'); + const saved = await saveOnboardingField(page, checklist, type, asset); + expect((await saved.json()).synonyms).toEqual(['first', 'second']); + await page.reload(); + await checklist + .getByRole('button', { name: 'Synonyms', exact: true }) + .click(); + await expect(input).toHaveValue('first, second'); + await input.fill('first, second, pasted'); + expect( + (await saveOnboardingField(page, checklist, type, asset)).ok() + ).toBeTruthy(); + await checklist + .getByRole('button', { name: 'Synonyms', exact: true }) + .click(); + await input.fill('first'); + expect( + (await saveOnboardingField(page, checklist, type, asset)).ok() + ).toBeTruthy(); + await expect(checklist.getByTestId('onboarding-advance')).toBeDisabled(); + await page.reload(); + await expect(input).toHaveValue('first'); + }); + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRollout.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRollout.spec.ts new file mode 100644 index 000000000000..a0da3bac1017 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingRollout.spec.ts @@ -0,0 +1,213 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FieldKind, + TargetEntityType, + Type, +} from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { authenticateAdminPage } from '../../utils/admin'; +import { uuid } from '../../utils/common'; +import { + approvalStep, + onboardingTest as test, + ONBOARDING_TYPES, + visitOnboardingAsset, +} from '../../utils/onboarding'; +const metric = ONBOARDING_TYPES.find( + (type) => type.type === TargetEntityType.Metric +)!; +const fields = [ + { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + required: true, + }, +]; +const checks = [ + { + id: 'name', + title: 'Display Name', + type: Type.Field, + fieldPath: 'displayName', + }, +]; + +test.describe( + 'Onboarding authorization and enrollment', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + test('A viewer can monitor work but cannot edit checks, approve another user task or open configuration', async ({ + page, + onboarding, + }) => { + const viewer = await onboarding.createUser(); + const reviewer = await onboarding.createUser(); + const workflow = await onboarding.workflow([reviewer]); + await onboarding.publish(metric, fields, checks, [ + approvalStep('Business review', workflow), + ]); + const asset = await onboarding.createAsset(metric, { + displayName: 'Ready for review', + }); + for (let attempt = 0; attempt < 2; attempt++) { + const progress = await onboarding.progress(metric, asset); + const response = await onboarding.api.post( + `/api/v1/governance/onboarding/metric/${asset.id}/transition`, + { + data: { + expectedVersion: progress.entityVersion, + targetStatus: progress.nextStatus, + }, + } + ); + expect(response.ok()).toBeTruthy(); + } + const progress = await onboarding.progress(metric, asset); + const task = progress.steps.find( + (step) => step.step.type === Type.Approval + )?.taskId; + expect(task).toBeTruthy(); + await viewer.login(page); + const checklist = await visitOnboardingAsset(page, metric, asset); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await expect( + checklist.getByRole('textbox', { name: 'Display Name', exact: true }) + ).toHaveCount(0); + await expect( + checklist.getByRole('button', { name: 'Edit', exact: true }) + ).toHaveCount(0); + await expect(checklist.getByTestId('onboarding-advance')).toBeDisabled(); + await checklist + .getByRole('button', { name: 'Business review', exact: true }) + .click(); + await checklist + .getByRole('link', { name: 'View task', exact: true }) + .click(); + await expect(page).toHaveURL(new RegExp(`/tasks/${task}$`)); + await expect(page.getByTestId('task-detail-panel')).toBeVisible(); + await expect(page.getByTestId('task-approve')).toHaveCount(0); + await expect(page.getByTestId('task-reject')).toHaveCount(0); + await page.goto('/settings/governance/intake-forms'); + await expect( + page.getByTestId('permission-error-placeholder') + ).toBeVisible(); + await expect(page.getByTestId('onboarding-configurations')).toHaveCount( + 0 + ); + expect((await onboarding.progress(metric, asset)).stage).toBe( + 'In Review' + ); + }); + + test('Enrollment status recovers from a failed load and leaves existing reviews, approvals and tasks intact', async ({ + page, + onboarding, + }) => { + test.slow(); + await authenticateAdminPage(page); + const reviewer = await onboarding.createUser(); + const eligible = await onboarding.createAsset(metric); + const reviewing = await onboarding.createAsset(metric); + const approved = await onboarding.createAsset(metric); + for (const [asset, status] of [ + [reviewing, 'In Review'], + [approved, 'Approved'], + ] as const) { + const response = await onboarding.api.patch( + `/api/v1/metrics/${asset.id}`, + { + headers: { 'Content-Type': 'application/json-patch+json' }, + data: [{ op: 'add', path: '/entityStatus', value: status }], + } + ); + expect(response.ok()).toBeTruthy(); + } + const task = await onboarding.createResource('tasks', { + name: `existing_review_${uuid()}`, + type: 'RequestApproval', + category: 'Approval', + about: `<#E::metric::${reviewing.fullyQualifiedName}>`, + assignees: [reviewer.responseData.name], + }); + const readTask = async () => { + const response = await onboarding.api.get(`/api/v1/tasks/${task.id}`); + expect(response.ok()).toBeTruthy(); + return response.json(); + }; + await expect + .poll(async () => (await readTask()).workflowInstanceId) + .toBeTruthy(); + const existingTask = await readTask(); + await onboarding.publish(metric, fields, checks); + const backfillUrl = '**/api/v1/governance/onboarding/backfill/metric'; + await page.route(backfillUrl, (route) => + route.fulfill({ + status: 503, + json: { message: 'Enrollment status unavailable' }, + }) + ); + await page.goto('/settings/governance/intake-forms'); + const status = page.getByTestId('onboarding-backfill-metric'); + await expect(status.getByRole('alert')).toBeVisible(); + await page.unroute(backfillUrl); + const recovered = page.waitForResponse(backfillUrl); + await status.getByRole('button', { name: 'Retry', exact: true }).click(); + expect((await recovered).ok()).toBeTruthy(); + await expect(page.getByTestId('row-metric')).toContainText( + /enrolled.*scanned/ + ); + await expect(status.getByRole('alert')).toHaveCount(0); + await expect + .poll(async () => { + const response = await onboarding.api.get( + '/api/v1/governance/onboarding/backfill/metric' + ); + return (await response.json())?.complete; + }) + .toBe(true); + const enrolled = await onboarding.progress(metric, eligible); + expect(enrolled.stage).toBe('Draft'); + for (const [asset, expectedStatus] of [ + [reviewing, 'In Review'], + [approved, 'Approved'], + ] as const) { + const response = await onboarding.api.get( + `/api/v1/metrics/${asset.id}` + ); + expect((await response.json()).entityStatus).toBe(expectedStatus); + expect( + ( + await onboarding.api.get( + `/api/v1/governance/onboarding/metric/${asset.id}` + ) + ).status() + ).toBe(404); + } + const preservedTask = await readTask(); + expect(preservedTask.workflowInstanceId).toBe( + existingTask.workflowInstanceId + ); + expect(preservedTask.status).toBe(existingTask.status); + const checklist = await visitOnboardingAsset(page, metric, eligible); + await page.reload(); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Draft'); + }); + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingWorkflows.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingWorkflows.spec.ts new file mode 100644 index 000000000000..1622ec35276e --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/OnboardingWorkflows.spec.ts @@ -0,0 +1,373 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FieldKind, + TargetEntityType, + Type, +} from '../../../src/generated/governance/intakeForm'; +import { DOMAIN_TAGS } from '../../constant/config'; +import { expect } from '../../support/fixtures/base'; +import { authenticateAdminPage } from '../../utils/admin'; +import { + advanceOnboarding, + approvalStep, + decideOnboardingTask, + onboardingTest as test, + ONBOARDING_TYPES, + refreshChecklist, + saveOnboardingField, + visitOnboardingAsset, +} from '../../utils/onboarding'; + +const displayName = { + fieldPath: 'displayName', + fieldLabel: 'Display Name', + fieldKind: FieldKind.Native, + required: true, +}; +const nameCheck = { + id: 'display-name', + type: Type.Field, + fieldPath: 'displayName', + title: 'Display Name', + rules: { minLength: 5 }, +}; + +test.describe( + 'Onboarding workflow evidence and recovery', + { tag: [DOMAIN_TAGS.GOVERNANCE] }, + () => { + test.beforeEach(async ({ page }) => { + await authenticateAdminPage(page); + }); + + for (const type of ONBOARDING_TYPES) { + test(`${type.label}: distinct approvals, concurrent requests, rejection and revised metadata`, async ({ + page, + browser, + baseURL, + onboarding, + }) => { + test.slow(); + const reviewer = await onboarding.createUser(); + const firstWorkflow = await onboarding.workflow([reviewer]); + const secondWorkflow = await onboarding.workflow([reviewer]); + await onboarding.publish( + type, + [displayName], + [nameCheck], + [ + approvalStep('Business review', firstWorkflow), + approvalStep('Quality review', secondWorkflow), + ] + ); + const asset = await onboarding.createAsset(type, { + displayName: 'Ready for review', + }); + const checklist = await visitOnboardingAsset(page, type, asset); + await advanceOnboarding(page, checklist, type, asset); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + const secondTab = await page.context().newPage(); + const reviewerPage = await browser.newPage({ baseURL }); + try { + const secondChecklist = await visitOnboardingAsset( + secondTab, + type, + asset + ); + const submissions = await Promise.all([ + advanceOnboarding(page, checklist, type, asset), + advanceOnboarding(secondTab, secondChecklist, type, asset), + ]); + const tasks = submissions[0].steps + .filter((step) => step.step.type === Type.Approval) + .map((step) => step.taskId); + expect(tasks).toHaveLength(2); + expect(tasks.every(Boolean)).toBeTruthy(); + expect(new Set(tasks).size).toBe(2); + expect( + submissions[1].steps + .filter((step) => step.step.type === Type.Approval) + .map((step) => step.taskId) + ).toEqual(tasks); + await reviewer.login(reviewerPage); + await decideOnboardingTask(reviewerPage, tasks[0]!, true); + await refreshChecklist(page, checklist, type, asset); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + const bypass = await onboarding.api.patch( + `/api/v1/${type.collection}/${asset.id}`, + { + headers: { 'Content-Type': 'application/json-patch+json' }, + data: [{ op: 'add', path: '/entityStatus', value: 'Approved' }], + } + ); + expect(bypass.status()).toBe(400); + await decideOnboardingTask(reviewerPage, tasks[1]!, false); + await expect( + reviewerPage.getByTestId('task-status-badge') + ).toHaveText('Rejected'); + await expect( + reviewerPage.getByTestId('task-detail-panel') + ).toContainText('Please clarify the business definition.'); + await refreshChecklist(page, checklist, type, asset); + await expect( + checklist.getByRole('button', { + name: 'Quality review', + exact: true, + }) + ).toContainText('Rejected'); + const resubmitted = await advanceOnboarding( + page, + checklist, + type, + asset + ); + const retried = resubmitted.steps.filter( + (step) => step.step.type === Type.Approval + ); + expect(retried[0].taskId).toBe(tasks[0]); + expect(retried[1].taskId).not.toBe(tasks[1]); + await decideOnboardingTask(reviewerPage, retried[1].taskId!, true); + await checklist + .getByRole('button', { name: 'Display Name', exact: true }) + .click(); + await checklist + .getByRole('textbox', { name: 'Display Name', exact: true }) + .fill('Revised business definition'); + expect( + (await saveOnboardingField(page, checklist, type, asset)).ok() + ).toBeTruthy(); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + expect((await onboarding.progress(type, asset)).canAdvance).toBe( + false + ); + const revised = await advanceOnboarding(page, checklist, type, asset); + const renewed = revised.steps.filter( + (step) => step.step.type === Type.Approval + ); + expect(renewed[0].taskId).not.toBe(tasks[0]); + expect(renewed[1].taskId).not.toBe(retried[1].taskId); + for (const step of renewed) + await decideOnboardingTask(reviewerPage, step.taskId!, true); + await expect + .poll( + async () => (await onboarding.progress(type, asset)).canAdvance + ) + .toBe(true); + await refreshChecklist(page, checklist, type, asset); + await expect(checklist.getByTestId('onboarding-advance')).toHaveText( + 'Advance to Approved' + ); + const finished = await advanceOnboarding( + page, + checklist, + type, + asset + ); + expect(finished.completed).toBe(true); + const evidence = finished.steps.filter( + (step) => step.step.type === Type.Approval + ); + expect(evidence.map((step) => step.step.workflow?.id)).toEqual([ + firstWorkflow.id, + secondWorkflow.id, + ]); + expect( + evidence.every( + (step) => step.state === 'Complete' && step.workflowInstanceId + ) + ).toBeTruthy(); + await page.reload(); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('Approved'); + await checklist + .getByRole('button', { name: 'Quality review', exact: true }) + .click(); + await expect( + checklist.getByText(/Workflow execution:/) + ).toBeVisible(); + await checklist + .getByRole('link', { name: 'Onboarding board', exact: true }) + .click(); + await expect( + page + .getByRole('row') + .filter({ hasText: 'Revised business definition' }) + ).toContainText('Approved'); + } finally { + await secondTab.close(); + await reviewerPage.close(); + } + }); + } + + test('Metric: two distinct reviewers must satisfy the configured threshold', async ({ + page, + browser, + baseURL, + onboarding, + }) => { + test.slow(); + const type = ONBOARDING_TYPES.find( + (item) => item.type === TargetEntityType.Metric + )!; + const reviewers = [ + await onboarding.createUser(), + await onboarding.createUser(), + ]; + const workflow = await onboarding.workflow(reviewers, 2); + await onboarding.publish( + type, + [], + [], + [approvalStep('Two-person review', workflow)] + ); + const asset = await onboarding.createAsset(type); + const checklist = await visitOnboardingAsset(page, type, asset); + const requested = await advanceOnboarding(page, checklist, type, asset); + const taskId = requested.steps.find( + (step) => step.step.type === Type.Approval + )?.taskId; + expect(taskId).toBeTruthy(); + for (const reviewer of reviewers) { + const decisionPage = await browser.newPage({ baseURL }); + try { + await reviewer.login(decisionPage); + await decideOnboardingTask(decisionPage, taskId!, true); + if (reviewer === reviewers[0]) { + const pending = await onboarding.progress(type, asset); + expect(pending.canAdvance).toBe(false); + expect(pending.stage).toBe('In Review'); + await expect(decisionPage.getByTestId('task-approve')).toHaveCount( + 0 + ); + } + } finally { + await decisionPage.close(); + } + } + await expect + .poll(async () => (await onboarding.progress(type, asset)).canAdvance) + .toBe(true); + await refreshChecklist(page, checklist, type, asset); + expect( + (await advanceOnboarding(page, checklist, type, asset)).completed + ).toBe(true); + }); + + test('Metric: suspended workflow resumes its task; deleted workflow remains a blocker', async ({ + page, + onboarding, + }) => { + const type = ONBOARDING_TYPES.find( + (item) => item.type === TargetEntityType.Metric + )!; + const reviewer = await onboarding.createUser(); + const workflow = await onboarding.workflow([reviewer]); + await onboarding.publish( + type, + [], + [], + [approvalStep('Workflow review', workflow)] + ); + const asset = await onboarding.createAsset(type); + const checklist = await visitOnboardingAsset(page, type, asset); + const pending = await advanceOnboarding(page, checklist, type, asset); + const taskId = pending.steps.find( + (step) => step.step.type === Type.Approval + )?.taskId; + const workflowPath = `/api/v1/governance/workflowDefinitions/name/${workflow.fullyQualifiedName}`; + expect( + (await onboarding.api.put(`${workflowPath}/suspend`, { data: {} })).ok() + ).toBeTruthy(); + await refreshChecklist(page, checklist, type, asset); + await expect( + checklist.getByRole('button', { name: 'Workflow review', exact: true }) + ).toContainText('Failed'); + await expect( + checklist.getByTestId('onboarding-current-stage') + ).toHaveText('In Review'); + expect( + (await onboarding.api.put(`${workflowPath}/resume`, { data: {} })).ok() + ).toBeTruthy(); + const resumed = await advanceOnboarding(page, checklist, type, asset); + expect( + resumed.steps.find((step) => step.step.type === Type.Approval)?.taskId + ).toBe(taskId); + expect( + ( + await onboarding.api.delete( + `/api/v1/governance/workflowDefinitions/${workflow.id}?hardDelete=true` + ) + ).ok() + ).toBeTruthy(); + await refreshChecklist(page, checklist, type, asset); + await expect( + checklist.getByRole('button', { name: 'Workflow review', exact: true }) + ).toContainText('Failed'); + const blocked = await advanceOnboarding(page, checklist, type, asset); + expect(blocked.canAdvance).toBe(false); + expect(blocked.stage).toBe('In Review'); + await expect(checklist.getByTestId('onboarding-handoff')).toContainText( + /workflow/i + ); + }); + + test('Metric: missing workflow assignees remain visible unresolved work', async ({ + page, + onboarding, + }) => { + const type = ONBOARDING_TYPES.find( + (item) => item.type === TargetEntityType.Metric + )!; + const workflow = await onboarding.workflow([]); + await onboarding.publish( + type, + [], + [], + [approvalStep('Unassigned review', workflow)] + ); + const asset = await onboarding.createAsset(type); + const checklist = await visitOnboardingAsset(page, type, asset); + await advanceOnboarding(page, checklist, type, asset); + await expect + .poll( + async () => + ( + await onboarding.progress(type, asset) + ).steps.find((step) => step.step.type === Type.Approval)?.state + ) + .toBe('Blocked'); + await refreshChecklist(page, checklist, type, asset); + await expect( + checklist.getByRole('navigation', { + name: 'Unassigned work', + exact: true, + }) + ).toContainText('Unassigned review'); + await expect(checklist.getByTestId('onboarding-handoff')).toContainText( + 'No responsible person could be resolved.' + ); + const blocked = await advanceOnboarding(page, checklist, type, asset); + expect(blocked.canAdvance).toBe(false); + expect(blocked.stage).toBe('In Review'); + }); + } +); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/onboarding.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/onboarding.ts new file mode 100644 index 000000000000..f23c5eca7f88 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/onboarding.ts @@ -0,0 +1,457 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { APIRequestContext, Locator, Page } from '@playwright/test'; +import { + IntakeFormField, + OnboardingStep, + TargetEntityType, + Type, +} from '../../src/generated/governance/intakeForm'; +import { OnboardingProgress } from '../../src/generated/governance/onboarding/onboardingProgress'; +import { EntityReference } from '../../src/generated/type/entityReference'; +import { expect, test } from '../support/fixtures/base'; +import { UserClass } from '../support/user/UserClass'; +import { createAdminApiContext } from './admin'; +import { descriptionBox, uuid } from './common'; +import { clickDrawerSave } from './domain'; +import { openAddGlossaryTermModal } from './glossary'; + +export const ONBOARDING_TYPES = [ + { + type: TargetEntityType.DataProduct, + collection: 'dataProducts', + path: 'dataProduct', + label: 'Data Product', + }, + { + type: TargetEntityType.Domain, + collection: 'domains', + path: 'domain', + label: 'Domain', + }, + { + type: TargetEntityType.GlossaryTerm, + collection: 'glossaryTerms', + path: 'glossary', + label: 'Glossary Term', + }, + { + type: TargetEntityType.Metric, + collection: 'metrics', + path: 'metric', + label: 'Metric', + }, +]; +export type OnboardingAssetType = (typeof ONBOARDING_TYPES)[number]; +export interface OnboardingTestAsset extends EntityReference { + name: string; + fullyQualifiedName: string; + version: number; +} + +export class OnboardingFixtures { + readonly cleanup: string[] = []; + readonly cleanupActions: (() => Promise)[] = []; + domain?: OnboardingTestAsset; + glossary?: OnboardingTestAsset; + constructor(readonly api: APIRequestContext) {} + + async createResource( + collection: string, + data: unknown + ): Promise { + const response = await this.api.post(`/api/v1/${collection}`, { data }); + expect(response.status(), await response.text()).toBe(201); + const resource: OnboardingTestAsset = await response.json(); + this.cleanup.push(`/api/v1/${collection}/${resource.id}`); + return resource; + } + + async publish( + type: OnboardingAssetType, + fields: IntakeFormField[], + draft: OnboardingStep[], + review: OnboardingStep[] = [] + ) { + return this.createResource('governance/intakeForms', { + name: `onboarding_${uuid()}`, + entityType: type.type, + enabled: true, + formFields: fields, + onboarding: { + enabled: true, + gates: [ + { stage: 'Creation', steps: [] }, + { stage: 'Draft', steps: draft }, + { stage: 'In Review', steps: review }, + ], + }, + }); + } + + async createAsset( + type: OnboardingAssetType, + values: Record = {} + ) { + if (type.type === TargetEntityType.DataProduct && !this.domain) { + this.domain = await this.createResource('domains', { + name: `parent_${uuid()}`, + description: 'Browser test parent', + domainType: 'Aggregate', + }); + } + if (type.type === TargetEntityType.GlossaryTerm && !this.glossary) { + this.glossary = await this.createResource('glossaries', { + name: `glossary_${uuid()}`, + description: 'Browser test glossary', + }); + } + return this.createResource(type.collection, { + name: `journey_${uuid()}`, + description: 'Metadata under review', + ...(type.type === TargetEntityType.DataProduct + ? { domains: [this.domain?.fullyQualifiedName] } + : {}), + ...(type.type === TargetEntityType.Domain + ? { domainType: 'Aggregate' } + : {}), + ...(type.type === TargetEntityType.GlossaryTerm + ? { glossary: this.glossary?.fullyQualifiedName } + : {}), + ...values, + }); + } + + async createUser(operations: string[] = []) { + const user = new UserClass(); + const policies = ['DataConsumerPolicy', 'TaskAuthorPolicy']; + if (operations.length) { + const policy = await this.createResource('policies', { + name: `onboarding_${uuid()}`, + rules: [ + { + name: 'Metadata', + resources: ONBOARDING_TYPES.map((type) => type.type), + operations, + effect: 'allow', + }, + ], + }); + policies.push(policy.name); + } + const role = await this.createResource('roles', { + name: `onboarding_${uuid()}`, + policies, + }); + const response = await this.api.post('/api/v1/users', { + data: { + name: user.data.email.split('@')[0], + email: user.data.email, + displayName: `Reviewer ${uuid()}`, + roles: [role.id], + isAdmin: false, + createPasswordType: 'ADMIN_CREATE', + password: user.data.password, + confirmPassword: user.data.password, + }, + }); + expect(response.status()).toBe(201); + user.responseData = await response.json(); + this.cleanup.push(`/api/v1/users/${user.responseData.id}`); + return user; + } + + async workflow(users: UserClass[], threshold = 1) { + const response = await this.api.get( + '/api/v1/governance/workflowDefinitions/name/RequestApprovalTaskWorkflow?fields=*' + ); + expect(response.ok()).toBeTruthy(); + const seed = await response.json(); + for (const node of seed.nodes) { + if (node.subType === 'userApprovalTask') { + node.config.assigneeStrategy = 'reviewers-and-assignees'; + node.config.approvalThreshold = threshold; + node.config.assignees = { + addReviewers: false, + addOwners: false, + candidates: users.map((user) => ({ + id: user.responseData.id, + type: 'user', + fullyQualifiedName: user.responseData.fullyQualifiedName, + })), + }; + } + } + return this.createResource('governance/workflowDefinitions', { + name: `onboarding_${uuid()}`, + description: 'Browser workflow evidence', + config: seed.config, + trigger: seed.trigger, + nodes: seed.nodes, + edges: seed.edges, + }); + } + + async progress( + type: OnboardingAssetType, + asset: EntityReference + ): Promise { + const response = await this.api.get( + `/api/v1/governance/onboarding/${type.type}/${asset.id}` + ); + expect(response.ok()).toBeTruthy(); + return response.json(); + } + + async registerStringProperty(type: string, name: string) { + const definitionResponse = await this.api.get( + '/api/v1/metadata/types/name/' + type + '?fields=customProperties' + ); + const propertyResponse = await this.api.get( + '/api/v1/metadata/types/name/string' + ); + expect(definitionResponse.ok()).toBeTruthy(); + expect(propertyResponse.ok()).toBeTruthy(); + const definition = await definitionResponse.json(); + const property = await propertyResponse.json(); + const saved = await this.api.put( + '/api/v1/metadata/types/' + definition.id, + { + data: { + name, + description: 'Onboarding browser field', + propertyType: { id: property.id, type: 'type' }, + }, + } + ); + expect(saved.ok()).toBeTruthy(); + this.cleanupActions.push(async () => { + const response = await this.api.get( + '/api/v1/metadata/types/name/' + type + '?fields=customProperties' + ); + const current = await response.json(); + const index = current.customProperties.findIndex( + (item: { name: string }) => item.name === name + ); + expect(index).toBeGreaterThanOrEqual(0); + const removed = await this.api.patch( + '/api/v1/metadata/types/' + current.id, + { + headers: { 'Content-Type': 'application/json-patch+json' }, + data: [ + { + op: 'test', + path: '/customProperties/' + index + '/name', + value: name, + }, + { op: 'remove', path: '/customProperties/' + index }, + ], + } + ); + expect(removed.ok()).toBeTruthy(); + }); + } + + async dispose() { + for (const path of this.cleanup.reverse()) { + const response = await this.api.delete( + `${path}?hardDelete=true&recursive=true` + ); + expect([200, 204, 404], path).toContain(response.status()); + } + for (const action of this.cleanupActions.reverse()) await action(); + } +} + +export const onboardingTest = test.extend<{ onboarding: OnboardingFixtures }>({ + onboarding: async ({ baseURL }, use) => { + if (!baseURL) throw new Error('Onboarding tests require a base URL'); + const login = await createAdminApiContext(); + const fixture = new OnboardingFixtures(login.apiContext); + try { + await use(fixture); + } finally { + try { + await fixture.dispose(); + } finally { + await login.afterAction(); + } + } + }, +}); + +export const approvalStep = ( + id: string, + workflow: EntityReference +): OnboardingStep => ({ + id: id.replaceAll(' ', '-'), + title: id, + type: Type.Approval, + workflow: { + id: workflow.id, + name: workflow.name, + type: 'workflowDefinition', + fullyQualifiedName: workflow.fullyQualifiedName, + }, +}); +export const visitOnboardingAsset = async ( + page: Page, + type: OnboardingAssetType, + asset: EntityReference +) => { + await page.goto( + `/${type.path}/${encodeURIComponent(asset.fullyQualifiedName ?? '')}` + ); + page.setDefaultTimeout(20000); + const checklist = page.getByTestId('onboarding-checklist'); + await expect(checklist.getByTestId('onboarding-journey')).toBeVisible(); + return checklist; +}; +export const refreshChecklist = async ( + page: Page, + checklist: Locator, + type: OnboardingAssetType, + asset: EntityReference +) => { + const refreshed = page.waitForResponse((response) => + response.url().endsWith(`/onboarding/${type.type}/${asset.id}`) + ); + await checklist.getByRole('button', { name: 'Refresh', exact: true }).click(); + expect((await refreshed).ok()).toBeTruthy(); +}; +export const saveOnboardingField = async ( + page: Page, + checklist: Locator, + type: OnboardingAssetType, + asset: EntityReference +) => { + const saved = page.waitForResponse( + (response) => + response.url().includes(`/api/v1/${type.collection}/${asset.id}`) && + response.request().method() === 'PATCH' + ); + await checklist + .getByRole('button', { name: 'Save & continue', exact: true }) + .click(); + const response = await saved; + await expect(checklist.locator('button[data-loading="true"]')).toHaveCount(0); + return response; +}; +export const advanceOnboarding = async ( + page: Page, + checklist: Locator, + type: OnboardingAssetType, + asset: EntityReference +) => { + const advanced = page.waitForResponse((response) => + response.url().endsWith(`/onboarding/${type.type}/${asset.id}/transition`) + ); + await checklist.getByTestId('onboarding-advance').click(); + const response = await advanced; + expect(response.ok(), await response.text()).toBeTruthy(); + return response.json() as Promise; +}; +export const decideOnboardingTask = async ( + page: Page, + taskId: string, + approve: boolean +) => { + page.setDefaultTimeout(20000); + await page.goto(`/tasks/${taskId}`); + await expect(page.getByTestId('task-detail-panel')).toBeVisible(); + const resolved = page.waitForResponse( + (response) => + response.url().endsWith(`/tasks/${taskId}/resolve`) && + response.request().method() === 'POST' + ); + if (approve) { + await page.getByTestId('task-approve').click(); + } else { + await page.getByTestId('task-reject').click(); + await page + .getByTestId('task-action-comment') + .getByRole('textbox') + .fill('Please clarify the business definition.'); + await page.getByTestId('task-action-comment-confirm').click(); + } + expect((await resolved).ok()).toBeTruthy(); +}; + +export const createOnboardingAssetThroughUI = async ( + page: Page, + type: OnboardingAssetType, + suffix: string, + domain: Pick, + glossary: Pick, + beforeSubmit?: (submit: () => Promise) => Promise +): Promise => { + const name = `onboarding_${suffix}`; + if (type.type === 'metric') { + await page.goto('/metrics'); + await page.getByTestId('create-metric').click(); + await page.locator('[id="root/name"]').fill(name); + } else if (type.type === 'glossaryTerm') { + await page.goto( + `/glossary/${encodeURIComponent(glossary.fullyQualifiedName)}` + ); + await openAddGlossaryTermModal(page); + const modal = page.locator('[role="dialog"].edit-glossary-modal'); + await modal.getByTestId('name').fill(name); + await modal + .locator(descriptionBox) + .fill('Metadata for the onboarding browser journey'); + } else { + await page.goto(`/domain/${encodeURIComponent(domain.fullyQualifiedName)}`); + await page.getByTestId('domain-details-add-button').click(); + await page + .getByRole('menuitem', { + name: type.type === 'domain' ? 'Sub Domains' : 'Data Products', + exact: true, + }) + .click(); + const form = page.getByTestId('add-domain-form'); + await form.getByTestId('name').locator('input').fill(name); + await form + .locator(descriptionBox) + .fill('Metadata for the onboarding browser journey'); + if (type.type === 'domain') { + await form.getByRole('button', { name: /Select Domain Type/ }).click(); + await page + .getByRole('option', { name: 'Aggregate', exact: true }) + .click(); + } + } + await expect(page.getByTestId('onboarding-creation-checklist')).toBeVisible(); + const submit = async () => { + if (type.type === 'metric') { + await page.getByTestId('create-button').click(); + } else if (type.type === 'glossaryTerm') { + await page + .locator('[role="dialog"].edit-glossary-modal') + .getByRole('button', { name: 'Save', exact: true }) + .click(); + } else { + await clickDrawerSave(page); + } + }; + await beforeSubmit?.(submit); + const created = page.waitForResponse( + (response) => + response.url().endsWith(`/api/v1/${type.collection}`) && + response.request().method() === 'POST' + ); + await submit(); + const response = await created; + expect(response.status()).toBe(201); + return response.json(); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/AppRoot.tsx b/openmetadata-ui/src/main/resources/ui/src/AppRoot.tsx index 18c70c7eb24d..b7d98316c04a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/AppRoot.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/AppRoot.tsx @@ -20,6 +20,7 @@ import { BrowserRouter } from 'react-router-dom'; import { useShallow } from 'zustand/react/shallow'; import App from './App'; import ErrorBoundary from './components/common/ErrorBoundary/ErrorBoundary'; +import { NavigationGuardProvider } from './components/common/NavigationGuardModal/NavigationGuardProvider'; import AntDConfigProvider from './context/AntDConfigProvider/AntDConfigProvider'; import { useApplicationStore } from './hooks/useApplicationStore'; import { @@ -86,20 +87,22 @@ const AppRoot: FC = () => { return (
- - - - - - - - - - - - + + + + + + + + + + + + + +
); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx index 3753c9ef47cc..f6303056766d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AuthenticatedAppRouter.tsx @@ -28,6 +28,16 @@ import AdminProtectedRoute from './AdminProtectedRoute'; import { withPageSuspenseFallback } from './withSuspenseFallback'; // Previously statically imported — lazify so they stay out of the main chunk +const OnboardingBoardPage = withPageSuspenseFallback( + React.lazy( + () => import('../../pages/governance/onboarding/OnboardingBoardPage') + ) +); + +const TaskDetailsPage = withPageSuspenseFallback( + React.lazy(() => import('../../pages/governance/tasks/TaskDetailsPage')) +); + const AddCustomMetricPage = withPageSuspenseFallback( React.lazy( () => import('../../pages/AddCustomMetricPage/AddCustomMetricPage') @@ -366,6 +376,8 @@ const AuthenticatedAppRouter: FunctionComponent = () => { return ( + } path="/onboarding" /> + } path={ROUTES.TASK_DETAIL} /> } path={ROUTES.FORBIDDEN} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx index 9f287dacd47d..63b4cd88057f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx @@ -51,6 +51,7 @@ import { DataProduct, } from '../../../generated/entity/domains/dataProduct'; import { Operation } from '../../../generated/entity/policies/policy'; +import { TargetEntityType } from '../../../generated/governance/intakeForm'; import { PageType } from '../../../generated/system/ui/page'; import { ContractExecutionStatus } from '../../../generated/type/contractExecutionStatus'; import { Style } from '../../../generated/type/tagLabel'; @@ -121,6 +122,7 @@ import { VotingDataProps } from '../../Entity/Voting/voting.interface'; import { EntityDetailsObjectInterface } from '../../Explore/ExplorePage.interface'; import { AssetsTabRef } from '../../Glossary/GlossaryTerms/tabs/AssetsTabs.component'; import { AssetsOfEntity } from '../../Glossary/GlossaryTerms/tabs/AssetsTabs.interface'; +import { OnboardingChecklist } from '../../governance/onboarding/OnboardingChecklist'; import { LearningIcon } from '../../Learning/LearningIcon/LearningIcon.component'; import EntityNameModal from '../../Modals/EntityNameModal/EntityNameModal.component'; import StyleModal from '../../Modals/StyleModal/StyleModal.component'; @@ -1013,6 +1015,13 @@ const DataProductsDetailsPage = ({ imageUrl={coverImageProps.imageUrl} position={coverImageProps.position} /> + newTagsUI activeTab={currentTab} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx index c03e1629aacd..603456ad24b8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx @@ -79,7 +79,7 @@ import { serializeExtensionValue } from '../../../utils/CustomProperty.utils'; import domainClassBase from '../../../utils/Domain/DomainClassBase'; import { getEntityName } from '../../../utils/EntityNameUtils'; import { getEntityReferenceListFromEntities } from '../../../utils/EntityReferenceUtils'; -import { getIntakeFormFields } from '../../../utils/IntakeFormUtils'; +import { getCreationIntakeFields } from '../../../utils/governance/onboarding/Onboarding.utils'; import { checkPermission } from '../../../utils/PermissionsUtils'; import { getTermQuery } from '../../../utils/SearchPureUtils'; import tagClassBase from '../../../utils/TagClassBase'; @@ -92,6 +92,7 @@ import { DEFAULT_DOMAIN_ICON, } from '../../common/IconPicker'; import RichTextEditor from '../../common/RichTextEditor/RichTextEditor'; +import { OnboardingCreationChecklist } from '../../governance/onboarding/OnboardingCreationChecklist'; import '../domain.less'; import { DomainFormType } from '../DomainPage.interface'; import { @@ -188,8 +189,7 @@ const applyDataProductFields = ( dataProduct.portfolioPriority = formData.portfolioPriority .value as PortfolioPriority; } - // Collate-only: no field means the property is never sent. - if (domainClassBase.getReviewersField()) { + if (domainClassBase.getReviewersField() || formData.reviewers.length > 0) { dataProduct.reviewers = formData.reviewers.map( (item) => item.value as EntityReference ); @@ -343,6 +343,11 @@ const AddDomainForm = ({ >([]); const [descriptionEditorKey, setDescriptionEditorKey] = useState(0); const [intakeForm, setIntakeForm] = useState(null); + const onboardingWatchedValues = useWatch({ control: form.control }); + const onboardingValues = useMemo( + () => transformDomainFormData(form.getValues(), type, parentDomain), + [form, type, parentDomain, onboardingWatchedValues] + ); const [customProperties, setCustomProperties] = useState( [] ); @@ -445,7 +450,7 @@ const AddDomainForm = ({ // message needs the per-field metadata from the intake form. const nativeRequiredFieldsByPath = useMemo(() => { const map = new Map(); - getIntakeFormFields(intakeForm).forEach((field) => { + getCreationIntakeFields(intakeForm, onboardingValues).forEach((field) => { const isCustom = field.fieldKind === FieldKind.CustomProperty || field.fieldPath.startsWith('extension.'); @@ -455,15 +460,15 @@ const AddDomainForm = ({ }); return map; - }, [intakeForm]); + }, [intakeForm, onboardingValues]); const extensionFormFields = useMemo(() => { - return getIntakeFormFields(intakeForm).filter( + return getCreationIntakeFields(intakeForm, onboardingValues).filter( (field) => field.fieldKind === FieldKind.CustomProperty || field.fieldPath.startsWith('extension.') ); - }, [intakeForm]); + }, [intakeForm, onboardingValues]); const dataProductTypeOptions = useMemo( () => @@ -956,7 +961,18 @@ const AddDomainForm = ({ type: FieldTypes.USER_TEAM_SELECT, }); - const baseReviewersField = domainClassBase.getReviewersField(); + const baseReviewersField: FieldProp | null = + domainClassBase.getReviewersField() ?? + (getCreationIntakeFields(intakeForm, onboardingValues).some( + (field) => field.fieldPath === 'reviewers' + ) + ? { + id: 'root/reviewers', + name: 'reviewers', + label: t('label.reviewer-plural'), + type: FieldTypes.USER_TEAM_SELECT_INPUT, + } + : null); const reviewersField: FieldProp | null = baseReviewersField ? applyIntakeFormRequired({ ...baseReviewersField, @@ -1090,6 +1106,10 @@ const AddDomainForm = ({ data-testid="add-domain-form" form={form} onSubmit={form.handleSubmit(handleSubmit)}> + {coverImageField &&
{getField(coverImageField)}
} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.test.tsx index 0544ef25eae8..6841e00714cc 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.test.tsx @@ -478,6 +478,25 @@ describe('AddDomainForm', () => { expect(screen.getByTestId('root/reviewers')).toBeInTheDocument(); }); + it('renders reviewers required by an intake form without a class override', async () => { + mockedGetIntakeFormByEntityType.mockResolvedValueOnce({ + id: 'intake-form-id', + name: 'dataProductIntake', + entityType: TargetEntityType.DataProduct, + formFields: [ + { + fieldPath: 'reviewers', + fieldKind: FieldKind.Native, + fieldLabel: 'Reviewers', + required: true, + }, + ], + } as IntakeForm); + render(); + + expect(await screen.findByTestId('root/reviewers')).toBeInTheDocument(); + }); + it('wires the configured entity-reference and hyperlink intake fields', async () => { const formFields = [ { @@ -827,7 +846,7 @@ describe('transformDomainFormData', () => { expect(result).toHaveProperty('domains', ['Finance']); }); - it('omits reviewers from the DATA_PRODUCT payload when the field is hidden', () => { + it('preserves intake reviewers in the DATA_PRODUCT payload without a class override', () => { const result = transformDomainFormData( { ...baseForm, @@ -836,7 +855,7 @@ describe('transformDomainFormData', () => { DomainFormType.DATA_PRODUCT ); - expect(result).not.toHaveProperty('reviewers'); + expect(result).toHaveProperty('reviewers', [expertRef]); }); it('includes reviewers in the DATA_PRODUCT payload when the field is shown', () => { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetails/DomainDetails.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetails/DomainDetails.component.tsx index 00a40c976b84..fb8ba373e17c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetails/DomainDetails.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetails/DomainDetails.component.tsx @@ -52,6 +52,7 @@ import { CreateDomain } from '../../../generated/api/domains/createDomain'; import { Domain } from '../../../generated/entity/domains/domain'; import { Operation } from '../../../generated/entity/policies/policy'; import { ChangeDescription } from '../../../generated/entity/type'; +import { TargetEntityType } from '../../../generated/governance/intakeForm'; import { PageType } from '../../../generated/system/ui/page'; import { Style } from '../../../generated/type/tagLabel'; import { useApplicationStore } from '../../../hooks/useApplicationStore'; @@ -126,6 +127,7 @@ import Loader from '../../common/Loader/Loader'; import { GenericProvider } from '../../Customization/GenericProvider/GenericProvider'; import { AssetSelectionDrawer } from '../../DataAssets/AssetsSelectionModal/AssetSelectionDrawer'; import { EntityDetailsObjectInterface } from '../../Explore/ExplorePage.interface'; +import { OnboardingChecklist } from '../../governance/onboarding/OnboardingChecklist'; import { LearningIcon } from '../../Learning/LearningIcon/LearningIcon.component'; import StyleModal from '../../Modals/StyleModal/StyleModal.component'; import AddDomainForm, { @@ -1003,6 +1005,13 @@ const DomainDetails = ({ position={{ y: domain.style?.coverImage?.position }} /> )} + !editMode && customPropertiesLoaded && @@ -184,6 +190,7 @@ const IntakeFieldsSection = ({ customProperties={customProperties} formFields={extensionFormFields} ref={intakeFieldsRef} + onValuesChange={onValuesChange} /> ); @@ -198,12 +205,28 @@ const AddGlossaryTermForm = ({ const selectedOwners = Form.useWatch('owners', form) ?? []; const { t } = useTranslation(); + const watchedValues = Form.useWatch([], form); + const [supplementalValues, setSupplementalValues] = useState< + Record + >({}); + const [extensionValues, setExtensionValues] = useState< + Record + >({}); + const onboardingValues = useMemo( + () => ({ + ...watchedValues, + ...supplementalValues, + extension: extensionValues, + }), + [watchedValues, supplementalValues, extensionValues] + ); const [intakeForm, setIntakeForm] = useState(null); const [customProperties, setCustomProperties] = useState( [] ); const [customPropertiesLoaded, setCustomPropertiesLoaded] = useState(false); const intakeFieldsRef = useRef(null); + const supplementalRef = useRef(null); useEffect(() => { let cancelled = false; @@ -266,7 +289,7 @@ const AddGlossaryTermForm = ({ const nativeRequiredFieldsByPath = useMemo(() => { const fields = new Map(); - getIntakeFormFields(intakeForm).forEach((field) => { + getCreationIntakeFields(intakeForm, onboardingValues).forEach((field) => { const isCustomProperty = field.fieldKind === FieldKind.CustomProperty || field.fieldPath.startsWith('extension.'); @@ -277,16 +300,16 @@ const AddGlossaryTermForm = ({ }); return fields; - }, [intakeForm]); + }, [intakeForm, onboardingValues]); const extensionFormFields = useMemo( () => - getIntakeFormFields(intakeForm).filter( + getCreationIntakeFields(intakeForm, onboardingValues).filter( (field) => field.fieldKind === FieldKind.CustomProperty || field.fieldPath.startsWith('extension.') ), - [intakeForm] + [intakeForm, onboardingValues] ); const applyIntakeFormRequired = useCallback( @@ -357,7 +380,10 @@ const AddGlossaryTermForm = ({ // Form, so antd's own validation pass cannot see them — validate explicitly // and abort so RHF renders the inline errors. const isIntakeValid = await (intakeFieldsRef.current?.validate() ?? true); - if (!editMode && !isIntakeValid) { + if ( + !editMode && + (!isIntakeValid || !(await (supplementalRef.current?.validate() ?? true))) + ) { return; } @@ -375,7 +401,19 @@ const AddGlossaryTermForm = ({ reviewersList, }); - await onSave(data); + const supplemental = supplementalRef.current?.getValues(); + await onSave({ + ...data, + ...(supplemental?.domains + ? { + domains: Array.isArray(supplemental.domains) + ? supplemental.domains.filter( + (domain): domain is string => typeof domain === 'string' + ) + : [], + } + : {}), + }); }; useEffect(() => { @@ -664,6 +702,10 @@ const AddGlossaryTermForm = ({ }} layout="vertical" onFinish={handleSave}> + {generateFormFields(intakeAwareFormFields)} @@ -757,12 +799,21 @@ const AddGlossaryTermForm = ({ own
element and nesting forms is invalid HTML. The modal's Save button sits in the footer outside both forms, so it still drives submission via the antd instance. */} + field.fieldPath === 'domains' + )} + properties={[]} + ref={supplementalRef} + onValuesChange={setSupplementalValues} + /> ); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/AddGlossaryTermForm.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/AddGlossaryTermForm.interface.ts index 19852ed1c6ec..ec793cd001d5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/AddGlossaryTermForm.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/AddGlossaryTermForm.interface.ts @@ -46,9 +46,11 @@ export interface IntakeFieldsSectionProps { extensionFormFields: IntakeFormField[]; customProperties: CustomProperty[]; intakeFieldsRef: RefObject; + onValuesChange?: (values: Record) => void; } export interface GlossaryTermForm { + domains?: string[]; name: string; displayName: string; description: string; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/GlossaryTermIntakeFields.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/GlossaryTermIntakeFields.component.tsx index eeeb7e96150e..7b897eff7353 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/GlossaryTermIntakeFields.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/AddGlossaryTermForm/GlossaryTermIntakeFields.component.tsx @@ -11,8 +11,8 @@ * limitations under the License. */ import { HookForm } from '@openmetadata/ui-core-components'; -import { forwardRef, useImperativeHandle } from 'react'; -import { useForm } from 'react-hook-form'; +import { forwardRef, useEffect, useImperativeHandle } from 'react'; +import { useForm, useWatch } from 'react-hook-form'; import { CustomProperty } from '../../../generated/entity/type'; import { IntakeFormField } from '../../../generated/governance/intakeForm'; import { serializeExtensionValue } from '../../../utils/CustomProperty.utils'; @@ -28,6 +28,7 @@ export interface GlossaryTermIntakeFieldsHandle { interface GlossaryTermIntakeFieldsProps { customProperties: CustomProperty[]; formFields: IntakeFormField[]; + onValuesChange?: (values: Record) => void; } const findCustomPropertyByName = ( @@ -48,10 +49,31 @@ const findCustomPropertyByName = ( const GlossaryTermIntakeFields = forwardRef< GlossaryTermIntakeFieldsHandle, GlossaryTermIntakeFieldsProps ->(({ customProperties, formFields }, ref) => { +>(({ customProperties, formFields, onValuesChange }, ref) => { const form = useForm({ defaultValues: { extensionFormValues: {} }, }); + const watched = useWatch({ + control: form.control, + name: 'extensionFormValues', + }); + const serialized = JSON.stringify( + Object.entries(watched ?? {}).reduce>( + (result, [key, value]) => { + const name = getExtensionPropertyNameFromFormKey(key); + const definition = findCustomPropertyByName(customProperties, name); + result[name] = definition + ? serializeExtensionValue(definition, value) + : value; + + return result; + }, + {} + ) + ); + useEffect(() => { + onValuesChange?.(JSON.parse(serialized)); + }, [serialized, onValuesChange]); useImperativeHandle( ref, diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryHeader/GlossaryHeader.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryHeader/GlossaryHeader.component.tsx index 9df186312bfc..6d6d898284bd 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryHeader/GlossaryHeader.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryHeader/GlossaryHeader.component.tsx @@ -52,6 +52,7 @@ import { GlossaryTerm, } from '../../../generated/entity/data/glossaryTerm'; import { Operation } from '../../../generated/entity/policies/policy'; +import { TargetEntityType } from '../../../generated/governance/intakeForm'; import { Style } from '../../../generated/type/tagLabel'; import { Votes } from '../../../generated/type/votes'; import { useApplicationStore } from '../../../hooks/useApplicationStore'; @@ -78,6 +79,7 @@ import { useGenericContext } from '../../Customization/GenericProvider/GenericCo import { QueryVoteType } from '../../Database/TableQueries/TableQueries.interface'; import { EntityStatusBadge } from '../../Entity/EntityStatusBadge/EntityStatusBadge.component'; import Voting from '../../Entity/Voting/Voting.component'; +import { OnboardingChecklist } from '../../governance/onboarding/OnboardingChecklist'; import { LearningIcon } from '../../Learning/LearningIcon/LearningIcon.component'; import ChangeParentHierarchy from '../../Modals/ChangeParentHierarchy/ChangeParentHierarchy.component'; import IconColorModal from '../../Modals/IconColorModal/IconColorModal'; @@ -841,6 +843,14 @@ const GlossaryHeader = ({ votes={selectedData.votes} />
+ {!isGlossary && !isVersionView && ( + + )} = ({ onVersionClick={onVersionChange} /> + + + customizedPage={customizedPage} data={metricDetails} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/NavigationGuardModal/NavigationGuardModal.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/NavigationGuardModal/NavigationGuardModal.tsx index 25e2026d632e..f648fee2d230 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/NavigationGuardModal/NavigationGuardModal.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/NavigationGuardModal/NavigationGuardModal.tsx @@ -36,7 +36,11 @@ export const NavigationGuardModal = ({ return ( !open && onStay()}> - +
{ + const guards = useRef(new Set()); + const [ready, setReady] = useState(false); + const register = useCallback((guard: HistoryGuard) => { + guards.current.add(guard); + + return () => { + guards.current.delete(guard); + }; + }, []); + + useLayoutEffect(() => { + const block = (event: PopStateEvent) => { + Array.from(guards.current).at(-1)?.(event); + }; + window.addEventListener('popstate', block); + // Window listeners run in registration order, even with capture. Mount the router + // only after this listener so it cannot unmount a dirty editor before confirmation. + setReady(true); + + return () => window.removeEventListener('popstate', block); + }, []); + + return ( + + {ready && children} + + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.test.tsx index 10c13b99ac67..fb2d251c7bb9 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.test.tsx @@ -1160,16 +1160,20 @@ describe('TaskDetailPanel', () => { expect(screen.queryByText('label.approve')).not.toBeInTheDocument(); }); - it('does not gate a non-DAR task on ResolveTask and skips the permission fetch', async () => { - mockGetTaskById.mockResolvedValue({ data: TASK }); - mockGetEntityPermission.mockResolvedValue({ ResolveTask: false }); - - await act(async () => render()); - - expect(mockGetEntityPermission).not.toHaveBeenCalled(); - expect(screen.getByText('label.approve')).toBeInTheDocument(); - expect(screen.getByText('label.reject')).toBeInTheDocument(); - }); + it.each(['RequestApproval', 'GlossaryApproval'])( + 'hides %s approval actions when the viewer cannot resolve the task', + async (type) => { + mockGetTaskById.mockResolvedValue({ + data: { ...TASK, type, category: 'Approval' }, + }); + mockGetEntityPermission.mockResolvedValue({ ResolveTask: false }); + + await act(async () => render()); + + expect(screen.queryByText('label.approve')).not.toBeInTheDocument(); + expect(screen.queryByText('label.reject')).not.toBeInTheDocument(); + } + ); }); describe('status badge', () => { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.tsx b/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.tsx index a290262f6631..8342aabab6fe 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/discovery/personal-space/InboxPage/components/TaskDetailPanel.tsx @@ -490,6 +490,10 @@ const getTaskActionButtonColor = ( return 'secondary'; }; +const needsResolutionPermission = (task?: Task) => + task?.type === TaskType.DataAccessRequest || + task?.category === TaskCategory.Approval; + const getTaskActionTestId = ( approve: boolean, reject: boolean, @@ -582,10 +586,9 @@ const TaskDetailPanel: React.FC = ({ const { getEntityPermission } = usePermissionProvider(); const [task, setTask] = useState(fallbackTask); const [isLoading, setIsLoading] = useState(true); - // Gates DAR approve/reject/resolve so a self-approval deny (isTaskFiler) hides - // the buttons. Fail closed: false until the permission resolves so a self-filed - // DAR never flashes the buttons. Non-DAR tasks are never gated below. + // Approval actions stay hidden until the task's resolution permission is known. const [canResolveTask, setCanResolveTask] = useState(false); + const requiresResolvePermission = needsResolutionPermission(task); const [loadingTransitionId, setLoadingTransitionId] = useState(); // Actions stay hidden while re-reading, so a consumed transition can't be // re-submitted — that hits a workflow with no active task (500). @@ -629,13 +632,13 @@ const TaskDetailPanel: React.FC = ({ // a requester who is also an assignee resolves false on their own request. useEffect(() => { let active = true; - if (!task?.id || task.type !== TaskType.DataAccessRequest) { + if (!task?.id || !requiresResolvePermission) { setCanResolveTask(true); return undefined; } - // Fail closed while (re)resolving so switching to a self-filed DAR can't + // Fail closed while (re)resolving so switching to another approval can't // briefly show the buttons with a stale allow from the previous task. setCanResolveTask(false); getEntityPermission(ResourceEntity.TASK, task.id) @@ -648,7 +651,7 @@ const TaskDetailPanel: React.FC = ({ return () => { active = false; }; - }, [getEntityPermission, task?.id, task?.type]); + }, [getEntityPermission, task, requiresResolvePermission]); // A task the workflow engine never touched resolves through the legacy path, // whose newValue comes from the type's form schema (resolution is cached per @@ -687,7 +690,7 @@ const TaskDetailPanel: React.FC = ({ // Drop resolve actions when ResolveTask is denied (self-approval); keep // assignee transitions — those are permissioned by EditTask, not ResolveTask. - if (task.type === TaskType.DataAccessRequest && !canResolveTask) { + if (requiresResolvePermission && !canResolveTask) { return effective.filter( (action) => action.kind !== 'approve' && @@ -697,7 +700,14 @@ const TaskDetailPanel: React.FC = ({ } return effective; - }, [task, isSyncingTransitions, canResolveTask, formSchema, t]); + }, [ + task, + isSyncingTransitions, + canResolveTask, + requiresResolvePermission, + formSchema, + t, + ]); // Stop an in-flight sync on unmount: no state set, no timer left behind. useEffect( diff --git a/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingAssignees.tsx b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingAssignees.tsx new file mode 100644 index 000000000000..b65b4b0eb635 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingAssignees.tsx @@ -0,0 +1,134 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Autocomplete } from '@openmetadata/ui-core-components'; +import { AxiosError } from 'axios'; +import { useCallback, useEffect, useRef, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { SearchIndex } from '../../../enums/search.enum'; +import { EntityReference } from '../../../generated/type/entityReference'; +import { searchQuery } from '../../../rest/searchAPI'; +import { getEntityName } from '../../../utils/EntityNameUtils'; +import { showErrorToast } from '../../../utils/ToastUtils'; + +export type OnboardingSearchIndex = + | SearchIndex.USER + | SearchIndex.TEAM + | SearchIndex.DOMAIN + | SearchIndex.METRIC + | SearchIndex.GLOSSARY + | SearchIndex.GLOSSARY_TERM + | SearchIndex.TAG; +interface Props { + value: EntityReference[]; + onChange: (value: EntityReference[]) => void; + label?: string; + searchIndex?: OnboardingSearchIndex[]; + isSelectable?: (reference: EntityReference) => boolean; +} +const DEFAULT_INDICES: OnboardingSearchIndex[] = [ + SearchIndex.USER, + SearchIndex.TEAM, +]; +const sameReference = (left: EntityReference, right: EntityReference) => + left.id === right.id || + (left.type === right.type && + Boolean(left.fullyQualifiedName) && + left.fullyQualifiedName === right.fullyQualifiedName); + +export const OnboardingAssignees = ({ + value, + onChange, + label, + searchIndex = DEFAULT_INDICES, + isSelectable, +}: Props) => { + const { t } = useTranslation(); + const [query, setQuery] = useState(''); + const [options, setOptions] = useState([]); + const sequence = useRef(0); + const search = useCallback(async () => { + const request = ++sequence.current; + try { + const response = await searchQuery({ + query: query || '*', + pageNumber: 1, + pageSize: 25, + searchIndex, + includeFields: [ + ...([ + 'id', + 'entityType', + 'name', + 'displayName', + 'fullyQualifiedName', + ] as const), + ], + }); + if (request !== sequence.current) { + return; + } + setOptions( + response.hits.hits + .map(({ _source }) => ({ + id: _source.id, + type: _source.entityType, + name: _source.name, + displayName: _source.displayName, + fullyQualifiedName: _source.fullyQualifiedName, + })) + .filter((reference) => !isSelectable || isSelectable(reference)) + ); + } catch (error) { + if (request === sequence.current) { + showErrorToast(error as AxiosError); + } + } + }, [query, searchIndex, isSelectable]); + useEffect(() => { + const timer = setTimeout(search, 300); + + return () => { + clearTimeout(timer); + sequence.current++; + }; + }, [search]); + const items = [ + ...value, + ...options.filter( + (option) => !value.some((selected) => sameReference(selected, option)) + ), + ].map((option) => ({ id: option.id, label: getEntityName(option) })); + + return ( + true} + items={items} + label={label ?? t('label.assignee-plural')} + selectedItems={value.map((option) => ({ + id: option.id, + label: getEntityName(option), + }))} + onItemCleared={(key) => + onChange(value.filter((option) => option.id !== key)) + } + onItemInserted={(key) => { + const option = options.find((item) => item.id === key); + if (option && !value.some((item) => item.id === key)) { + onChange([...value, option]); + } + }} + onSearchChange={setQuery}> + {(item) => } + + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.test.tsx new file mode 100644 index 000000000000..b0f2beccb2be --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.test.tsx @@ -0,0 +1,70 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; +import { TargetEntityType } from '../../../generated/governance/intakeForm'; +import { + getOnboardingBackfill, + retryOnboardingBackfill, +} from '../../../rest/governance/onboarding/Onboarding.api'; +import { OnboardingBackfillStatus } from './OnboardingBackfillStatus'; +jest.mock('../../../rest/governance/onboarding/Onboarding.api', () => ({ + getOnboardingBackfill: jest.fn(), + retryOnboardingBackfill: jest.fn(), +})); +jest.mock('react-i18next', () => ({ + useTranslation: () => ({ t: (key: string) => key }), +})); + +it('offers immediate recovery from a failed backfill status load', async () => { + (getOnboardingBackfill as jest.Mock) + .mockRejectedValueOnce(new Error('Service unavailable')) + .mockResolvedValue({ enrolled: 2, scanned: 3, complete: true }); + render(); + fireEvent.click(await screen.findByRole('button', { name: 'label.retry' })); + + expect(await screen.findByText(/label.completed/)).toBeVisible(); + expect(screen.queryByRole('alert')).not.toBeInTheDocument(); +}); + +it('keeps failures visible after a failed retry and recovers on a later retry', async () => { + (getOnboardingBackfill as jest.Mock).mockResolvedValue({ + enrolled: 0, + scanned: 1, + failures: [ + { + entity: { id: 'metric', name: 'Orders' }, + message: 'Enrollment unavailable', + }, + ], + }); + (retryOnboardingBackfill as jest.Mock) + .mockRejectedValueOnce(new Error('Service unavailable')) + .mockResolvedValue({ + enrolled: 1, + scanned: 1, + complete: true, + failures: [], + }); + render(); + fireEvent.click(await screen.findByRole('button', { name: 'label.retry' })); + + expect( + await screen.findByText('Orders: Enrollment unavailable') + ).toBeVisible(); + + const retry = screen.getByRole('button', { name: 'label.retry' }); + await waitFor(() => expect(retry).toBeEnabled()); + fireEvent.click(retry); + + expect(await screen.findByText(/label.completed/)).toBeVisible(); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.tsx b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.tsx new file mode 100644 index 000000000000..54f93d8570a5 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBackfillStatus.tsx @@ -0,0 +1,114 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + Alert, + Box, + Button, + Typography, +} from '@openmetadata/ui-core-components'; +import { AxiosError } from 'axios'; +import { useCallback, useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { TargetEntityType } from '../../../generated/governance/intakeForm'; +import { OnboardingBackfill } from '../../../generated/governance/onboarding/onboardingBackfill'; +import { + getOnboardingBackfill, + retryOnboardingBackfill, +} from '../../../rest/governance/onboarding/Onboarding.api'; +import { getEntityName } from '../../../utils/EntityNameUtils'; +import { showErrorToast } from '../../../utils/ToastUtils'; + +export const OnboardingBackfillStatus = ({ + entityType, +}: { + entityType: TargetEntityType; +}) => { + const { t } = useTranslation(); + const [progress, setProgress] = useState(null); + const [loadFailed, setLoadFailed] = useState(false); + const [pending, setPending] = useState(false); + const refresh = useCallback(async () => { + setPending(true); + try { + setProgress(await getOnboardingBackfill(entityType)); + setLoadFailed(false); + } catch (error) { + setLoadFailed(true); + showErrorToast(error as AxiosError); + } finally { + setPending(false); + } + }, [entityType]); + useEffect(() => { + refresh(); + const timer = setInterval(refresh, 15000); + + return () => clearInterval(timer); + }, [refresh]); + + return ( + + {loadFailed && ( + + )} + {progress && ( + + {t('message.onboarding-backfill-progress', { + enrolled: progress?.enrolled ?? 0, + scanned: progress?.scanned ?? 0, + })}{' '} + {progress?.complete && t('label.completed')} + + )} + {Boolean(progress?.failures?.length) && ( + <> + + {progress?.failures?.map((failure) => ( + + {failure.entity && getEntityName(failure.entity)}:{' '} + {failure.message} + + ))} + + )} + {(loadFailed || Boolean(progress?.failures?.length)) && ( + + )} + + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBuilderCheck.tsx b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBuilderCheck.tsx new file mode 100644 index 000000000000..3485889edcca --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingBuilderCheck.tsx @@ -0,0 +1,141 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + Badge, + Box, + Button, + Card, + Typography, +} from '@openmetadata/ui-core-components'; +import { ArrowDown, ArrowUp, Trash01 } from '@untitledui/icons'; +import { useTranslation } from 'react-i18next'; +import { + IntakeFormField, + OnboardingStep, + Role, + Type, +} from '../../../generated/governance/intakeForm'; + +interface Props { + step: OnboardingStep; + field?: IntakeFormField; + fixed: boolean; + selected: boolean; + index: number; + total: number; + onSelect: () => void; + onMove: (offset: number) => void; + onRemove: () => void; +} +const fieldRequirement = (field?: IntakeFormField) => { + if (field?.required) { + return 'required'; + } + + return field?.recommended ? 'recommended' : 'optional'; +}; +const CheckSummary = ({ step, field }: Pick) => { + const { t } = useTranslation(); + const requirement = + step.type === Type.Approval ? 'approval' : fieldRequirement(field); + const assignment = + step.type === Type.Approval + ? 'label.workflow' + : `label.onboarding-role-${( + step.assignment?.role ?? Role.Creator + ).toLowerCase()}`; + + return ( + + + + {t(`label.${requirement}`)} + + {t(assignment)} + {Boolean(step.conditions?.length) && ( + + {t('label.condition')} · {step.conditions?.length} + + )} + + {step.guidance && ( + + {step.guidance} + + )} + + {step.fieldPath ?? step.workflow?.name} + + + ); +}; + +export const OnboardingBuilderCheck = ({ + step, + field, + fixed, + selected, + index, + total, + onSelect, + onMove, + onRemove, +}: Props) => { + const { t } = useTranslation(); + + return ( + + + + } + /> + + + + + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCheckSettings.tsx b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCheckSettings.tsx new file mode 100644 index 000000000000..c164932448d7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/governance/onboarding/OnboardingCheckSettings.tsx @@ -0,0 +1,443 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + Box, + Button, + Input, + Select, + TextArea, + Typography, +} from '@openmetadata/ui-core-components'; +import { useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { + IntakeFormField, + OnboardingCondition, + OnboardingStage, + OnboardingStep, + Operator, + Role, + Type, +} from '../../../generated/governance/intakeForm'; +import { WorkflowDefinition } from '../../../generated/governance/workflows/workflowDefinition'; +import { + ONBOARDING_STAGES, + STAGE_LABELS, +} from '../../../utils/governance/onboarding/Onboarding.utils'; +import { getWorkflowDefinitionDetailPath } from '../../../utils/WorkflowRouterUtils'; +import { OnboardingAssignees } from './OnboardingAssignees'; + +interface Props { + fields?: IntakeFormField[]; + valueKind?: 'text' | 'list' | 'other'; + step: OnboardingStep; + stage: OnboardingStage; + field?: IntakeFormField; + workflows: WorkflowDefinition[]; + fixed: boolean; + onChange: (step: OnboardingStep) => void; + onFieldChange: (field: IntakeFormField) => void; + onMove: (stage: OnboardingStage) => void; +} +const requirement = (field: IntakeFormField) => { + if (field.required) { + return 'required'; + } + + return field.recommended ? 'recommended' : 'optional'; +}; +const conditionValue = (value: string): unknown => { + if (value === 'true') { + return true; + } + if (value === 'false') { + return false; + } + if (/^-?\d+(\.\d+)?$/.test(value)) { + return Number(value); + } + + return value; +}; +const ConditionInput = ({ + condition, + onChange, + onRemove, + fields, +}: { + fields: IntakeFormField[]; + condition: OnboardingCondition; + onChange: (value: OnboardingCondition) => void; + onRemove: () => void; +}) => { + const { t } = useTranslation(); + + return ( + + + + {condition.operator !== Operator.Present && ( + + onChange({ ...condition, value: conditionValue(value) }) + } + /> + )} + + + ); +}; +const Conditions = ({ + step, + onChange, + fields = [], +}: Pick) => { + const { t } = useTranslation(); + const [rows, setRows] = useState(() => + (step.conditions ?? []).map((condition) => ({ + id: crypto.randomUUID(), + condition, + })) + ); + const change = (next: typeof rows) => { + setRows(next); + onChange({ ...step, conditions: next.map((row) => row.condition) }); + }; + const edit = (id: string, condition: OnboardingCondition) => + change(rows.map((row) => (row.id === id ? { ...row, condition } : row))); + const remove = (id: string) => change(rows.filter((row) => row.id !== id)); + const add = () => + change([ + ...rows, + { + id: crypto.randomUUID(), + condition: { + fieldPath: 'tags', + operator: Operator.Contains, + value: '', + }, + }, + ]); + + return ( + + + {t('label.condition')} + + {rows.map((row) => ( + edit(row.id, condition)} + onRemove={() => remove(row.id)} + /> + ))} + + + ); +}; +const ApprovalSettings = ({ + step, + workflows, + onChange, +}: Pick) => { + const { t } = useTranslation(); + const workflow = workflows.find((item) => item.id === step.workflow?.id); + const select = (key: unknown) => { + const selected = workflows.find((item) => item.id === key); + if (selected?.id) { + onChange({ + ...step, + workflow: { + id: selected.id, + type: 'workflowDefinition', + name: selected.name, + fullyQualifiedName: selected.fullyQualifiedName, + }, + }); + } + }; + + return ( + <> + + + {t('message.onboarding-workflow-assignment')} + + {workflow?.fullyQualifiedName && ( + + )} + {workflow?.description && ( + {workflow.description} + )} + + ); +}; +const FieldRules = ({ + step, + valueKind, + onChange, +}: Pick) => { + const { t } = useTranslation(); + + return ( + <> + {(valueKind === 'text' || step.rules?.minLength !== undefined) && ( + + onChange({ + ...step, + rules: { + ...step.rules, + minLength: value ? Number(value) : undefined, + }, + }) + } + /> + )} + {(valueKind === 'list' || step.rules?.minItems !== undefined) && ( + + onChange({ + ...step, + rules: { + ...step.rules, + minItems: value ? Number(value) : undefined, + }, + }) + } + /> + )} + + ); +}; + +const FieldSettings = ({ + step, + field, + fixed, + onChange, + onFieldChange, + valueKind, +}: Pick< + Props, + 'step' | 'field' | 'fixed' | 'onChange' | 'onFieldChange' | 'valueKind' +>) => { + const { t } = useTranslation(); + const role = step.assignment?.role ?? Role.Creator; + + return ( + <> + {field && ( + + )} + + {role === Role.Explicit && ( + + onChange({ ...step, assignment: { role, assignees } }) + } + /> + )} + + + field && onFieldChange({ ...field, errorMessage }) + } + /> + + ); +}; + +export const OnboardingCheckSettings = ({ + step, + stage, + field, + workflows, + fixed, + onChange, + onFieldChange, + onMove, + fields, + valueKind, +}: Props) => { + const { t } = useTranslation(); + const stages = ONBOARDING_STAGES.filter( + (item) => + item !== OnboardingStage.Approved && + item !== OnboardingStage.Deprecated && + (step.type !== Type.Approval || item !== OnboardingStage.Creation) + ); + + return ( + + + {t('label.check-settings')} + + onChange({ ...step, title })} + /> + +