{
  "flow": "api_full",
  "window_start": "2026-01-01T00:00:00",
  "window_end": "2026-02-16T00:00:00",
  "overall_start": "2026-02-16T02:00:29.172416+08:00",
  "overall_end": "2026-02-16T02:01:31.080429+08:00",
  "overall_duration_sec": 60.681,
  "overall_status": "PARTIAL",
  "layers": [
    {
      "layer": "ODS",
      "start_time": "2026-02-16T02:00:30.399132+08:00",
      "end_time": "2026-02-16T02:00:32.176952+08:00",
      "duration_sec": 1.778,
      "status": "ERROR",
      "task_count": 23,
      "success_count": 0,
      "fail_count": 23,
      "skip_count": 0,
      "total_fetched": 0,
      "total_inserted": 0,
      "total_updated": 0,
      "total_errors": 0,
      "tasks": [
        {
          "task_code": "ODS_ASSISTANT_ABOLISH",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.404857+08:00",
          "end_time": "2026-02-16T02:00:30.626099+08:00",
          "duration_sec": 0.221,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  重复键违反唯一约束\"etl_run_pkey\"\nDETAIL:  键值\"(run_id)=(1)\" 已经存在\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_ASSISTANT_ACCOUNT",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.631572+08:00",
          "end_time": "2026-02-16T02:00:30.692791+08:00",
          "duration_sec": 0.061,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_ASSISTANT_LEDGER",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.696161+08:00",
          "end_time": "2026-02-16T02:00:30.749470+08:00",
          "duration_sec": 0.053,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_GOODS_CATEGORY",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.768981+08:00",
          "end_time": "2026-02-16T02:00:30.820272+08:00",
          "duration_sec": 0.051,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_GROUP_BUY_REDEMPTION",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.823809+08:00",
          "end_time": "2026-02-16T02:00:30.886627+08:00",
          "duration_sec": 0.063,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_GROUP_PACKAGE",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.889777+08:00",
          "end_time": "2026-02-16T02:00:30.949457+08:00",
          "duration_sec": 0.06,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_INVENTORY_CHANGE",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:30.951549+08:00",
          "end_time": "2026-02-16T02:00:31.001887+08:00",
          "duration_sec": 0.05,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_INVENTORY_STOCK",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.004960+08:00",
          "end_time": "2026-02-16T02:00:31.154070+08:00",
          "duration_sec": 0.149,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_MEMBER",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.196785+08:00",
          "end_time": "2026-02-16T02:00:31.277524+08:00",
          "duration_sec": 0.081,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_MEMBER_BALANCE",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.282884+08:00",
          "end_time": "2026-02-16T02:00:31.389490+08:00",
          "duration_sec": 0.107,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_MEMBER_CARD",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.391553+08:00",
          "end_time": "2026-02-16T02:00:31.443622+08:00",
          "duration_sec": 0.052,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_PAYMENT",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.455259+08:00",
          "end_time": "2026-02-16T02:00:31.516596+08:00",
          "duration_sec": 0.061,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_PLATFORM_COUPON",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.519180+08:00",
          "end_time": "2026-02-16T02:00:31.571746+08:00",
          "duration_sec": 0.053,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_RECHARGE_SETTLE",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.587139+08:00",
          "end_time": "2026-02-16T02:00:31.645916+08:00",
          "duration_sec": 0.059,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_REFUND",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.649692+08:00",
          "end_time": "2026-02-16T02:00:31.707211+08:00",
          "duration_sec": 0.057,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_SETTLEMENT_RECORDS",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.709718+08:00",
          "end_time": "2026-02-16T02:00:31.762221+08:00",
          "duration_sec": 0.052,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_SETTLEMENT_TICKET",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.772867+08:00",
          "end_time": "2026-02-16T02:00:31.831914+08:00",
          "duration_sec": 0.059,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_STORE_GOODS",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.835277+08:00",
          "end_time": "2026-02-16T02:00:31.890692+08:00",
          "duration_sec": 0.055,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_STORE_GOODS_SALES",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.900307+08:00",
          "end_time": "2026-02-16T02:00:31.950987+08:00",
          "duration_sec": 0.051,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_TABLES",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:31.953280+08:00",
          "end_time": "2026-02-16T02:00:32.003567+08:00",
          "duration_sec": 0.05,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_TABLE_FEE_DISCOUNT",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:32.013166+08:00",
          "end_time": "2026-02-16T02:00:32.064346+08:00",
          "duration_sec": 0.051,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_TABLE_USE",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:32.066702+08:00",
          "end_time": "2026-02-16T02:00:32.120437+08:00",
          "duration_sec": 0.054,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "ODS_TENANT_GOODS",
          "layer": "ODS",
          "start_time": "2026-02-16T02:00:32.124485+08:00",
          "end_time": "2026-02-16T02:00:32.174414+08:00",
          "duration_sec": 0.05,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        }
      ]
    },
    {
      "layer": "DWD",
      "start_time": "2026-02-16T02:00:32.180137+08:00",
      "end_time": "2026-02-16T02:00:32.288850+08:00",
      "duration_sec": 0.109,
      "status": "ERROR",
      "task_count": 1,
      "success_count": 0,
      "fail_count": 1,
      "skip_count": 0,
      "total_fetched": 0,
      "total_inserted": 0,
      "total_updated": 0,
      "total_errors": 0,
      "tasks": [
        {
          "task_code": "DWD_LOAD_FROM_ODS",
          "layer": "DWD",
          "start_time": "2026-02-16T02:00:32.187417+08:00",
          "end_time": "2026-02-16T02:00:32.270397+08:00",
          "duration_sec": 0.083,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        }
      ]
    },
    {
      "layer": "DWS",
      "start_time": "2026-02-16T02:00:32.434597+08:00",
      "end_time": "2026-02-16T02:00:33.733537+08:00",
      "duration_sec": 1.299,
      "status": "ERROR",
      "task_count": 15,
      "success_count": 0,
      "fail_count": 6,
      "skip_count": 9,
      "total_fetched": 0,
      "total_inserted": 0,
      "total_updated": 0,
      "total_errors": 0,
      "tasks": [
        {
          "task_code": "DWS_ASSISTANT_CUSTOMER",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.438912+08:00",
          "end_time": "2026-02-16T02:00:32.524164+08:00",
          "duration_sec": 0.085,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_ASSISTANT_DAILY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.531949+08:00",
          "end_time": "2026-02-16T02:00:32.584970+08:00",
          "duration_sec": 0.053,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_ASSISTANT_FINANCE",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.587080+08:00",
          "end_time": "2026-02-16T02:00:32.640944+08:00",
          "duration_sec": 0.054,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_ASSISTANT_MONTHLY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.651498+08:00",
          "end_time": "2026-02-16T02:00:32.702636+08:00",
          "duration_sec": 0.051,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_ASSISTANT_SALARY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.704713+08:00",
          "end_time": "2026-02-16T02:00:32.765519+08:00",
          "duration_sec": 0.061,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_BUILD_ORDER_SUMMARY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.778507+08:00",
          "end_time": "2026-02-16T02:00:32.891324+08:00",
          "duration_sec": 0.113,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_FINANCE_DAILY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:32.892786+08:00",
          "end_time": "2026-02-16T02:00:33.011285+08:00",
          "duration_sec": 0.118,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_FINANCE_DISCOUNT_DETAIL",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.015489+08:00",
          "end_time": "2026-02-16T02:00:33.070572+08:00",
          "duration_sec": 0.055,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_FINANCE_INCOME_STRUCTURE",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.072599+08:00",
          "end_time": "2026-02-16T02:00:33.133539+08:00",
          "duration_sec": 0.061,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_FINANCE_RECHARGE",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.135092+08:00",
          "end_time": "2026-02-16T02:00:33.185416+08:00",
          "duration_sec": 0.05,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_MEMBER_CONSUMPTION",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.189842+08:00",
          "end_time": "2026-02-16T02:00:33.256656+08:00",
          "duration_sec": 0.067,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_MEMBER_VISIT",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.258323+08:00",
          "end_time": "2026-02-16T02:00:33.471349+08:00",
          "duration_sec": 0.213,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_MV_REFRESH_ASSISTANT_DAILY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.524696+08:00",
          "end_time": "2026-02-16T02:00:33.614408+08:00",
          "duration_sec": 0.09,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_MV_REFRESH_FINANCE_DAILY",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.621684+08:00",
          "end_time": "2026-02-16T02:00:33.675725+08:00",
          "duration_sec": 0.054,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_RETENTION_CLEANUP",
          "layer": "DWS",
          "start_time": "2026-02-16T02:00:33.677408+08:00",
          "end_time": "2026-02-16T02:00:33.732228+08:00",
          "duration_sec": 0.055,
          "status": "SKIP",
          "counts": {},
          "error": null,
          "api_calls": 0,
          "api_total_sec": 0.0
        }
      ]
    },
    {
      "layer": "INDEX",
      "start_time": "2026-02-16T02:00:33.738360+08:00",
      "end_time": "2026-02-16T02:00:37.081635+08:00",
      "duration_sec": 3.343,
      "status": "ERROR",
      "task_count": 4,
      "success_count": 0,
      "fail_count": 4,
      "skip_count": 0,
      "total_fetched": 0,
      "total_inserted": 0,
      "total_updated": 0,
      "total_errors": 0,
      "tasks": [
        {
          "task_code": "DWS_ML_MANUAL_IMPORT",
          "layer": "INDEX",
          "start_time": "2026-02-16T02:00:33.740154+08:00",
          "end_time": "2026-02-16T02:00:33.743497+08:00",
          "duration_sec": 0.003,
          "status": "ERROR",
          "counts": {},
          "error": "未找到 ML 台账文件，请通过环境变量 ML_MANUAL_LEDGER_FILE 或配置 run.ml_manual_ledger_file 指定",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_NEWCONV_INDEX",
          "layer": "INDEX",
          "start_time": "2026-02-16T02:00:33.744864+08:00",
          "end_time": "2026-02-16T02:00:36.742473+08:00",
          "duration_sec": 2.998,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  重复键违反唯一约束\"dws_index_percentile_history_pkey\"\nDETAIL:  键值\"(history_id)=(1)\" 已经存在\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_RELATION_INDEX",
          "layer": "INDEX",
          "start_time": "2026-02-16T02:00:36.747281+08:00",
          "end_time": "2026-02-16T02:00:36.820768+08:00",
          "duration_sec": 0.073,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        },
        {
          "task_code": "DWS_WINBACK_INDEX",
          "layer": "INDEX",
          "start_time": "2026-02-16T02:00:36.823642+08:00",
          "end_time": "2026-02-16T02:00:37.079836+08:00",
          "duration_sec": 0.256,
          "status": "ERROR",
          "counts": {},
          "error": "错误:  当前事务被终止, 事务块结束之前的查询被忽略\n",
          "api_calls": 0,
          "api_total_sec": 0.0
        }
      ]
    }
  ],
  "verification": {
    "status": "COMPLETED",
    "start_time": "2026-02-16T02:00:37.094515+08:00",
    "end_time": "2026-02-16T02:01:31.080036+08:00",
    "duration_sec": 53.985,
    "total_tables": 15,
    "consistent_tables": 7,
    "total_backfilled": 163,
    "error_tables": 3,
    "layers": {
      "ODS": {
        "layer": "ODS",
        "window_start": "2026-01-01T00:00:00+08:00",
        "window_end": "2026-02-16T00:00:00+08:00",
        "total_tables": 1,
        "consistent_tables": 0,
        "inconsistent_tables": 1,
        "total_source_count": 0,
        "total_target_count": 0,
        "total_missing": 0,
        "total_mismatch": 0,
        "total_backfilled": 0,
        "total_backfilled_missing": 0,
        "total_backfilled_mismatch": 0,
        "error_tables": 1,
        "elapsed_seconds": 0.1302633285522461,
        "status": "ERROR",
        "results": [
          {
            "layer": "ODS",
            "table": "assistant_accounts_master",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 0,
            "target_count": 0,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "ERROR",
            "elapsed_seconds": 0.1302633285522461,
            "error_message": "获取 ODS hash 失败: assistant_accounts_master",
            "details": {
              "fatal": true
            }
          }
        ]
      },
      "DWD": {
        "layer": "DWD",
        "window_start": "2026-01-01T00:00:00+08:00",
        "window_end": "2026-02-16T00:00:00+08:00",
        "total_tables": 6,
        "consistent_tables": 0,
        "inconsistent_tables": 6,
        "total_source_count": 163,
        "total_target_count": 219,
        "total_missing": 0,
        "total_mismatch": 163,
        "total_backfilled": 163,
        "total_backfilled_missing": 0,
        "total_backfilled_mismatch": 163,
        "error_tables": 1,
        "elapsed_seconds": 49.87700796127319,
        "status": "ERROR",
        "results": [
          {
            "layer": "DWD",
            "table": "dim_site",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 1,
            "target_count": 1,
            "missing_count": 0,
            "mismatch_count": 1,
            "backfilled_count": 1,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 1,
            "status": "BACKFILLED",
            "elapsed_seconds": 14.668256521224976,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWD",
            "table": "dim_site_ex",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 1,
            "target_count": 1,
            "missing_count": 0,
            "mismatch_count": 1,
            "backfilled_count": 1,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 1,
            "status": "BACKFILLED",
            "elapsed_seconds": 14.868768453598022,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWD",
            "table": "dim_table",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 66,
            "target_count": 74,
            "missing_count": 0,
            "mismatch_count": 66,
            "backfilled_count": 66,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 66,
            "status": "BACKFILLED",
            "elapsed_seconds": 9.084474802017212,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWD",
            "table": "dim_table_ex",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 66,
            "target_count": 74,
            "missing_count": 0,
            "mismatch_count": 66,
            "backfilled_count": 66,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 66,
            "status": "BACKFILLED",
            "elapsed_seconds": 7.42323637008667,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWD",
            "table": "dim_assistant",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 29,
            "target_count": 69,
            "missing_count": 0,
            "mismatch_count": 29,
            "backfilled_count": 29,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 29,
            "status": "BACKFILLED",
            "elapsed_seconds": 3.5641441345214844,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWD",
            "table": "dim_assistant_ex",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 0,
            "target_count": 0,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "ERROR",
            "elapsed_seconds": 0.2681276798248291,
            "error_message": "获取 DWD hash 失败: dim_assistant_ex",
            "details": {
              "fatal": true
            }
          }
        ]
      },
      "DWS": {
        "layer": "DWS",
        "window_start": "2026-01-01T00:00:00+08:00",
        "window_end": "2026-02-16T00:00:00+08:00",
        "total_tables": 6,
        "consistent_tables": 6,
        "inconsistent_tables": 0,
        "total_source_count": 1712,
        "total_target_count": 1712,
        "total_missing": 0,
        "total_mismatch": 0,
        "total_backfilled": 0,
        "total_backfilled_missing": 0,
        "total_backfilled_mismatch": 0,
        "error_tables": 0,
        "elapsed_seconds": 0.8101677894592285,
        "status": "OK",
        "results": [
          {
            "layer": "DWS",
            "table": "dws_finance_daily_summary",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 31,
            "target_count": 31,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.17444229125976562,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWS",
            "table": "dws_assistant_daily_detail",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 854,
            "target_count": 854,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.1419987678527832,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWS",
            "table": "dws_member_visit_detail",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 564,
            "target_count": 564,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.1277296543121338,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWS",
            "table": "dws_finance_daily_summary",
            "window_start": "2026-02-01T00:00:00+08:00",
            "window_end": "2026-02-16T00:00:00+08:00",
            "source_count": 10,
            "target_count": 10,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.15016722679138184,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWS",
            "table": "dws_assistant_daily_detail",
            "window_start": "2026-02-01T00:00:00+08:00",
            "window_end": "2026-02-16T00:00:00+08:00",
            "source_count": 125,
            "target_count": 125,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.10792803764343262,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "DWS",
            "table": "dws_member_visit_detail",
            "window_start": "2026-02-01T00:00:00+08:00",
            "window_end": "2026-02-16T00:00:00+08:00",
            "source_count": 128,
            "target_count": 128,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.10790181159973145,
            "error_message": null,
            "details": {}
          }
        ]
      },
      "INDEX": {
        "layer": "INDEX",
        "window_start": "2026-01-01T00:00:00+08:00",
        "window_end": "2026-02-16T00:00:00+08:00",
        "total_tables": 2,
        "consistent_tables": 1,
        "inconsistent_tables": 1,
        "total_source_count": 94,
        "total_target_count": 171,
        "total_missing": 0,
        "total_mismatch": 0,
        "total_backfilled": 0,
        "total_backfilled_missing": 0,
        "total_backfilled_mismatch": 0,
        "error_tables": 1,
        "elapsed_seconds": 0.2954070568084717,
        "status": "ERROR",
        "results": [
          {
            "layer": "INDEX",
            "table": "v_member_recall_priority",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 94,
            "target_count": 171,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "OK",
            "elapsed_seconds": 0.18698692321777344,
            "error_message": null,
            "details": {}
          },
          {
            "layer": "INDEX",
            "table": "dws_member_assistant_relation_index",
            "window_start": "2026-01-01T00:00:00+08:00",
            "window_end": "2026-02-01T00:00:00+08:00",
            "source_count": 0,
            "target_count": 0,
            "missing_count": 0,
            "mismatch_count": 0,
            "backfilled_count": 0,
            "backfilled_missing_count": 0,
            "backfilled_mismatch_count": 0,
            "status": "ERROR",
            "elapsed_seconds": 0.10842013359069824,
            "error_message": "获取源实体失败: dws_member_assistant_relation_index",
            "details": {
              "fatal": true
            }
          }
        ]
      }
    }
  },
  "environment": {
    "store_id": 2790685415443269,
    "db_name": "",
    "api_base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
    "timezone": "Asia/Shanghai"
  }
}