chore(audit): 2026-04-20 历史批次预审 + 文档同步 + .gitignore 修正

- 新增 docs/audit/changes/2026-04-20__historical-batch-pre-audit.md
  157 文件分批盘点审计(7 条主线 + 10 项高/中风险 + 2 份迁移 SQL DDL 清单)
- 补追 docs/audit/changes/2026-04-15__meituan-settle-core-sync.md
  原审计产物因 .gitignore 屏蔽长期未入仓,本次一并追回
- 刷新 docs/audit/audit_dashboard.md(33 条审计记录)
- .gitignore 白名单放行 docs/audit/changes/*.md 与 audit_dashboard.md
  同时屏蔽 changes/changes/ 嵌套误产物目录
- 新增 docs/specs/audit-gap-recovery/tasks.md
  扫描嵌套目录发现 96 份 D 类孤本(从未入过 git history),
  生成独立 PRD 供单开任务清理与补追
- 文档同步(高风险项):
  - apps/backend/docs/API-REFERENCE.md (+69)
  - apps/miniprogram/README.md (+50)
  - apps/etl/connectors/feiqiu/docs/architecture/data_flow.md (+52/-2)
  - apps/etl/connectors/feiqiu/docs/architecture/system_overview.md (+5/-3)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Neo
2026-04-20 06:32:58 +08:00
parent 2a7a5d68aa
commit 80bda9b991
9 changed files with 914 additions and 366 deletions

View File

@@ -19,9 +19,17 @@
│ 明细数据 — 清洗、标准化、关联 │
│ 维度表走 SCD2缓慢变化维度
│ 事实表按时间增量写入 │
└───────────────┬───────────────────────
DWS 汇总任务
└───────┬───────────────┬───────────────┘
CORE_DIM_SYNC
│ DWS 汇总任务
│ ┌───────────────────────┐
│ │ Core 层core
│ │ 跨平台统一维度层 │
│ │ dim_assistant / dim_ │
│ │ member / dim_site / │
│ │ dim_table │
│ └───────────────────────┘
┌───────────────────────────────────────┐
│ DWS 层dws
│ 数据服务 — 汇总、指标 │
@@ -34,6 +42,7 @@
│ INDEX 层dws
│ 自定义指数算法 │
│ WBI / NCI / RS / OS / MS / ML │
│ 日快照存储stat_date
└───────────────────────────────────────┘
```
@@ -86,6 +95,7 @@
| 会员分析 | `DWS_MEMBER_CONSUMPTION``DWS_MEMBER_VISIT` | 每日 |
| 工资计算 | `DWS_ASSISTANT_SALARY` | 每月(月初) |
| 指数算法 | `DWS_WINBACK_INDEX``DWS_NEWCONV_INDEX``DWS_RELATION_INDEX` | 每 2-4 小时 |
| Core 维度同步 | `CORE_DIM_SYNC` | 每日DWD_LOAD_FROM_ODS 之后) |
### 自定义指数算法
@@ -102,6 +112,44 @@
公共参数:`percentile_lower/upper`(分位截断锚点)、`ewma_alpha`(指数加权移动平均平滑系数)。
### 指数日快照2026-04 重构)
三张指数表(`relation_index` / `winback_index` / `newconv_index`)新增 `stat_date DATE NOT NULL DEFAULT CURRENT_DATE` 字段,唯一约束扩展为 `(site_id, member_id[, assistant_id], stat_date)`。每次任务运行追加当日快照而非覆盖历史为指数回测、历史演化分析提供原始数据基础。Winback 任务配套 365 天保留策略,清理超过 365 天的历史快照以控制表体积。
## Core 维度层(跨平台统一维度)
- Schema`core`
- 定位:跨平台统一维度层,屏蔽 ODS/DWD 多数据源(飞球 / 美团 / 后续新平台)的字段差异,供 `app` 视图层和业务库 FDW 统一引用
- 核心任务:`CORE_DIM_SYNC`(归属 DWS 层任务目录 `tasks/dws/core_dim_sync_task.py`
- 上游依赖:`DWD_LOAD_FROM_ODS`(必须先完成 DWD 维度表 SCD2 写入)
- 同步范围4 张维度表 — `dim_assistant` / `dim_member` / `dim_site` / `dim_table`
- 数据来源DWD 层 `scd2_is_current = 1` 的当前版本快照
- 同步策略TRUNCATE + 全量 INSERT维度表行数较小执行时间极短避免增量合并复杂度
- 起因:修复 `app` 视图在 core 维度为空时返回空结果的问题(关联审计 `docs/audit/changes/2026-04-15__meituan-settle-core-sync.md`
## Utility 工具任务
工具任务位于 `tasks/utility/`,不在日常编排链路中,由手动 CLI 触发,服务于 schema 初始化、历史数据回填和回测推演等一次性或周期性离线需求。
### DWS_INDEX_BACKFILL指数历史快照回填
- 源码:`tasks/utility/index_backfill_task.py`
- 职责:逐天调用三个指数任务(`DWS_RELATION_INDEX` / `DWS_WINBACK_INDEX` / `DWS_NEWCONV_INDEX`)生成历史日快照,回填缺失的 `stat_date`
- 性能优化:三个指数任务实例在整轮回填中创建 1 次、循环 N 天复用,避免 N×3 次初始化开销(以 255 天为例避免 765 次初始化)
- 前置条件:三张指数表已完成日快照改造(`stat_date` 字段 + 复合唯一约束)
- 用途:指数算法参数调优验证、历史对照、补齐生产数据缺口
- 关联专题P19 指数回测框架 Phase 1e
### DWS_TASK_SIMULATION任务引擎历史推演
- 源码:`tasks/utility/task_simulation_task.py`
- 职责:基于指数日快照,逐天重放 `task_generator` + `recall_detector` 逻辑,还原任务的完整生命周期(生成 / 升级 / 转移 / 完成 / follow_up
- 前置条件:需先运行 `DWS_INDEX_BACKFILL` 产出完整的历史指数快照作为推演输入
- 数据库连接:额外使用业务库独立连接(`APP_DB_DSN` 环境变量),推演结果写入业务库任务相关表
- 任务引擎双模式配合:`task_engine.py` 同期升级为双模式 — HTTP 实时模式(日常生产)+ 推演模式(回测,由 `as_of_date` 参数驱动),两种模式共用核心规则逻辑
- 用途:回测验证分级分配、升级、转移规则的参数配置与边界行为
- 关联专题P19 指数回测框架 Phase 2
## ETL 管理层
- Schema`meta`

View File

@@ -44,8 +44,10 @@
│ ├── ods/ ODS 抓取任务23 个业务实体) │
│ ├── dwd/ DWD 装载任务(维度/事实/质检) │
│ ├── dws/ DWS 汇总与指数任务 │
│ │ ── index/ 指数计算WBI/NCI/RS/OS/MS/ML
├── utility/ 工具任务Schema 初始化等)
│ │ ── index/ 指数计算WBI/NCI/RS/OS/MS/ML
│ └── core_dim_sync Core 维度层全量同步4 维度)
│ ├── utility/ 工具任务Schema 初始化 / │
│ │ 指数回填 / 任务引擎推演) │
│ └── verification/ ETL 后置校验 │
└──────────┬──────────────────────────────────────────────┘