Files
Neo-ZQYY/docs/audit/changes/2026-03-08__p5-ai-spec-review-category-enum-align.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

5.3 KiB
Raw Blame History

变更审计记录P5 AI 集成需求审视 — 7 项歧义修补 + category 枚举对齐

字段
日期 2026-03-08 03:01:14
Prompt-ID P20260308-023933
Session-ID
Session 路径

操作摘要

对 P5 小程序 AI 集成需求(P5-miniapp-ai-integration.md)进行全面审视,修补 7 项歧义并对齐 category 枚举值。核心变更:

  1. 分类标签枚举统一:客户基础信息客户基础促销接受促销偏好
  2. 调用链改为严格串行:消费事件 → 应用3 → 应用8 → 应用7应用4 等待应用8完成
  3. 应用4 缓存不存在保底方案reference 传空对象Prompt 标注"暂无历史线索"
  4. emoji 不需要单独字段,拼接在 summary 前面存储
  5. 应用8 → member_retention_clue 字段映射表
  6. 应用2 调度机制ETL 调度器、08:00 后首次任务、8 次独立调用
  7. 应用1 对话历史时间倒序、20/页懒加载、不可删除、每次新建
  8. 所有 8 个应用首条 Prompt 加入 current_time精确到秒
  9. ai_cache target_id 约定表

同步执行了 member_retention_clue.category CHECK 约束的 DDL 迁移,将 客户基础信息 更新为 客户基础,已在 test_zqyy_app 验证通过。

变更文件清单

文件 变更类型 说明
docs/prd/specs/P5-miniapp-ai-integration.md 修改 P5 spec 大量补充两阶段交付策略、8 应用详细设计、调用链时序、Prompt 数据结构、字段映射
db/zqyy_app/migrations/2026-03-08__align_retention_clue_category_enum.sql 新增 迁移脚本category CHECK 约束枚举对齐
docs/database/ddl/zqyy_app__public.sql 修改 DDL 基线同步:添加 chk_retention_clue_category CHECK 约束6 个枚举值)
docs/prd/ai-app-prompts.md 修改 Prompt 文档枚举同步应用6/8 促销接受促销偏好
scripts/ops/_run_migration_align_category.py 新增 一次性迁移执行脚本(已完成使命)

DB Schema 变更详情

member_retention_clue.category CHECK 约束

  • 旧枚举值:客户基础信息、消费习惯、玩法偏好、促销偏好、社交关系、重要反馈
  • 新枚举值:客户基础、消费习惯、玩法偏好、促销偏好、社交关系、重要反馈
  • 变更原因P5 spec 评审决定统一为短名称,与 AI 应用 Prompt 枚举值一致
  • 已有数据:category='客户基础信息' 的行已 UPDATE 为 客户基础
  • 迁移状态: 已在 test_zqyy_app 执行成功
  • DDL 基线: docs/database/ddl/zqyy_app__public.sql 已同步

验证结果

  • category='客户基础信息' 残留行数 = 0
  • CHECK 约束 chk_retention_clue_category 包含 客户基础(非 客户基础信息

影响范围

  • 数据库test_zqyy_app.member_retention_clue 表 CHECK 约束已更新
  • 后端 APIPOST /api/retention-clue 的 category 校验需在开发时对齐新枚举
  • AI 应用:百炼平台 8 个应用的 System Prompt 中枚举值需同步更新
  • 前端:无直接影响(枚举值由后端/AI 返回)
  • ETL:无影响

回滚策略

  • DDL迁移脚本中包含回滚 SQL恢复 客户基础信息 枚举值)
  • 文档:git revert 即可

改动注解

docs/prd/specs/P5-miniapp-ai-integration.md

  • 变更类型:修改
  • 原始原因P5 AI 集成需求在首次编写时存在多处歧义和未定义行为,需要在开发前逐项审视并补齐
  • 思路分析:采用"两阶段交付策略"P5-A 搭骨架 + P5-B 随页面细化 Prompt避免在页面 API 未开发前强行猜测 Prompt 结构。调用链从并行改为串行,确保数据一致性。补充了所有 8 个应用的首条 Prompt JSON 结构、返回格式、字段映射、缓存策略等关键设计细节
  • 修改结果P5 spec 从概要级提升为可执行级7 项歧义全部闭环,开发团队可直接按 spec 实施

db/zqyy_app/migrations/2026-03-08__align_retention_clue_category_enum.sql

  • 变更类型:新增
  • 原始原因P5 spec 评审决定将 客户基础信息 缩短为 客户基础,需同步更新数据库 CHECK 约束
  • 思路分析:幂等迁移脚本,先 UPDATE 已有数据再 DROP/ADD 约束,包含回滚 SQL 和 4 条验证 SQL
  • 修改结果test_zqyy_app 中 member_retention_clue 表的 category 枚举已对齐,正式库待部署时执行

docs/database/ddl/zqyy_app__public.sql

  • 变更类型:修改
  • 原始原因DDL 基线需与实际数据库结构保持同步
  • 思路分析:直接在 DDL 基线中更新 CHECK 约束定义
  • 修改结果DDL 基线反映最新的 6 个枚举值

docs/prd/ai-app-prompts.md

  • 变更类型:修改
  • 原始原因Prompt 文档中应用6/8 的分类标签使用了旧名称 促销接受,需对齐为 促销偏好
  • 思路分析:全文搜索替换,确保所有应用的枚举值一致
  • 修改结果Prompt 文档与 P5 spec、数据库 CHECK 约束三方枚举值完全一致

scripts/ops/_run_migration_align_category.py

  • 变更类型:新增
  • 原始原因:需要一个安全的一次性脚本在测试库执行迁移
  • 思路分析:强制校验 DSN 指向 test_zqyy_app执行后自动验证结果
  • 修改结果:迁移已成功执行,脚本完成使命