# Salesforce / CM / BI Front-Door Consumer Registry

Date: `2026-07-07`

## 用法

这份文档是
`消费面证据版`
。

它不再回答
`对象差异是什么`
，
而是专门回答：

- `这张报表是真的 report-backed surface 吗`
- `它的标题是精确 metadata，还是我们根据 datasource 推出来的工作名`
- `当前影响这张报表的对象 / 字段，有多硬的证据`
- `哪些地方还不能过度声称`

如果要看
`报表背后主要连着哪些模型`
，
再看：

- [salesforce-cm-bi-report-lineage-index-2026-07-07.md](/Users/amber/ai/nexuscrm-pingcap-pack/docs/salesforce-cm-bi-report-lineage-index-2026-07-07.md)

如果要看
`这张报表现在处于 parity / candidate / runtime 哪一层`
，
再看：

- [salesforce-cm-bi-frontdoor-escalation-ladder-2026-07-07.md](/Users/amber/ai/nexuscrm-pingcap-pack/docs/salesforce-cm-bi-frontdoor-escalation-ladder-2026-07-07.md)

如果要反过来看
`某个对象最先打哪张 front-door`
，
再看：

- [salesforce-cm-bi-object-frontdoor-impact-index-2026-07-07.md](/Users/amber/ai/nexuscrm-pingcap-pack/docs/salesforce-cm-bi-object-frontdoor-impact-index-2026-07-07.md)

## 证据边界

| 证据类型 | 当前含义 |
|---|---|
| `report-backed` | 已从 live BigQuery 作业标签中坐实 `requestor = looker_studio` 的消费面；当前真实 label key 已确认是 `looker_studio_report_id` |
| `latest seen` | 已从同一批 `JOBS_BY_PROJECT` 记录里看到该 report 最近一次被触发的绝对时间 |
| `recent sample users` | 已从同一批 `JOBS_BY_PROJECT` 记录里看到最近真实跑过该 report 的 `user_email`，但这不是 canonical dashboard owner |
| `lineage-backed secondary consumer` | 已有稳定 datasource / field-snippet / repo-lineage 证据证明它是下游 consumer，但当前 live window 里还没坐实成 `requestor = looker_studio` 的 report-backed 面 |
| `working label inferred` | 报表中文/英文名是根据 `referenced_tables + query field snippets` 推出来的工作名，不是 Google title metadata |
| `owner unknown` | 当前机器有 BigQuery 观察权限，但对对应 Google Drive / Looker Studio file metadata 取 title/owner 返回 `403` |
| `drive-scope blocked` | 当前 `gcloud auth print-access-token` 对 `drive.files.get/list` 返回 `ACCESS_TOKEN_SCOPE_INSUFFICIENT`；也就是说 owner/title 元数据当前卡在 auth scope，而不是单纯查询语法 |
| `direct-query spillover` | 已有 analyst / notebook / recurring job 直接消费，但不等于命名 dashboard 已坐实 |

## Consumer Registry

| `report_id` | 当前工作名 | title 置信度 | strongest consumer proof | latest seen | recent sample users | 主 datasource / 模型 | 关键对象 | 当前最该盯的字段 | 不该过度声称什么 |
|---|---|---|---|---|---|---|---|---|---|
| `1733a75e-a1b2-4415-8732-2c053657e245` | `pipeline data quality / cleanup monitor` | `inferred` | `report-backed`；稳定命中 `dws_data_quality_alerting`、`rpt_data_quality_wtw_comparison`、`dws_salesforce_pipeline_data_quality_cleanup_detail_v2` | `2026-05-07 12:41:13` | `huoyao@pingcap.com`、`yiming.wang@pingcap.com` | `dws_data_quality_alerting`、`date_spine`、`salesforce_opportunities`、cleanup detail | `Opportunity`、`Quote`、次级 `Account` | `stage_name`、`forecast_category`、`close_date`、`launch_date`、`quote_service_start_date`、`quote_service_end_date`、`owner_team` | 不要把这个 surface 直接说成“纯 Opportunity 报表”；它已经混入 Quote cleanup 语义，也不要把 sample user 说成 canonical owner |
| `8c6f30a4-c6fe-4536-ac62-d937d0176ebd` | `campaign attribution / contact-opportunity touch` | `inferred` | `report-backed`；稳定命中 `dws_campaign_attribution`，datasource 组合已坐实包含 `campaign_member`、`contact`、`lead`、`opportunity`、`opportunity_contact_role`、`dim_opportunity` | `2026-06-23 16:00:17` | `yiming.wang@pingcap.com` | `salesforce_campaign_members`、`salesforce_campaign_attributions`、`dws_campaign_attribution`、`dws_campaign_attribution_details` | `CampaignMember`、`Contact`、`Opportunity`、`Lead` | `first_responded_date`、`campaign_member_status`、`contact_response_date`、`attributed_arr`、`attributed_acv` | 不要把它误写成“Campaign 主表报表”；更准确是 attribution + contact-opportunity touch surface，也不要把 sample user 当 owner |
| `fd12e3fc-d36f-4cc5-b2d9-9ed2808489dc` | `lead funnel / ICP path` | `inferred` | `report-backed`；已命中 `dws_icp_summary`，较早还命中 `dws_lead_timeline`、`anls_marketing.dim_lead` | `2026-06-23 15:59:41` | `yiming.wang@pingcap.com` | `dws_icp_summary`、次级 `dws_lead_timeline`、`dim_lead` | `Lead`、`CampaignMember`、`Opportunity`、次级 `Account` / `Contact` | `lead_mql_timestamp`、`lead_iqm_timestamp`、`lead_status`、`lead_surrogate_key`、`first_touch_campaign`、`last_touch_before_iqm` | 不要把这条面缩成“只看 lead 表”；它已经复用 campaign path 和 lead/account stitching，也不要把 sample user 当 owner |
| `58339683-7a7a-4bb6-91bd-14b149572ac9` | `account + current/monthly order MRRARR composite` | `inferred` | `report-backed`；长期命中 current/monthly order MRRARR datasource 与 account-quarterly MRRARR pivot | `2026-07-07 08:37:33` | `chen.du@pingcap.com`、`huoyao@pingcap.com` | `nexuscrm_final.nexuscrm_account/org_c`、legacy `salesforce.account/...`、`dws_salesforce_order_current_monthly_mrrarr_bo_subscription_and_cloud` | `Account`、`Org__c`、`Order`、`Order_Product__c`、次级 `Revenue__c` | `account_number`、`fy26_icp`、`fy26_segmentation`、`account_current_order_type`、`order_product_family`、`arr_usd_cd_rate_current_month`、`mrr_usd_cd_rate_finance` | 不要把它只读成 account surface；它本质是 account shared-key 和 order finance 的复合面，也不要把 sample users 当 owner roster |
| `837f6250-3c3d-44b9-af6f-4db9aeb30a94` | `ARR summary + regional/company forecast` | `inferred` | `report-backed`；稳定命中 `dws_salesforce_arr_summary`、global ARR forecast snapshot、region/company ACV/forecast 明细、current-month order MRRARR | `2026-07-07 08:10:19` | `chen.du@pingcap.com`、`yaodongsen@pingcap.com`、`yiming.wang@pingcap.com`、`huoyao@pingcap.com`、`xiaopeng.zhu@pingcap.com` | `dws_salesforce_arr_summary`、`dws_fy25_regional_acv_achivement_and_forecast_detail`、current-month order MRRARR datasources | `Opportunity`、`Order`、`Order_Product__c`、`Account`、次级 `Revenue__c` | `arr_amount_usd`、`accurate_acv_amount`、`order_product_family`、`arr_usd_cd_rate_current_month`、`mrr_usd_cd_rate_finance`、`Recognized_Revenue_Amount__c` | 不要过度说成“Revenue 报表”；当前更像 Opportunity + Order + line-item 的 ARR/forecast 复合 surface，也不要把 sample users 当 canonical owners |
| `690c8087-0697-4272-b05e-2ee37d728c15` | `PLG signup / billing-capable cloud funnel` | `inferred` | `report-backed`；稳定命中 `model_plg` funnel tables 和 billing-capable cloud 明细面 | `2026-01-28 08:32:59` | `huoyao@pingcap.com` | `dws_tidb_cloud_marketing_funnel_1_to_3_stage_new_users_monthly_group`、`dws_daily_external_cloud_billing_capable_user_detail_2023_to_day`、邻近 cloud funnel datasources | `tenant bridge`、`Org__c`，谨慎次级 `Account` / `Lead` | `new_users_count`、`traffic_funnel_type`、`tenant_id`、`tenant_name`、`tenant_email`、`tenant_region` | 不要先把它写成 Lead front-door；当前 label-backed field snippets 也还没把 `account_id` / `account_current_order_type` 打成 direct hit，所以更稳的读法是 `PLG tenant funnel consumer`，不是 account shared-key 主票 |
| `673c89ef-fb02-4303-a9a2-5519a652051c` | `account + global ARR forecast master surface` | `inferred` | `report-backed`；query snippets 已直接点到 `salesforce_accounts.account_number/fy26_icp/fy26_segmentation`、owner / sales-team 邻近字段和 global ARR forecast snapshot 字段 | `2026-07-07 08:39:56` | `yiming.wang@pingcap.com`、`chen.du@pingcap.com`、`huoyao@pingcap.com`、`xiaopeng.zhu@pingcap.com` | `nexuscrm_final.nexuscrm_account/org_c`、global ARR forecast snapshots | `Account`、`Org__c`、`Opportunity` | `account_id`、`account_number`、`fy26_icp`、`fy26_segmentation`、`account_industry`、`owner_user_id`、`sales_team_name`、`tenant_id`、`tenant_region` | 不要把它说成 owner/title 已知的精确 dashboard；更重要的是，当前还没有把 `contract_valid*` 或 `account_current_order_type` 坐实成这张 front-door 的 direct field hit |
| `2128769b-9f86-4c7a-a9f4-8cc7491868e3` | `account + forecast variant` | `inferred` | `report-backed`；query snippets 已直接点到 account/forecast/tenant 组合字段，并带 owner / sales-team 邻近片段 | `2026-06-08 11:41:45` | `yaodongsen@pingcap.com` | legacy `salesforce.account/opportunity/org_c/user`、global ARR forecast snapshots | `Account`、`Org__c`、`Opportunity` | `account_id`、`account_name`、`account_number`、`fy26_icp`、`fy26_segmentation`、`owner_user_id`、`sales_team_name`、`tenant_id`、`tenant_region` | 不要把它和 `673...` 当成完全重复面；两者来源栈不同，一个偏 `nexuscrm_final`，一个偏 legacy datasource。当前也还不能把 `contract_valid*` 或 `account_current_order_type` 说成这张表的 direct field hit |
| `00675e54-cae4-4562-ae95-002a3b22b3d4` | `tenant / cluster / component detail` | `inferred` | `report-backed`；稳定命中 `dws_cloud_all_clusters_component_detail_basic_info`、`dws_cloud_tenants_project_cluster_basicinfo`、`dws_cloud_tenants_basicinfo`，并带 `aws_prod_billing_2022` 邻近源 | `2026-07-01 05:59:31` | `huoyao@pingcap.com` | `dws_cloud_all_clusters_component_detail_basic_info`、`dws_cloud_tenants_project_cluster_basicinfo`、`dws_cloud_tenants_basicinfo` | `Org__c`、`Account`、`tenant bridge` | `tenant_id`、`tenant_name`、`tenant_region`、`tenant_plan`、`tenant_email`、`account_id` | 不要把它讲成 CRM 主报表；当前更像 cloud tenant / cluster detail surface，CRM 语义是通过 account/tenant bridge 渗进去的 |
| `1e22be38-bbfe-4c28-9d7d-596d143c39c5` | `cloud billing / account-owner` | `inferred` | `report-backed`；稳定命中 `dim_realtime_cloud_account_project_owner`、`gcp_monthly_billing_with_support_cost_alloc`、`dwd_aws_prod_billing_v2`、`dws_cloud_tenants_basicinfo` | `2026-06-19 04:14:43` | `huoyao@pingcap.com`、`yiming.wang@pingcap.com`、`hongwei.shi@pingcap.com` | `billing.dim_realtime_cloud_account_project_owner`、`dwh_finance.gcp_monthly_billing_with_support_cost_alloc`、`model_billing.dwd_aws_prod_billing_v2`、`dws_cloud_tenants_basicinfo` | `Account`、`Org__c`、`tenant bridge` | `account_id`、`tenant_id`、`tenant_name`、account-owner / allocation 邻近字段 | 不要把 sample users 当 owner metadata；这里更像云账单 owner/分摊面，不是 canonical dashboard owner roster |
| `31605bff-7555-430c-9377-c26a69be7e49` | `Cloud Billing Breakdown Detail` | `browser-title` | `report-backed`；稳定命中 `dws_cloud_tenants_basicinfo`、`dws_cloud_all_clusters_component_detail_basic_info`、多组 `aws/gcp/azure` prod billing 表；本机 Chrome 历史还直接出现同名标题 | `2026-07-07 12:55:07` | `yiming.wang@pingcap.com`、`huoyao@pingcap.com`、`xiaopeng.zhu@pingcap.com` | `dws_cloud_tenants_basicinfo`、`dws_cloud_all_clusters_component_detail_basic_info`、`dwd_aws_prod_billing_v2`、`dws_aws_prod_billing_v2`、`dws_azure_prod_billing_v2`、`dws_gcp_prod_billing_v2`、`gcp_monthly_billing_with_support_cost_alloc` | `Account`、`Org__c`、`Opportunity`、`tenant bridge` | `account_current_order_type`、`account_id`、`account_name`、`tenant_id`、`tenant_name`、expense / support-cost allocation 邻近字段 | 不要把 Chrome 历史标题误说成 Drive API canonical metadata；当前只知道标题更硬，owner 仍未知 |
| `eae0ca4f-c747-40ef-b34c-f7f50cb1d1a2` | `prod tenant daily cost alert` | `inferred` | `report-backed`；稳定命中 `dws_monitor_cloud_prod_daily_cost_alert`、`dws_monitor_cloud_prod_tenant_daily_cost_alert`，并复用 `dws_cloud_tenants_basicinfo` | `2026-06-23 15:48:40` | `huoyao@pingcap.com` | `dws_monitor_cloud_prod_daily_cost_alert`、`dws_monitor_cloud_prod_tenant_daily_cost_alert`、`dws_cloud_tenants_basicinfo` | `Org__c`、`Account`、`tenant bridge` | `tenant_id`、`tenant_name`、`tenant_region`、prod cost alert 邻近字段 | 不要把它读成 finance ARR 面；这更像 tenant-level prod cost monitoring，CRM 语义主要是 bridge 维度 |
| `f9c4bd70-8ce4-487c-abb1-5518ffffd6bd` | `activated-order / monthly revrec by account+tenant` | `inferred` | `report-backed`；当前已直接命中 `model_fp_and_a.dws_salesforce_activated_order_account_basic_info_v3`、`model_fp_and_a.dws_salesforce_activated_order_account_monthly_revrec_v3`，并且同组 label-backed SQL 也会读 `model_tidbcloud.dws_cloud_tenants_basicinfo` | `2026-06-02 16:05:52` | `yanice.zhang@pingcap.com` | `dws_salesforce_activated_order_account_basic_info_v3`、`dws_salesforce_activated_order_account_monthly_revrec_v3`、`model_tidbcloud.dws_cloud_tenants_basicinfo`、邻近 `salesforce_order_daily_view` / `salesforce_org_monthly_revrec` / `monthly_revrec_collections` | `Order`、`Order_Product__c`、`Account`、`Org__c`、次级 `Revenue__c` / `Invoice_Collection__c` | 当前最新 report-backed SQL 最直接坐实的是 `tenant_id`、`tenant_name`、`account_current_order_type`、`account_id`、`account_name`、`order_product_family`、`order_acv_usd_cd_rate`、`order_tcv_usd_cd_rate`、`revrec_usd`、`serverless_revrec_usd`、`support_revrec_usd`；`collections_status_c` / `cash_collected_c` / `payable_amount_usd_2_exc_tax_c` / `marketplace_c` 这组在 finance direct-query / recurring-output 面更硬 | 不要过度说成 collections helper 已在同一批 report SQL 里明文复现；当前更硬的是 report-backed activated-order/monthly-revrec 面，再叠加 finance recurring outputs 和 direct-query surfaces，也不要把 sample user 当 canonical owner |

## 额外观察

| 面 | 当前更像什么 | 还缺什么 |
|---|---|---|
| `Marketing` `fd12...` / `8c6f...` | 已有 `report-backed` 证据，而且最近 sample user 也能直接坐实 | 还缺 Google title / owner metadata |
| `Finance` `583...` / `837...` / `f9c4...` | `583...` / `837...` 已是强 report-backed front-door；`f9c4...` 兼具 tenant bridge report-backed 与 finance recurring output 邻近证据；最近 sample users 也已可见 | 还缺 collections / revrec direct report-title registry |
| `Account/Tenant` `673...` / `212...` / `690...` | account/tenant bridge 已坐实多组 report-backed surface，最近 sample users 也已可见 | 还缺人类可读 title / owner 映射；且 cloud-billing 同组还要和 CRM 主面分开讲 |
| `Cloud Billing` `31605...` | 当前除了 datasource / report-id 证据，还多了一层本机 Chrome 历史标题证据：`Cloud Billing Breakdown Detail` | owner 仍未知，而且这条命名证据来自浏览器历史，不是 Drive API title metadata |
| `Opportunity secondary` `aadb...` / `0f2...` / `d916...` | 当前更适合放在 `lineage-backed secondary consumer` 桶里；它们的 datasource / field snippets 很像真实下游消费面 | 本轮 live BigQuery 窗口里未看到对应 `requestor = looker_studio` 命中，所以不要和 `1733...` / `837...` 平级宣称为 report-backed |
| `Label surface` | 当前这批 live `Looker Studio` 作业标签里，`report-backed` 查询通常能看到 `requestor`、`looker_studio_report_id`、`looker_studio_datasource_id`；但 exploratory 查询有时只带 `requestor` | 也就是说 BigQuery jobs metadata 本身暂时不能稳定直接补出 report title / owner；title/owner 仍要依赖 Drive scope 或本机浏览器痕迹，而 `只有 requestor` 的作业也不该被硬挂到已知 report_id |
| `Account forecast` `673...` / `212...` | 这两张当前都不是泛泛的 `account report`；它们稳定拆成 `account/org + user/user_role` datasource 和 `global ARR forecast snapshot` datasource | 所以更稳的读法是 `account forecast family`，优先查 `Account` shared dimension parity，再查 forecast snapshot 邻近漂移 |
| `Tenant ops` `00675...` / `eae0...` | 这组当前更像 `tenant/cluster/component detail` 和 `tenant daily cost alert` 两个运维面，而不是 CRM 主报表 | CRM 语义主要通过 `account/tenant bridge` 渗进去，所以不要把它们直接当成 `Lead` / `Opportunity` / `Finance ARR` front-door |
| `Cloud billing owner/allocation` `1e22...` / `31605...` | 这组稳定复用 billing owner / support-cost allocation / multi-cloud expense datasource，其中 `31605...` 还多了本机标题证据 | 更稳的读法是 `cloud billing owner/allocation family`，不是 canonical owner roster，也不是纯 CRM 主面 |
| `Default Chrome local evidence` | 当前默认 Chrome 的 history、session、bookmark 侧，本机仍然只稳定解出 `31605... -> Cloud Billing Breakdown Detail` | 所以“其他 report_id 还没拿到 title”不是只因为没查 history 表，而是当前默认 Chrome 全套本机痕迹都没有给出更多命名归因；如果后续还要补 title/owner，需要转向别的浏览器 profile、导出元数据或更高权限源 |
| `PLG funnel` `690...` | 当前命中的都是 `model_plg` funnel / billing-capable user datasource，最硬的字段片段也是 `tenant_*` + funnel metric，没有看到 direct `Lead` 表命中，也还没把 `account_id` / `account_current_order_type` 打成当前 report-backed direct hit | 所以这张先按 `PLG tenant funnel consumer` 看，`Account / Org / tenant bridge` 主要作为依赖链解释，`Lead` 只保留谨慎次级候选 |
| `Contract-valid chain` | 当前已经能坐实 `warehouse/modeling consumer`，并补到一层更弱的 `Looker Studio exploratory evidence`，但还没坐实 `report-backed front-door` | live BigQuery 里已有非服务账号直接消费 `nexuscrm_final.nexuscrm_account` / `salesforce.account` 的 `contract_valid*`；另外 `2026-01-14 11:30:26` 还能看到 `chen.du@pingcap.com` 以 `requestor = looker_studio` 对 `salesforce.account` 做一批字段探索，其中直接包含 `contract_valid_c` / `contract_valid_date_c` / `contract_valid_days_c`。更关键的是，这一秒钟共有 `51` 条、且是 `51` 个 distinct query，样本里每条都在扫不同的 account 字段四元组，所以它更像 datasource/schema exploration burst。repo 侧也支持同一结论：当前完整 repo 搜索里，`contract_valid` 在 `dbt-dev + digital-bi-dbt` 总共只命中 `2` 个文件，而且都停在 `stg_salesforce_account.sql` 与 completion test；命名 warehouse model `salesforce_accounts.sql` 当前并未投影 `contract_valid*`，同目录 `warehouse/business_operations/schema/` 下也没有 `salesforce_accounts.yml` 可把这组字段声明成正式 warehouse contract。对比项很关键：同一轮 repo 搜索里，`account_current_order_type` 已命中 `66` 个文件，覆盖 `tidbcloud`、`dbaas_billing`、`fp_and_a` 等多组下游模型；`owner_user_id / sales_team_name` 也命中 `12` 个文件，并进入 `dim_account.yml`、`salesforce_users.yml`、`dim_employee.sql`、`dws_opportunity_stage_duration.sql` 这组命名维表/下游模型。所以 `contract_valid*` 当前确实停在 staging/schema preservation，而不是像 current-order-type 与 owner 那样已经进入命名 tenant/account 模型链 |

## 一句话收口

`现在已经能更硬地说“这些 report_id 确实是 gcp-digital-bi 的前台消费面，而且最近是谁在跑也能看见”；还不能更硬地说的是“它们的 Google title/owner 已全部拿到”。所以报表影响和 sample user 可以强说，dashboard owner 元数据仍要谨慎说。`
