Files
Neo-ZQYY/docs/audit/changes/2026-02-27__p4-core-business-routes-triggers.md
Neo 14a12342b5 chore(audit): 补追 96 份未入仓审计孤本 — 覆盖 2026-02-26 ~ 2026-04-08
这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。

按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。

涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
   召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
   DDL 基线合并 / Kiro 到 Claude Code 迁移

阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。

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

4.0 KiB
Raw Blame History

审计记录P4 小程序核心业务路由 + 触发器注册

  • 日期2026-02-27 13:56:10
  • Prompt-IDP20260227-093332
  • 风险标签root-file, dir:admin-web, dir:backend, dir:etl, dir:miniprogram, dir:db, db-schema-change, dir:shared
  • 变更统计214 files changed, 7983 insertions(+), 217777 deletions(-)

变更概述

本次变更为 Spec 04-miniapp-core-business 的 Task 1214 收尾新增小程序任务路由xcx_tasks和备注路由xcx_notesmain.py 注册路由并在 lifespan 中注册触发器 job handler。同时包含大量 ETL DWS 任务的 biz_date 营业日重构、管理后台营业日提示组件、微信开发模式 mock 登录、同步检查白名单等跨模块改动。

本次对话文件变更

新增文件

  • apps/backend/app/routers/xcx_notes.py — 小程序备注 CRUD 路由
  • apps/backend/app/routers/xcx_tasks.py — 小程序任务列表/置顶/放弃路由
  • docs/audit/prompt_logs/prompt_log_20260227_093332.md — Prompt 日志
  • docs/audit/session_logs/session_20260227_094006.md — Session 日志
  • scripts/ops/_verify_p4_final.py — P4 最终验证脚本(一次性)

修改文件

  • apps/backend/app/main.py — 注册新路由 + 触发器 job handler

改动注解

apps/backend/app/routers/xcx_notes.py

  • 变更类型:新增
  • 原始原因Spec 04 Task 12.2 要求创建小程序备注路由,提供备注 CRUD 能力
  • 思路分析三个端点POST 创建、GET 列表、DELETE 删除),统一使用 require_approved() 权限守卫,委托 note_service 处理业务逻辑。路由前缀 /api/xcx/notes,与 xcx_tasks 保持一致的命名风格
  • 修改结果:小程序端可通过 REST API 管理备注(含星星评分),所有操作受 JWT + approved 状态约束

apps/backend/app/routers/xcx_tasks.py

  • 变更类型:新增
  • 原始原因Spec 04 Task 12.1 要求创建小程序任务路由,提供任务列表和状态操作
  • 思路分析五个端点GET 列表、POST pin/unpin/abandon/cancel-abandon委托 task_manager 服务层。放弃操作需填写原因AbandonRequest schema
  • 修改结果:小程序端可查看活跃任务列表、置顶/取消置顶、放弃/取消放弃任务

apps/backend/app/main.py

  • 变更类型:修改
  • 原始原因Spec 04 Task 12.3 + 12.4 要求注册新路由并在启动时注册触发器 job handler
  • 思路分析import 行新增 member_retention_clue(替换 member_birthdayadmin_applicationsbusiness_dayxcx_tasksxcx_notes 五个路由模块。lifespan 中通过 register_job() 注册 4 个触发器 handlertask_generator、task_expiry_check、recall_completion_check、note_reclassify_backfill
  • 修改结果:后端启动后自动加载所有核心业务路由和定时触发器,支持小程序全链路业务

scripts/ops/_verify_p4_final.py

  • 变更类型:新增
  • 原始原因Spec 04 Task 14 最终验证,确认种子数据完整性和表结构正确
  • 思路分析:连接测试库 test_zqyy_app验证 biz schema 下 4 张表存在、trigger_jobs 至少 4 条种子数据、部分唯一索引存在
  • 修改结果:一次性验证脚本,确认 P4 DDL + Seed 部署正确

docs/audit/prompt_logs/prompt_log_20260227_093332.md

  • 变更类型:新增(自动生成)
  • 原始原因Prompt 审计日志自动记录

合规检查

OpenAPI Spec 同步

  • 接口代码已变更OpenAPI spec 已重新导出59 paths, 59 schemas
  • 导出路径:docs/contracts/openapi/backend-api.json
  • ⚠️ 请重连 OpenAPI Power MCP server 以加载新 spec

DDL / 迁移

  • new_migration_sql 为空,无新增迁移需验证
  • has_ddl_baseline: false — ⚠️ DDL 基线待合并

文档同步

  • apps/backend/docs/API-REFERENCE.md — 已补充 §11§15管理端审核、营业日、小程序任务、小程序备注、维客线索+ dev-login 端点
  • docs/contracts/openapi/backend-api.json — 已通过脚本重新导出