{
  "schemaVersion": "nexuscrm.frontendSource.v1",
  "pack": "salesforce-crm-standard",
  "sourceKind": "trusted-shape-1-crm-frontend",
  "sourceRoots": [
    "src"
  ],
  "packageBuild": {
    "packageJson": "package.json",
    "tsconfig": "tsconfig.json",
    "entrypoints": [
      "src/action-handlers.ts",
      "src/action-surface-policy.ts",
      "src/activity-timeline-adapter.tsx",
      "src/activity-timeline-data.ts",
      "src/activity-timeline-policy.ts",
      "src/activity-timeline-surface.ts",
      "src/activity-timeline.tsx",
      "src/analytics-route.ts",
      "src/approval-queue-route.tsx",
      "src/approval-recipient-types.ts",
      "src/automation-routes.tsx",
      "src/convert-lead-modal.tsx",
      "src/converted-lead-banner.tsx",
      "src/create-record-from-source-action.ts",
      "src/create-record-from-source-modal.tsx",
      "src/currency-display-policy.ts",
      "src/dashboard-route.tsx",
      "src/dashboard-widget-inspector.tsx",
      "src/dashboard-widget-types.ts",
      "src/dashboard-widgets/ChartWidget.tsx",
      "src/dashboard-widgets/FunnelWidget.tsx",
      "src/dashboard-widgets/GaugeWidget.tsx",
      "src/dashboard-widgets/IcicleWidget.tsx",
      "src/dashboard-widgets/MetricWidget.tsx",
      "src/dashboard-widgets/index.ts",
      "src/flow-types.ts",
      "src/frontend-contribution.ts",
      "src/host-adapter.tsx",
      "src/host-contributions.tsx",
      "src/index.ts",
      "src/metadata-field-type-policy.ts",
      "src/object-view-route-capabilities.tsx",
      "src/object-view-route-policy.ts",
      "src/platform/components/ListFilters.tsx",
      "src/platform/components/WizardStepIndicator.tsx",
      "src/platform/components/auth/BootScreen.tsx",
      "src/platform/components/auth/LoginScreen.tsx",
      "src/platform/components/auth/OAuthCallback.tsx",
      "src/platform/components/auth/ResetPasswordPage.tsx",
      "src/platform/components/auth/SelfChangePasswordModal.tsx",
      "src/platform/components/form/CriteriaValueInput.tsx",
      "src/platform/components/form/SearchableLookup.tsx",
      "src/platform/components/formula/FormulaEditor.tsx",
      "src/platform/components/formula/filterExpression.ts",
      "src/platform/components/kanban/KanbanBoard.tsx",
      "src/platform/components/modals/ConfirmationModal.tsx",
      "src/platform/components/permissions/FieldPermissionsEditor.tsx",
      "src/platform/components/permissions/ObjectPermissionsTable.tsx",
      "src/platform/components/runtime/LayoutRenderer.tsx",
      "src/platform/components/shared/PropRow.tsx",
      "src/platform/components/shell/AppLauncher.tsx",
      "src/platform/components/shell/CrmLayout.tsx",
      "src/platform/components/shell/NotificationCenter.tsx",
      "src/platform/components/shell/Sidebar.tsx",
      "src/platform/components/shell/TopBar.tsx",
      "src/platform/components/shell/UtilityBar.tsx",
      "src/platform/components/shell/notificationTiming.ts",
      "src/platform/components/ui/Badge.tsx",
      "src/platform/components/ui/BaseModal.tsx",
      "src/platform/components/ui/Button.tsx",
      "src/platform/components/ui/DateInput.tsx",
      "src/platform/components/ui/DraggableResizableModal.tsx",
      "src/platform/components/ui/EmptyState.tsx",
      "src/platform/components/ui/LoadingSkeleton.tsx",
      "src/platform/components/ui/OverflowMenu.tsx",
      "src/platform/components/ui/Pagination.tsx",
      "src/platform/components/ui/PowerList.tsx",
      "src/platform/components/ui/SearchableSelect.tsx",
      "src/platform/components/ui/Skeleton.tsx",
      "src/platform/components/ui/Tooltip.tsx",
      "src/platform/components/ui/index.ts",
      "src/platform/components/ui/interactionConstants.ts",
      "src/platform/components/ui/timingConstants.ts",
      "src/platform/components/ui/useToast.ts",
      "src/platform/core/constants/CommonFields.ts",
      "src/platform/core/constants/FlowConstants.ts",
      "src/platform/core/constants/SchemaDefinitions.ts",
      "src/platform/core/constants/SystemObjects.ts",
      "src/platform/core/constants/index.ts",
      "src/platform/core/hooks/useDebounce.ts",
      "src/platform/core/hooks/useVersionCheck.ts",
      "src/platform/core/metadata/describeCapabilities.ts",
      "src/platform/core/metadata/fieldInputValue.ts",
      "src/platform/core/metadata/fieldSurfacePolicy.ts",
      "src/platform/core/services/Logger.ts",
      "src/platform/core/shared/utils.ts",
      "src/platform/core/utils/colorClasses.ts",
      "src/platform/core/utils/expressionEvaluator.ts",
      "src/platform/core/utils/htmlUtils.ts",
      "src/platform/core/utils/recordValue.ts",
      "src/platform/core/utils/statusFieldPresentation.ts",
      "src/platform/features/admin/components/ColorPicker.tsx",
      "src/platform/features/admin/components/CreateObjectWizard.tsx",
      "src/platform/features/admin/components/DraggableField.tsx",
      "src/platform/features/admin/components/DropZone.tsx",
      "src/platform/features/admin/components/IconPicker.tsx",
      "src/platform/features/admin/components/LayoutEditor.tsx",
      "src/platform/features/admin/components/PermissionSetFormModal.tsx",
      "src/platform/features/admin/components/ProfileFormModal.tsx",
      "src/platform/features/admin/components/app/AppFormBasicInfo.tsx",
      "src/platform/features/admin/components/app/AppIconPicker.tsx",
      "src/platform/features/admin/components/app/NavigationItemPicker.tsx",
      "src/platform/features/admin/components/app/UtilityBarBuilder.tsx",
      "src/platform/features/admin/components/groups/GroupFormModal.tsx",
      "src/platform/features/admin/components/groups/GroupMembersModal.tsx",
      "src/platform/features/admin/components/layout/CompactViewEditor.tsx",
      "src/platform/features/admin/components/layout/LayoutCanvas.tsx",
      "src/platform/features/admin/components/layout/LayoutFieldBehaviorControls.tsx",
      "src/platform/features/admin/components/layout/LayoutInsertSlot.tsx",
      "src/platform/features/admin/components/layout/LayoutManager.tsx",
      "src/platform/features/admin/components/layout/LayoutModeToolstrip.tsx",
      "src/platform/features/admin/components/layout/LayoutPalette.tsx",
      "src/platform/features/admin/components/layout/LayoutSection.tsx",
      "src/platform/features/admin/components/layout/ListViewEditor.tsx",
      "src/platform/features/admin/components/layout/LookupDisplayConfigModal.tsx",
      "src/platform/features/admin/components/layout/RelatedListEditor.tsx",
      "src/platform/features/admin/components/layout/authoringGate.ts",
      "src/platform/features/admin/components/layout/fieldDisplayLabel.ts",
      "src/platform/features/admin/components/layout/layoutPreviewMode.ts",
      "src/platform/features/admin/components/layout/layoutReorder.ts",
      "src/platform/features/admin/components/layout/layoutTabs.ts",
      "src/platform/features/admin/components/layout/removalScope.ts",
      "src/platform/features/admin/components/layout/useLayoutState.ts",
      "src/platform/features/admin/components/roles/RoleFormModal.tsx",
      "src/platform/features/admin/components/roles/RoleTreeNode.tsx",
      "src/platform/features/admin/components/wizard-steps/FormulaConfig.tsx",
      "src/platform/features/admin/components/wizard-steps/LookupConfig.tsx",
      "src/platform/features/admin/components/wizard-steps/PicklistConfig.tsx",
      "src/platform/features/admin/components/wizard-steps/RollupConfig.tsx",
      "src/platform/features/admin/hooks/useAuditLogs.ts",
      "src/platform/features/analytics/components/AnalyticsContainer.tsx",
      "src/platform/features/analytics/components/CreateReportModal.tsx",
      "src/platform/features/analytics/components/DistributionWidget.tsx",
      "src/platform/features/analytics/components/ListViewCharts.tsx",
      "src/platform/features/analytics/components/ReportChart.tsx",
      "src/platform/features/analytics/components/ReportRecordDetail.tsx",
      "src/platform/features/analytics/components/StatCard.tsx",
      "src/platform/features/analytics/components/analytics.types.ts",
      "src/platform/features/analytics/components/builder/ReportBuilderHeader.tsx",
      "src/platform/features/analytics/components/builder/ReportOutlinePanel.tsx",
      "src/platform/features/analytics/components/builder/SaveReportModal.tsx",
      "src/platform/features/analytics/components/useAnalyticsData.tsx",
      "src/platform/features/analytics/constants.tsx",
      "src/platform/features/analytics/historyReportSources.ts",
      "src/platform/features/analytics/hooks/useReportBuilder.ts",
      "src/platform/features/analytics/hooks/useReportColumns.ts",
      "src/platform/features/analytics/hooks/useReportFilters.ts",
      "src/platform/features/analytics/hooks/useReportGroupings.ts",
      "src/platform/features/analytics/hooks/useReportPreview.ts",
      "src/platform/features/analytics/hooks/useReportQueries.ts",
      "src/platform/features/analytics/index.ts",
      "src/platform/features/analytics/pages/ReportBuilder.tsx",
      "src/platform/features/analytics/presentationDefaults.ts",
      "src/platform/features/analytics/types.ts",
      "src/platform/features/analytics/utils/dateRanges.ts",
      "src/platform/features/analytics/utils/reportUtils.ts",
      "src/platform/features/approvals/ApprovalBanner.tsx",
      "src/platform/features/approvals/ApprovalHistory.tsx",
      "src/platform/features/approvals/ApprovalProcessDetailPage.tsx",
      "src/platform/features/approvals/ApprovalProcessSetup.tsx",
      "src/platform/features/approvals/ApprovalProcessSetupWizard.tsx",
      "src/platform/features/approvals/approvalChainBuilder.ts",
      "src/platform/features/approvals/approvalConstants.ts",
      "src/platform/features/approvals/approvalPendingAssignments.ts",
      "src/platform/features/approvals/approvalQueries.ts",
      "src/platform/features/approvals/approvalTypes.ts",
      "src/platform/features/approvals/components/EmailAlertForm.tsx",
      "src/platform/features/approvals/components/EmailAlertRecipientRow.tsx",
      "src/platform/features/approvals/components/ProcessActionsSection.tsx",
      "src/platform/features/approvals/components/ProcessCloneModal.tsx",
      "src/platform/features/approvals/components/SubmitApprovalModal.tsx",
      "src/platform/features/approvals/components/wizard-steps/ApprovalStepsEditor.tsx",
      "src/platform/features/approvals/components/wizard-steps/AutomatedApproverStep.tsx",
      "src/platform/features/approvals/components/wizard-steps/ConfigurationStep.tsx",
      "src/platform/features/approvals/components/wizard-steps/ReviewAndDeploy.tsx",
      "src/platform/features/approvals/components/wizard-steps/index.ts",
      "src/platform/features/approvals/components/wizard-steps/types.ts",
      "src/platform/features/approvals/emailAlertRecipientTypeRegistry.ts",
      "src/platform/features/approvals/emailAlertRecipients.ts",
      "src/platform/features/approvals/hooks/useDisplaySteps.ts",
      "src/platform/features/approvals/hooks/useProcessActions.ts",
      "src/platform/features/approvals/index.ts",
      "src/platform/features/approvals/useObjectHasApprovalProcess.ts",
      "src/platform/features/approvals/useRecordApproval.ts",
      "src/platform/features/approvals/utils/approvalEmailNotificationScaffold.ts",
      "src/platform/features/approvals/utils/approvalHydration.ts",
      "src/platform/features/approvals/utils/approvalProcessMetadata.ts",
      "src/platform/features/approvals/utils/approvalValidation.ts",
      "src/platform/features/approvals/utils/approvalXmlGenerator.ts",
      "src/platform/features/approvals/utils/entryFilterParser.ts",
      "src/platform/features/connected-apps/ConnectedAppDetailPage.tsx",
      "src/platform/features/connected-apps/components/AccessGrantsSection.tsx",
      "src/platform/features/connected-apps/components/OAuthPoliciesSection.tsx",
      "src/platform/features/connected-apps/hooks/useAccessGrants.ts",
      "src/platform/features/connected-apps/hooks/useConnectedApp.ts",
      "src/platform/features/dashboard/adapters/dashboardAdapter.ts",
      "src/platform/features/dashboard/components/ChartWidget.tsx",
      "src/platform/features/dashboard/components/DashboardLibrary.tsx",
      "src/platform/features/dashboard/components/DashboardViewer.tsx",
      "src/platform/features/dashboard/components/FunnelWidget.tsx",
      "src/platform/features/dashboard/components/GaugeWidget.tsx",
      "src/platform/features/dashboard/components/IcicleWidget.tsx",
      "src/platform/features/dashboard/components/MetricWidget.tsx",
      "src/platform/features/dashboard/constants/layout.ts",
      "src/platform/features/dashboard/dashboardWidgetRegistry.ts",
      "src/platform/features/dashboard/hooks/useDashboard.ts",
      "src/platform/features/dashboard/index.ts",
      "src/platform/features/dashboard/utils/layoutUtils.ts",
      "src/platform/features/feed/components/AuditLogList.tsx",
      "src/platform/features/feed/components/CommentList.tsx",
      "src/platform/features/feed/hooks/useComments.ts",
      "src/platform/features/flows/components/FieldMappingBuilder.tsx",
      "src/platform/features/flows/components/FlowDetailPage.tsx",
      "src/platform/features/flows/components/FlowExecutionModal.tsx",
      "src/platform/features/flows/components/FlowInterviewPanel.tsx",
      "src/platform/features/flows/components/FlowList.tsx",
      "src/platform/features/flows/components/FlowPropertiesModal.tsx",
      "src/platform/features/flows/components/FlowTestCoveragePanel.tsx",
      "src/platform/features/flows/components/builder/ActionConfigPanel.tsx",
      "src/platform/features/flows/components/builder/ConditionValuePill.tsx",
      "src/platform/features/flows/components/builder/ConfigPanelResolver.tsx",
      "src/platform/features/flows/components/builder/DecisionConfigPanel.tsx",
      "src/platform/features/flows/components/builder/FlowBuilderContext.tsx",
      "src/platform/features/flows/components/builder/FlowBuilderLayout.tsx",
      "src/platform/features/flows/components/builder/FlowBuilderToolbar.tsx",
      "src/platform/features/flows/components/builder/FlowModalsContainer.tsx",
      "src/platform/features/flows/components/builder/FlowNodeCatalog.ts",
      "src/platform/features/flows/components/builder/FlowNodes.tsx",
      "src/platform/features/flows/components/builder/FlowValueInput.tsx",
      "src/platform/features/flows/components/builder/NodeInsertModal.tsx",
      "src/platform/features/flows/components/builder/ResourceManager.tsx",
      "src/platform/features/flows/components/builder/ResourcePicker.tsx",
      "src/platform/features/flows/components/builder/RunFlowModal.tsx",
      "src/platform/features/flows/components/builder/SettingsModal.tsx",
      "src/platform/features/flows/components/builder/TriggerConfigPanel.tsx",
      "src/platform/features/flows/components/builder/VisualFlowBuilder.tsx",
      "src/platform/features/flows/components/builder/actions/ActionConditionBuilder.tsx",
      "src/platform/features/flows/components/builder/actions/AssignmentItemsEditor.tsx",
      "src/platform/features/flows/components/builder/actions/SubflowEditor.tsx",
      "src/platform/features/flows/components/builder/actions/assignmentOperators.ts",
      "src/platform/features/flows/components/builder/actions/flowValueUtils.ts",
      "src/platform/features/flows/components/builder/conditionOperators.ts",
      "src/platform/features/flows/components/builder/configPanelTitles.ts",
      "src/platform/features/flows/components/builder/edges/FlowEdge.tsx",
      "src/platform/features/flows/components/builder/edges/roundedOrthogonalPath.ts",
      "src/platform/features/flows/components/builder/flowActionTypeRegistry.ts",
      "src/platform/features/flows/components/builder/hooks/elkLayoutUtils.ts",
      "src/platform/features/flows/components/builder/hooks/useBuilderResources.ts",
      "src/platform/features/flows/components/builder/hooks/useElkLayout.ts",
      "src/platform/features/flows/components/builder/hooks/useFlowEventHandlers.ts",
      "src/platform/features/flows/components/builder/hooks/useFlowHistory.ts",
      "src/platform/features/flows/components/builder/hooks/useFlowInit.ts",
      "src/platform/features/flows/components/builder/hooks/useFlowNodeActions.ts",
      "src/platform/features/flows/components/builder/hooks/useFlowOperations.ts",
      "src/platform/features/flows/components/builder/hooks/useFlowState.ts",
      "src/platform/features/flows/components/builder/hooks/useNodeInsert.ts",
      "src/platform/features/flows/components/builder/hooks/useResizePanel.ts",
      "src/platform/features/flows/components/builder/hooks/useSaveFlow.ts",
      "src/platform/features/flows/components/builder/hooks/useTargetObjectAutofill.ts",
      "src/platform/features/flows/components/builder/layout/FlowSidebar.tsx",
      "src/platform/features/flows/components/builder/nodes/ApprovalStepNode.tsx",
      "src/platform/features/flows/components/builder/nodes/DecisionNode.tsx",
      "src/platform/features/flows/components/builder/nodes/LoopGroupNode.tsx",
      "src/platform/features/flows/components/builder/panelTypes.ts",
      "src/platform/features/flows/components/builder/panels/AssignmentPanel.tsx",
      "src/platform/features/flows/components/builder/panels/BaseNodePanel.tsx",
      "src/platform/features/flows/components/builder/panels/ConditionPanel.tsx",
      "src/platform/features/flows/components/builder/panels/CreateRecordPanel.tsx",
      "src/platform/features/flows/components/builder/panels/DeleteRecordPanel.tsx",
      "src/platform/features/flows/components/builder/panels/GenericActionPanel.tsx",
      "src/platform/features/flows/components/builder/panels/GetRecordsPanel.tsx",
      "src/platform/features/flows/components/builder/panels/LoopPanel.tsx",
      "src/platform/features/flows/components/builder/panels/SendEmailPanel.tsx",
      "src/platform/features/flows/components/builder/panels/StartConditionBuilder.tsx",
      "src/platform/features/flows/components/builder/panels/SubflowPanel.tsx",
      "src/platform/features/flows/components/builder/panels/UpdateRecordPanel.tsx",
      "src/platform/features/flows/components/builder/panels/types.ts",
      "src/platform/features/flows/components/builder/resources/ResourceModal.tsx",
      "src/platform/features/flows/components/builder/utils/NodeFactory.ts",
      "src/platform/features/flows/components/builder/utils/apiNameUtils.ts",
      "src/platform/features/flows/components/builder/utils/dateUtils.ts",
      "src/platform/features/flows/flowDisplayLabels.ts",
      "src/platform/features/flows/hooks/useFlowQueries.ts",
      "src/platform/features/flows/hooks/useFlowVersionHandlers.ts",
      "src/platform/features/flows/index.ts",
      "src/platform/features/flows/types/FlowStepConfig.ts",
      "src/platform/features/flows/utils/FlowDeserializer.ts",
      "src/platform/features/flows/utils/FlowEdgeFactory.ts",
      "src/platform/features/flows/utils/FlowGraphBuilder.ts",
      "src/platform/features/flows/utils/FlowMapper.ts",
      "src/platform/features/flows/utils/deserializers/index.ts",
      "src/platform/features/flows/utils/deserializers/resources.ts",
      "src/platform/features/flows/utils/deserializers/steps.ts",
      "src/platform/features/flows/utils/deserializers/trigger.ts",
      "src/platform/features/flows/utils/deserializers/types.ts",
      "src/platform/features/flows/utils/flowDataTypes.ts",
      "src/platform/features/flows/utils/flowLoopDefaults.ts",
      "src/platform/features/flows/utils/flowTriggerTypes.ts",
      "src/platform/features/flows/utils/flowUtils.ts",
      "src/platform/features/flows/utils/mappers/actionMapper.ts",
      "src/platform/features/flows/utils/mappers/helpers.ts",
      "src/platform/features/flows/utils/mappers/index.ts",
      "src/platform/features/flows/utils/mappers/logicMapper.ts",
      "src/platform/features/flows/utils/mappers/recordMapper.ts",
      "src/platform/features/flows/utils/mappers/startMapper.ts",
      "src/platform/features/flows/utils/mappers/types.ts",
      "src/platform/features/flows/utils/resourceReferenceAnalyzer.ts",
      "src/platform/features/identity-sync/IdentitySyncDashboard.tsx",
      "src/platform/features/identity-sync/components/ActivityTab.tsx",
      "src/platform/features/identity-sync/components/QuarantineReviewModal.tsx",
      "src/platform/features/identity-sync/components/QuarantineTab.tsx",
      "src/platform/features/identity-sync/components/ScimTokenCard.tsx",
      "src/platform/features/identity-sync/components/SyncHealthSummary.tsx",
      "src/platform/features/identity-sync/identitySyncPresentation.ts",
      "src/platform/features/identity-sync/identitySyncQueries.ts",
      "src/platform/features/objects/components/CreateObjectModal.tsx",
      "src/platform/features/objects/components/ObjectList.tsx",
      "src/platform/features/objects/describeFields.ts",
      "src/platform/features/objects/fieldInputValue.ts",
      "src/platform/features/objects/fieldSurfacePolicy.ts",
      "src/platform/features/objects/objectPagePermissionErrors.ts",
      "src/platform/features/permission-analyzer/components/EffectivePermissionsModal.tsx",
      "src/platform/features/permission-analyzer/hooks/usePermissionAnalyzer.ts",
      "src/platform/features/permission-analyzer/types.ts",
      "src/platform/features/record/actions/actionIcons.ts",
      "src/platform/features/record/actions/actionRegistry.ts",
      "src/platform/features/record/actions/actionRendererRegistry.tsx",
      "src/platform/features/record/actions/actionTypes.ts",
      "src/platform/features/record/components/ActionRendererHost.tsx",
      "src/platform/features/record/components/ActivityFeed.tsx",
      "src/platform/features/record/components/BulkChangeOwnerModal.tsx",
      "src/platform/features/record/components/BulkEditModal.tsx",
      "src/platform/features/record/components/ChangeOwnerModal.tsx",
      "src/platform/features/record/components/ChangePasswordModal.tsx",
      "src/platform/features/record/components/FileUploadActionModal.tsx",
      "src/platform/features/record/components/FilterChipsRow.tsx",
      "src/platform/features/record/components/HighlightsPanel.tsx",
      "src/platform/features/record/components/InlineEditField.tsx",
      "src/platform/features/record/components/MetadataRecordDetail.tsx",
      "src/platform/features/record/components/MetadataRecordForm.tsx",
      "src/platform/features/record/components/MetadataRecordList.tsx",
      "src/platform/features/record/components/NexusFileLinkField.tsx",
      "src/platform/features/record/components/NexusFileLinkFieldUtils.ts",
      "src/platform/features/record/components/Path.tsx",
      "src/platform/features/record/components/ReassignModal.tsx",
      "src/platform/features/record/components/RecordHeaderActions.tsx",
      "src/platform/features/record/components/RecordListHeader.tsx",
      "src/platform/features/record/components/RecordListTable.tsx",
      "src/platform/features/record/components/RecordTypePicker.tsx",
      "src/platform/features/record/components/RelatedList.tsx",
      "src/platform/features/record/components/RelatedListHydrationBoundary.tsx",
      "src/platform/features/record/components/RelatedListQuickLinks.tsx",
      "src/platform/features/record/components/SaveViewModal.tsx",
      "src/platform/features/record/components/SelectFieldsModal.tsx",
      "src/platform/features/record/components/SplitViewPanel.tsx",
      "src/platform/features/record/components/ViewSelector.tsx",
      "src/platform/features/record/components/detailActionAvailability.ts",
      "src/platform/features/record/components/filterChips.ts",
      "src/platform/features/record/components/inlineEditErrorMessage.ts",
      "src/platform/features/record/components/listViewDefinition.ts",
      "src/platform/features/record/components/recordListFilters.ts",
      "src/platform/features/record/components/recordListSort.ts",
      "src/platform/features/record/components/standardActionAvailabilityConfig.ts",
      "src/platform/features/record/components/standardActionResponse.ts",
      "src/platform/features/record/components/useMetadataActionInvoker.tsx",
      "src/platform/features/record/deleteConfirmationCopy.ts",
      "src/platform/features/record/hooks/useChildBarChartRecords.ts",
      "src/platform/features/record/hooks/useDisplayFields.ts",
      "src/platform/features/record/hooks/useFilterValueLabels.ts",
      "src/platform/features/record/hooks/useListViewManager.ts",
      "src/platform/features/record/hooks/useListViews.ts",
      "src/platform/features/record/hooks/useRecord.ts",
      "src/platform/features/record/hooks/useRecordList.ts",
      "src/platform/features/record/hooks/useRecordUI.ts",
      "src/platform/features/record/hooks/useReportFolderFilter.ts",
      "src/platform/features/record/index.ts",
      "src/platform/features/record/panels/RecordChildBarChartPanel.tsx",
      "src/platform/features/record/panels/RecordChildBarChartView.tsx",
      "src/platform/features/record/panels/RecordPanelHost.tsx",
      "src/platform/features/record/panels/recordChildBarChart.ts",
      "src/platform/features/record/panels/recordPanelRegistry.tsx",
      "src/platform/features/record/quickLinkScrollAnchor.ts",
      "src/platform/features/record/recordDefaultFieldValues.ts",
      "src/platform/features/record/recordStatePresentation.ts",
      "src/platform/features/record/recordTabs.ts",
      "src/platform/features/record/runtimePicklist.ts",
      "src/platform/features/record/standardActionCreateRoute.ts",
      "src/platform/features/record/standardAddressFields.ts",
      "src/platform/features/record/useRecordTabNavigation.ts",
      "src/platform/features/search/GlobalSearch.tsx",
      "src/platform/features/search/components/SearchInsights.tsx",
      "src/platform/features/search/components/SearchScopeSelector.tsx",
      "src/platform/features/search/constants.ts",
      "src/platform/features/search/searchExperience.ts",
      "src/platform/features/search/searchScopeRegistry.ts",
      "src/platform/features/security/components/PermissionEditorModal.tsx",
      "src/platform/features/security/components/ShareList.tsx",
      "src/platform/features/security/components/ShareRecordModal.tsx",
      "src/platform/features/security/components/ShareUserSearch.tsx",
      "src/platform/features/security/components/SharingRuleForm.tsx",
      "src/platform/features/security/components/SharingRuleList.tsx",
      "src/platform/features/security/groupQueries.ts",
      "src/platform/features/security/permissionSetQueries.ts",
      "src/platform/features/security/securityPermissions.ts",
      "src/platform/features/security/securityQueries.ts",
      "src/platform/features/studio/components/AddPageModal.tsx",
      "src/platform/features/studio/components/AppSettingsEditor.tsx",
      "src/platform/features/studio/components/FieldDefinitionModal.tsx",
      "src/platform/features/studio/components/FormulaFieldEditor.tsx",
      "src/platform/features/studio/components/StudioDashboardEditor.tsx",
      "src/platform/features/studio/components/StudioFieldEditor.tsx",
      "src/platform/features/studio/components/StudioLayoutEditor.tsx",
      "src/platform/features/studio/components/StudioObjectEditor.tsx",
      "src/platform/features/studio/components/StudioPermissions.tsx",
      "src/platform/features/studio/components/StudioSidebar.tsx",
      "src/platform/features/studio/components/dashboard/DashboardCanvas.tsx",
      "src/platform/features/studio/components/dashboard/DashboardInspector.tsx",
      "src/platform/features/studio/components/dashboard/DashboardPalette.tsx",
      "src/platform/features/studio/components/dashboard/DashboardToolbar.tsx",
      "src/platform/features/studio/components/field-editor/FieldForm.tsx",
      "src/platform/features/studio/components/field-editor/FieldTypeSelector.tsx",
      "src/platform/features/studio/components/field-editor/buildFieldPayload.ts",
      "src/platform/features/studio/components/field-editor/fieldDefinitionFormData.ts",
      "src/platform/features/studio/components/field-editor/fieldTypeOptions.ts",
      "src/platform/features/studio/components/field-editor/fieldTypePresentation.ts",
      "src/platform/features/studio/components/field-editor/formulaFieldPayload.ts",
      "src/platform/features/studio/components/fieldDefinitionValidation.ts",
      "src/platform/features/studio/components/object-editor/StudioFieldList.tsx",
      "src/platform/features/studio/components/object-editor/StudioObjectDetails.tsx",
      "src/platform/features/studio/components/permissionAuthoringQueue.ts",
      "src/platform/features/studio/dashboardConfigFactory.ts",
      "src/platform/features/users/components/ProfileList.tsx",
      "src/platform/features/users/components/UserEditorModal.tsx",
      "src/platform/features/users/components/UserHierarchy.tsx",
      "src/platform/features/users/components/UserList.tsx",
      "src/platform/features/users/components/UserPermissionSetsSection.tsx",
      "src/platform/features/users/userQueries.ts",
      "src/platform/infrastructure/api/actions.ts",
      "src/platform/infrastructure/api/analytics.ts",
      "src/platform/infrastructure/api/apiTokens.ts",
      "src/platform/infrastructure/api/apiUtils.ts",
      "src/platform/infrastructure/api/app-adapters.ts",
      "src/platform/infrastructure/api/application-navigation.ts",
      "src/platform/infrastructure/api/application-session.ts",
      "src/platform/infrastructure/api/approvalChainBuilder.ts",
      "src/platform/infrastructure/api/approvalConstants.ts",
      "src/platform/infrastructure/api/approvalTypes.ts",
      "src/platform/infrastructure/api/approvals.ts",
      "src/platform/infrastructure/api/auth.ts",
      "src/platform/infrastructure/api/chatter.ts",
      "src/platform/infrastructure/api/client.ts",
      "src/platform/infrastructure/api/composite.ts",
      "src/platform/infrastructure/api/connectedApps.ts",
      "src/platform/infrastructure/api/connections.ts",
      "src/platform/infrastructure/api/dashboardApiAdapter.ts",
      "src/platform/infrastructure/api/dashboards.ts",
      "src/platform/infrastructure/api/data/actions.ts",
      "src/platform/infrastructure/api/data/analyticsData.ts",
      "src/platform/infrastructure/api/data/collections.ts",
      "src/platform/infrastructure/api/data/crud.ts",
      "src/platform/infrastructure/api/data/filterBuilder.ts",
      "src/platform/infrastructure/api/data/index.ts",
      "src/platform/infrastructure/api/data/lookupExpansion.ts",
      "src/platform/infrastructure/api/data/query.ts",
      "src/platform/infrastructure/api/data/recordUtils.ts",
      "src/platform/infrastructure/api/data/recycleBin.ts",
      "src/platform/infrastructure/api/data/search.ts",
      "src/platform/infrastructure/api/effectivePermissions.ts",
      "src/platform/infrastructure/api/email-templates.ts",
      "src/platform/infrastructure/api/endpoints.ts",
      "src/platform/infrastructure/api/feed.ts",
      "src/platform/infrastructure/api/files.ts",
      "src/platform/infrastructure/api/flows/definitions.ts",
      "src/platform/infrastructure/api/flows/deserializers/index.ts",
      "src/platform/infrastructure/api/flows/deserializers/resources.ts",
      "src/platform/infrastructure/api/flows/deserializers/steps.ts",
      "src/platform/infrastructure/api/flows/deserializers/trigger.ts",
      "src/platform/infrastructure/api/flows/deserializers/types.ts",
      "src/platform/infrastructure/api/flows/execution.ts",
      "src/platform/infrastructure/api/flows/flowDeserializer.ts",
      "src/platform/infrastructure/api/flows/flowLoopDefaults.ts",
      "src/platform/infrastructure/api/flows/flowStepConfig.ts",
      "src/platform/infrastructure/api/flows/flowTriggerTypes.ts",
      "src/platform/infrastructure/api/flows/ids.ts",
      "src/platform/infrastructure/api/flows/index.ts",
      "src/platform/infrastructure/api/flows/mappers.ts",
      "src/platform/infrastructure/api/flows/types.ts",
      "src/platform/infrastructure/api/flows/versions.ts",
      "src/platform/infrastructure/api/folders.ts",
      "src/platform/infrastructure/api/identitySync.ts",
      "src/platform/infrastructure/api/index.ts",
      "src/platform/infrastructure/api/layoutAuthoring.ts",
      "src/platform/infrastructure/api/layoutAuthoringDocument.ts",
      "src/platform/infrastructure/api/metadata-types.ts",
      "src/platform/infrastructure/api/metadata.ts",
      "src/platform/infrastructure/api/metadataDeploy.ts",
      "src/platform/infrastructure/api/notifications.ts",
      "src/platform/infrastructure/api/objectMetadataHooks.ts",
      "src/platform/infrastructure/api/objectQueries.ts",
      "src/platform/infrastructure/api/permissionAuthoring.ts",
      "src/platform/infrastructure/api/permissionSets.ts",
      "src/platform/infrastructure/api/salesforce-application.ts",
      "src/platform/infrastructure/api/schemaLabels.ts",
      "src/platform/infrastructure/api/schemas.ts",
      "src/platform/infrastructure/api/searchMetadata.ts",
      "src/platform/infrastructure/api/types.ts",
      "src/platform/infrastructure/api/ui.ts",
      "src/platform/infrastructure/api/users.ts",
      "src/platform/pages/AiIntegrationHelp.tsx",
      "src/platform/pages/ApiTokensPage.tsx",
      "src/platform/pages/AppManager.tsx",
      "src/platform/pages/AppStudio.tsx",
      "src/platform/pages/Chatter.tsx",
      "src/platform/pages/ConnectedAppManager.tsx",
      "src/platform/pages/ConnectionsPage.tsx",
      "src/platform/pages/DataExport.tsx",
      "src/platform/pages/DataImport.tsx",
      "src/platform/pages/EmailTemplates.tsx",
      "src/platform/pages/FolderShareManager.tsx",
      "src/platform/pages/GroupManager.tsx",
      "src/platform/pages/LayoutSelection.tsx",
      "src/platform/pages/ObjectDetail.tsx",
      "src/platform/pages/ObjectManager.tsx",
      "src/platform/pages/ObjectView.tsx",
      "src/platform/pages/PermissionAnalyzer.tsx",
      "src/platform/pages/PermissionSetManager.tsx",
      "src/platform/pages/ProfileManager.tsx",
      "src/platform/pages/RecycleBin.tsx",
      "src/platform/pages/RoleManager.tsx",
      "src/platform/pages/SchemaBuilder.tsx",
      "src/platform/pages/SearchResultsPage.tsx",
      "src/platform/pages/SharingRuleManager.tsx",
      "src/platform/pages/UserManager.tsx",
      "src/platform/pages/ValidationRuleEditor.tsx",
      "src/platform/pages/ValidationRulesList.tsx",
      "src/platform/pages/object-detail/ObjectDetailsTab.tsx",
      "src/platform/pages/object-detail/ObjectFieldsTab.tsx",
      "src/platform/pages/object-detail/ObjectHeader.tsx",
      "src/platform/registries/FieldUiRegistry.tsx",
      "src/platform/types/SalesforceFlow.ts",
      "src/platform/types/analytics.ts",
      "src/platform/types/core.ts",
      "src/platform/types/index.ts",
      "src/platform/types/layout.ts",
      "src/platform/types/permissions.ts",
      "src/platform/types/schema.ts",
      "src/platform/types/sobject.ts",
      "src/platform/types/ui-api.ts",
      "src/record-activity-feed-adapter.tsx",
      "src/record-activity-feed-data.ts",
      "src/record-activity-feed.tsx",
      "src/register.tsx",
      "src/renderer-ids.ts",
      "src/route-surface-policy.ts",
      "src/runtime-registry-bindings.ts",
      "src/runtime-renderer-adapters.tsx",
      "src/runtime-route-bindings.tsx",
      "src/send-record-email-modal.tsx",
      "src/setup-navigation-policy.ts",
      "src/shell-components.tsx",
      "src/task-activity-quick-create-modal.tsx",
      "src/ui-field-components.tsx",
      "src/ui-field-surface-policy.ts"
    ],
    "proof": "npm --prefix frontend run check:frontend-app-package-build"
  },
  "sourceTests": {
    "proof": "npm --prefix frontend run check:frontend-app-package-source-tests",
    "requiredCases": [
      {
        "file": "source-tests/permission-authoring-cutover.test.ts",
        "cases": [
          "deletes segmented UI endpoints, Profile pre-resolution, and Composite permission writers",
          "wires both editors only to the aggregate Snapshot and command coordinator",
          "requires a fresh Snapshot after every stale or conflicting command fence",
          "passes a Profile target directly to the single Snapshot endpoint",
          "fails closed before issuing a backend authoring request from an external session",
          "submits all five families once with the Snapshot Catalog floor",
          "preserves sparse Profile RecordType presence and object-level default mode",
          "treats a browser status-0 failure as ambiguous and reconciles the exact command",
          "reconciles an unrecognized HTTP-200 response error instead of clearing command identity",
          "accepts the Contract uint64 and RFC3339Nano scalar boundaries",
          "reconciles malformed JSON Save envelopes instead of treating them as terminal",
          "ignores malformed Status envelopes and keeps reconciling",
          "fails closed on missing Status without issuing a browser Save replay",
          "preserves an ambiguous command when Status itself is forbidden",
          "clears only failures proven to occur before command acceptance",
          "treats a proven admission rejection as not accepted"
        ]
      },
      {
        "file": "source-tests/studio-permission-authoring-targets.test.tsx",
        "cases": [
          "rejects an external session before reading schemas or authoring state",
          "modal checks an unknown command without issuing another Save",
          "rejects an external session before reading Profiles or authoring state",
          "Studio checks an unknown command without issuing another Save",
          "derives authorable targets from Profile metadata without probing system Profiles",
          "loads a normal Profile when the same result page also contains a system Profile",
          "submits only the one edited identity from two sparse Profile aggregates",
          "treats an absent sparse grant toggled on and off as no change",
          "keeps an unrelated Profile editable and saveable while another requires reload",
          "keeps an unrelated Profile editable while another command is pending",
          "keeps stale Profile recovery reachable after saving an unrelated Profile",
          "keeps another Profile pending command reachable when stale Profile reload fails",
          "discards a command proven not accepted and unlocks the edited matrix"
        ]
      },
      {
        "file": "source-tests/date-input.test.tsx",
        "cases": [
          "renders the ISO value and an English placeholder regardless of browser locale",
          "never commits a Backspace truncation of an existing value",
          "never commits a Backspace truncation of an existing time",
          "reverts loose-only text on blur instead of committing it",
          "preserves non-date stored values (relative-date tokens) across focus/blur",
          "consumes Escape while the popover is open so a host modal does not close",
          "lets a single Enter reach the host when nothing is pending, closing the popover on the way",
          "does not resurrect a stale pre-date time after the date is cleared"
        ]
      },
      {
        "file": "source-tests/activity-timeline-source.test.tsx",
        "cases": [
          "owns the CRM activity query and relation facts in app-packs source",
          "resolves CRM WhoId versus WhatId policy without Nexus local constants",
          "builds the relation hint consumed by quick-create renderers",
          "queries the app-declared activity objects with the app-declared relation field"
        ]
      },
      {
        "file": "source-tests/record-activity-feed-data.test.tsx",
        "cases": [
          "falls back to CreatedDate so a logged Task with no due date still appears",
          "merges history, activity, and post streams newest-first",
          "shows every tracked field when no core list is configured",
          "keeps only the configured core fields when a core list is given",
          "keeps lifecycle sentinels even when they are not in the core list",
          "fetches history wider than the page so non-core rows cannot starve core ones",
          "skips the _System_Comment posts query for external-identity sessions",
          "drops a stale in-flight response so a newer record never shows the old rows",
          "excludes future-dated activities so the feed stays most-recent-first",
          "keeps a completed activity even when its due date is in the future",
          "clears the previous record rows on navigation before the new fetch resolves",
          "drops a stale response landing while the new record is still loading"
        ]
      },
      {
        "file": "source-tests/record-activity-feed-view.test.tsx",
        "cases": [
          "renders API names as readable field labels",
          "leads a field change with the field label, not the repeated actor sentence",
          "shows the before and after values without striking the old one through",
          "omits the arrow pair for a first-time set that has no prior value",
          "opens a clickable activity row from the keyboard as well as the mouse",
          "renders a lifecycle sentinel as a readable label with no value pair",
          "renders the empty state when there is nothing to show",
          "reads the authored list off panel config",
          "falls back to undefined for absent or malformed config so the panel never blanks",
          "drops unusable entries but keeps the valid ones"
        ]
      },
      {
        "file": "source-tests/adapter-factories.test.tsx",
        "cases": [
          "creates runtime renderer adapters from host-provided services",
          "creates an activity timeline adapter without importing Nexus runtime modules",
          "renders authored activity quick actions for the current object and opens the registered renderer",
          "falls back to legacy activity placement when layout quick actions are not authored yet",
          "falls back to legacy activity placement for default empty quick action arrays",
          "does not fall back to legacy placement when authored quick actions filter to empty",
          "fails closed when layout quick action names do not resolve to a unique standard action",
          "fails closed when the layout references an action that does not apply to the current object",
          "filters authored activity actions with the host record visibility context",
          "hides authored activity actions when the host record fails visibility",
          "defaults activity actions to visible when no host record is supplied",
          "opens the backing EmailMessage for email task rows when EmailMessage is available",
          "falls back to Task detail when an email task has no linked EmailMessage",
          "falls back to Task detail without querying EmailMessage when EmailMessage schema is unavailable",
          "opens non-email task rows directly without probing EmailMessage"
        ]
      },
      {
        "file": "source-tests/approval-email-notification-action-ui.test.tsx",
        "cases": [
          "offers only metadata-staged action types and never mutates Flow metadata",
          "labels existing generated Flow actions as Email Notification actions after reload",
          "has no immediate Flow mutation path in the staged approval action editor"
        ]
      },
      {
        "file": "source-tests/approval-email-notification-scaffold.test.ts",
        "cases": [
          "builds a managed autolaunched flow with a canonical sendEmail action",
          "keeps generated developer names Salesforce-safe and bounded"
        ]
      },
      {
        "file": "source-tests/bulk-ui-source.test.ts",
        "cases": [
          "owns CRM approval setup and record approval UI source in app-packs",
          "owns CRM Flow Builder and Flow runtime page source in app-packs",
          "owns CRM metadata record list/detail/form and related-list UI source in app-packs",
          "owns CRM object route page source in app-packs",
          "exports every moved CRM approval, Flow, and record source file through the package manifest",
          "exports every moved CRM analytics and dashboard source file through the package manifest",
          "exports every moved CRM infrastructure API and wire type source file through the package manifest",
          "owns CRM setup and admin page source in app-packs"
        ]
      },
      {
        "file": "source-tests/history-report-sources.test.ts",
        "cases": [
          "publishes the pinned Account and Opportunity field-history builder shapes",
          "publishes the specialized stage-transition snapshot columns",
          "does not shadow the shipped OpportunityFieldAuditHistory report type",
          "keeps virtual history source tokens out of stored custom report types"
        ]
      },
      {
        "file": "source-tests/flow-send-email-panel-behavior.test.tsx",
        "cases": [
          "lists active email templates and writes the selected id to templateId",
          "keeps templateId element references editable outside the template picker",
          "keeps manual templateId editing available when template lookup fails",
          "keeps collection recipient values read-only so save preserves raw metadata",
          "continues editing scalar literal and reference recipients",
          "edits named scalar and reference variables without JSON rewriting",
          "does not overwrite sibling variables during duplicate rename drafts",
          "classifies only scalar recipient values as editable"
        ]
      },
      {
        "file": "source-tests/flow-execution-runtime-route.test.ts",
        "cases": [
          "sends one stable invocation identity and unwraps canonical outputs",
          "does not turn a Salesforce item-level Flow failure into UI success"
        ]
      },
      {
        "file": "source-tests/record-inline-edit-behavior.test.tsx",
        "cases": [
          "drops stale hidden multipicklist selections before save",
          "clears direct and downstream dependents when a controller field changes inline",
          "blocks controller inline edit when an invalidated dependent field is not updateable",
          "blocks controller inline edit when an invalidated dependent picklist is required",
          "drops stale required dependent multipicklist selections after a real toggle-style replacement pick",
          "preserves free-text multipicklist values when no metadata options exist",
          "resolves runtime-scoped picklist options from the controlling field instead of the static baseline",
          "keeps the stored value selectable when the resolved runtime scope no longer contains it",
          "fails closed instead of offering the static baseline when the runtime scope is unresolved",
          "fails closed when the runtime-scoped option query fails",
          "does not offer a previous scope options after the controlling field changes",
          "blocks save while a runtime-scoped picklist is unresolved",
          "refuses to build unscoped criteria when no filter mappings are declared",
          "refuses to build criteria when a controlling value is blank",
          "refuses an Enter-key save while the runtime scope is reloading",
          "fails closed when a runtime picklist descriptor is malformed",
          "re-resolves runtime options on reopen instead of reusing the closed editor cache",
          "discards a previous scope pick once the replacement scope resolves",
          "fails closed on an empty scope even when the record holds a stored value",
          "retains every stored selection of a runtime-scoped multipicklist individually",
          "refuses a multipicklist write that carries retained stale selections"
        ]
      },
      {
        "file": "source-tests/record-metadata-form-behavior.test.tsx",
        "cases": [
          "omits unchanged create hint fields so server-owned defaults can recompute",
          "submits dirty blank defaultedOnCreate fields so explicit clears are preserved",
          "omits blank defaultedOnCreate fields and does not require them on create",
          "renders standard address display fields from sibling code picklists and submits both label and code values",
          "does not infer address behavior from field names alone when metadata omits the compound contract",
          "remaps hidden address code-field save errors onto the visible address control"
        ]
      },
      {
        "file": "source-tests/record-standard-action-create-route-behavior.test.ts",
        "cases": [
          "parses route params as selectors",
          "fails closed when action names are ambiguous",
          "builds metadata-owned source and field input mappings",
          "gates preview until required create-mapped inputs are satisfied",
          "gates preview for target-required create fields until source or draft supplies a value",
          "fails closed when an editable create-layout field lacks an action input",
          "fails closed when a guarded create input is denied",
          "requires non-rendered create inputs to have source or default bindings",
          "validates preview parent object and navigates by declared output reference",
          "includes write-only standard-address display companions in the create editable set",
          "does not mark unreadable standard-address code companions editable on action-backed create routes"
        ]
      },
      {
        "file": "source-tests/convert-lead-modal.test.tsx",
        "cases": [
          "renders the campaign attribution preview section from action config",
          "does not render the campaign attribution section when the payload is absent",
          "ignores incomplete leadConvertMatch payloads and stays in create mode",
          "switches to existing contact mode and preselects the matched contact when account selection matches the payload",
          "submits the matched contactId through the reuse path after the auto-switch",
          "keeps a user-selected existing contact explicit after the auto-switch",
          "keeps create mode when the user opts out before the contact auto-match resolves",
          "clears stale auto-matched contact synchronously when account changes before new query resolves",
          "stays in create mode and does not auto-select when multiple contacts match account and email",
          "disables Convert while a contact match query is in flight and re-enables after resolve",
          "calls previewStandardAction once on mount with at least the lead id",
          "renders the parentPreview object and fields when preview succeeds",
          "renders plural label when child count is not 1",
          "does not render preview block when backend returns no parentPreview",
          "shows fixed preview error copy when backend returns 4xx/5xx without leaking raw message",
          "does not call previewStandardAction when action has no previewEndpoint",
          "does not re-fetch preview when modal re-renders without identity change",
          "includes full convert inputs in preview payload (not just leadId)",
          "clears stale preview immediately when a new preview request starts",
          "clears stale preview when a subsequent preview request fails",
          "resolves preview in React StrictMode double-mount without suppression",
          "renders preview error state when previewStandardAction rejects",
          "renders parent fields with metadata labels from getSchema",
          "renders child object with metadata label from getSchema",
          "filters synthetic preview-* IDs from parent field rendering",
          "does NOT fire preview when previewReady is false (contact reuse mode without contactId)"
        ]
      },
      {
        "file": "source-tests/converted-lead-banner.test.tsx",
        "cases": [
          "renders app-owned converted Lead target links",
          "omits absent target links without host-side CRM assumptions",
          "navigates through the host panel service"
        ]
      },
      {
        "file": "source-tests/create-record-from-source.test.tsx",
        "cases": [
          "builds payload and success target from app-owned action metadata",
          "falls back to hidden Id input and output reference metadata",
          "executes and navigates through host services without Nexus runtime imports"
        ]
      },
      {
        "file": "source-tests/external-identity-provider.test.ts",
        "cases": [
          "registers the Salesforce OAuth surface from CRM app source",
          "projects the Google OAuth protocol from the owning CRM app source"
        ]
      },
      {
        "file": "source-tests/dashboard-route-surfaces.test.tsx",
        "cases": [
          "owns the dashboard route component and widget registry in app-packs source",
          "keeps report-backed widget inspector policy in CRM source"
        ]
      },
      {
        "file": "source-tests/host-adapter.test.tsx",
        "cases": [
          "creates one CRM host contribution from source routes and host renderer adapters",
          "registers CRM frontend surfaces, registries, renderers, and contribution in one sequence"
        ]
      },
      {
        "file": "source-tests/record-panel-registry.test.tsx",
        "cases": [
          "uses host-registered panel renderers when resolving renderable record panels"
        ]
      },
      {
        "file": "source-tests/record-child-bar-chart.test.ts",
        "cases": [
          "converts the previously shipped query keys into structured config",
          "does not claim unrelated identities and rejects ambiguous legacy payloads"
        ]
      },
      {
        "file": "source-tests/record-panel-parameterized-id.test.ts",
        "cases": [
          "converts the persisted child-chart query identity without weakening generic exact lookup",
          "drops ambiguous or invalid legacy child-chart placements"
        ]
      },
      {
        "file": "source-tests/host-contributions.test.tsx",
        "cases": [
          "creates dashboard policy and registers CRM widget components through host deps",
          "converts CRM setup source facts into runtime setup registry bindings",
          "owns CRM runtime route and setup component bindings in app-packs source",
          "owns CRM runtime registry bindings behind an app-packs facade",
          "fails closed when a source-declared setup component is not host-bound",
          "creates and registers metadata field definitions using host platform sql types",
          "registers CRM UI field surface policy and components through host deps",
          "owns CRM UI field renderer display-value policy in app-packs source",
          "owns CRM sidebar system item definitions in app-packs source",
          "owns CRM compound name layout item policy in app-packs source"
        ]
      },
      {
        "file": "source-tests/object-view-route-capabilities.test.tsx",
        "cases": [
          "owns ObjectView parent-context create routing policy in app-packs source",
          "owns dashboard create and detail routing policy in app-packs source",
          "owns report create/detail and execution-result fetch policy in app-packs source"
        ]
      },
      {
        "file": "source-tests/listview-filter-logic.test.tsx",
        "cases": [
          "opens list filters empty and hides the raw code mode",
          "compiles numbered AND/OR filter logic instead of hardcoded AND",
          "rejects incomplete filter logic instead of writing invalid filter expressions",
          "rejects filter logic that omits a complete condition",
          "keeps invalid applied filter logic out of saved list-view payloads",
          "passes valid FilterLogic through MetadataRecordList Save Current View createListView",
          "offers Add Filter Logic for parsed list-view criteria",
          "clears stale filter logic when a condition is removed",
          "renders boolean filter values as a True/False select",
          "writes persisted FilterLogic when creating a saved list view"
        ]
      },
      {
        "file": "source-tests/platform-contracts.test.ts",
        "cases": [
          "owns Salesforce Flow status, trigger, and process constants in app-packs source",
          "owns Salesforce layout and related-list helper behavior in app-packs source",
          "uses app-owned field surface policy for related-list parent filter serialization",
          "exposes CRM dashboard, query, page-layout, and object describe contracts from app-packs source",
          "owns Salesforce Flow builder labels and metadata deserialization helpers in app-packs source",
          "owns Salesforce approval status, chain, and recipient serialization helpers in app-packs source",
          "owns dashboard layout, analytics date-range, record filter, and API client contracts in app-packs source"
        ]
      },
      {
        "file": "source-tests/relocated-api-source.test.ts",
        "cases": [
          "adapts UI API named pages with a frontend owner distinct from the app config id",
          "aliases calculatedFormula to formula for metadata PATCH updates",
          "carries blank formula intent so the backend rejects incomplete formulas",
          "does not coerce unresolved standard page tabs into standard object tabs",
          "does not preserve fallback visualization provenance after a widget type change",
          "does not preserve passthrough provenance after a widget type change",
          "keeps UI API app route ownership explicit instead of matcher-derived",
          "keeps formula metadata in the Tooling CustomField envelope",
          "keeps named-page routing scoped per app in UI API and Tooling mappings",
          "maps API report components through the supplied app widget policy and preserves reportId",
          "merges Studio updates without dropping existing widget reportIds",
          "normalizes cached componentData maps on the initial dashboard read",
          "normalizes legacy PascalCase shapes only at the API boundary",
          "normalizes the established component-id keyed dashboard result for the viewer",
          "preserves only explicit per-app frontend owners on the getApps read path",
          "preserves report-backed widget reportId when updating dashboard metadata",
          "rejects unsupported installed application mutations before network access",
          "round-trips passthrough component types not declared by the current app policy",
          "round-trips unknown report visualizations instead of normalizing them away",
          "round-trips unknown visualizations for non-identity app component mappings",
          "serializes canonical widgets through one payload path, including top-level reportId",
          "uses the backend effective projection without a second global schema request"
        ]
      },
      {
        "file": "source-tests/relocated-metadata-helpers.test.ts",
        "cases": [
          "keeps describe capability helpers in app-packs source",
          "keeps field input normalization behavior in app-packs source",
          "keeps field surface policy scope behavior in app-packs source",
          "uses registered CRM field surface policy while flattening record-ui data",
          "keeps schema label fallback behavior in app-packs source"
        ]
      },
      {
        "file": "source-tests/send-record-email-modal.test.tsx",
        "cases": [
          "builds the bounded one-recipient plain-text action input",
          "starts Gmail OAuth through the authenticated API before browser navigation",
          "counts and limits the subject by Unicode code points",
          "replays one stable request through the metadata-owned endpoint until delivery is terminal",
          "bounds pending receipt polling without changing the request identity",
          "blocks an opted-out recipient before delivery"
        ]
      },
      {
        "file": "source-tests/task-activity-quick-create-modal.test.ts",
        "cases": [
          "detects activity timeline context from the app-owned relation hint",
          "resolves relation field from explicit context before object fallback",
          "preserves omit versus null semantics for standard action payloads",
          "fails closed for relation values outside the current panel authority",
          "seeds OwnerId from the runtime user and only the active relation slot",
          "seeds the current record id for header-host objects without a synthetic relation hint"
        ]
      },
      {
        "file": "source-tests/identity-sync-api.test.ts",
        "cases": [
          "reads status from the admin status endpoint, routed to the backend origin",
          "encodes limit and offset into the journal query string",
          "omits the query string when no journal paging params are given",
          "defaults the quarantine query to pending and honors an explicit status",
          "posts the approve flag and note to the resolve endpoint with an encoded id",
          "reads and resets the circuit breaker through its endpoints"
        ]
      },
      {
        "file": "source-tests/identity-sync-quarantine-resolve.test.tsx",
        "cases": [
          "opens the review modal and resolves an approval with a note, then invalidates and toasts",
          "submits a rejection with the chosen approve=false flag",
          "surfaces an error toast and keeps the modal open when the resolve fails",
          "disables approve and reject for users without Manage Users permission",
          "shows the empty state when nothing is quarantined"
        ]
      },
      {
        "file": "source-tests/identity-sync-dashboard.test.tsx",
        "cases": [
          "maps deep-linked child routes to their tab, defaulting to activity",
          "always renders the page header",
          "renders the health summary (breaker + last-run stats) when status loads",
          "shows a skeleton (no summary, no error) while status is loading",
          "shows an error state with retry when status fails",
          "shows the Activity empty state on the default tab when the journal is empty",
          "keeps the one-time SCIM token minting operation without restoring a policy editor",
          "shows the Activity error state when the journal fails",
          "does not expose a configuration-editor tab"
        ]
      },
      {
        "file": "source-tests/browser-credential-lane-inventory.test.ts",
        "cases": [
          "records the audited app-pack commit, design contract, scope, and no runtime behavior change",
          "keeps the classification rule in this guard, not in the artifact it checks",
          "holds every precondition its own derivation depends on",
          "classifies every endpoint symbol by walking the exported map at runtime",
          "records which modules depend on each surface class",
          "classifies every interpolated base that reaches an OAuth path",
          "derives every JS-readable bearer seam and keeps one first-party injector",
          "records the client secret this browser still ships in its password grant",
          "enumerates every runtime-supplied endpoint declaration it cannot bound from source",
          "derives the same endpoint-declaring symbols the inventory records as seams",
          "carries the raw families and browser-capable surfaces the design contract names",
          "keeps semantic UI API the only browser-capable lane and declares no browser-only lane yet"
        ]
      },
      {
        "file": "source-tests/connected-app-secret-is-write-only.test.tsx",
        "cases": [
          "offers no reveal affordance in edit mode, because no reveal path exists",
          "renders the secret as a non-editable placeholder rather than a text field",
          "never submits ConsumerSecret when an unrelated field is edited",
          "does not rotate until the confirmation is accepted",
          "rotates immediately on confirmation and shows the new secret once",
          "does not resubmit the rotated secret when the form is saved afterwards",
          "never hides a secret the form is about to write",
          "does not hide the secret minted by a confidential -> public -> confidential round trip",
          "stages nothing when the already-selected client type is clicked",
          "warns that a pending edit-mode secret replaces the live one on save",
          "tells the truth at creation: the secret is hashed, not masked"
        ]
      },
      {
        "file": "source-tests/layout-authoring-synchronous.test.ts",
        "cases": [
          "sends one mutation with the object revision and no command lifecycle",
          "accepts a no-op only when the revision stays unchanged",
          "builds an update with one workspace precondition and no nested versions"
        ]
      },
      {
        "file": "source-tests/layout-save-cache.test.tsx",
        "cases": [
          "a committed save refreshes active list metadata and invalidates inactive create, clone and related layouts"
        ]
      },
      {
        "file": "source-tests/session-transport-client.test.ts",
        "cases": [
          "routes navigation reads and saves through the configured backend and host credential owner",
          "rejects external navigation sessions before any read or save request"
        ]
      },
      {
        "file": "source-tests/salesforce-application.test.ts",
        "cases": [
          "reads application definitions without any authoring request",
          "rejects external application mutations before network access",
          "stops an external read when its session changes even if the transport ignores abort"
        ]
      },
      {
        "file": "source-tests/app-studio-session-boundary.test.tsx",
        "cases": [
          "keeps settings visible when the navigation HTTP request fails",
          "shows external applications read-only without navigation or settings writes"
        ]
      },
      {
        "file": "source-tests/app-studio-navigation.test.tsx",
        "cases": [
          "keeps an unavailable page editable and saves its stable identity without a route",
          "closes the editor when Cancel removes its newly added item",
          "loads the complete admin document and only persists explicit Save, including an empty document",
          "keeps an uncertain request frozen and retries its exact key and payload",
          "retries a failed menu refresh without repeating a committed save",
          "preserves a conflicting draft until the user explicitly loads the latest revision",
          "does not send a navigation draft through app settings",
          "does not apply a late save response to another app",
          "does not offer unsupported installed application creation"
        ]
      },
      {
        "file": "source-tests/sidebar-navigation-targets.test.tsx",
        "cases": [
          "never redirects an unavailable page or dashboard to Home",
          "preserves an explicitly empty selected menu",
          "hides a stale serving projection and exposes a retry when navigation is unavailable"
        ]
      }
    ]
  },
  "hostSdk": {
    "contract": "app-blind",
    "platformImport": "@nexuscrm/host-sdk",
    "publicImportSurface": "frontend/app-source-public-import-surface.json",
    "boundaryCheck": "npm run check:l0-sdk-boundary"
  },
  "generatedArtifactPolicy": {
    "owner": "nexuscrm-platform",
    "provisioning": "from-platform-revision",
    "platformContractLock": "frontend/app-generated-contract.lock.json",
    "forbidCopiedArtifacts": [
      "generated-api.ts",
      "generated-schema.ts",
      "generated-error-codes.ts"
    ]
  },
  "relocationOrder": [
    "shared-crm-frontend-types-and-contracts",
    "crm-feature-stacks",
    "crm-pages-and-routes",
    "crm-data-and-api-clients",
    "crm-adapter-registration-glue"
  ],
  "metadataRecordRenderer": {
    "phase2DefaultOwner": "crm-l1",
    "contractLift": "deferred-until-non-crm-consumer"
  }
}
