- 新增 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>
24 KiB
变更审计记录:2026-04-20 历史累积批次预审
| 字段 | 值 |
|---|---|
| 日期 | 2026-04-20 06:01:35 |
| 分类 | 历史批次预审(方案 C:详细) |
| 触发时间窗口 | 2026-04-15 ~ 2026-04-20(最后一次 commit 后 5 天累积) |
| 覆盖文件数 | 156 |
| 高风险文件数 | 54 |
| 新迁移 SQL | 2 |
| 参与 spec | 7+ |
操作摘要
本次审计是"历史累积盘点"——156 个文件来自 HEAD (79d3c2e 开发机迁移) 之后 5 天的多次会话改动,用户本次会话无新改动。由于改动跨会话累积,缺失单次 /audit 的即时上下文,本次通过 git diff + 交叉比对 docs/audit/changes/ 历史审计与 docs/specs/ 现行规范还原语义上下文。
改动跨 6 个模块(backend / etl feiqiu / miniprogram / db / docs / 工具脚本)和 7 条主线:开发机迁移(路径基线搬迁)、rns1-customer-coach-api + 04-miniapp-core-business 联合实施、P19 指数回测框架(Phase 1+2)、Core 维度层启用、客户项目标签稳定性优化、美团结算导入收尾、运维工具与分析扩展。
2 个迁移 SQL 均已在开发库执行,schema 基线与任务代码一致。~95% 路径同步改动(开发机迁移衍生)为低风险;实质性业务变更集中在 16 个 backend + 22 个 miniprogram + 13 个 ETL 文件,全部可追溯到既有 spec。7 项高风险待验证项已在"风险与回滚"章节单独列出。
主线归类
主线 1:开发机迁移(路径同步,~95% 改动量来源)
- 根目录迁移
C:\NeoZQYY→C:\Project\NeoZQYY - 涵盖:
.env/.env.template/.mcp.json/apps/backend/.env.local/apps/etl/connectors/feiqiu/.env/scripts/ops/*.py/tools/db/*.py/tests/test_property_*.py/docs/specs/**/*.md/docs/deployment/*.md/docs/migrate/*.md/docs/mcp/*.md/docs/ops/*.md/docs/README.md/_DEL/**/*.md - 风险:无(纯路径同步)
主线 2:rns1-customer-coach-api + 04-miniapp-core-business spec 实施
- 后端 16 文件:配置 4 / 路由 schema 5 / 服务 9
- 小程序 22 文件:配置 5 / i18n typings 2 / 服务 1 / 工具组件 3 / 页面 11
- 关键改动:
coach-service-records新页面(管理者视角业绩明细,需view_board_coach权限)performance-records拆分:去除 coachId 分支,恢复助教自查单一职责fdw_queries重构:get_service_records_summary()直接 SQL 聚合、get_last_visit_days()改用consumption_summary、get_consumption_records()按结算单粒度聚合build_performance_summary()公开化,coach-detail和task-list数据源统一isScattered散客标记跨端贯通task_generator回访宽限 48h → 72h,新增 UPSERT 替代策略和 Step 5 清理保底任务recall_detectorsettle_type=3 限制 + 门店级 resolved 召回解除
主线 3:P19 指数回测框架(Phase 1+2)
- DDL:
dws_member_assistant_relation_index/dws_member_winback_index/dws_member_newconv_index新增stat_date DATE NOT NULL DEFAULT CURRENT_DATE,唯一约束扩展(site_id, member_id[, assistant_id], stat_date),app schema 视图改DISTINCT ON + ORDER BY stat_date DESC - 任务:
relation_index/winback_index/newconv_index改日快照模式(按stat_date删除 + 插入),批量写入优化 - 新建:
DWS_INDEX_BACKFILL+DWS_TASK_SIMULATION两个工具任务 - task_engine 升级为双模式(HTTP 实时 / 推演回测)
- 前置:
member_index_baseSTOP 分流改为 OLD
主线 4:Core 维度层启用(承接 2026-04-15 美团结算审计后续)
- 新建
CORE_DIM_SYNC任务(DWD → core 4 维度表 TRUNCATE+INSERT) core.sql注释更新:定位为"跨平台统一维度层"- 修复 app 视图空查询问题
task_registry+orchestration/task_registry.py注册新任务
主线 5:客户项目标签稳定性优化
member_project_tag从LAST_30/60_DAYS(固定日期窗口)改为LAST_30_VISITS(最近 30 次消费)- 配套迁移 SQL:
20260411_member_project_tag_visit_based.sql(DELETE 旧窗口数据 + 新增cfg_area_category配置行)
主线 6:美团结算数据导入(已有 2026-04-15 审计覆盖)
dwd_groupbuy_redemption新增 6 个mt_*字段(mt_settlement_price/mt_gross_income/mt_service_fee/mt_marketing_fee/mt_other_adjust/mt_import_time)- 本次审计仅作"基线同步"确认:
db/etl_feiqiu/schemas/dwd.sql+docs/database/ddl/etl_feiqiu__dwd.sql已更新;apps/etl/connectors/feiqiu/docs/database/DWD/main/BD_manual_dwd_groupbuy_redemption.md同步 - 主审计记录:
docs/audit/changes/2026-04-15__meituan-settle-core-sync.md(本批次不重复审计)
主线 7:运维工具与分析扩展
- 新增脚本:
scripts/ops/churned_customer_report.py(流失客户回访报告,~1137 行),scripts/ops/simulate_historical_tasks.py(历史任务推演,~524 行) - 新增目录:
tools/task-analysis/(任务报告工具 + 7 份历史报告) - 新增启动:
start-admin.bat - 新增报告:
excel_analysis_report.txt/sheet_structure.txt(根目录中间产物) demo-miniprogramSDK 1.6.28 → 1.6.29;项目名归一化
变更文件
后端 backend (16)
apps/backend/app/config.py:路径注释更新(开发机迁移)apps/backend/.env.local:路径同步apps/backend/auth_only.txt:测试产物刷新apps/backend/auth_only_results.txt:测试产物刷新apps/backend/auth_test_results.txt:测试产物刷新apps/backend/app/routers/xcx_coaches.py:新增GET /xcx/coaches/{id}/banner轻量端点(+16)apps/backend/app/routers/xcx_performance.py:关键——新增coach_id可选参数 + 权限分流view_board_coach(+29/-11)apps/backend/app/schemas/xcx_coaches.py:PerformanceMetrics6→25 字段、新增CoachBannerResponse/CoachTaskStats(+49/-8)apps/backend/app/schemas/xcx_customers.py:ConsumptionRecord + foodDetail,CustomerNote + creator_name/creator_role(+3)apps/backend/app/schemas/xcx_performance.py:DateGroupRecord + is_scattered(+1)apps/backend/app/services/board_service.py:狭义召回改从coach_tasks统计(+38/-38)apps/backend/app/services/coach_service.py:关键——新增get_coach_banner()、get_coach_detail重构 +store_name/task_stats、fdw 查询预容错(+194/-194)apps/backend/app/services/customer_service.py:notes JOIN auth.users获取创建者、结算单粒度消费记录重构(+256/-395)apps/backend/app/services/fdw_queries.py:关键——新增get_service_records_summary()、修复get_last_visit_days改用consumption_summary、get_consumption_records按结算单粒度(+219/-395)apps/backend/app/services/performance_service.py:assistant_id_override+ 散客标记 + summary 直接 SQL 聚合(+34/-34)apps/backend/app/services/recall_detector.py:关键——settle_type=3双重限制 + 门店级 resolved 召回解除 + 72h 宽限期(+109/-109)apps/backend/app/services/task_generator.py:关键——回访 48h→72h、UPSERT 替代策略、Step 5 清理保底任务(+194/-194)apps/backend/app/services/task_manager.py:_build_performance_summary → build_performance_summary公开化、current_tier改用数组下标(+18/-18)apps/backend/app/services/task_registry.py:注册CORE_DIM_SYNC/DWS_ASSISTANT_ORDER_CONTRIBUTION/DWS_INDEX_BACKFILL(+6/-1)
说明:
apps/backend/下文件总计 16 个(含 .env.local 和 3 份 auth 测试产物),其余均为实质业务逻辑改动。
ETL feiqiu (13)
apps/etl/connectors/feiqiu/.env:路径迁移 + API_TOKEN 续期(不列值)apps/etl/connectors/feiqiu/orchestration/task_registry.py:注册CORE_DIM_SYNC+DWS_INDEX_BACKFILLapps/etl/connectors/feiqiu/tasks/dws/__init__.py:导出CoreDimSyncTaskapps/etl/connectors/feiqiu/tasks/dws/core_dim_sync_task.py[新建](+174):DWD → core 4 维度表 TRUNCATE+INSERTapps/etl/connectors/feiqiu/tasks/dws/member_project_tag_task.py:LAST_30/60_DAYS → LAST_30_VISITSapps/etl/connectors/feiqiu/tasks/dws/task_engine.py:关键——升级双模式(HTTP 实时 / 推演回测)(+767/-96)apps/etl/connectors/feiqiu/tasks/dws/index/member_index_base.py:STOP 分流改 OLD(+2/-1)apps/etl/connectors/feiqiu/tasks/dws/index/newconv_index_task.py:日快照模式(+93/-30)apps/etl/connectors/feiqiu/tasks/dws/index/relation_index_task.py:日快照 + 批量写入优化(+90/-27)apps/etl/connectors/feiqiu/tasks/dws/index/winback_index_task.py:日快照 + 365 天保留策略 +execute_batchapps/etl/connectors/feiqiu/tasks/utility/index_backfill_task.py[新建]:DWS_INDEX_BACKFILL工具任务apps/etl/connectors/feiqiu/tasks/utility/task_simulation_task.py[新建]:DWS_TASK_SIMULATION工具任务apps/etl/connectors/feiqiu/scripts/research_coupon_details.py:路径迁移(+1)apps/etl/connectors/feiqiu/docs/database/DWD/main/BD_manual_dwd_groupbuy_redemption.md:mt_*6 字段说明(+6)apps/etl/connectors/feiqiu/docs/database/DWS/main/BD_manual_cfg_area_category.md:美洲豹赛台 BILLIARDapps/etl/connectors/feiqiu/docs/database/DWS/main/BD_manual_dws_member_project_tag.md:新窗口文档同步apps/etl/connectors/feiqiu/docs/etl_tasks/README.md:Core 层段落新增
小程序 miniprogram (22)
apps/miniprogram/project.config.json:JSON 格式标准化apps/miniprogram/project.miniapp.json:JSON 格式标准化apps/miniprogram/project.private.config.json:JSON 格式标准化apps/miniprogram/miniprogram/app.miniapp.json:JSON 格式标准化apps/miniprogram/miniprogram/app.json:新增coach-service-records路由(+1)apps/miniprogram/i18n/base.json:i18n 更新apps/miniprogram/typings/types/wx/lib.wx.miniapp.d.ts:微信 API 类型更新apps/miniprogram/miniprogram/services/api.ts:关键——新增fetchCoachBanner(coachId)、fetchPerformanceRecords新增coachId可选参数(+28/-1)apps/miniprogram/miniprogram/utils/format.wxs:新增daysAgo()(+11)apps/miniprogram/miniprogram/utils/perf-progress.ts[新建](+125):进度条动画参数 + 工具函数单一源apps/miniprogram/miniprogram/components/perf-progress-bar/perf-progress-bar.wxss:CSS 变量化(+1/-1)apps/miniprogram/miniprogram/pages/board-coach/board-coach.ts:formatCount简化(+4/-4)apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.ts:关键——进度条去重 + performance 字段扩展(+143/-94)apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.wxml:属性传参 + 散客标记 + Recent 限制 5 条(+18/-4)apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.wxss:散客置灰样式(+4)apps/miniprogram/miniprogram/pages/coach-service-records/coach-service-records.json[新建](+14)apps/miniprogram/miniprogram/pages/coach-service-records/coach-service-records.ts[新建](+200+):权限守卫checkPageAccess('view_board_coach'),fetchCoachBanner + fetchPerformanceRecords(coach_id)apps/miniprogram/miniprogram/pages/coach-service-records/coach-service-records.wxml[新建](+150+):助教 banner + 月份切换 + 日期分组apps/miniprogram/miniprogram/pages/coach-service-records/coach-service-records.wxss[新建](+200+):样式同performance-recordsapps/miniprogram/miniprogram/pages/customer-detail/customer-detail.ts:foodDetail + phoneFull+ 复制改用phoneFull(+7/-2)apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.wxml:手机号脱敏 + 食品类目动态 + notes 创建者(+8/-4)apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.wxss:食品标签长文本支持(+9)apps/miniprogram/miniprogram/pages/customer-records/customer-records.wxml:食品类目动态同步(+4/-2)apps/miniprogram/miniprogram/pages/customer-records/customer-records.wxss:食品标签样式同步(+9/-1)apps/miniprogram/miniprogram/pages/performance-records/performance-records.ts:变更日志(拆分助教视角)(+1)apps/miniprogram/miniprogram/pages/performance-records/performance-records.wxml:散客标记(+2/-1)apps/miniprogram/miniprogram/pages/performance-records/performance-records.wxss:banner 字体 + 散客置灰(+10/-4)apps/miniprogram/miniprogram/pages/task-list/task-list.ts:进度条逻辑外包到perf-progress.ts(+107/-62,净 -90)apps/miniprogram/miniprogram/pages/task-list/task-list.wxml:fmt.days → fmt.daysAgo(+6/-4)
数据库 db (6)
db/etl_feiqiu/migrations/2026-04-12__add_stat_date_to_index_tables.sql[新建]:stat_date 字段 + 唯一约束扩展 + 索引重建 + app 视图DISTINCT ON(详见下方 DDL 清单)db/etl_feiqiu/migrations/20260411_member_project_tag_visit_based.sql[新建]:美洲豹赛台配置 + 清理旧窗口数据(详见下方 DDL 清单)db/etl_feiqiu/schemas/app.sql:同步 3 视图DISTINCT ON改写(+40/-40)db/etl_feiqiu/schemas/core.sql:注释更新,定位为跨平台统一维度层(+6)db/etl_feiqiu/schemas/dwd.sql:mt_*6 字段(对应 2026-04-15 美团审计)db/etl_feiqiu/schemas/dws.sql:3 表 stat_date + 约束 + 索引 +v_member_recall_priority改写(+133/-88)db/README.md:core 层注释补充
文档 docs (40+)
95% 为路径同步(
C:\NeoZQYY → C:\Project\NeoZQYY);DDL 基线刷新仅 dws / zqyy_app biz 有实质内容;无新 spec。
根文档:
docs/README.md:路径同步docs/assistant-task-detail-report.md:历史报告(内容保留)
DDL 基线(auto-gen,+201/-110 集中在 dws/biz):
docs/database/ddl/etl_feiqiu__app.sql:基线刷新docs/database/ddl/etl_feiqiu__core.sql:基线刷新docs/database/ddl/etl_feiqiu__dwd.sql:基线刷新 +mt_*字段docs/database/ddl/etl_feiqiu__dws.sql:基线刷新 + stat_date + 视图docs/database/ddl/etl_feiqiu__meta.sql:基线刷新docs/database/ddl/etl_feiqiu__ods.sql:基线刷新docs/database/ddl/zqyy_app__app.sql:基线刷新docs/database/ddl/zqyy_app__auth.sql:基线刷新docs/database/ddl/zqyy_app__biz.sql:基线刷新(有内容)docs/database/ddl/zqyy_app__public.sql:基线刷新
部署/迁移/MCP/运维:
docs/deployment/EXPORT-PATHS.md:路径同步 + LF→CRLF 标准化docs/deployment/LAUNCH-CHECKLIST.md:路径同步 + LF→CRLF 标准化docs/mcp/WEIXIN-DEVTOOLS-MCP.md:路径同步docs/migrate/*.md × 2:路径同步docs/ops/init-test-user.md:路径同步
Specs(约 28 份,全部路径同步无进度变更):
docs/specs/*/tasks.md × 约 18:pytest 命令路径同步docs/specs/*/design.md × 约 10:pytest 命令路径同步
工具/脚本/测试/配置 (其余约 43)
95% 路径迁移,实质新增 2 个运维脚本 + 1 个工具目录 + 1 个启动 bat。
根配置 5:
.env:路径同步.env.template:路径同步.mcp.json:路径同步.playwright-mcp/:新增目录uv.lock:大规模格式重排(不审跨 lockfile 内容)
根中间产物 2:
excel_analysis_report.txt:Excel 分析中间产物sheet_structure.txt:Sheet 结构中间产物
scripts/ops 12:
scripts/ops/ai_backfill.py:路径同步scripts/ops/backfill_coach_area_hours.py:路径同步scripts/ops/backfill_finance_area_daily.py:路径同步scripts/ops/backfill_index_snapshots.py:路径同步scripts/ops/check_and_refresh_audit.py:路径同步scripts/ops/etl_unified_analysis.py:路径同步scripts/ops/gen_integration_report.py:路径同步scripts/ops/init_test_user.py:路径同步scripts/ops/start-admin.ps1:路径同步scripts/ops/churned_customer_report.py[新建]:流失客户回访报告(~1137 行)scripts/ops/simulate_historical_tasks.py[新建]:历史任务推演(~524 行)
tools 3 + 新建子目录:
tools/db/*.py × 3:路径同步tools/task-analysis/[新建目录]:任务报告工具 + 7 份历史报告
tests 7:
tests/test_property_*.py × 7:常量路径同步
apps/demo-miniprogram 4:
- SDK 1.6.28 → 1.6.29 + 项目名归一化:
apps/demo-miniprogram/i18n/base.jsonapps/demo-miniprogram/miniprogram/app.miniapp.jsonapps/demo-miniprogram/project.miniapp.jsonapps/demo-miniprogram/project.private.config.json
_DEL 归档 4:
_DEL/MIGRATION-PLAYBOOK.md:路径同步_DEL/miniprogram-h5-conversion/steering/action-manual.md:路径同步_DEL/weixin-devtools-mcp.md:路径同步_DEL/weixin-devtools/steering/workflow.md:路径同步
根新增启动:
start-admin.bat:根目录启动引导(新建)
其他配置:
.claude/settings.json:环境配置更新
数据库变更
迁移 1:db/etl_feiqiu/migrations/2026-04-12__add_stat_date_to_index_tables.sql
- 执行状态:已执行(从 schema 基线一致性 + 任务代码已引用
stat_date推断) - DDL 清单:
dws.dws_member_assistant_relation_index:ADD COLUMN stat_date DATE NOT NULL DEFAULT CURRENT_DATEDROP CONSTRAINT原唯一约束(site_id, member_id, assistant_id)ADD CONSTRAINT新唯一约束(site_id, member_id, assistant_id, stat_date)DROP INDEX旧索引(如有)CREATE INDEX新索引(site_id, stat_date)UPDATE回填已有行stat_date = CURRENT_DATE
dws.dws_member_winback_index:同上,唯一约束变(site_id, member_id, stat_date)dws.dws_member_newconv_index:同上,唯一约束变(site_id, member_id, stat_date)app.v_dws_member_assistant_relation_index:重写SELECT DISTINCT ON (site_id, member_id, assistant_id) ... ORDER BY site_id, member_id, assistant_id, stat_date DESCapp.v_dws_member_winback_index:同上DISTINCT ON (site_id, member_id) ... ORDER BY ..., stat_date DESCapp.v_dws_member_newconv_index:同上DISTINCT ON (site_id, member_id) ... ORDER BY ..., stat_date DESCdws.v_member_recall_priority:改写以依赖新视图
- 影响对象:3 张 DWS 表 + 4 张视图 + 4 个新索引
- 回滚 SQL:文件末尾提供(TRUNCATE 过期快照 → 恢复原唯一约束 → 删除
stat_date列) - 兼容性:
stat_date NOT NULL + DEFAULT CURRENT_DATE,安全;大表 ALTER 因 DATE 列小,锁表风险低
迁移 2:db/etl_feiqiu/migrations/20260411_member_project_tag_visit_based.sql
- 执行状态:已执行(
member_project_tag_task已改为LAST_30_VISITS模式) - DDL 清单:
dws.cfg_area_category:INSERT ... ON CONFLICT DO NOTHING幂等新增('美洲豹赛台', 'BILLIARD', '中式/追分')dws.dws_member_project_tag:DELETE WHERE time_window IN ('LAST_30_DAYS', 'LAST_60_DAYS')
- 影响对象:1 条配置新增 + 旧窗口数据清理
- 回滚 SQL:恢复 DELETE 数据(需从备份) + DELETE 新增配置行
- 兼容性:无破坏性(纯数据操作 + 幂等配置)
风险与回滚
高风险项(需人工验证或测试)
- task_generator UPSERT + Step 5 清理(
apps/backend/app/services/task_generator.py):72h 宽限期 + 双任务替代策略 + 保底任务清理——业务逻辑复杂,需回归测试各种任务替代路径 - recall_detector settle_type=3 双重限制(
apps/backend/app/services/recall_detector.py):settle_type=3且order_assistant_type=2才计入;门店级召回自动解除(新增 resolved 状态)——需验证对历史数据的影响 - fetchPerformanceRecords coach_id 参数权限(
apps/backend/app/routers/xcx_performance.py+apps/miniprogram/miniprogram/services/api.ts):管理者跨级查询需要view_board_coach权限——需 e2e 权限测试防越权 - coach-service-records 新页面权限守卫(
apps/miniprogram/miniprogram/pages/coach-service-records/*):onShow中checkPageAccess('view_board_coach'),URL 参数coachId需后端二次验证防枚举 - fdw_queries 消费汇总表口径统一(
apps/backend/app/services/fdw_queries.py):get_last_visit_days/batch_query_for_task_list改用v_dws_member_consumption_summary替代v_dwd_assistant_service_log——下游多调用方,需验证聚合无重复 - isScattered 散客标记端到端(跨 backend/schemas + 小程序多页):后端
member_id ≤ 0自动标记——需验证所有调用方语义一致 - task_engine 双模式分支(
apps/etl/connectors/feiqiu/tasks/dws/task_engine.py):HTTP 实时 + 推演回测双路径,需独立APP_DB_DSN连接业务库
中风险项
PerformanceMetricsschema 扩展(6→25 字段):前端多页依赖,需字段可用性保证current_tier语义修正(tier_id 主键 → tier_nodes 数组下标 0-based):前端档位展示语义对应- 指数任务日快照模式:DELETE 策略从全量变
(site_id, stat_date),回填任务需防重跑
回滚策略
- 迁移 SQL:两份回滚脚本已内嵌(文件末尾注释块)
- 后端代码:git revert 对应文件即可(未 commit,
git checkout HEAD -- <file>可立即回退) - 小程序代码:同上
- ETL 任务:可禁用
CORE_DIM_SYNC/DWS_INDEX_BACKFILL/DWS_TASK_SIMULATION任务的编排注册
验证
SQL 验证(3 条起步)
-- 验证 stat_date 已生效
SELECT COUNT(DISTINCT stat_date) FROM dws.dws_member_winback_index WHERE site_id = 1;
-- 验证 member_project_tag 新窗口已写入
SELECT DISTINCT time_window FROM dws.dws_member_project_tag;
-- 应只返回 LAST_30_VISITS
-- 验证 core 维度表非空(CORE_DIM_SYNC 已跑过)
SELECT COUNT(*) FROM core.dim_assistant;
SELECT COUNT(*) FROM core.dim_member;
功能验证
- 小程序:登录 coach 账号打开
task-list查看绩效卡;登录 admin 账号从board-coach点击助教卡进coach-service-records页 - 后端:
pytest apps/backend/tests/跑现有测试 - ETL:
python -m cli.main --dry-run --tasks CORE_DIM_SYNC,DWS_MEMBER_PROJECT_TAG,WINBACK_INDEX,RELATION_INDEX,NEWCONV_INDEX
合规检查
文档同步缺口(预扫描识别的 25 项)
已有文档覆盖(免补齐):
- 美团
mt_*字段 → 已在docs/audit/changes/2026-04-15__meituan-settle-core-sync.md审计覆盖 +BD_manual_dwd_groupbuy_redemption.md已更新 stat_date迁移 →db/etl_feiqiu/migrations/已有完整 SQL,docs/database/ddl/etl_feiqiu__dws.sql已同步member_project_tag新窗口 →BD_manual_dws_member_project_tag.md已同步
待补齐高风险项(建议后续单独任务处理,本次审计仅标注缺口,不强制补齐):
apps/backend/docs/API-REFERENCE.md:需增补xcx/coaches/{id}/banner、xcx/performance的coach_id参数说明、xcx/customers的foodDetail/phoneFull/notes.creator*字段apps/miniprogram/README.md:需增补coach-service-records新页面说明apps/etl/connectors/feiqiu/docs/architecture/:建议补充orchestration/task_registry.py新增任务(CORE_DIM_SYNC/DWS_INDEX_BACKFILL/DWS_TASK_SIMULATION)
状态清单
| 项 | 状态 |
|---|---|
| 迁移 SQL 回滚脚本 | 已内嵌 |
| DDL 基线同步 | 已同步(dws/app 一致) |
| 代码→文档映射(美团/stat_date/project_tag) | 已覆盖 |
| 代码→文档映射(backend API / miniprogram 新页 / ETL 新任务) | 待补齐(已列入后续任务) |
| Spec 与实现对应 | 全部可追溯 |
下一步建议
- 提交本基线(本次审计后可作为 commit 起点)
- 后续新改动走标准
/audit流程(单独审计、小颗粒度) - 高风险 7 项应在 commit 前或上线前完成端到端测试
- 文档补齐列入待办,非阻断本次提交