Commit Graph

5 Commits

Author SHA1 Message Date
Neo
2dfc926f96 feat(ai): W1-AI-CLOSURE 超级 Sprint — 9 APP 全链路收口 + chat 上下文真激活
Phase 2.3 chat 上下文捕获链路从未真正激活到完整工作:
- 14 处 ai-float-button 补 sourcePage,chat.ts 三分支同步设 pageFilters.contextId
- 后端 page_context 4 层 BUG 修(列名错位 + RLS site_id 未重设)
- xcx_chat filters.pop 破坏 body.page_context 引用 — dict() 浅拷贝隔离
- chat 流式 markdown 实时解析(表格/标题/列表/加粗 + KPI 富卡)
- reference_card KPI 富卡接入 SSE 路径,db 真写入
- 维客线索 source 显示规则:AI 来源用机器人 icon 替代长文字

数据库:
- public.member_retention_clue 加 emoji + runtime_mode + sandbox_instance_id
- biz.ai_run_logs 加 assistant_id + 复合索引
- chk_ai_cache_type CHECK 约束 8 类应用名
- cache_type / app_type 命名统一(app6_note / app7_customer / app8_consolidation)
- 历史 emoji 抽取脚本 44/44 成功

后端 silent failure 修:
- cleanup_service WHERE app_type → cache_type(90 天清理 + 20K 上限重新生效)
- _build_ai_insight 字段错位修复(app4 → app7 + 字段对齐 prompt schema)
- task_manager talkingPoints 改 app5_tactics + tactics 字段
- task_manager aiSuggestion 改取 one_line_summary
- cache_service.CACHE_EXPIRY_DAYS 加 app2a_finance_area
- WS /ws/ai-cache 加 token + JWT + site_id 校验(P0 信息泄露漏洞)
- internal_ai token 改 hmac.compare_digest

工具/文档:
- main.py 加 RotatingFileHandler logs/backend.log + uvicorn /health 过滤
- 新建 utils/clue_category.py(VI 6 类配色 + emoji fallback + source 显示规则)
- 新建 utils/markdown.ts(轻量 md 转 rich-text 解析 + streaming 容错)
- audit + 数据库变更说明 + backlog §七 #14 收口 + #15-#38 残余子任务
- backlog 追加 §十一 App1 参数/MCP/沙箱审计 + §十二 百炼/SQL MCP 主任务线

实地 MCP 走查:14 入口数据层 + 5 代表入口 sourcePage 注入 + customer-detail 全模块 + chat md 渲染 + reference_card 富卡 都已验证。9 项预先 BUG/UX 登记 §七 #29-#38 后续修复。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 16:39:07 +08:00
Neo
d239fe6b57 docs(backlog): 追加 §七 #14 + §十 AI 9 APP 全链路未完成 (P0 高优先级)
Neo 反思时提出 AI 9 个 APP 处理在接口、入库、后端处理、前端小程序展示
等环节还没完成,优先级很高。本次正式登记到 backlog。

实证调研结果:
- 9 APP = 8 prompt 文件(app2/2a/3/4/5/6/7/8) + 1 chat 实时(app1_chat 走
  chat_service 不入 dispatcher)
- 后端 dispatcher 9 路调度链路存在
- 数据库 biz.ai_run_logs + biz.ai_app_cache 表结构就位
- 小程序前端实证仅 4 个文件涉及 AI(board-finance / customer-detail /
  services/api / ai-title-badge),展示完整性不全

§十 专题登记 4 环节未完成现状 + 5 项关键不确定性 +
工程量初判(单 APP ~ 30-45min × 9 = 4.5-7h 对账 + 修复总 L 8-12h) +
建议独立 wave(W1-AI-CLOSURE)

§七 追加 #14 AI 9 APP 全链路未完成,标 P0 高优先级。
F1-6 阶段 B 收尾后优先启动本项。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 02:16:13 +08:00
Neo
ffe309e801 docs(audit): 全局收口 P1 #1 #2 完成 + roadmap 合并入 backlog + Wave 0 文档体系登记
Neo 4 件并行收口指示完成:

P1 #1 — 3 项迁移后功能验证 全部 PASS:
- 5 个 slash 命令文件全在(audit/db-docs/doc-sync/pre-change/spec-close)
- 8 个 subagent 文件全在(本会话已成功调用 Explore 4 次实证)
- 双测试库 SELECT 1 通过(test_etl_feiqiu + test_zqyy_app)
- 详见 2026-05-06__closure_p1_1_migration_post_verification.md

P1 #2 — 2026-04-15~05-02 累积基线 33 项对账(子代理深度对账):
- 23 项已完成(70%)+ 5 项部分完成 + 5 项真正未收口
- 大部分被 W1/F1 sprint 体系接管(F1-5a/5b/F1-6/W1-T2/W1-T7)
- 5 项真正未收口转登记 backlog §七 #9~#13(各自归到具体后续节点)
- 详见 2026-05-06__closure_p1_2_cumulative_baseline_reconciliation.md

docs/roadmap/ 目录合并入 backlog §七:
- BACKLOG.md(2026-03-27 更新,60+ 项 P0-P2 待办)登记 #6
- 2026-02-24__fdw-dwd-to-core-migration-plan.md 登记 #7
- Neo 指示重要:roadmap 大多数任务"乍一看都适用",但很多逻辑细节
  值得再深入调研 — 有些已不适用 / 有些冲突 / 有些被更好方式实现了
- 不批量标已完成或待办,需独立"BACKLOG.md 复核 sprint"逐项细化对账

Wave 0 全栈产品文档体系正式登记 §九:
- 已完成 Wave 0(2026-05-04):01-product-overview.md(380 行) + 02a/02b
  指纹矩阵 + admin-api-prd 151 端点 + 04-doc-conflicts 39 条
- 完整覆盖 WEB + 小程序 + 数据库 + 后端 + AI 应用矩阵
- 与 §八 文档规范化大工程关系:Wave 0 是骨架,§八 是后续精化重构

backlog §七 13 项洞口现状:
-  已收口 5 项(#1 #2 #3 #5 #8)
-  待 Neo 评估 1 项(#4 etl-coupon-detail)
-  待独立 sprint 1 项(#6 BACKLOG.md 复核)
-  待对照 1 项(#7 fdw migration plan)
-  累积基线遗留 5 项(#9~#13 各归后续节点)

dev 分支领先 origin/dev 9 commit(本会话累计)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 02:11:04 +08:00
Neo
e60cfc037c docs(audit): 全局收口反思 — 5 问追溯 + 洞口登记 + 文档规范化大工程立项
Neo 在 F1-6 Sprint 2 收尾后反思"项目全局控制度不够,到处没收口"。
经 5 问追溯调研(2 个子代理 + Bash 实证),识别 5 个未收口洞口 + 1 个
未明确登记的大工程,本次完成"登记 + 修订",实际收口动作待逐项推进。

5 个未收口洞口(已登记 backlog §七):
- P0 #3 F1-6 Sprint 3 范围描述误导(本次已修订 F1-6-tasks.md §4 拆分 3a/3b)
- P0 #5 Sprint 3/4 衔接判断错误(本次已纠正)
- P1 #1 3 项迁移后功能验证未做(IDE slash / 8 subagent / MCP 测试库)
- P1 #2 2026-04-15~05-02 累积基线 17 天工作待验证
- P2 #4 etl-coupon-detail 30+ 待调研 4 个月未定

文档规范化大工程立项(已登记 backlog §八):
- Neo 明确目标:规范化 / 归档 / 对账 / 去重 / 重构 / 零信息损失
- 范围 11 个 docs/ 子目录 + 各模块本地 docs
- 工程量 L+(数十小时,需多 sprint)
- 状态:立项,详细 spec 待 Neo 调度时立

落地修订:
- docs/_overview/architecture-evolution-backlog.md 追加 §七 §八
- docs/_overview/wave1-findings/F1-6-tasks.md §4 Sprint 3 拆分 3a/3b
- docs/audit/changes/2026-05-06__global_closure_reflection.md 反思全文

承认:Claude 在跨 sprint 衔接判断上有盲区,本次反思已纠正,未来 sprint 转换
前必须读完整 §4 范围描述,不靠记忆推断。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 01:58:18 +08:00
Neo
7b1cfadc2e feat(backend): F1-6 sprint2 #4 储值卡余额迁移 sandbox_replay (SCD2 时光机)
新建 sandbox_replay/balance_replay.py 模块,迁移 fdw_queries.get_member_balance,
fdw_queries 改 thin wrapper 保持 5 处现有调用(chat/coach/customer x2/task_manager)
透明兼容。

数据源 dim_member_card_account 是 SCD2 维度表(原生支持时光机),sandbox 改造
关键是替换 scd2_is_current=1 过滤为 scd2_start_time + scd2_end_time 时间过滤
(ref_date+1day 边界 = 当天结束时仍 active 的版本,timestamptz 比较稳定)。

双口径 UI 走查 PASS(member=2799207363643141 葛先生,SCD2 历史余额变化样本):
- 4a live(today=2026-05-05): 储值余额 ¥6,602
- 4b sandbox=2026-04-20: 储值余额 ¥18,080(差异 1.1w+,时光机效果显著)

unit test sprint1+sprint2 累计 24/24 PASS,无回归。

附带本次 sprint 2 触发的架构级登记:
- 新建 docs/_overview/architecture-evolution-backlog.md(DWD 孤立 + Core 中间件 +
  库重组,长远架构演进 backlog)
- F1-6-tasks.md 登记 #3 累计交易笔数推迟 Sprint 3(ETL 配合新增
  total_open_table_count,因现有 total_visit_count 实算 COUNT(settle_type IN (1,3))
  含商城订单,不符 Neo "开台次数"业务语义)
- sandbox-replay-engine-spec §5.5 thin wrapper 决策原则(已在 #2 commit)

详见 docs/audit/changes/2026-05-06__f1_6_sprint2_member_balance.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 01:26:18 +08:00