| Default | 8689 | 1247 | 9936 | 36068 | 87.4% | | 8489 | 10862 | 78.1% | |
| src/App.helpers.js | 17 | 0 | 17 | 99 | 100% | | 20 | 20 | 100% | |
| src/App.jsx | 97 | 45 | 142 | 356 | 68.3% | | 47 | 94 | 50% | |
| src/AppRoot.jsx | 5 | 0 | 5 | 24 | 100% | | 2 | 2 | 100% | |
| src/auth/authFetchHeaders.js | 5 | 0 | 5 | 14 | 100% | | 2 | 2 | 100% | |
| src/auth/AuthGate.js | 3 | 0 | 3 | 24 | 100% | | 0 | 0 | | |
| src/auth/AuthGateProvider.jsx | 0 | 76 | 76 | 318 | 0% | | 0 | 51 | 0% | |
| src/auth/authMeState.js | 2 | 0 | 2 | 29 | 100% | | 6 | 6 | 100% | |
| src/auth/usePermissions.js | 20 | 0 | 20 | 55 | 100% | | 6 | 6 | 100% | |
| src/components/AboutPage.jsx | 0 | 6 | 6 | 150 | 0% | | 0 | 0 | | |
| src/components/AccessPackageDetailPage.jsx | 33 | 1 | 34 | 181 | 97% | | 50 | 54 | 92.5% | |
| src/components/AccessPackageGovernance.jsx | 28 | 16 | 44 | 172 | 63.6% | | 45 | 101 | 44.5% | |
| src/components/accessPackages/AccessPackageRow.jsx | 6 | 1 | 7 | 55 | 85.7% | | 10 | 13 | 76.9% | |
| src/components/accessPackages/AccessPackagesFilterBar.jsx | 5 | 0 | 5 | 28 | 100% | | 5 | 6 | 83.3% | |
| src/components/accessPackages/AccessPackagesHeader.jsx | 1 | 0 | 1 | 4 | 100% | | 4 | 4 | 100% | |
| src/components/accessPackages/AccessPackagesTable.jsx | 7 | 0 | 7 | 72 | 100% | | 3 | 4 | 75% | |
| src/components/accessPackages/CategoryManagementBar.jsx | 7 | 0 | 7 | 52 | 100% | | 6 | 8 | 75% | |
| src/components/accessPackages/ComplianceStatusCell.jsx | 17 | 1 | 18 | 92 | 94.4% | | 29 | 31 | 93.5% | |
| src/components/accessPackages/CreateCategoryForm.jsx | 4 | 1 | 5 | 21 | 80% | | 5 | 6 | 83.3% | |
| src/components/accessPackages/ReviewedByCell.jsx | 4 | 0 | 4 | 17 | 100% | | 4 | 4 | 100% | |
| src/components/accessPackages/RowCategorySelect.jsx | 3 | 0 | 3 | 17 | 100% | | 6 | 9 | 66.6% | |
| src/components/accessPackages/SelectionActionBar.jsx | 4 | 0 | 4 | 20 | 100% | | 4 | 4 | 100% | |
| src/components/AccessPackagesPage.jsx | 124 | 11 | 135 | 306 | 91.8% | | 47 | 65 | 72.3% | |
| src/components/AccountLinkingSettings.jsx | 74 | 2 | 76 | 227 | 97.3% | | 33 | 45 | 73.3% | |
| src/components/admin/adminFormat.js | 3 | 1 | 4 | 15 | 75% | | 1 | 2 | 50% | |
| src/components/admin/adminIcons.jsx | 6 | 0 | 6 | 70 | 100% | | 4 | 7 | 57.1% | |
| src/components/admin/adminTabs.js | 5 | 0 | 5 | 52 | 100% | | 14 | 15 | 93.3% | |
| src/components/admin/adminUi.jsx | 9 | 3 | 12 | 112 | 75% | | 22 | 33 | 66.6% | |
| src/components/admin/CuratedDataSection.jsx | 9 | 42 | 51 | 87 | 17.6% | | 9 | 45 | 20% | |
| src/components/admin/DangerZoneSection.jsx | 27 | 4 | 31 | 143 | 87% | | 23 | 28 | 82.1% | |
| src/components/admin/ExperimentalFeaturesSection.jsx | 21 | 2 | 23 | 148 | 91.3% | | 18 | 26 | 69.2% | |
| src/components/admin/HistoryRetentionSection.jsx | 18 | 24 | 42 | 84 | 42.8% | | 19 | 36 | 52.7% | |
| src/components/admin/LLMActionButtons.jsx | 1 | 0 | 1 | 5 | 100% | | 6 | 6 | 100% | |
| src/components/admin/LLMApiKeyField.jsx | 1 | 1 | 2 | 13 | 50% | | 4 | 4 | 100% | |
| src/components/admin/LLMAzureFields.jsx | 3 | 3 | 6 | 36 | 50% | | 0 | 0 | | |
| src/components/admin/LLMModelField.jsx | 5 | 2 | 7 | 52 | 71.4% | | 25 | 27 | 92.5% | |
| src/components/admin/LLMProviderField.jsx | 3 | 0 | 3 | 16 | 100% | | 0 | 0 | | |
| src/components/admin/LLMSettingsSection.helpers.js | 4 | 0 | 4 | 33 | 100% | | 26 | 26 | 100% | |
| src/components/admin/LLMSettingsSection.jsx | 81 | 4 | 85 | 177 | 95.2% | | 30 | 42 | 71.4% | |
| src/components/admin/LLMStatusMessages.jsx | 1 | 0 | 1 | 6 | 100% | | 6 | 6 | 100% | |
| src/components/admin/LLMTestResult.jsx | 4 | 0 | 4 | 14 | 100% | | 4 | 4 | 100% | |
| src/components/admin/PowerQueryExportSection.jsx | 20 | 38 | 58 | 209 | 34.4% | | 20 | 40 | 50% | |
| src/components/admin/ReportGeneratorLLMSection.jsx | 6 | 13 | 19 | 43 | 31.5% | | 14 | 32 | 43.7% | |
| src/components/admin/RiskScoringSection.jsx | 68 | 14 | 82 | 373 | 82.9% | | 86 | 150 | 57.3% | |
| src/components/AdminPage.jsx | 47 | 1 | 48 | 149 | 97.9% | | 35 | 43 | 81.3% | |
| src/components/app/AppFooter.jsx | 2 | 1 | 3 | 9 | 66.6% | | 2 | 4 | 50% | |
| src/components/app/AppHeader.jsx | 1 | 0 | 1 | 12 | 100% | | 0 | 0 | | |
| src/components/app/AppMain.jsx | 13 | 0 | 13 | 68 | 100% | | 12 | 12 | 100% | |
| src/components/app/AppNav.jsx | 4 | 2 | 6 | 26 | 66.6% | | 0 | 0 | | |
| src/components/app/BackendErrorScreen.jsx | 0 | 1 | 1 | 4 | 0% | | 0 | 0 | | |
| src/components/app/Brand.jsx | 1 | 0 | 1 | 4 | 100% | | 1 | 2 | 50% | |
| src/components/app/DetailRoute.jsx | 22 | 1 | 23 | 61 | 95.6% | | 3 | 6 | 50% | |
| src/components/app/DetailTab.jsx | 3 | 1 | 4 | 22 | 75% | | 1 | 2 | 50% | |
| src/components/app/MatrixArea.jsx | 4 | 0 | 4 | 25 | 100% | | 4 | 4 | 100% | |
| src/components/app/MatrixWizardHost.jsx | 3 | 0 | 3 | 19 | 100% | | 6 | 6 | 100% | |
| src/components/app/NavTabButton.jsx | 1 | 0 | 1 | 4 | 100% | | 2 | 2 | 100% | |
| src/components/app/SettingsMenu.jsx | 4 | 0 | 4 | 74 | 100% | | 19 | 19 | 100% | |
| src/components/app/ThemeSelector.jsx | 3 | 1 | 4 | 36 | 75% | | 2 | 2 | 100% | |
| src/components/assistant/TurnBubble.jsx | 3 | 0 | 3 | 20 | 100% | | 2 | 2 | 100% | |
| src/components/AuthSettingsPage.jsx | 24 | 4 | 28 | 220 | 85.7% | | 29 | 44 | 65.9% | |
| src/components/ConfidenceBar.jsx | 4 | 1 | 5 | 14 | 80% | | 6 | 8 | 75% | |
| src/components/ContextAttributesTab.jsx | 16 | 11 | 27 | 143 | 59.2% | | 19 | 39 | 48.7% | |
| src/components/ContextDetailHeader.jsx | 10 | 6 | 16 | 75 | 62.5% | | 14 | 30 | 46.6% | |
| src/components/ContextDetailPage.jsx | 62 | 5 | 67 | 196 | 92.5% | | 43 | 50 | 86% | |
| src/components/ContextRelationshipsTab.jsx | 15 | 17 | 32 | 257 | 46.8% | | 38 | 55 | 69% | |
| src/components/contexts/assistant/ContextBuilderPage.jsx | 31 | 2 | 33 | 111 | 93.9% | | 29 | 34 | 85.2% | |
| src/components/contexts/assistant/ContextBuilderParts.jsx | 15 | 0 | 15 | 74 | 100% | | 20 | 22 | 90.9% | |
| src/components/contexts/assistant/DescribePanel.jsx | 10 | 12 | 22 | 98 | 45.4% | | 9 | 40 | 22.5% | |
| src/components/contexts/assistant/MatchesPanel.jsx | 30 | 0 | 30 | 122 | 100% | | 26 | 35 | 74.2% | |
| src/components/contexts/assistant/recipeDraft.js | 55 | 0 | 55 | 147 | 100% | | 61 | 67 | 91% | |
| src/components/contexts/assistant/RelatedWords.jsx | 7 | 10 | 17 | 55 | 41.1% | | 6 | 14 | 42.8% | |
| src/components/contexts/assistant/TermsPanel.jsx | 28 | 0 | 28 | 102 | 100% | | 27 | 29 | 93.1% | |
| src/components/contexts/assistant/useContextSave.js | 20 | 0 | 20 | 45 | 100% | | 14 | 18 | 77.7% | |
| src/components/contexts/assistant/useRecipeEvaluation.js | 17 | 0 | 17 | 41 | 100% | | 10 | 12 | 83.3% | |
| src/components/contexts/assistant/useTermConversation.js | 29 | 0 | 29 | 59 | 100% | | 22 | 25 | 88% | |
| src/components/contexts/ContextAccessCounts.helpers.js | 9 | 0 | 9 | 22 | 100% | | 12 | 16 | 75% | |
| src/components/contexts/ContextAccessCounts.jsx | 3 | 0 | 3 | 15 | 100% | | 2 | 2 | 100% | |
| src/components/contexts/ContextListView.jsx | 26 | 1 | 27 | 80 | 96.2% | | 14 | 30 | 46.6% | |
| src/components/contexts/ContextMemberPicker.jsx | 48 | 7 | 55 | 123 | 87.2% | | 30 | 51 | 58.8% | |
| src/components/contexts/ContextOwner.jsx | 9 | 0 | 9 | 46 | 100% | | 12 | 12 | 100% | |
| src/components/contexts/ContextPicker.helpers.js | 5 | 0 | 5 | 13 | 100% | | 9 | 9 | 100% | |
| src/components/contexts/ContextPicker.jsx | 109 | 8 | 117 | 408 | 93.1% | | 102 | 124 | 82.2% | |
| src/components/contexts/ContextSearchResults.jsx | 11 | 0 | 11 | 31 | 100% | | 10 | 10 | 100% | |
| src/components/contexts/ContextTreeSelector.jsx | 34 | 6 | 40 | 137 | 85% | | 31 | 43 | 72% | |
| src/components/contexts/ContextTreeView.helpers.js | 40 | 0 | 40 | 102 | 100% | | 30 | 36 | 83.3% | |
| src/components/contexts/ContextTreeView.jsx | 91 | 58 | 149 | 563 | 61% | | 81 | 164 | 49.3% | |
| src/components/contexts/ManualContextEditor.helpers.js | 3 | 0 | 3 | 22 | 100% | | 18 | 18 | 100% | |
| src/components/contexts/ManualContextEditor.jsx | 37 | 53 | 90 | 316 | 41.1% | | 25 | 80 | 31.2% | |
| src/components/contexts/ModalPrimitives.jsx | 7 | 0 | 7 | 66 | 100% | | 10 | 10 | 100% | |
| src/components/contexts/NewContextSchemaForm.jsx | 17 | 48 | 65 | 191 | 26.1% | | 22 | 79 | 27.8% | |
| src/components/contexts/NewContextWizard.helpers.js | 33 | 0 | 33 | 88 | 100% | | 52 | 53 | 98.1% | |
| src/components/contexts/NewContextWizard.jsx | 92 | 12 | 104 | 217 | 88.4% | | 65 | 94 | 69.1% | |
| src/components/contexts/NewContextWizardBody.jsx | 42 | 7 | 49 | 282 | 85.7% | | 49 | 60 | 81.6% | |
| src/components/contexts/NewContextWizardFooter.jsx | 8 | 0 | 8 | 55 | 100% | | 18 | 19 | 94.7% | |
| src/components/ContextsPage.jsx | 59 | 41 | 100 | 339 | 59% | | 56 | 122 | 45.9% | |
| src/components/CopyButton.jsx | 7 | 0 | 7 | 23 | 100% | | 11 | 11 | 100% | |
| src/components/crawler/CredentialFields.jsx | 2 | 6 | 8 | 62 | 25% | | 0 | 14 | 0% | |
| src/components/crawler/saveCrawlerConfig.js | 6 | 0 | 6 | 27 | 100% | | 8 | 8 | 100% | |
| src/components/crawler/useCrawlerDiscovery.js | 19 | 0 | 19 | 52 | 100% | | 13 | 13 | 100% | |
| src/components/crawler/useCrawlerSave.js | 11 | 0 | 11 | 32 | 100% | | 0 | 0 | | |
| src/components/crawler/useCredentialFields.js | 3 | 0 | 3 | 26 | 100% | | 6 | 6 | 100% | |
| src/components/crawler/useNetworkAccess.js | 3 | 0 | 3 | 24 | 100% | | 0 | 0 | | |
| src/components/crawler/wizardFields.jsx | 21 | 3 | 24 | 143 | 87.5% | | 29 | 33 | 87.8% | |
| src/components/CrawlersPage.helpers.js | 14 | 0 | 14 | 38 | 100% | | 28 | 28 | 100% | |
| src/components/CrawlersPage.jsx | 0 | 193 | 193 | 714 | 0% | | 0 | 179 | 0% | |
| src/components/CrawlersPage.SelectType.jsx | 5 | 0 | 5 | 43 | 100% | | 10 | 10 | 100% | |
| src/components/DashboardComposeWarning.jsx | 2 | 0 | 2 | 11 | 100% | | 4 | 4 | 100% | |
| src/components/DashboardFeatureRow.jsx | 8 | 2 | 10 | 59 | 80% | | 15 | 32 | 46.8% | |
| src/components/DashboardPage.jsx | 59 | 1 | 60 | 411 | 98.3% | | 73 | 86 | 84.8% | |
| src/components/DashboardStatsPanel.jsx | 15 | 5 | 20 | 118 | 75% | | 18 | 22 | 81.8% | |
| src/components/DashboardTrendsTab.jsx | 17 | 1 | 18 | 64 | 94.4% | | 33 | 44 | 75% | |
| src/components/DeletedBadge.jsx | 4 | 0 | 4 | 9 | 100% | | 4 | 5 | 80% | |
| src/components/DepartmentBadges.jsx | 9 | 0 | 9 | 47 | 100% | | 16 | 17 | 94.1% | |
| src/components/DepartmentDetailPage.jsx | 124 | 0 | 124 | 219 | 100% | | 70 | 86 | 81.3% | |
| src/components/DepartmentHeader.jsx | 5 | 0 | 5 | 64 | 100% | | 16 | 20 | 80% | |
| src/components/departmentTiers.js | 3 | 0 | 3 | 8 | 100% | | 0 | 0 | | |
| src/components/DetailSection.jsx | 1 | 1 | 2 | 15 | 50% | | 1 | 13 | 7.6% | |
| src/components/dialogContext.js | 4 | 0 | 4 | 12 | 100% | | 1 | 2 | 50% | |
| src/components/DialogProvider.jsx | 41 | 3 | 44 | 149 | 93.1% | | 42 | 55 | 76.3% | |
| src/components/EmptyState.jsx | 1 | 0 | 1 | 7 | 100% | | 6 | 7 | 85.7% | |
| src/components/EntityDetailLayout.jsx | 3 | 1 | 4 | 64 | 75% | | 13 | 20 | 65% | |
| src/components/EntityDetailPage.jsx | 42 | 1 | 43 | 229 | 97.6% | | 43 | 51 | 84.3% | |
| src/components/entityDiff.helpers.js | 60 | 0 | 60 | 136 | 100% | | 52 | 54 | 96.2% | |
| src/components/EntityDiff.jsx | 35 | 0 | 35 | 109 | 100% | | 42 | 43 | 97.6% | |
| src/components/EntityGraph.jsx | 118 | 18 | 136 | 493 | 86.7% | | 106 | 135 | 78.5% | |
| src/components/entityGraphShape.js | 152 | 2 | 154 | 494 | 98.7% | | 237 | 257 | 92.2% | |
| src/components/EntityListPage.jsx | 17 | 17 | 34 | 385 | 50% | | 38 | 60 | 63.3% | |
| src/components/EntityTimeline.jsx | 39 | 4 | 43 | 167 | 90.6% | | 37 | 50 | 74% | |
| src/components/ErrorBoundary.jsx | 4 | 4 | 8 | 35 | 50% | | 1 | 2 | 50% | |
| src/components/ExpandedItemsList.helpers.js | 17 | 2 | 19 | 61 | 89.4% | | 23 | 36 | 63.8% | |
| src/components/ExpandedItemsList.jsx | 35 | 4 | 39 | 180 | 89.7% | | 38 | 58 | 65.5% | |
| src/components/ExtendedSearchToggle.jsx | 2 | 0 | 2 | 13 | 100% | | 1 | 1 | 100% | |
| src/components/FilterBar.jsx | 30 | 0 | 30 | 146 | 100% | | 25 | 27 | 92.5% | |
| src/components/GovernancePage.jsx | 61 | 3 | 64 | 290 | 95.3% | | 59 | 91 | 64.8% | |
| src/components/GroupsPage.jsx | 6 | 0 | 6 | 47 | 100% | | 9 | 9 | 100% | |
| src/components/IdentitiesPage.jsx | 6 | 0 | 6 | 47 | 100% | | 7 | 8 | 87.5% | |
| src/components/IdentityDetailPage.jsx | 35 | 8 | 43 | 140 | 81.3% | | 27 | 38 | 71% | |
| src/components/IncludeDeletedToggle.jsx | 2 | 0 | 2 | 11 | 100% | | 1 | 1 | 100% | |
| src/components/inputs/ChevronDown.jsx | 1 | 0 | 1 | 5 | 100% | | 1 | 1 | 100% | |
| src/components/inputs/Combobox.jsx | 13 | 15 | 28 | 91 | 46.4% | | 13 | 36 | 36.1% | |
| src/components/inputs/EntityLookup.helpers.js | 7 | 0 | 7 | 27 | 100% | | 10 | 10 | 100% | |
| src/components/inputs/EntityLookup.jsx | 51 | 0 | 51 | 181 | 100% | | 44 | 56 | 78.5% | |
| src/components/inputs/PeoplePicker.helpers.js | 1 | 0 | 1 | 8 | 100% | | 5 | 9 | 55.5% | |
| src/components/inputs/PeoplePicker.jsx | 38 | 1 | 39 | 132 | 97.4% | | 41 | 49 | 83.6% | |
| src/components/inputs/Select.jsx | 1 | 0 | 1 | 12 | 100% | | 2 | 2 | 100% | |
| src/components/JobPhasesModal.helpers.js | 12 | 0 | 12 | 52 | 100% | | 8 | 8 | 100% | |
| src/components/JobPhasesModal.jsx | 59 | 1 | 60 | 234 | 98.3% | | 58 | 73 | 79.4% | |
| src/components/JsonViewer.jsx | 18 | 4 | 22 | 71 | 81.8% | | 37 | 41 | 90.2% | |
| src/components/LinkedAccountsPanel.jsx | 16 | 0 | 16 | 100 | 100% | | 35 | 35 | 100% | |
| src/components/MappingRows.jsx | 4 | 2 | 6 | 39 | 66.6% | | 4 | 4 | 100% | |
| src/components/matrix/accessPackageModel.js | 58 | 3 | 61 | 136 | 95% | | 60 | 77 | 77.9% | |
| src/components/matrix/AttributePicker.jsx | 40 | 0 | 40 | 159 | 100% | | 33 | 37 | 89.1% | |
| src/components/matrix/cellMarkers.js | 15 | 0 | 15 | 94 | 100% | | 19 | 20 | 95% | |
| src/components/matrix/CellMarkerStrip.jsx | 18 | 0 | 18 | 90 | 100% | | 14 | 14 | 100% | |
| src/components/matrix/columnModel.js | 54 | 0 | 54 | 150 | 100% | | 38 | 44 | 86.3% | |
| src/components/matrix/ContextFilterControl.jsx | 0 | 36 | 36 | 106 | 0% | | 0 | 31 | 0% | |
| src/components/matrix/coverageDeviation.js | 38 | 0 | 38 | 183 | 100% | | 57 | 58 | 98.2% | |
| src/components/matrix/foldState.js | 16 | 0 | 16 | 43 | 100% | | 11 | 12 | 91.6% | |
| src/components/matrix/GridCornerControls.jsx | 35 | 0 | 35 | 202 | 100% | | 53 | 53 | 100% | |
| src/components/matrix/GridResizeHandle.jsx | 6 | 0 | 6 | 26 | 100% | | 10 | 10 | 100% | |
| src/components/matrix/InheritancePathModal.jsx | 5 | 0 | 5 | 45 | 100% | | 21 | 22 | 95.4% | |
| src/components/matrix/MatrixAccountsRow.jsx | 3 | 0 | 3 | 16 | 100% | | 2 | 2 | 100% | |
| src/components/matrix/MatrixAggregateNameCell.jsx | 3 | 0 | 3 | 20 | 100% | | 3 | 4 | 75% | |
| src/components/matrix/MatrixApBandCell.jsx | 2 | 0 | 2 | 9 | 100% | | 0 | 0 | | |
| src/components/matrix/MatrixApLabelCell.jsx | 4 | 0 | 4 | 20 | 100% | | 4 | 4 | 100% | |
| src/components/matrix/MatrixCell.helpers.js | 31 | 0 | 31 | 80 | 100% | | 40 | 40 | 100% | |
| src/components/matrix/MatrixCell.jsx | 12 | 0 | 12 | 83 | 100% | | 42 | 42 | 100% | |
| src/components/matrix/MatrixColumnHeaders.helpers.js | 54 | 0 | 54 | 155 | 100% | | 87 | 88 | 98.8% | |
| src/components/matrix/MatrixColumnHeaders.jsx | 9 | 0 | 9 | 67 | 100% | | 14 | 15 | 93.3% | |
| src/components/matrix/MatrixContextsCell.jsx | 8 | 0 | 8 | 42 | 100% | | 15 | 15 | 100% | |
| src/components/matrix/MatrixFilterSummary.helpers.js | 6 | 0 | 6 | 16 | 100% | | 13 | 14 | 92.8% | |
| src/components/matrix/MatrixFilterSummary.jsx | 6 | 0 | 6 | 41 | 100% | | 4 | 4 | 100% | |
| src/components/matrix/MatrixFilterWizard.helpers.js | 45 | 0 | 45 | 176 | 100% | | 75 | 77 | 97.4% | |
| src/components/matrix/MatrixFilterWizard.jsx | 114 | 2 | 116 | 343 | 98.2% | | 75 | 91 | 82.4% | |
| src/components/matrix/MatrixGroupingCell.jsx | 2 | 0 | 2 | 11 | 100% | | 8 | 8 | 100% | |
| src/components/matrix/MatrixGroupingRow.jsx | 3 | 0 | 3 | 42 | 100% | | 5 | 5 | 100% | |
| src/components/matrix/MatrixGroupRow.jsx | 72 | 0 | 72 | 393 | 100% | | 122 | 126 | 96.8% | |
| src/components/matrix/MatrixHistoryDialog.jsx | 9 | 0 | 9 | 65 | 100% | | 10 | 12 | 83.3% | |
| src/components/matrix/matrixHistoryText.js | 13 | 0 | 13 | 45 | 100% | | 21 | 21 | 100% | |
| src/components/matrix/MatrixLegend.jsx | 6 | 0 | 6 | 95 | 100% | | 6 | 7 | 85.7% | |
| src/components/matrix/matrixModel.js | 45 | 0 | 45 | 110 | 100% | | 65 | 69 | 94.2% | |
| src/components/matrix/MatrixNameBar.jsx | 31 | 1 | 32 | 148 | 96.8% | | 24 | 26 | 92.3% | |
| src/components/matrix/MatrixNamesRow.jsx | 7 | 0 | 7 | 65 | 100% | | 11 | 11 | 100% | |
| src/components/matrix/matrixRequests.js | 8 | 0 | 8 | 30 | 100% | | 7 | 7 | 100% | |
| src/components/matrix/MatrixScopePanel.jsx | 72 | 17 | 89 | 353 | 80.8% | | 74 | 118 | 62.7% | |
| src/components/matrix/MatrixSortStep.jsx | 33 | 1 | 34 | 167 | 97% | | 46 | 52 | 88.4% | |
| src/components/matrix/MatrixSubjectNameCell.jsx | 9 | 0 | 9 | 65 | 100% | | 17 | 17 | 100% | |
| src/components/matrix/MatrixToolbar.jsx | 8 | 0 | 8 | 67 | 100% | | 11 | 11 | 100% | |
| src/components/matrix/nestedRows.js | 21 | 0 | 21 | 63 | 100% | | 28 | 30 | 93.3% | |
| src/components/matrix/OpenMatrixList.jsx | 21 | 0 | 21 | 117 | 100% | | 22 | 24 | 91.6% | |
| src/components/matrix/SavedMatrixMenu.jsx | 27 | 1 | 28 | 135 | 96.4% | | 35 | 40 | 87.5% | |
| src/components/matrix/SaveMatrixDialog.jsx | 3 | 0 | 3 | 65 | 100% | | 14 | 23 | 60.8% | |
| src/components/matrix/saveStepState.js | 21 | 0 | 21 | 86 | 100% | | 44 | 44 | 100% | |
| src/components/matrix/ShareMatrixDialog.jsx | 1 | 0 | 1 | 16 | 100% | | 4 | 4 | 100% | |
| src/components/matrix/ShareMatrixForm.jsx | 21 | 0 | 21 | 125 | 100% | | 21 | 26 | 80.7% | |
| src/components/matrix/SharePanel.jsx | 33 | 2 | 35 | 136 | 94.2% | | 27 | 36 | 75% | |
| src/components/matrix/shareState.js | 30 | 0 | 30 | 131 | 100% | | 58 | 59 | 98.3% | |
| src/components/matrix/SortableMatrixBody.helpers.js | 1 | 0 | 1 | 11 | 100% | | 4 | 4 | 100% | |
| src/components/matrix/SortableMatrixBody.jsx | 0 | 31 | 31 | 173 | 0% | | 0 | 18 | 0% | |
| src/components/matrix/sortStepState.js | 15 | 0 | 15 | 72 | 100% | | 20 | 20 | 100% | |
| src/components/matrix/sortUsers.js | 31 | 0 | 31 | 66 | 100% | | 39 | 50 | 78% | |
| src/components/matrix/useHierarchyReset.js | 4 | 0 | 4 | 12 | 100% | | 4 | 4 | 100% | |
| src/components/matrix/usePopover.js | 22 | 0 | 22 | 42 | 100% | | 10 | 10 | 100% | |
| src/components/matrix/useSavedMatrixNaming.js | 28 | 0 | 28 | 68 | 100% | | 11 | 12 | 91.6% | |
| src/components/matrix/useWizardSave.js | 53 | 0 | 53 | 111 | 100% | | 22 | 22 | 100% | |
| src/components/matrix/WizardConditionSteps.jsx | 37 | 2 | 39 | 217 | 94.8% | | 27 | 34 | 79.4% | |
| src/components/matrix/wizardControls.jsx | 14 | 0 | 14 | 123 | 100% | | 19 | 20 | 95% | |
| src/components/matrix/WizardLayoutStep.jsx | 6 | 0 | 6 | 69 | 100% | | 6 | 6 | 100% | |
| src/components/matrix/WizardLiveSummary.jsx | 11 | 0 | 11 | 37 | 100% | | 18 | 21 | 85.7% | |
| src/components/matrix/WizardRollupSection.jsx | 23 | 2 | 25 | 133 | 92% | | 31 | 35 | 88.5% | |
| src/components/matrix/WizardSaveStep.jsx | 11 | 0 | 11 | 65 | 100% | | 16 | 16 | 100% | |
| src/components/matrix/WizardShareStep.jsx | 5 | 0 | 5 | 48 | 100% | | 9 | 9 | 100% | |
| src/components/MatrixView.jsx | 208 | 29 | 237 | 684 | 87.7% | | 139 | 202 | 68.8% | |
| src/components/MembersSection.jsx | 16 | 2 | 18 | 73 | 88.8% | | 21 | 29 | 72.4% | |
| src/components/NameOnlyMatchesCard.jsx | 19 | 0 | 19 | 142 | 100% | | 45 | 45 | 100% | |
| src/components/Pagination.jsx | 4 | 0 | 4 | 24 | 100% | | 2 | 2 | 100% | |
| src/components/PerfPage.jsx | 88 | 4 | 92 | 344 | 95.6% | | 64 | 70 | 91.4% | |
| src/components/PluginsPage.jsx | 53 | 18 | 71 | 326 | 74.6% | | 54 | 78 | 69.2% | |
| src/components/RecentChangesSection.helpers.jsx | 7 | 3 | 10 | 44 | 70% | | 1 | 2 | 50% | |
| src/components/RecentChangesSection.jsx | 7 | 0 | 7 | 73 | 100% | | 23 | 28 | 82.1% | |
| src/components/reports/ask/AskAssistant.api.js | 8 | 0 | 8 | 16 | 100% | | 8 | 9 | 88.8% | |
| src/components/reports/ask/AskAssistant.jsx | 20 | 0 | 20 | 86 | 100% | | 28 | 28 | 100% | |
| src/components/reports/ask/AskAssistant.styles.js | 3 | 0 | 3 | 6 | 100% | | 0 | 0 | | |
| src/components/reports/ask/AskAssistant.text.js | 16 | 0 | 16 | 48 | 100% | | 15 | 15 | 100% | |
| src/components/reports/ask/AskAssistant.Turn.jsx | 10 | 0 | 10 | 46 | 100% | | 25 | 26 | 96.1% | |
| src/components/reports/ask/CompareCondition.helpers.js | 9 | 0 | 9 | 18 | 100% | | 5 | 6 | 83.3% | |
| src/components/reports/ask/CompareCondition.jsx | 16 | 18 | 34 | 70 | 47% | | 7 | 20 | 35% | |
| src/components/reports/ask/ConfirmChoices.jsx | 20 | 0 | 20 | 86 | 100% | | 18 | 20 | 90% | |
| src/components/reports/ask/ReportBuilderPage.jsx | 47 | 2 | 49 | 125 | 95.9% | | 39 | 45 | 86.6% | |
| src/components/reports/ask/ReportBuilderParts.jsx | 17 | 0 | 17 | 100 | 100% | | 41 | 41 | 100% | |
| src/components/reports/ask/SpecEditor.jsx | 87 | 3 | 90 | 289 | 96.6% | | 89 | 101 | 88.1% | |
| src/components/reports/ask/useAskConversation.js | 73 | 0 | 73 | 172 | 100% | | 52 | 63 | 82.5% | |
| src/components/reports/ask/useAskWarmup.js | 24 | 0 | 24 | 57 | 100% | | 17 | 17 | 100% | |
| src/components/reports/ask/useReportPreview.js | 31 | 0 | 31 | 65 | 100% | | 7 | 8 | 87.5% | |
| src/components/reports/ask/useSavedReportActions.js | 25 | 0 | 25 | 51 | 100% | | 4 | 4 | 100% | |
| src/components/reports/formRenderers.js | 2 | 0 | 2 | 14 | 100% | | 2 | 2 | 100% | |
| src/components/reports/ListReportRenderer.jsx | 37 | 0 | 37 | 153 | 100% | | 42 | 46 | 91.3% | |
| src/components/reports/ReportDownloads.jsx | 11 | 0 | 11 | 56 | 100% | | 18 | 18 | 100% | |
| src/components/reports/ReportError.jsx | 1 | 0 | 1 | 7 | 100% | | 2 | 2 | 100% | |
| src/components/reports/reportExport.js | 9 | 0 | 9 | 46 | 100% | | 7 | 8 | 87.5% | |
| src/components/reports/ReportNotices.jsx | 4 | 0 | 4 | 20 | 100% | | 4 | 4 | 100% | |
| src/components/reports/reportParams.js | 11 | 0 | 11 | 36 | 100% | | 15 | 15 | 100% | |
| src/components/reports/ReportSummary.jsx | 45 | 0 | 45 | 188 | 100% | | 48 | 54 | 88.8% | |
| src/components/reports/ReportViewPage.jsx | 40 | 0 | 40 | 191 | 100% | | 43 | 44 | 97.7% | |
| src/components/reports/reportViewSteps.js | 17 | 0 | 17 | 49 | 100% | | 23 | 23 | 100% | |
| src/components/reports/ReportViewWizard.jsx | 39 | 0 | 39 | 133 | 100% | | 35 | 37 | 94.5% | |
| src/components/reports/summaryData.js | 29 | 0 | 29 | 82 | 100% | | 35 | 35 | 100% | |
| src/components/ReportsPage.jsx | 50 | 2 | 52 | 203 | 96.1% | | 69 | 73 | 94.5% | |
| src/components/ResourceDetailPage.constants.js | 1 | 0 | 1 | 14 | 100% | | 0 | 0 | | |
| src/components/ResourceDetailPage.jsx | 25 | 1 | 26 | 111 | 96.1% | | 25 | 28 | 89.2% | |
| src/components/RiskProfileClassifiersStep.jsx | 2 | 2 | 4 | 45 | 50% | | 14 | 14 | 100% | |
| src/components/RiskProfileProgressPanel.jsx | 1 | 0 | 1 | 9 | 100% | | 0 | 0 | | |
| src/components/RiskProfileRefineStep.jsx | 4 | 2 | 6 | 66 | 66.6% | | 15 | 25 | 60% | |
| src/components/RiskProfileSaveStep.jsx | 3 | 1 | 4 | 20 | 75% | | 4 | 4 | 100% | |
| src/components/RiskProfileScoringStep.jsx | 5 | 0 | 5 | 19 | 100% | | 21 | 23 | 91.3% | |
| src/components/RiskProfileSourcesStep.jsx | 11 | 0 | 11 | 48 | 100% | | 11 | 14 | 78.5% | |
| src/components/RiskProfileWizard.jsx | 128 | 18 | 146 | 372 | 87.6% | | 52 | 86 | 60.4% | |
| src/components/RiskScoreSection.constants.js | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| src/components/RiskScoreSection.helpers.js | 19 | 0 | 19 | 60 | 100% | | 26 | 26 | 100% | |
| src/components/RiskScoreSection.jsx | 67 | 4 | 71 | 367 | 94.3% | | 64 | 80 | 80% | |
| src/components/RiskScoringPage.jsx | 133 | 4 | 137 | 532 | 97% | | 136 | 173 | 78.6% | |
| src/components/RiskSummary.jsx | 43 | 0 | 43 | 123 | 100% | | 24 | 34 | 70.5% | |
| src/components/RolesPermissionsSection.jsx | 128 | 5 | 133 | 439 | 96.2% | | 80 | 102 | 78.4% | |
| src/components/RollupMatrixView.jsx | 267 | 1 | 268 | 740 | 99.6% | | 330 | 395 | 83.5% | |
| src/components/RotatedMatrixView.helpers.js | 30 | 0 | 30 | 73 | 100% | | 43 | 44 | 97.7% | |
| src/components/RotatedMatrixView.jsx | 26 | 0 | 26 | 216 | 100% | | 24 | 30 | 80% | |
| src/components/RunDetailPage.jsx | 41 | 1 | 42 | 178 | 97.6% | | 44 | 54 | 81.4% | |
| src/components/ScheduleEditor.jsx | 12 | 4 | 16 | 59 | 75% | | 15 | 19 | 78.9% | |
| src/components/SchemaConfigForm.helpers.js | 2 | 0 | 2 | 11 | 100% | | 2 | 2 | 100% | |
| src/components/SchemaConfigForm.jsx | 29 | 0 | 29 | 106 | 100% | | 47 | 49 | 95.9% | |
| src/components/shared/SharedMatrixHeader.jsx | 1 | 0 | 1 | 12 | 100% | | 4 | 4 | 100% | |
| src/components/shared/SharedMatrixRow.jsx | 14 | 0 | 14 | 105 | 100% | | 23 | 27 | 85.1% | |
| src/components/shared/SharedMatrixUnavailable.jsx | 3 | 0 | 3 | 30 | 100% | | 1 | 2 | 50% | |
| src/components/shared/sharedSnapshot.js | 10 | 0 | 10 | 30 | 100% | | 17 | 17 | 100% | |
| src/components/SharedMatricesPage.jsx | 22 | 1 | 23 | 115 | 95.6% | | 18 | 20 | 90% | |
| src/components/SharedMatrixPage.jsx | 32 | 1 | 33 | 126 | 96.9% | | 22 | 26 | 84.6% | |
| src/components/SnapshotDiffView.jsx | 28 | 0 | 28 | 160 | 100% | | 41 | 44 | 93.1% | |
| src/components/Spinner.jsx | 1 | 0 | 1 | 6 | 100% | | 1 | 1 | 100% | |
| src/components/Stepper.jsx | 14 | 0 | 14 | 48 | 100% | | 23 | 23 | 100% | |
| src/components/SyncLogPage.jsx | 57 | 6 | 63 | 207 | 90.4% | | 55 | 80 | 68.7% | |
| src/components/SystemsPage.jsx | 30 | 6 | 36 | 220 | 83.3% | | 58 | 76 | 76.3% | |
| src/components/TabBar.jsx | 5 | 0 | 5 | 23 | 100% | | 5 | 6 | 83.3% | |
| src/components/TimeSeriesChart.jsx | 75 | 1 | 76 | 259 | 98.6% | | 85 | 96 | 88.5% | |
| src/components/UpdatesSettings.jsx | 81 | 3 | 84 | 338 | 96.4% | | 99 | 113 | 87.6% | |
| src/components/UserActivitySection.jsx | 31 | 0 | 31 | 154 | 100% | | 54 | 54 | 100% | |
| src/components/UserDetailPage.jsx | 33 | 3 | 36 | 163 | 91.6% | | 36 | 46 | 78.2% | |
| src/components/UsersPage.jsx | 29 | 0 | 29 | 122 | 100% | | 26 | 30 | 86.6% | |
| src/components/WizardShell.jsx | 1 | 0 | 1 | 31 | 100% | | 4 | 4 | 100% | |
| src/contexts/FeaturesContext.jsx | 2 | 0 | 2 | 19 | 100% | | 0 | 0 | | |
| src/contexts/SharedViewContext.jsx | 2 | 0 | 2 | 19 | 100% | | 0 | 0 | | |
| src/contexts/ThemeContext.jsx | 3 | 0 | 3 | 10 | 100% | | 0 | 0 | | |
| src/hooks/useAttributeLabels.js | 6 | 0 | 6 | 19 | 100% | | 2 | 2 | 100% | |
| src/hooks/useBusinessRoleFold.js | 109 | 0 | 109 | 273 | 100% | | 80 | 85 | 94.1% | |
| src/hooks/useBusyRun.js | 10 | 0 | 10 | 32 | 100% | | 0 | 0 | | |
| src/hooks/useCanBuildContexts.js | 2 | 0 | 2 | 13 | 100% | | 2 | 2 | 100% | |
| src/hooks/useCanBuildReports.js | 2 | 0 | 2 | 14 | 100% | | 2 | 2 | 100% | |
| src/hooks/useCanShareMatrix.js | 2 | 0 | 2 | 15 | 100% | | 2 | 2 | 100% | |
| src/hooks/useContextTrees.js | 24 | 1 | 25 | 67 | 96% | | 27 | 38 | 71% | |
| src/hooks/useDebouncedValue.js | 5 | 0 | 5 | 10 | 100% | | 1 | 1 | 100% | |
| src/hooks/useDocsUrl.js | 3 | 5 | 8 | 19 | 37.5% | | 0 | 7 | 0% | |
| src/hooks/useElapsedTimer.js | 11 | 0 | 11 | 22 | 100% | | 6 | 6 | 100% | |
| src/hooks/useEntityDiff.js | 9 | 1 | 10 | 25 | 90% | | 7 | 8 | 87.5% | |
| src/hooks/useEntityPage.js | 143 | 22 | 165 | 354 | 86.6% | | 81 | 105 | 77.1% | |
| src/hooks/useExpandableGraph.js | 54 | 1 | 55 | 168 | 98.1% | | 23 | 26 | 88.4% | |
| src/hooks/useFeatures.js | 8 | 0 | 8 | 20 | 100% | | 4 | 6 | 66.6% | |
| src/hooks/useFeatureToggle.js | 15 | 0 | 15 | 40 | 100% | | 4 | 4 | 100% | |
| src/hooks/useFetch.js | 26 | 1 | 27 | 72 | 96.2% | | 20 | 22 | 90.9% | |
| src/hooks/useHashPage.js | 10 | 0 | 10 | 25 | 100% | | 4 | 4 | 100% | |
| src/hooks/useMatrix.js | 110 | 0 | 110 | 239 | 100% | | 115 | 132 | 87.1% | |
| src/hooks/useMatrixBusinessRoleLayer.js | 4 | 0 | 4 | 61 | 100% | | 6 | 6 | 100% | |
| src/hooks/useMatrixRowOrder.js | 36 | 0 | 36 | 86 | 100% | | 15 | 16 | 93.7% | |
| src/hooks/useNestedGroupExpand.js | 64 | 1 | 65 | 137 | 98.4% | | 17 | 24 | 70.8% | |
| src/hooks/usePermissions.js | 106 | 1 | 107 | 189 | 99% | | 53 | 81 | 65.4% | |
| src/hooks/usePersistedState.js | 11 | 0 | 11 | 46 | 100% | | 6 | 6 | 100% | |
| src/hooks/useRecentChanges.js | 13 | 2 | 15 | 51 | 86.6% | | 14 | 15 | 93.3% | |
| src/hooks/useResizableGridHeight.js | 42 | 0 | 42 | 101 | 100% | | 22 | 23 | 95.6% | |
| src/hooks/useTheme.js | 21 | 0 | 21 | 43 | 100% | | 10 | 10 | 100% | |
| src/hooks/useTimeline.js | 8 | 2 | 10 | 30 | 80% | | 19 | 19 | 100% | |
| src/hooks/useViewportFitHeight.js | 37 | 0 | 37 | 113 | 100% | | 34 | 41 | 82.9% | |
| src/pageRegistry.jsx | 25 | 0 | 25 | 79 | 100% | | 2 | 2 | 100% | |
| src/utils/accessPackageStyles.js | 5 | 0 | 5 | 25 | 100% | | 4 | 4 | 100% | |
| src/utils/accountLinkingRuns.js | 7 | 0 | 7 | 34 | 100% | | 18 | 18 | 100% | |
| src/utils/attributeEntries.js | 8 | 0 | 8 | 13 | 100% | | 12 | 17 | 70.5% | |
| src/utils/attributeLabels.js | 20 | 0 | 20 | 67 | 100% | | 16 | 16 | 100% | |
| src/utils/clipboard.js | 15 | 1 | 16 | 27 | 93.7% | | 2 | 2 | 100% | |
| src/utils/colors.js | 34 | 0 | 34 | 97 | 100% | | 19 | 21 | 90.4% | |
| src/utils/contextStyles.js | 12 | 0 | 12 | 45 | 100% | | 20 | 20 | 100% | |
| src/utils/crawlerCredentials.js | 24 | 0 | 24 | 65 | 100% | | 38 | 39 | 97.4% | |
| src/utils/crawlerMetaRegistry.js | 5 | 0 | 5 | 30 | 100% | | 7 | 7 | 100% | |
| src/utils/docsUrl.js | 5 | 0 | 5 | 25 | 100% | | 7 | 7 | 100% | |
| src/utils/download.js | 20 | 0 | 20 | 42 | 100% | | 10 | 10 | 100% | |
| src/utils/excelHelpers.js | 11 | 2 | 13 | 37 | 84.6% | | 12 | 17 | 70.5% | |
| src/utils/exportAccessPackagesToExcel.helpers.js | 26 | 0 | 26 | 65 | 100% | | 26 | 26 | 100% | |
| src/utils/exportAccessPackagesToExcel.js | 73 | 1 | 74 | 153 | 98.6% | | 29 | 34 | 85.2% | |
| src/utils/exportRollupToExcel.js | 38 | 9 | 47 | 87 | 80.8% | | 25 | 29 | 86.2% | |
| src/utils/exportRotatedToExcel.js | 33 | 3 | 36 | 76 | 91.6% | | 6 | 6 | 100% | |
| src/utils/exportToExcel.helpers.js | 178 | 0 | 178 | 320 | 100% | | 49 | 52 | 94.2% | |
| src/utils/exportToExcel.js | 21 | 0 | 21 | 62 | 100% | | 6 | 6 | 100% | |
| src/utils/formatters.js | 52 | 16 | 68 | 104 | 76.4% | | 68 | 85 | 80% | |
| src/utils/linkedMembers.js | 2 | 0 | 2 | 30 | 100% | | 5 | 5 | 100% | |
| src/utils/matchedOn.js | 11 | 0 | 11 | 39 | 100% | | 18 | 18 | 100% | |
| src/utils/matrixFilter.js | 21 | 0 | 21 | 189 | 100% | | 32 | 32 | 100% | |
| src/utils/navTabs.js | 7 | 0 | 7 | 57 | 100% | | 21 | 21 | 100% | |
| src/utils/renderAttribute.jsx | 13 | 0 | 13 | 86 | 100% | | 14 | 14 | 100% | |
| src/utils/resourceContexts.js | 14 | 0 | 14 | 40 | 100% | | 21 | 21 | 100% | |
| src/utils/schedules.js | 14 | 0 | 14 | 31 | 100% | | 16 | 18 | 88.8% | |
| src/utils/tabBadge.js | 12 | 0 | 12 | 20 | 100% | | 12 | 12 | 100% | |
| src/utils/tierStyles.js | 1 | 5 | 6 | 21 | 16.6% | | 0 | 6 | 0% | |