---
id: MOD-PFM-QRY
title: 'Questions, record exploration and data delivery'
product_area: platform
module: queries
revision: 2
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  rhythm-v2-docs: 99376625d3e7ac26936413cfc31a88fba6562464
repositories:
  - name: services-platform
    paths:
      - modules/queries
      - modules/explorer
      - modules/quick-search
      - modules/snapshots
      - modules/data-exports
      - >-
        aws/platform.service.ts (queries, saved-queries, reports, query-schedules, explorer-views,
        quick-search, quick-search-settings, snapshots, data-exports, hq queries, custom-query-tables,
        snapshots and data-exports groups)
      - docs/queries
      - docs/explorer.md
      - docs/quick-search.md
      - docs/indexing.md
      - docs/data-exports.md
      - docs/snapshots
      - docs/migrations/query-scheduling-exports/README.md
      - docs/proposals/snapshot-architecture.md
      - docs/proposals/tenant-data-export/20-risks-tradeoffs-decisions.md
      - docs/milestones/RPT-M1-catalog-sharing-subledger.md
      - docs/milestones/plans/RPT-M1-plan.md
  - name: react-console
    paths:
      - 'app/(console)/console/[tenantId]/queries'
      - 'app/(console)/console/[tenantId]/reports'
      - 'app/print/[tenantId]/reports'
      - 'app/(console)/console/[tenantId]/dataManagement/dataExports'
      - 'app/(console)/console/[tenantId]/dataManagement/dataExportSettings'
      - 'app/(console)/console/[tenantId]/search'
      - components/queries
      - components/reporting
      - components/data-management/data-exports
      - components/console/quick-search
      - lib/quick-search
      - acceptance/reporting
owns:
  - 'Dataset descriptions, query registration and description-cache coordination'
  - 'Query execution, validation, date interpretation and internal condition evaluation'
  - Assisted-query generation records
  - 'Saved-question definitions, role audiences and reusable recipes'
  - 'Explorer view definitions, preferences, navigation windows and record selection'
  - 'Stored report presentations, dashboard sources and rendered output'
  - 'Query files, delivery grants, recurring schedules and execution history'
  - 'Quick Search field configuration, documents, generations, rebuilds and repair'
  - 'Workspace export definitions, destinations, queued executions and declared coverage'
  - 'The shared monthly snapshot ledger, policies and Platform self-test type'
does_not_own:
  - record: 'Contacts, organizations, accounting lines and custom-object records'
    owner: 'Their applications: MOD-CRM-ENT, MOD-ACC-BKS, MOD-ACC-TRX, MOD-PFM-MTD'
  - record: 'Object definitions, custom fields, labels and layouts'
    owner: MOD-PFM-MTD
  - record: 'Access grants, roles, policies and authorization evaluation'
    owner: MOD-PFM-SEC
  - record: 'AI operation metering, model execution and allowance policy'
    owner: MOD-PFM-LLM
  - record: 'Message templates, communication requests and delivery events'
    owner: MOD-PFM-NOT
  - record: 'Bulk data changes, imports, job execution and licensing'
    owner: MOD-PFM-OPS
  - record: Storage integration connections for export destinations
    owner: MOD-PFM-INT
  - record: Workspace lifecycle processes that invoke module participants
    owner: MOD-PFM-TNL
  - record: Source change events and the application lists that host Explorer
    owner: MOD-CRM-ENT
  - record: Application-specific snapshot data and types
    owner: The owning applications (Accounting; later Membership)
  - record: Accounting figures and fiscal behavior in built-in ledger presentations
    owner: MOD-ACC-BKS
  - record: Audit history used by recently viewed questions
    owner: MOD-PFM-OPS (audit)
hosted_screens:
  - route: '/console/{tenantId}/queries'
    purpose: Browse personal and shared questions or start from a recipe
  - route: '/console/{tenantId}/queries/new'
    purpose: Create a question manually or with assisted drafting
  - route: '/console/{tenantId}/queries/{id}'
    purpose: Edit and execute a retained question
  - route: '/console/{tenantId}/queries/schedules'
    purpose: Browse recurring delivery definitions
  - route: '/console/{tenantId}/queries/schedules/new'
    purpose: Create a recurring delivery definition
  - route: '/console/{tenantId}/queries/schedules/{id}'
    purpose: Inspect a schedule and its recorded occurrences
  - route: '/console/{tenantId}/queries/schedules/{id}/edit'
    purpose: Change a recurring delivery definition
  - route: '/console/{tenantId}/reports'
    purpose: Browse stored and built-in presentations
  - route: '/console/{tenantId}/reports/{reportId}'
    purpose: 'Use a report’s layout, audience and output actions'
  - route: '/console/{tenantId}/reports/dashboardLab'
    purpose: Browse dashboards
  - route: '/console/{tenantId}/reports/dashboardLab/{dashboardId}'
    purpose: Compose and present a dashboard
  - route: '/print/{tenantId}/reports/{reportId}'
    purpose: Provide the print surface for server rendering
  - route: '/console/{tenantId}/dataManagement/dataExports'
    purpose: Inspect export history and request an execution
  - route: '/console/{tenantId}/dataManagement/dataExports/{executionId}'
    purpose: Inspect an individual export execution
  - route: '/console/{tenantId}/dataManagement/dataExportSettings'
    purpose: Maintain workspace export configuration
  - route: '/console/{tenantId}/search'
    purpose: Filter demonstration search records
supersedes:
  - 'react-console acceptance inventory area RPT (CAT, DSH, PRN, QRY, SCH; SUB in part)'
evidence:
  - >-
    Surface coverage is recorded in the operation, table, permission and backend-suite maps below. A mapped
    surface is not a passing execution result.
  - >-
    Infrastructure references: services-platform:modules/queries/aws/logic;
    services-platform:modules/queries/aws/resources; services-platform:modules/explorer/aws/logic;
    services-platform:modules/quick-search/aws/logic; services-platform:modules/snapshots/aws/logic;
    services-platform:modules/data-exports/aws/logic.
  - >-
    Console references: the declared page roots and react-console:lib/quick-search;
    react-console:components/console/quick-search;
    react-console:acceptance/reporting/inventory/capabilities.json.
  - >-
    The examination report supplies independently counted denominators, named proof gaps and the accounting
    inventory boundary.
coverage:
  operations:
    covered: 115
    total: 115
  tables:
    covered: 54
    total: 54
  permission_keys:
    reaching_a_capability: 34
    total: 41
    without_a_route: FND-PFM-QRY-005
  e2e_spec_files:
    covered: 22
    total: 22
  console_pages:
    covered: 16
    total: 16
  acceptance_inventory_capabilities:
    superseded: 82
    total: 92
    left_to_accounting: 10
  functions:
    covered: 21
    total: 21
  queues:
    covered: 7
    total: 7
  schedules:
    covered: 9
    total: 9
  state_machines:
    covered: 2
    total: 2
operations_by_capability:
  addDataExportDestination:
    - CAP-PFM-QRY-018
  analyzeCustomQueryTableDraft:
    - CAP-PFM-QRY-005
  assignCustomQueryTable:
    - CAP-PFM-QRY-005
  cancelDataExportExecution:
    - CAP-PFM-QRY-018
  createCustomQueryTable:
    - CAP-PFM-QRY-005
  createExplorerView:
    - CAP-PFM-QRY-009
  createQueryRecipeDraft:
    - CAP-PFM-QRY-008
  createQuerySchedule:
    - CAP-PFM-QRY-015
  createReport:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  createSavedQuery:
    - CAP-PFM-QRY-006
  createSystemQueryRecipeDraft:
    - CAP-PFM-QRY-004
  deleteDataExportArtifact:
    - CAP-PFM-QRY-018
  deleteExplorerView:
    - CAP-PFM-QRY-009
  deleteQuerySchedule:
    - CAP-PFM-QRY-015
  deleteReport:
    - CAP-PFM-QRY-011
  deleteSavedQuery:
    - CAP-PFM-QRY-006
  deleteSnapshotPolicyInHq:
    - CAP-PFM-QRY-019
  describeQueryDataset:
    - CAP-PFM-QRY-001
  describeSystemQueryDataset:
    - CAP-PFM-QRY-004
  downloadDataExportVolume:
    - CAP-PFM-QRY-018
  downloadQueryExport:
    - CAP-PFM-QRY-014
  downloadQueryExportByLink:
    - CAP-PFM-QRY-014
  duplicateQuerySchedule:
    - CAP-PFM-QRY-015
  findRecipientUsers:
    - CAP-PFM-QRY-015
  generateDatasetQuery:
    - CAP-PFM-QRY-003
  getCustomQueryTable:
    - CAP-PFM-QRY-005
  getCustomQueryTableUsage:
    - CAP-PFM-QRY-005
  getCustomQueryTableVersion:
    - CAP-PFM-QRY-005
  getDataExportCoverage:
    - CAP-PFM-QRY-018
  getDataExportDefinition:
    - CAP-PFM-QRY-018
  getDataExportExecution:
    - CAP-PFM-QRY-018
  getDataExportManifest:
    - CAP-PFM-QRY-018
  getDataExportsHealth:
    - CAP-PFM-QRY-018
  getDeliveryTemplateStarter:
    - CAP-PFM-QRY-015
  getExplorerView:
    - CAP-PFM-QRY-009
  getExplorerViewPreferences:
    - CAP-PFM-QRY-009
  getHqDataExportCoverage:
    - CAP-PFM-QRY-018
  getHqDataExportEntitlements:
    - CAP-PFM-QRY-018
  getHqDataExportTenantCoverage:
    - CAP-PFM-QRY-018
  getQueryExport:
    - CAP-PFM-QRY-014
  getQueryGeneration:
    - CAP-PFM-QRY-003
  getQueryRecipe:
    - CAP-PFM-QRY-008
  getQuerySchedule:
    - CAP-PFM-QRY-015
  getQuickSearchConfiguration:
    - CAP-PFM-QRY-017
  getQuickSearchHealth:
    - CAP-PFM-QRY-016
  getReport:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  getSavedQuery:
    - CAP-PFM-QRY-006
  getScheduleQueryChanges:
    - CAP-PFM-QRY-015
  getSnapshotPeriodStatusInHq:
    - CAP-PFM-QRY-019
  getSnapshotRunInHq:
    - CAP-PFM-QRY-019
  getSystemQueryRecipe:
    - CAP-PFM-QRY-004
  issueQuickSearchAccess:
    - CAP-PFM-QRY-016
  listCustomQueryTableAssignments:
    - CAP-PFM-QRY-005
  listCustomQueryTableEvents:
    - CAP-PFM-QRY-005
  listCustomQueryTableVersions:
    - CAP-PFM-QRY-005
  listCustomQueryTables:
    - CAP-PFM-QRY-005
  listDataExportExecutions:
    - CAP-PFM-QRY-018
  listDeliveryTemplates:
    - CAP-PFM-QRY-015
  listExplorerViews:
    - CAP-PFM-QRY-009
  listHqDataExportExecutions:
    - CAP-PFM-QRY-018
  listOverdueSnapshotRunsInHq:
    - CAP-PFM-QRY-019
  listQueryDatasets:
    - CAP-PFM-QRY-001
  listQueryRecipes:
    - CAP-PFM-QRY-008
  listQueryScheduleRuns:
    - CAP-PFM-QRY-015
  listQuerySchedules:
    - CAP-PFM-QRY-015
  listQuickSearchConfigurations:
    - CAP-PFM-QRY-017
  listQuickSearchFields:
    - CAP-PFM-QRY-017
  listReports:
    - CAP-PFM-QRY-011
  listSavedQueries:
    - CAP-PFM-QRY-006
  listSnapshotPeriods:
    - CAP-PFM-QRY-019
  listSnapshotPoliciesInHq:
    - CAP-PFM-QRY-019
  listSnapshotRunsInHq:
    - CAP-PFM-QRY-019
  listSystemQueryDatasets:
    - CAP-PFM-QRY-004
  listSystemQueryRecipes:
    - CAP-PFM-QRY-004
  patchExplorerView:
    - CAP-PFM-QRY-009
  pauseQuerySchedule:
    - CAP-PFM-QRY-015
  pinCustomQueryTableAssignment:
    - CAP-PFM-QRY-005
  previewCustomQueryTable:
    - CAP-PFM-QRY-005
  previewQuerySchedule:
    - CAP-PFM-QRY-015
  publishCustomQueryTable:
    - CAP-PFM-QRY-005
  putExplorerViewPreferences:
    - CAP-PFM-QRY-009
  putSnapshotPolicyInHq:
    - CAP-PFM-QRY-019
  readExplorerNavigation:
    - CAP-PFM-QRY-010
  rebuildQuickSearchIndex:
    - CAP-PFM-QRY-017
  removeDataExportDestination:
    - CAP-PFM-QRY-018
  replaceQuerySchedule:
    - CAP-PFM-QRY-015
  replaceQuickSearchConfiguration:
    - CAP-PFM-QRY-017
  requestDataExportExecution:
    - CAP-PFM-QRY-018
  requestSnapshotBackfillInHq:
    - CAP-PFM-QRY-019
  requestSnapshotRunInHq:
    - CAP-PFM-QRY-019
  resolveDateExpressions:
    - CAP-PFM-QRY-002
  resumeQuerySchedule:
    - CAP-PFM-QRY-015
  retryDataExportDelivery:
    - CAP-PFM-QRY-018
  revalidateCustomQueryTables:
    - CAP-PFM-QRY-005
  runDatasetQuery:
    - CAP-PFM-QRY-002
  runQueryRecipe:
    - CAP-PFM-QRY-008
  runQueryScheduleNow:
    - CAP-PFM-QRY-015
  runSavedQuery:
    - CAP-PFM-QRY-007
  runSystemDatasetQuery:
    - CAP-PFM-QRY-004
  saveCustomQueryTableDraft:
    - CAP-PFM-QRY-005
  saveDataExportDefinition:
    - CAP-PFM-QRY-018
  selectExplorerRecordIds:
    - CAP-PFM-QRY-010
  startExplorerNavigation:
    - CAP-PFM-QRY-010
  startQueryExport:
    - CAP-PFM-QRY-014
  startReportExport:
    - CAP-PFM-QRY-013
  takeQueryScheduleOwnership:
    - CAP-PFM-QRY-015
  unassignCustomQueryTable:
    - CAP-PFM-QRY-005
  updateCustomQueryTable:
    - CAP-PFM-QRY-005
  updateDataExportDestination:
    - CAP-PFM-QRY-018
  updateExplorerView:
    - CAP-PFM-QRY-009
  updateReport:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  updateSavedQuery:
    - CAP-PFM-QRY-006
  useLatestScheduleQuery:
    - CAP-PFM-QRY-015
  validateDatasetQuery:
    - CAP-PFM-QRY-002
  validateSystemDatasetQuery:
    - CAP-PFM-QRY-004
tables_by_capability:
  custom-query-table-assignments.table.ts:
    - CAP-PFM-QRY-005
  custom-query-table-columns.table.ts:
    - CAP-PFM-QRY-005
  custom-query-table-events.table.ts:
    - CAP-PFM-QRY-005
  custom-query-table-versions.table.ts:
    - CAP-PFM-QRY-005
  custom-query-tables.table.ts:
    - CAP-PFM-QRY-005
  data-export-artifacts.table.ts:
    - CAP-PFM-QRY-018
  data-export-definitions.table.ts:
    - CAP-PFM-QRY-018
  data-export-deliveries.table.ts:
    - CAP-PFM-QRY-018
  data-export-delivery-attempts.table.ts:
    - CAP-PFM-QRY-018
  data-export-destinations.table.ts:
    - CAP-PFM-QRY-018
  data-export-executions.table.ts:
    - CAP-PFM-QRY-018
  data-export-job-events.table.ts:
    - CAP-PFM-QRY-018
  data-export-job-steps.table.ts:
    - CAP-PFM-QRY-018
  data-export-jobs.table.ts:
    - CAP-PFM-QRY-018
  data-export-notices.table.ts:
    - CAP-PFM-QRY-018
  data-export-parts.table.ts:
    - CAP-PFM-QRY-018
  data-export-volumes.table.ts:
    - CAP-PFM-QRY-018
  explorer-navigation-sessions.table.ts:
    - CAP-PFM-QRY-010
  explorer-view-preferences.table.ts:
    - CAP-PFM-QRY-009
  explorer-views.table.ts:
    - CAP-PFM-QRY-009
  export-coverage-datasets.table.ts:
    - CAP-PFM-QRY-018
  export-coverage-versions.table.ts:
    - CAP-PFM-QRY-018
  query-description-stamps.table.ts:
    - CAP-PFM-QRY-001
  query-export-requests.table.ts:
    - CAP-PFM-QRY-013
    - CAP-PFM-QRY-014
  query-exports.table.ts:
    - CAP-PFM-QRY-013
    - CAP-PFM-QRY-014
  query-generations.table.ts:
    - CAP-PFM-QRY-003
  query-recipes.table.ts:
    - CAP-PFM-QRY-008
  query-schedule-deliveries.table.ts:
    - CAP-PFM-QRY-015
  query-schedule-recipients.table.ts:
    - CAP-PFM-QRY-015
  query-schedules.table.ts:
    - CAP-PFM-QRY-015
  quick-search-configurations.table.ts:
    - CAP-PFM-QRY-017
  quick-search-documents.table.ts:
    - CAP-PFM-QRY-016
    - CAP-PFM-QRY-017
  quick-search-index-states.table.ts:
    - CAP-PFM-QRY-017
  quick-search-rebuild-job-events.table.ts:
    - CAP-PFM-QRY-017
  quick-search-rebuild-job-steps.table.ts:
    - CAP-PFM-QRY-017
  quick-search-rebuild-jobs.table.ts:
    - CAP-PFM-QRY-017
  registered-query-collections.table.ts:
    - CAP-PFM-QRY-001
  registered-query-computed-fields.table.ts:
    - CAP-PFM-QRY-001
  registered-query-configured-relationships.table.ts:
    - CAP-PFM-QRY-001
  registered-query-objects.table.ts:
    - CAP-PFM-QRY-001
  registered-query-picks.table.ts:
    - CAP-PFM-QRY-001
  report-shared-roles.table.ts:
    - CAP-PFM-QRY-011
  report-sources.table.ts:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  reports.table.ts:
    - CAP-PFM-QRY-011
  saved-queries.table.ts:
    - CAP-PFM-QRY-006
  saved-query-shared-roles.table.ts:
    - CAP-PFM-QRY-006
  schedule-runs.table.ts:
    - CAP-PFM-QRY-015
  schedules.table.ts:
    - CAP-PFM-QRY-015
  snapshot-run-job-events.table.ts:
    - CAP-PFM-QRY-019
  snapshot-run-job-steps.table.ts:
    - CAP-PFM-QRY-019
  snapshot-run-jobs.table.ts:
    - CAP-PFM-QRY-019
  snapshot-runs.table.ts:
    - CAP-PFM-QRY-019
  snapshot-tenant-policies.table.ts:
    - CAP-PFM-QRY-019
  snapshot-user-status-counts.table.ts:
    - CAP-PFM-QRY-019
permission_keys:
  platform.queries.read:
    - CAP-PFM-QRY-001
    - CAP-PFM-QRY-002
    - CAP-PFM-QRY-008
    - CAP-PFM-QRY-014
    - CAP-PFM-QRY-015
  platform.queries.generate:
    - CAP-PFM-QRY-003
  platform.queries.create:
    - FND-PFM-QRY-005
  platform.queries.update:
    - FND-PFM-QRY-005
  platform.queries.delete:
    - FND-PFM-QRY-005
  platform.queries.bulk:
    - FND-PFM-QRY-005
  platform.saved-queries.read:
    - CAP-PFM-QRY-006
    - CAP-PFM-QRY-007
  platform.saved-queries.use:
    - CAP-PFM-QRY-006
    - CAP-PFM-QRY-007
  platform.saved-queries.share:
    - CAP-PFM-QRY-006
  platform.saved-queries.manage:
    - CAP-PFM-QRY-006
  platform.reports.read:
    - CAP-PFM-QRY-011
  platform.reports.use:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
    - CAP-PFM-QRY-013
    - CAP-PFM-QRY-015
  platform.reports.share:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  platform.reports.manage:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  platform.query-schedules.use:
    - CAP-PFM-QRY-015
  platform.query-schedules.manage:
    - CAP-PFM-QRY-014
    - CAP-PFM-QRY-015
  platform.query-schedules.external-recipients:
    - CAP-PFM-QRY-015
  platform.explorer-views.use:
    - CAP-PFM-QRY-009
    - CAP-PFM-QRY-010
  platform.explorer-views.share:
    - CAP-PFM-QRY-009
  platform.explorer-views.manage:
    - CAP-PFM-QRY-009
  platform.quick-search.read:
    - CAP-PFM-QRY-016
  platform.quick-search-settings.read:
    - CAP-PFM-QRY-017
  platform.quick-search-settings.update:
    - CAP-PFM-QRY-017
  platform.quick-search-settings.rebuild:
    - CAP-PFM-QRY-017
  platform.quick-search-settings.create:
    - FND-PFM-QRY-005
  platform.quick-search-settings.delete:
    - FND-PFM-QRY-005
  platform.quick-search-settings.bulk:
    - FND-PFM-QRY-005
  platform.snapshots.read:
    - CAP-PFM-QRY-019
  platform.data-exports.read:
    - CAP-PFM-QRY-018
  platform.data-exports.manage:
    - CAP-PFM-QRY-018
  platform.data-exports.execute:
    - CAP-PFM-QRY-018
  platform.data-exports.download:
    - CAP-PFM-QRY-018
  hq.queries.read:
    - CAP-PFM-QRY-004
  hq.custom-query-tables.read:
    - CAP-PFM-QRY-005
  hq.custom-query-tables.author:
    - CAP-PFM-QRY-005
  hq.custom-query-tables.publish:
    - CAP-PFM-QRY-005
  hq.custom-query-tables.assign:
    - CAP-PFM-QRY-005
  hq.snapshots.read:
    - CAP-PFM-QRY-019
  hq.snapshots.manage:
    - CAP-PFM-QRY-019
  hq.data-exports.read:
    - CAP-PFM-QRY-018
  hq.data-exports.operate:
    - CAP-PFM-QRY-018
e2e_specs_by_capability:
  queries/custom-object-datasets.e2e.spec.js:
    - CAP-PFM-QRY-001
  queries/custom-tables.e2e.spec.js:
    - CAP-PFM-QRY-005
  queries/dataset-effective-permissions.e2e.spec.js:
    - CAP-PFM-QRY-001
  queries/datasets.e2e.spec.js:
    - CAP-PFM-QRY-001
    - CAP-PFM-QRY-002
  queries/date-expressions.e2e.spec.js:
    - CAP-PFM-QRY-002
  queries/generate-query.e2e.spec.js:
    - CAP-PFM-QRY-003
  queries/llm-usage.e2e.spec.js:
    - CAP-PFM-QRY-004
  queries/query-recipes.e2e.spec.js:
    - CAP-PFM-QRY-008
  queries/query-schedules.e2e.spec.js:
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-015
  queries/read-tier.e2e.spec.js:
    - CAP-PFM-QRY-006
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-013
  queries/report-exports.e2e.spec.js:
    - CAP-PFM-QRY-013
  queries/reports.e2e.spec.js:
    - CAP-PFM-QRY-006
    - CAP-PFM-QRY-007
    - CAP-PFM-QRY-011
    - CAP-PFM-QRY-012
  queries/saved-queries.e2e.spec.js:
    - CAP-PFM-QRY-002
    - CAP-PFM-QRY-006
    - CAP-PFM-QRY-007
  queries/system-queries.e2e.spec.js:
    - CAP-PFM-QRY-004
  explorer/explorer-navigation-api.e2e.spec.js:
    - CAP-PFM-QRY-010
  explorer/explorer-preferences-api.e2e.spec.js:
    - CAP-PFM-QRY-009
  explorer/explorer-views-api.e2e.spec.js:
    - CAP-PFM-QRY-009
  quick-search/quick-search-access.e2e.spec.js:
    - CAP-PFM-QRY-016
  quick-search/quick-search-configurations.e2e.spec.js:
    - CAP-PFM-QRY-017
  quick-search/quick-search-route-grants.e2e.spec.js:
    - CAP-PFM-QRY-016
    - CAP-PFM-QRY-017
  snapshots/snapshots.e2e.spec.js:
    - CAP-PFM-QRY-019
  data-exports/data-exports.e2e.spec.js:
    - CAP-PFM-QRY-018
functions_queues_and_schedules:
  'queries API, registration, recipes registration, generation, revalidation (custom tables)':
    - CAP-PFM-QRY-001
    - CAP-PFM-QRY-003
    - CAP-PFM-QRY-005
    - CAP-PFM-QRY-008
  queries record ids and marketing record ids (IAM entry points):
    - CAP-PFM-QRY-007
  queries export dispatcher and worker; query-exports queue:
    - CAP-PFM-QRY-014
  queries report renderer; report-renders queue:
    - CAP-PFM-QRY-013
  queries schedule dispatcher (every minute) and consumer; query-schedules queue:
    - CAP-PFM-QRY-015
  explorer API:
    - CAP-PFM-QRY-009
    - CAP-PFM-QRY-010
  'Quick Search API, indexer, maintenance (three EventBridge rules), rebuild state machine':
    - CAP-PFM-QRY-016
    - CAP-PFM-QRY-017
  'snapshot planner (every 15 minutes), dispatcher (every minute), run worker and run state machine':
    - CAP-PFM-QRY-019
  data exports API:
    - CAP-PFM-QRY-018
artifact_tree:
  planning/acceptance:
    - FAS-PFM-QRY-01-datasets-and-querying.md
    - FAS-PFM-QRY-02-saved-queries-and-recipes.md
    - FAS-PFM-QRY-03-record-explorer.md
    - FAS-PFM-QRY-04-reports-and-dashboards.md
    - FAS-PFM-QRY-05-exports-and-scheduled-delivery.md
    - FAS-PFM-QRY-06-quick-search.md
    - FAS-PFM-QRY-07-workspace-data-export.md
    - FAS-PFM-QRY-08-monthly-snapshots.md
  design/tests:
    - ATS-PFM-QRY-001-know-which-data-can-be-queried-and-what-each-dataset-holds.md
    - ATS-PFM-QRY-002-ask-a-question-of-the-workspace-s-data-and-see-only-what.md
    - ATS-PFM-QRY-003-have-a-query-written-from-a-plain-english-request.md
    - ATS-PFM-QRY-004-let-rhythm-staff-query-every-customer-from-rhythm-hq.md
    - ATS-PFM-QRY-005-give-one-customer-a-staff-authored-custom-query-table.md
    - ATS-PFM-QRY-006-keep-and-share-saved-queries-without-widening-anyone-s.md
    - ATS-PFM-QRY-007-run-a-saved-query-with-the-values-it-asks-for-as-the-person.md
    - ATS-PFM-QRY-008-start-a-query-from-a-recipe-rhythm-ships.md
    - ATS-PFM-QRY-009-keep-and-share-the-explorer-views-a-person-works-from.md
    - ATS-PFM-QRY-010-walk-a-list-record-by-record-and-act-on-every-record-it.md
    - ATS-PFM-QRY-011-keep-share-and-find-reports-without-sharing-anyone-s-data.md
    - ATS-PFM-QRY-012-assemble-a-dashboard-from-several-saved-queries.md
    - ATS-PFM-QRY-013-print-a-report-or-dashboard-to-pdf-or-excel-as-the-person.md
    - ATS-PFM-QRY-014-take-a-query-s-whole-result-away-as-a-csv-or-excel-file.md
    - ATS-PFM-QRY-015-send-a-saved-query-or-report-to-chosen-people-on-a-schedule.md
    - ATS-PFM-QRY-016-find-contacts-and-organizations-as-one-types.md
    - ATS-PFM-QRY-017-choose-what-quick-search-finds-records-by-and-keep-the.md
    - ATS-PFM-QRY-018-take-a-complete-portable-export-of-the-workspace-s-data.md
    - ATS-PFM-QRY-019-keep-monthly-snapshots-of-each-workspace-and-show-which.md
    - ATS-PFM-QRY-020-evaluate-dated-conditions-for-named-records.md
  implementation/tests:
    - TST-PFM-QRY-001-dje-acc-0150-spec.md
    - TST-PFM-QRY-002-dje-acc-0151-spec.md
    - TST-PFM-QRY-003-dje-acc-0100-spec.md
    - TST-PFM-QRY-004-dje-acc-0101-spec.md
    - TST-PFM-QRY-005-dje-acc-0102-spec.md
    - TST-PFM-QRY-006-dje-acc-0103-spec.md
    - TST-PFM-QRY-007-dje-acc-0104-spec.md
    - TST-PFM-QRY-008-dje-acc-0105-spec.md
    - TST-PFM-QRY-009-dje-acc-0106-spec.md
    - TST-PFM-QRY-010-dje-acc-0107-spec.md
    - TST-PFM-QRY-011-dje-acc-0108-spec.md
    - TST-PFM-QRY-012-dje-acc-0109-spec.md
    - TST-PFM-QRY-013-dje-acc-0110-spec.md
    - TST-PFM-QRY-014-dje-acc-0111-spec.md
    - TST-PFM-QRY-015-dje-acc-0112-spec.md
    - TST-PFM-QRY-016-dje-acc-0113-spec.md
    - TST-PFM-QRY-017-dje-acc-0114-spec.md
    - TST-PFM-QRY-018-dje-acc-0115-spec.md
    - TST-PFM-QRY-019-dje-acc-0116-spec.md
    - TST-PFM-QRY-020-dje-acc-0117-spec.md
    - TST-PFM-QRY-021-plat-m19-spec.md
    - TST-PFM-QRY-022-rpt-acc-0000-spec.md
    - TST-PFM-QRY-023-rpt-acc-0490-spec.md
    - TST-PFM-QRY-024-rpt-acc-0491-spec.md
    - TST-PFM-QRY-025-rpt-acc-0492-spec.md
    - TST-PFM-QRY-026-rpt-acc-0493-spec.md
    - TST-PFM-QRY-027-rpt-acc-0494-spec.md
    - TST-PFM-QRY-028-rpt-acc-0495-spec.md
    - TST-PFM-QRY-029-rpt-acc-0496-spec.md
    - TST-PFM-QRY-030-rpt-acc-0497-spec.md
    - TST-PFM-QRY-031-rpt-acc-0498-spec.md
    - TST-PFM-QRY-032-rpt-acc-0499-spec.md
    - TST-PFM-QRY-033-rpt-acc-0500-spec.md
    - TST-PFM-QRY-034-rpt-acc-0501-spec.md
    - TST-PFM-QRY-035-rpt-acc-0502-spec.md
    - TST-PFM-QRY-036-rpt-acc-0503-spec.md
    - TST-PFM-QRY-037-rpt-acc-0504-spec.md
    - TST-PFM-QRY-038-rpt-acc-0505-spec.md
    - TST-PFM-QRY-039-rpt-acc-0506-spec.md
    - TST-PFM-QRY-040-rpt-acc-0507-spec.md
    - TST-PFM-QRY-041-rpt-acc-0508-spec.md
    - TST-PFM-QRY-042-rpt-acc-0509-spec.md
    - TST-PFM-QRY-043-rpt-acc-0510-spec.md
    - TST-PFM-QRY-044-rpt-acc-0511-spec.md
    - TST-PFM-QRY-045-rpt-acc-0512-spec.md
    - TST-PFM-QRY-046-rpt-acc-0001-spec.md
    - TST-PFM-QRY-047-rpt-acc-0002-spec.md
    - TST-PFM-QRY-048-rpt-acc-0003-spec.md
    - TST-PFM-QRY-049-rpt-acc-0004-spec.md
    - TST-PFM-QRY-050-rpt-acc-0005-spec.md
    - TST-PFM-QRY-051-rpt-acc-0006-spec.md
    - TST-PFM-QRY-052-rpt-acc-0007-spec.md
    - TST-PFM-QRY-053-rpt-acc-0008-spec.md
    - TST-PFM-QRY-054-rpt-acc-0009-spec.md
    - TST-PFM-QRY-055-rpt-acc-0010-spec.md
    - TST-PFM-QRY-056-rpt-acc-0011-spec.md
    - TST-PFM-QRY-057-rpt-acc-0012-spec.md
    - TST-PFM-QRY-058-rpt-acc-0013-spec.md
    - TST-PFM-QRY-059-rpt-acc-0014-spec.md
    - TST-PFM-QRY-060-rpt-acc-0015-spec.md
    - TST-PFM-QRY-061-rpt-acc-0016-spec.md
    - TST-PFM-QRY-062-rpt-acc-0017-spec.md
    - TST-PFM-QRY-063-rpt-acc-0018-spec.md
    - TST-PFM-QRY-064-rpt-acc-0019-spec.md
    - TST-PFM-QRY-065-rpt-acc-0020-spec.md
    - TST-PFM-QRY-066-rpt-acc-0021-spec.md
    - TST-PFM-QRY-067-rpt-acc-0022-spec.md
    - TST-PFM-QRY-068-rpt-acc-0023-spec.md
    - TST-PFM-QRY-069-rpt-acc-0024-spec.md
    - TST-PFM-QRY-070-rpt-acc-0150-spec.md
    - TST-PFM-QRY-071-rpt-acc-0151-spec.md
    - TST-PFM-QRY-072-rpt-acc-0152-spec.md
    - TST-PFM-QRY-073-rpt-acc-0153-spec.md
    - TST-PFM-QRY-074-rpt-acc-0154-spec.md
    - TST-PFM-QRY-075-rpt-acc-0155-spec.md
    - TST-PFM-QRY-076-rpt-acc-0156-spec.md
    - TST-PFM-QRY-077-rpt-acc-0157-spec.md
    - TST-PFM-QRY-078-rpt-acc-0158-spec.md
    - TST-PFM-QRY-079-rpt-acc-0159-spec.md
    - TST-PFM-QRY-080-rpt-acc-0160-spec.md
    - TST-PFM-QRY-081-rpt-acc-0161-spec.md
    - TST-PFM-QRY-082-rpt-acc-0162-spec.md
    - TST-PFM-QRY-083-rpt-acc-0163-spec.md
    - TST-PFM-QRY-084-rpt-acc-0164-spec.md
    - TST-PFM-QRY-085-rpt-acc-0165-spec.md
    - TST-PFM-QRY-086-rpt-acc-0166-spec.md
    - TST-PFM-QRY-087-rpt-acc-0167-spec.md
    - TST-PFM-QRY-088-rpt-acc-0168-spec.md
    - TST-PFM-QRY-089-rpt-acc-0230-spec.md
    - TST-PFM-QRY-090-rpt-acc-0231-spec.md
    - TST-PFM-QRY-091-rpt-acc-0232-spec.md
    - TST-PFM-QRY-092-rpt-acc-0235-spec.md
    - TST-PFM-QRY-093-rpt-acc-0237-spec.md
    - TST-PFM-QRY-094-rpt-acc-0238-spec.md
    - TST-PFM-QRY-095-rpt-acc-0239-spec.md
    - TST-PFM-QRY-096-rpt-acc-0240-spec.md
    - TST-PFM-QRY-097-rpt-acc-0241-spec.md
    - TST-PFM-QRY-098-rpt-acc-0251-spec.md
    - TST-PFM-QRY-099-rpt-acc-0255-spec.md
    - TST-PFM-QRY-100-rpt-acc-0257-spec.md
    - TST-PFM-QRY-101-rpt-acc-0340-spec.md
    - TST-PFM-QRY-102-rpt-acc-0341-spec.md
    - TST-PFM-QRY-103-rpt-acc-0342-spec.md
    - TST-PFM-QRY-104-rpt-acc-0343-spec.md
    - TST-PFM-QRY-105-rpt-acc-0344-spec.md
    - TST-PFM-QRY-106-rpt-acc-0345-spec.md
    - TST-PFM-QRY-107-rpt-acc-0346-spec.md
    - TST-PFM-QRY-108-rpt-acc-0347-spec.md
    - TST-PFM-QRY-109-rpt-acc-0348-spec.md
    - TST-PFM-QRY-110-rpt-acc-0349-spec.md
    - TST-PFM-QRY-111-rpt-acc-0350-spec.md
    - TST-PFM-QRY-112-rpt-acc-0351-spec.md
    - TST-PFM-QRY-113-rpt-acc-0353-spec.md
    - TST-PFM-QRY-114-rpt-acc-0354-spec.md
    - TST-PFM-QRY-115-rpt-acc-0355-spec.md
    - TST-PFM-QRY-116-rpt-acc-0356-spec.md
    - TST-PFM-QRY-117-rpt-acc-0357-spec.md
    - TST-PFM-QRY-118-rpt-acc-0358-spec.md
    - TST-PFM-QRY-119-rpt-acc-0359-spec.md
    - TST-PFM-QRY-120-rpt-acc-0360-spec.md
    - TST-PFM-QRY-121-rpt-acc-0080-spec.md
    - TST-PFM-QRY-122-rpt-acc-0081-spec.md
    - TST-PFM-QRY-123-rpt-acc-0082-spec.md
    - TST-PFM-QRY-124-rpt-acc-0083-spec.md
    - TST-PFM-QRY-125-rpt-acc-0084-spec.md
    - TST-PFM-QRY-126-rpt-acc-0085-spec.md
    - TST-PFM-QRY-127-rpt-acc-0086-spec.md
    - TST-PFM-QRY-128-rpt-acc-0087-spec.md
    - TST-PFM-QRY-129-rpt-acc-0088-spec.md
    - TST-PFM-QRY-130-rpt-acc-0091-spec.md
    - TST-PFM-QRY-131-rpt-acc-0092-spec.md
    - TST-PFM-QRY-132-rpt-acc-0093-spec.md
    - TST-PFM-QRY-133-rpt-acc-0094-spec.md
    - TST-PFM-QRY-134-rpt-acc-0095-spec.md
    - TST-PFM-QRY-135-rpt-acc-0420-spec.md
    - TST-PFM-QRY-136-rpt-acc-0421-spec.md
    - TST-PFM-QRY-137-rpt-acc-0422-spec.md
    - TST-PFM-QRY-138-rpt-acc-0423-spec.md
    - TST-PFM-QRY-139-rpt-acc-0424-spec.md
    - TST-PFM-QRY-140-rpt-acc-0425-spec.md
    - TST-PFM-QRY-141-rpt-acc-0426-spec.md
    - TST-PFM-QRY-142-rpt-acc-0427-spec.md
    - TST-PFM-QRY-143-rpt-acc-0428-spec.md
    - TST-PFM-QRY-144-rpt-acc-0429-spec.md
    - TST-PFM-QRY-145-rpt-acc-0430-spec.md
    - TST-PFM-QRY-146-rpt-acc-0431-spec.md
    - TST-PFM-QRY-147-rpt-acc-0432-spec.md
    - TST-PFM-QRY-148-rpt-acc-0433-spec.md
    - TST-PFM-QRY-149-rpt-acc-0434-spec.md
    - TST-PFM-QRY-150-rpt-acc-0436-spec.md
    - TST-PFM-QRY-151-rpt-acc-0437-spec.md
    - TST-PFM-QRY-152-rpt-acc-0438-spec.md
    - TST-PFM-QRY-153-rpt-acc-0439-spec.md
    - TST-PFM-QRY-154-quick-search-controlled-spec.md
    - TST-PFM-QRY-155-record-views-controlled-spec.md
    - TST-PFM-QRY-156-organizations-explorer-dev-spec.md
    - TST-PFM-QRY-157-queries-dev-spec.md
    - TST-PFM-QRY-158-query-schedules-dev-spec.md
    - TST-PFM-QRY-159-quick-search-dev-spec.md
    - TST-PFM-QRY-160-record-explorer-dev-spec.md
    - TST-PFM-QRY-161-record-links-dev-spec.md
    - TST-PFM-QRY-162-record-views-dev-spec.md
    - TST-PFM-QRY-163-saved-query-parameters-dev-spec.md
    - TST-PFM-QRY-164-subledger-query-walk-dev-spec.md
    - TST-PFM-QRY-165-custom-query-tables-spec.md
    - TST-PFM-QRY-166-dashboard-lab-mock-spec.md
    - TST-PFM-QRY-167-dashboard-unsaved-mock-spec.md
    - TST-PFM-QRY-168-data-exports-mock-spec.md
    - TST-PFM-QRY-169-query-schedules-mock-spec.md
    - TST-PFM-QRY-170-record-explorer-access-mock-spec.md
    - TST-PFM-QRY-171-record-explorer-ask-mock-spec.md
    - TST-PFM-QRY-172-record-explorer-views-mock-spec.md
    - TST-PFM-QRY-173-record-links-spec.md
    - TST-PFM-QRY-174-relative-date-builder-compat-mock-spec.md
    - TST-PFM-QRY-175-relative-date-builder-mock-spec.md
    - TST-PFM-QRY-176-relative-dates-mock-spec.md
    - TST-PFM-QRY-177-reporting-access-mock-spec.md
    - TST-PFM-QRY-178-reporting-catalog-mock-spec.md
    - TST-PFM-QRY-179-reporting-classic-mock-spec.md
    - TST-PFM-QRY-180-reporting-delete-mock-spec.md
    - TST-PFM-QRY-181-reporting-export-mock-spec.md
    - TST-PFM-QRY-182-reporting-print-mock-spec.md
    - TST-PFM-QRY-183-reporting-sharing-mock-spec.md
    - TST-PFM-QRY-184-reporting-system-dashboard-mock-spec.md
    - TST-PFM-QRY-185-saved-query-parameters-spec.md
    - TST-PFM-QRY-186-controller-test.md
    - TST-PFM-QRY-187-data-exports-e2e-spec.md
    - TST-PFM-QRY-188-data-export-artifacts-table-integration-spec.md
    - TST-PFM-QRY-189-data-export-definitions-table-integration-spec.md
    - TST-PFM-QRY-190-data-export-deliveries-table-integration-spec.md
    - TST-PFM-QRY-191-data-export-executions-table-integration-spec.md
    - TST-PFM-QRY-192-export-coverage-datasets-table-integration-spec.md
    - TST-PFM-QRY-193-admit-execution-integration-spec.md
    - TST-PFM-QRY-194-reconcile-coverage-integration-spec.md
    - TST-PFM-QRY-195-tenant-participant-integration-spec.md
    - TST-PFM-QRY-196-artifacts-integration-spec.md
    - TST-PFM-QRY-197-definitions-integration-spec.md
    - TST-PFM-QRY-198-deliveries-integration-spec.md
    - TST-PFM-QRY-199-delivery-attempts-integration-spec.md
    - TST-PFM-QRY-200-destinations-integration-spec.md
    - TST-PFM-QRY-201-executions-integration-spec.md
    - TST-PFM-QRY-202-executions-queries-integration-spec.md
    - TST-PFM-QRY-203-notices-integration-spec.md
    - TST-PFM-QRY-204-parts-integration-spec.md
    - TST-PFM-QRY-205-volumes-integration-spec.md
    - TST-PFM-QRY-206-contract-spec.md
    - TST-PFM-QRY-207-reconcile-coverage-spec.md
    - TST-PFM-QRY-208-explorer-navigation-api-e2e-spec.md
    - TST-PFM-QRY-209-explorer-preferences-api-e2e-spec.md
    - TST-PFM-QRY-210-explorer-views-api-e2e-spec.md
    - TST-PFM-QRY-211-recipe-anchors-integration-spec.md
    - TST-PFM-QRY-212-custom-object-navigation-integration-spec.md
    - TST-PFM-QRY-213-navigation-sessions-integration-spec.md
    - TST-PFM-QRY-214-explorer-navigation-sessions-integration-spec.md
    - TST-PFM-QRY-215-explorer-navigation-sessions-queries-integration-spec.md
    - TST-PFM-QRY-216-explorer-view-preferences-integration-spec.md
    - TST-PFM-QRY-217-explorer-view-preferences-queries-integration-spec.md
    - TST-PFM-QRY-218-explorer-views-integration-spec.md
    - TST-PFM-QRY-219-explorer-views-queries-integration-spec.md
    - TST-PFM-QRY-220-select-record-ids-integration-spec.md
    - TST-PFM-QRY-221-explorer-permission-keys-spec.md
    - TST-PFM-QRY-222-custom-object-datasets-e2e-spec.md
    - TST-PFM-QRY-223-custom-tables-e2e-spec.md
    - TST-PFM-QRY-224-dataset-effective-permissions-e2e-spec.md
    - TST-PFM-QRY-225-datasets-e2e-spec.md
    - TST-PFM-QRY-226-date-expressions-e2e-spec.md
    - TST-PFM-QRY-227-generate-query-e2e-spec.md
    - TST-PFM-QRY-228-llm-usage-e2e-spec.md
    - TST-PFM-QRY-229-query-recipes-e2e-spec.md
    - TST-PFM-QRY-230-query-schedules-e2e-spec.md
    - TST-PFM-QRY-231-read-tier-e2e-spec.md
    - TST-PFM-QRY-232-report-exports-e2e-spec.md
    - TST-PFM-QRY-233-reports-e2e-spec.md
    - TST-PFM-QRY-234-saved-queries-e2e-spec.md
    - TST-PFM-QRY-235-system-queries-e2e-spec.md
    - TST-PFM-QRY-236-query-generations-table-integration-spec.md
    - TST-PFM-QRY-237-query-recipes-table-integration-spec.md
    - TST-PFM-QRY-238-registered-query-objects-table-integration-spec.md
    - TST-PFM-QRY-239-registered-query-picks-table-integration-spec.md
    - TST-PFM-QRY-240-report-shared-roles-table-integration-spec.md
    - TST-PFM-QRY-241-report-sources-table-integration-spec.md
    - TST-PFM-QRY-242-reports-table-integration-spec.md
    - TST-PFM-QRY-243-saved-queries-table-integration-spec.md
    - TST-PFM-QRY-244-saved-query-shared-roles-table-integration-spec.md
    - TST-PFM-QRY-245-dataset-catalog-integration-spec.md
    - TST-PFM-QRY-246-custom-table-analysis-integration-spec.md
    - TST-PFM-QRY-247-custom-table-assignment-integration-spec.md
    - TST-PFM-QRY-248-custom-table-lifecycle-integration-spec.md
    - TST-PFM-QRY-249-custom-table-pinning-integration-spec.md
    - TST-PFM-QRY-250-custom-table-revalidation-integration-spec.md
    - TST-PFM-QRY-251-association-families-integration-spec.md
    - TST-PFM-QRY-252-custom-object-exposure-integration-spec.md
    - TST-PFM-QRY-253-dataset-declarations-integration-spec.md
    - TST-PFM-QRY-254-dataset-effective-permissions-integration-spec.md
    - TST-PFM-QRY-255-dataset-grants-integration-spec.md
    - TST-PFM-QRY-256-dataset-scope-integration-spec.md
    - TST-PFM-QRY-257-describe-affiliations-integration-spec.md
    - TST-PFM-QRY-258-describe-configured-relationships-integration-spec.md
    - TST-PFM-QRY-259-describe-custom-objects-integration-spec.md
    - TST-PFM-QRY-260-describe-dataset-mapping-integration-spec.md
    - TST-PFM-QRY-261-describe-dataset-integration-spec.md
    - TST-PFM-QRY-262-describe-discovery-integration-spec.md
    - TST-PFM-QRY-263-description-stamp-coverage-integration-spec.md
    - TST-PFM-QRY-264-shared-description-cache-integration-spec.md
    - TST-PFM-QRY-265-affiliation-queries-integration-spec.md
    - TST-PFM-QRY-266-compile-predicates-integration-spec.md
    - TST-PFM-QRY-267-configured-relationship-queries-integration-spec.md
    - TST-PFM-QRY-268-contact-affiliation-fields-integration-spec.md
    - TST-PFM-QRY-269-contact-pick-flattening-integration-spec.md
    - TST-PFM-QRY-270-current-user-criterion-integration-spec.md
    - TST-PFM-QRY-271-custom-dataset-isolation-integration-spec.md
    - TST-PFM-QRY-272-custom-dataset-queries-integration-spec.md
    - TST-PFM-QRY-273-custom-field-queries-integration-spec.md
    - TST-PFM-QRY-274-custom-object-queries-integration-spec.md
    - TST-PFM-QRY-275-custom-table-joins-integration-spec.md
    - TST-PFM-QRY-276-discovery-defaults-integration-spec.md
    - TST-PFM-QRY-277-display-links-integration-spec.md
    - TST-PFM-QRY-278-enumerate-records-integration-spec.md
    - TST-PFM-QRY-279-find-record-ids-integration-spec.md
    - TST-PFM-QRY-280-input-edges-integration-spec.md
    - TST-PFM-QRY-281-ordered-record-ids-integration-spec.md
    - TST-PFM-QRY-282-organization-hierarchy-queries-integration-spec.md
    - TST-PFM-QRY-283-plan-and-compile-query-integration-spec.md
    - TST-PFM-QRY-284-polymorphic-references-integration-spec.md
    - TST-PFM-QRY-285-project-records-integration-spec.md
    - TST-PFM-QRY-286-query-aggregates-integration-spec.md
    - TST-PFM-QRY-287-query-totals-integration-spec.md
    - TST-PFM-QRY-288-query-value-conversions-integration-spec.md
    - TST-PFM-QRY-289-read-only-execution-integration-spec.md
    - TST-PFM-QRY-290-recently-viewed-scope-integration-spec.md
    - TST-PFM-QRY-291-record-bindings-integration-spec.md
    - TST-PFM-QRY-292-record-id-sets-integration-spec.md
    - TST-PFM-QRY-293-reference-display-values-integration-spec.md
    - TST-PFM-QRY-294-relative-dates-integration-spec.md
    - TST-PFM-QRY-295-resolve-date-expressions-integration-spec.md
    - TST-PFM-QRY-296-run-query-integration-spec.md
    - TST-PFM-QRY-297-system-mode-integration-spec.md
    - TST-PFM-QRY-298-two-stage-paging-integration-spec.md
    - TST-PFM-QRY-299-user-joins-integration-spec.md
    - TST-PFM-QRY-300-custom-object-export-integration-spec.md
    - TST-PFM-QRY-301-query-export-routes-integration-spec.md
    - TST-PFM-QRY-302-run-query-export-integration-spec.md
    - TST-PFM-QRY-303-evaluation-scenarios-integration-spec.md
    - TST-PFM-QRY-304-generate-query-context-integration-spec.md
    - TST-PFM-QRY-305-generate-query-tools-integration-spec.md
    - TST-PFM-QRY-306-run-generation-integration-spec.md
    - TST-PFM-QRY-307-start-and-reconcile-generations-integration-spec.md
    - TST-PFM-QRY-308-validate-generated-query-integration-spec.md
    - TST-PFM-QRY-309-configuration-rows-queries-integration-spec.md
    - TST-PFM-QRY-310-database-tables-integration-spec.md
    - TST-PFM-QRY-311-database-tables-queries-integration-spec.md
    - TST-PFM-QRY-312-query-description-stamps-queries-integration-spec.md
    - TST-PFM-QRY-313-query-exports-integration-spec.md
    - TST-PFM-QRY-314-query-exports-queries-integration-spec.md
    - TST-PFM-QRY-315-query-generations-integration-spec.md
    - TST-PFM-QRY-316-query-generations-queries-integration-spec.md
    - TST-PFM-QRY-317-query-recipes-queries-integration-spec.md
    - TST-PFM-QRY-318-query-schedules-integration-spec.md
    - TST-PFM-QRY-319-query-schedules-queries-integration-spec.md
    - TST-PFM-QRY-320-registered-query-objects-integration-spec.md
    - TST-PFM-QRY-321-registered-query-objects-queries-integration-spec.md
    - TST-PFM-QRY-322-reports-integration-spec.md
    - TST-PFM-QRY-323-reports-queries-integration-spec.md
    - TST-PFM-QRY-324-saved-queries-integration-spec.md
    - TST-PFM-QRY-325-saved-queries-queries-integration-spec.md
    - TST-PFM-QRY-326-register-query-recipes-integration-spec.md
    - TST-PFM-QRY-327-query-recipe-library-integration-spec.md
    - TST-PFM-QRY-328-recipe-draft-descriptions-integration-spec.md
    - TST-PFM-QRY-329-affiliation-registration-integration-spec.md
    - TST-PFM-QRY-330-pick-views-integration-spec.md
    - TST-PFM-QRY-331-query-sources-integration-spec.md
    - TST-PFM-QRY-332-register-query-application-integration-spec.md
    - TST-PFM-QRY-333-render-report-integration-spec.md
    - TST-PFM-QRY-334-report-exports-integration-spec.md
    - TST-PFM-QRY-335-report-library-integration-spec.md
    - TST-PFM-QRY-336-report-readability-integration-spec.md
    - TST-PFM-QRY-337-staff-access-integration-spec.md
    - TST-PFM-QRY-338-staff-grant-access-integration-spec.md
    - TST-PFM-QRY-339-browse-saved-query-library-integration-spec.md
    - TST-PFM-QRY-340-marketing-record-ids-invocation-integration-spec.md
    - TST-PFM-QRY-341-record-ids-invocation-integration-spec.md
    - TST-PFM-QRY-342-relative-dates-integration-spec.md
    - TST-PFM-QRY-343-run-with-refinement-integration-spec.md
    - TST-PFM-QRY-344-saved-query-library-integration-spec.md
    - TST-PFM-QRY-345-saved-query-narrowing-integration-spec.md
    - TST-PFM-QRY-346-saved-query-parameters-integration-spec.md
    - TST-PFM-QRY-347-saved-query-record-ids-integration-spec.md
    - TST-PFM-QRY-348-validate-definition-integration-spec.md
    - TST-PFM-QRY-349-query-schedule-routes-integration-spec.md
    - TST-PFM-QRY-350-scheduled-delivery-integration-spec.md
    - TST-PFM-QRY-351-scheduled-report-delivery-integration-spec.md
    - TST-PFM-QRY-352-scheduled-report-purpose-integration-spec.md
    - TST-PFM-QRY-353-smoke.md
    - TST-PFM-QRY-354-print-excel-contract-render-spec.md
    - TST-PFM-QRY-355-real-chromium-render-spec.md
    - TST-PFM-QRY-356-custom-tables-column-key-spec.md
    - TST-PFM-QRY-357-queries-api-mapper-spec.md
    - TST-PFM-QRY-358-query-schedules-api-mapper-spec.md
    - TST-PFM-QRY-359-reports-api-mapper-spec.md
    - TST-PFM-QRY-360-renderer-image-spec.md
    - TST-PFM-QRY-361-dataset-permission-keys-spec.md
    - TST-PFM-QRY-362-dashboard-sources-spec.md
    - TST-PFM-QRY-363-generate-query-scenarios-spec.md
    - TST-PFM-QRY-364-live-gate-spec.md
    - TST-PFM-QRY-365-report-spec.md
    - TST-PFM-QRY-366-score-answer-spec.md
    - TST-PFM-QRY-367-llm-usage-datasets-spec.md
    - TST-PFM-QRY-368-queries-route-slice-size-spec.md
    - TST-PFM-QRY-369-read-tier-keys-spec.md
    - TST-PFM-QRY-370-analyze-sql-definitions-spec.md
    - TST-PFM-QRY-371-analyze-sql-refusals-spec.md
    - TST-PFM-QRY-372-assignment-visibility-spec.md
    - TST-PFM-QRY-373-column-review-spec.md
    - TST-PFM-QRY-374-parameterized-sql-spec.md
    - TST-PFM-QRY-375-placeholders-spec.md
    - TST-PFM-QRY-376-query-source-warnings-spec.md
    - TST-PFM-QRY-377-revalidation-check-spec.md
    - TST-PFM-QRY-378-version-changes-spec.md
    - TST-PFM-QRY-379-build-identity-spec.md
    - TST-PFM-QRY-380-description-cache-spec.md
    - TST-PFM-QRY-381-may-query-sensitive-dataset-spec.md
    - TST-PFM-QRY-382-owner-dataset-authorization-spec.md
    - TST-PFM-QRY-383-shared-description-cache-spec.md
    - TST-PFM-QRY-384-as-of-environment-spec.md
    - TST-PFM-QRY-385-compile-query-input-edges-spec.md
    - TST-PFM-QRY-386-compile-query-spec.md
    - TST-PFM-QRY-387-configured-join-aliases-spec.md
    - TST-PFM-QRY-388-custom-object-compilation-spec.md
    - TST-PFM-QRY-389-custom-source-compilation-spec.md
    - TST-PFM-QRY-390-linked-matches-and-exists-spec.md
    - TST-PFM-QRY-391-polymorphic-record-binding-spec.md
    - TST-PFM-QRY-392-record-binding-spec.md
    - TST-PFM-QRY-393-two-stage-paging-spec.md
    - TST-PFM-QRY-394-csv-writer-spec.md
    - TST-PFM-QRY-395-download-tokens-spec.md
    - TST-PFM-QRY-396-export-files-spec.md
    - TST-PFM-QRY-397-export-queue-spec.md
    - TST-PFM-QRY-398-xlsx-writer-spec.md
    - TST-PFM-QRY-399-generate-query-context-spec.md
    - TST-PFM-QRY-400-generate-query-prompt-spec.md
    - TST-PFM-QRY-401-generate-query-tools-spec.md
    - TST-PFM-QRY-402-generated-query-outcome-spec.md
    - TST-PFM-QRY-403-generation-problem-codes-spec.md
    - TST-PFM-QRY-404-generation-runner-spec.md
    - TST-PFM-QRY-405-query-dictionary-spec.md
    - TST-PFM-QRY-406-validate-generated-query-spec.md
    - TST-PFM-QRY-407-database-tables-spec.md
    - TST-PFM-QRY-408-same-read-definition-spec.md
    - TST-PFM-QRY-409-api-interception-spec.md
    - TST-PFM-QRY-410-print-excel-answer-spec.md
    - TST-PFM-QRY-411-report-access-spec.md
    - TST-PFM-QRY-412-person-execution-keys-spec.md
    - TST-PFM-QRY-413-saved-query-access-spec.md
    - TST-PFM-QRY-414-query-summaries-spec.md
    - TST-PFM-QRY-415-scheduled-report-delivery-spec.md
    - TST-PFM-QRY-416-system-route-precedence-spec.md
    - TST-PFM-QRY-417-quick-search-access-e2e-spec.md
    - TST-PFM-QRY-418-quick-search-configurations-e2e-spec.md
    - TST-PFM-QRY-419-quick-search-route-grants-e2e-spec.md
    - TST-PFM-QRY-420-quick-search-configurations-table-integration-spec.md
    - TST-PFM-QRY-421-quick-search-documents-table-integration-spec.md
    - TST-PFM-QRY-422-quick-search-index-states-table-integration-spec.md
    - TST-PFM-QRY-423-quick-search-rebuild-jobs-table-integration-spec.md
    - TST-PFM-QRY-424-quick-search-archived-field-integration-spec.md
    - TST-PFM-QRY-425-quick-search-rebuild-resilience-integration-spec.md
    - TST-PFM-QRY-426-quick-search-rebuild-integration-spec.md
    - TST-PFM-QRY-427-apply-configuration-integration-spec.md
    - TST-PFM-QRY-428-degrade-fields-integration-spec.md
    - TST-PFM-QRY-429-field-eligibility-integration-spec.md
    - TST-PFM-QRY-430-projection-integration-spec.md
    - TST-PFM-QRY-431-provision-integration-spec.md
    - TST-PFM-QRY-432-discoverable-attribute-integration-spec.md
    - TST-PFM-QRY-433-handle-change-events-integration-spec.md
    - TST-PFM-QRY-434-index-records-integration-spec.md
    - TST-PFM-QRY-435-purge-tombstones-integration-spec.md
    - TST-PFM-QRY-436-reconcile-integration-spec.md
    - TST-PFM-QRY-437-reindex-integration-spec.md
    - TST-PFM-QRY-438-resubmit-targets-integration-spec.md
    - TST-PFM-QRY-439-tenant-participant-integration-spec.md
    - TST-PFM-QRY-440-tenant-participant-provisioning-integration-spec.md
    - TST-PFM-QRY-441-wipe-integration-spec.md
    - TST-PFM-QRY-442-configurations-integration-spec.md
    - TST-PFM-QRY-443-documents-integration-spec.md
    - TST-PFM-QRY-444-index-states-integration-spec.md
    - TST-PFM-QRY-445-rebuild-jobs-integration-spec.md
    - TST-PFM-QRY-446-request-rebuild-integration-spec.md
    - TST-PFM-QRY-447-algolia-isolation-provider-spec.md
    - TST-PFM-QRY-448-quick-search-api-mapper-spec.md
    - TST-PFM-QRY-449-quick-search-permission-keys-spec.md
    - TST-PFM-QRY-450-quick-search-field-list-spec.md
    - TST-PFM-QRY-451-record-types-spec.md
    - TST-PFM-QRY-452-degrade-fields-spec.md
    - TST-PFM-QRY-453-field-eligibility-spec.md
    - TST-PFM-QRY-454-build-documents-spec.md
    - TST-PFM-QRY-455-display-images-spec.md
    - TST-PFM-QRY-456-handle-change-events-spec.md
    - TST-PFM-QRY-457-maintenance-pass-spec.md
    - TST-PFM-QRY-458-tenant-participant-spec.md
    - TST-PFM-QRY-459-algolia-provider-spec.md
    - TST-PFM-QRY-460-credentials-spec.md
    - TST-PFM-QRY-461-documents-spec.md
    - TST-PFM-QRY-462-filters-spec.md
    - TST-PFM-QRY-463-settings-spec.md
    - TST-PFM-QRY-464-provider-spec.md
    - TST-PFM-QRY-465-record-type-source-spec.md
    - TST-PFM-QRY-466-request-rebuild-spec.md
    - TST-PFM-QRY-467-snapshots-e2e-spec.md
    - TST-PFM-QRY-468-snapshot-runs-accounting-writer-integration-spec.md
    - TST-PFM-QRY-469-snapshot-runs-capability-writer-role-integration-spec.md
    - TST-PFM-QRY-470-snapshot-runs-writer-grants-reassert-integration-spec.md
    - TST-PFM-QRY-471-snapshot-runs-table-integration-spec.md
    - TST-PFM-QRY-472-snapshot-pipeline-integration-spec.md
    - TST-PFM-QRY-473-snapshot-runs-queries-integration-spec.md
    - TST-PFM-QRY-474-snapshot-tenant-policies-integration-spec.md
    - TST-PFM-QRY-475-snapshots-configuration-spec.md
  reports:
    - DESIGN-EXAMINATION-2026-10-23.md
    - EXAMINATION-2026-10-22.md
    - TESTING-EXAMINATION-2026-10-23.md
---

# Questions, record exploration and data delivery

## Purpose

This module supports questions over application data and the reusable work built around their answers. It groups dataset discovery, saved questions, record-list exploration, report presentation, file output and recurring delivery. It also hosts typed record lookup, the administrative foundation for portable workspace packages and a shared monthly history ledger. Rhythm staff have separate cross-customer analysis and operational surfaces.

## Boundary

Applications retain ownership of their records and metadata. This module provides definitions and execution surfaces that refer to those records. Security owns authorization, AI owns model metering, communications owns message delivery and operations owns bulk changes. Connections supply export destinations. Applications declare their own snapshot types and supply the historical rows; Accounting retains responsibility for ledger calculations and fiscal behavior.

## Features

| Feature | Name | Intent | Concepts | Capabilities | Journeys |
|---|---|---|---|---|---|
| `FEAT-PFM-QRY-01` | Dataset access and querying | proposed | 1 | 6 | 0 |
| `FEAT-PFM-QRY-02` | Reusable questions | proposed | 1 | 3 | 1 |
| `FEAT-PFM-QRY-03` | Working with record lists | proposed | 0 | 2 | 1 |
| `FEAT-PFM-QRY-04` | Report presentation | proposed | 1 | 3 | 1 |
| `FEAT-PFM-QRY-05` | Files and scheduled delivery | proposed | 1 | 2 | 1 |
| `FEAT-PFM-QRY-06` | Record lookup | proposed | 1 | 2 | 1 |
| `FEAT-PFM-QRY-07` | Workspace export administration | proposed | 0 | 1 | 1 |
| `FEAT-PFM-QRY-08` | Monthly history | proposed | 1 | 1 | 0 |

## Capabilities

| Id | Feature | Outcome | Intent | Implementation evidence |
|---|---|---|---|---|
| `CAP-PFM-QRY-001` | `FEAT-PFM-QRY-01` | Discover the data available for questions | confirmed | observed |
| `CAP-PFM-QRY-002` | `FEAT-PFM-QRY-01` | Answer a question within the reader’s access | proposed | observed |
| `CAP-PFM-QRY-003` | `FEAT-PFM-QRY-01` | Draft a query from a written request | proposed | observed |
| `CAP-PFM-QRY-004` | `FEAT-PFM-QRY-01` | Answer operational questions across customers | proposed | observed |
| `CAP-PFM-QRY-005` | `FEAT-PFM-QRY-01` | Provide a customer with a tailored dataset | proposed | observed |
| `CAP-PFM-QRY-006` | `FEAT-PFM-QRY-02` | Save and share reusable questions | confirmed | observed |
| `CAP-PFM-QRY-007` | `FEAT-PFM-QRY-02` | Run a saved question for the current reader | proposed | observed |
| `CAP-PFM-QRY-008` | `FEAT-PFM-QRY-02` | Begin a question from an application recipe | confirmed | observed |
| `CAP-PFM-QRY-009` | `FEAT-PFM-QRY-03` | Organize reusable views of record lists | proposed | observed |
| `CAP-PFM-QRY-010` | `FEAT-PFM-QRY-03` | Review and select records from a list | proposed | observed |
| `CAP-PFM-QRY-011` | `FEAT-PFM-QRY-04` | Maintain a shared report library | confirmed | observed |
| `CAP-PFM-QRY-012` | `FEAT-PFM-QRY-04` | Combine saved questions in a dashboard | confirmed | observed |
| `CAP-PFM-QRY-013` | `FEAT-PFM-QRY-04` | Render a report for download | proposed | observed |
| `CAP-PFM-QRY-014` | `FEAT-PFM-QRY-05` | Download the complete answer to a query | confirmed | observed |
| `CAP-PFM-QRY-015` | `FEAT-PFM-QRY-05` | Deliver recurring query and report files | confirmed | observed |
| `CAP-PFM-QRY-016` | `FEAT-PFM-QRY-06` | Find people and organizations while typing | proposed | observed |
| `CAP-PFM-QRY-017` | `FEAT-PFM-QRY-06` | Maintain the fields and freshness of Quick Search | proposed | observed |
| `CAP-PFM-QRY-018` | `FEAT-PFM-QRY-07` | Request a portable workspace data package | confirmed | partially-observed |
| `CAP-PFM-QRY-019` | `FEAT-PFM-QRY-08` | Preserve and inspect monthly data snapshots | confirmed | observed |
| `CAP-PFM-QRY-020` | `FEAT-PFM-QRY-01` | Evaluate dated conditions for named records | proposed | observed |

## Journeys

| Id | Feature | Walkthrough | Intent | Browser policy |
|---|---|---|---|---|
| `JNY-PFM-QRY-001` | `FEAT-PFM-QRY-04` | Keep a finance report and share the copy | confirmed | required |
| `JNY-PFM-QRY-002` | `FEAT-PFM-QRY-02` | Reuse a question for morning delivery | proposed | required |
| `JNY-PFM-QRY-003` | `FEAT-PFM-QRY-03` | Work through a filtered contact list | proposed | optional |
| `JNY-PFM-QRY-004` | `FEAT-PFM-QRY-05` | Deliver a dashboard and recover lost access | proposed | required |
| `JNY-PFM-QRY-005` | `FEAT-PFM-QRY-06` | Configure a search field and look up records | proposed | optional |
| `JNY-PFM-QRY-006` | `FEAT-PFM-QRY-07` | Configure and admit a workspace export | confirmed | optional |

## Testing Layers

Feature suites collect cumulative outcomes across their capabilities. Capability test specifications define the detailed examples and ten-category coverage maps. The executable register records the existing files, their dependency boundaries and the assertions bound to those examples; unbound examples and unmapped files remain explicit findings. Every registered suite remains unrun and its conformance remains unverified at the pinned revisions.

## Testing Continuation

The continuation activates three inspected feature chains for report sharing, scheduled-delivery recovery and small snapshot rerun validation. All capability categories retain an example, an explained exclusion or a finding. Registered application suites remain unrun; the examination verifies their source boundaries and does not qualify a deployment.
