Files
Neo-ZQYY/docs/audit/changes/2026-02-15__monorepo-migration-phase1-8.md
Neo 2a7a5d68aa feat: 2026-04-15~04-20 累积变更基线 — 多主线合流
主线 1: rns1-customer-coach-api + 04-miniapp-core-business 后端实施
  - 新增 GET /xcx/coaches/{id}/banner 轻量接口
  - performance/records 加 coach_id 参数 + view_board_coach 权限分流
  - coach/customer/performance/board/task 服务层重构
  - fdw_queries 结算单粒度聚合 + consumption_summary 视图统一
  - task_generator 回访宽限 72h + UPSERT 替代策略 + Step 5 保底清理
  - recall_detector settle_type=3 双重限制 + 门店级 resolved

主线 2: 小程序权限分流 + 新增 coach-service-records 管理者视角业绩明细页
  - perf-progress 共享模块去重 task-list/coach-detail 动画逻辑
  - isScattered 散客标记端到端
  - foodDetail/phoneFull/creator* 字段透传

主线 3: P19 指数回测框架 Phase 1+2
  - 3 个指数表 stat_date 日快照模式
  - 新增 DWS_INDEX_BACKFILL / DWS_TASK_SIMULATION 工具任务
  - task_engine 升级 HTTP 实时 + 推演回测双模式

主线 4: Core 维度层启用
  - 新增 CORE_DIM_SYNC 任务(DWD → core 4 维度表)
  - 修复 app 视图空查询问题

主线 5: member_project_tag 改为 LAST_30_VISITS 消费次数窗口

主线 6: 2 个迁移 SQL 已执行(stat_date + member_project_tag 新窗口)
  - schema 基线与 DDL 快照同步

主线 7: 开发机路径迁移 C:\NeoZQYY → C:\Project\NeoZQYY(约 95% 改动量)

附带: 新建运维脚本(churned_customer_report / simulate_historical_tasks /
      backfill_index_snapshots)+ tools/task-analysis/ 任务分析工具

合计 157 文件。未包含中间产物(tmp/ .playwright-mcp/ inspect-* excel/sheet 分析 txt)。
审计记录见下一个 commit。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 06:32:07 +08:00

4.0 KiB
Raw Blame History

Monorepo 迁移 Phase 1-8 审计记录

  • 日期: 2026-02-15
  • Prompt: Monorepo 迁移 spec 任务 1-8骨架搭建、ETL 平移、小程序平移、DB Schema 重组、Steering 更新)
  • 类型: 新仓库初始化(全量新建,非增量修改)
  • 风险等级: 高(涉及 DB Schema、ETL 全量代码、配置体系)

变更概述

将单一 ETL 仓库C:\ZQYY\FQ-ETL迁移为 Monorepo 单体仓库C:\Project\NeoZQYY整合 ETL、后端、小程序、GUI 等子项目。一次性搬迁策略,不保留 Git 历史。

变更清单

任务 1骨架搭建

  • 创建 9 个一级目录apps/、gui/、packages/、db/、docs/、infra/、scripts/、samples/、tests/)及 README.md
  • 初始化 Git 仓库、.gitignore、.kiroignore
  • 生成根 pyproject.tomluv workspace和 4 个子项目 pyproject.toml
  • 生成 .env.template

任务 3ETL 平移

  • 从 C:\ZQYY\FQ-ETL 原样复制 ETL 业务代码到 apps/etl/pipelines/feiqiu/
  • 涉及目录api/、cli/、config/、loaders/、models/、orchestration/、scd/、tasks/、utils/、quality/、tests/、scripts/、docs/、database/
  • 复制 gui/ 到 gui/
  • 更新 ETL pyproject.toml 依赖

任务 5小程序平移

  • 从 C:\ZQYY\XCX 复制到 apps/miniprogram/
  • Prototype 复制到 docs/h5_ui/

任务 6数据库 Schema 重组(高风险)

  • 创建 db/etl_feiqiu/schemas/ 下 6 个 DDLmeta.sql、ods.sql、dwd.sql、core.sql、dws.sql、app.sql
  • 创建 db/zqyy_app/schemas/init.sql用户、角色、权限、任务、审批表
  • 创建 db/fdw/setup_fdw.sqlFDW 映射配置)
  • 创建测试数据库脚本create_test_db.sql、migrate_test_data.sql
  • 同步文档docs/database/etl_feiqiu_schema_migration.md

任务 8Steering 更新

  • 复制 .kiro/steering/ 和 .kiro/specs/ 到 Monorepo
  • 更新 product.md、tech.md、structure-lite.md、structure.md、governance.md、db-docs.md、steering-readme-maintainer.md 为 Monorepo 视角
  • 清除所有旧路径引用FQ-ETL、C:\ZQYY\FQ-ETL

属性测试PBT

  • 在 tests/ 下创建 7 个属性测试文件Property 1-8, 10

高风险路径命中

路径 风险类别 说明
apps/etl/pipelines/feiqiu/api/ API 契约 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/cli/ CLI 入口 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/config/ 配置体系 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/database/ 数据库操作 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/loaders/ 落库逻辑 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/models/ 数据模型 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/orchestration/ 调度/游标 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/scd/ SCD2 处理 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/tasks/ 业务任务 原样复制,无逻辑修改
apps/etl/pipelines/feiqiu/utils/ 通用工具 原样复制,无逻辑修改
db/etl_feiqiu/schemas/*.sql DB Schema 新建 DDL未执行
db/zqyy_app/schemas/init.sql DB Schema 新建 DDL未执行
db/fdw/setup_fdw.sql FDW 配置 新建,未执行
pyproject.toml 根配置 新建 uv workspace 配置
.env.template 环境配置 新建模板

验证结果

  • ETL 单元测试516 passed / 5 failed源仓库已有 bug/ 2 skipped
  • 核心业务逻辑无回归
  • DB Schema新建 DDL 文件,未在生产数据库执行,无数据风险
  • Steering 路径更新grep 验证无旧路径残留

内联注释决策

  • AI_CHANGELOG不添加。所有文件均为新建/原样复制,无"修改"语义
  • CHANGE 注释不添加。ETL 代码原样复制,未修改现有逻辑

后续建议

  1. 在 C:\Project\NeoZQYY\apps\etl\pipelines\feiqiu\ 下运行 pytest tests/unit 确认测试通过
  2. 修复源仓库已有的 5 个失败测试
  3. DB Schema DDL 在测试环境验证后再应用到生产
  4. 首次 git add . && git commit 建立基线