这些审计记录原本堆积在 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>
4.0 KiB
4.0 KiB
审计记录:P4 小程序核心业务路由 + 触发器注册
- 日期:2026-02-27 13:56:10
- Prompt-ID:P20260227-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 12–14 收尾:新增小程序任务路由(xcx_tasks)和备注路由(xcx_notes),在 main.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_birthday)、admin_applications、business_day、xcx_tasks、xcx_notes五个路由模块。lifespan 中通过register_job()注册 4 个触发器 handler:task_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— 已通过脚本重新导出