Files
Neo-ZQYY/docs/_overview/04c-feedback/00-P2-feedback-response-summary.md
Neo 509cf43284 chore(docs): Wave 0 调研产出 + P0/P1/P2 反馈调研
建立项目级标杆文档 docs/_overview/ 作为产品全景索引,
解决"PRD 零碎、文档膨胀、跨子系统调研无入口"的问题。

主要内容:
- 00-index 总索引 + 维护协议 + 与 CLAUDE.md 关系
- 01-product-overview 产品全景脑图(6 角色 / 6 子系统 / 数据流 /
  7 业务概念 / 8+1 AI 矩阵 / 22 术语)
- 02a-miniprogram-page-matrix 小程序 21 页业务指纹
- 02b-adminweb-page-matrix admin-web 19 路由业务指纹
- 03-test-spec 测试规范 (L1-L5 分层 + 走查模板 + 75-95 case 估算)
- 04-doc-conflicts 39 条冲突索引(P0×8 / P1×13 / P2×13 + 5 子项)
- 04a/b/c-conflicts-*-detail 业务故事卡(7 字段:关联/逻辑/影响/选项/判定)
- 05-orphan-pages-cleanup admin-web 6 孤儿页面处置(1 归档 + 4 保留)
- WAVES-MASTER-PLAN.md 全 Wave 主计划(0-5,共 22-32 工作日)
- WAVE-1-KICKOFF.md Wave 1 实施 kickoff
- GLOBAL-DECISION-DASHBOARD.md 全局决策仪表板

反馈调研产物:
- 04a-feedback/ P0 两轮反馈(8+8 项决策 + D-1/2/3 + F-1/2 子代理产出)
- 04b-feedback/ P1 两轮反馈(13+1+5 项 + E-1/2/3/4 + G-1/2 子代理产出)
- 04c-feedback/ P2 反馈(13 项 + 5 子项 + H-1/2/3 子代理产出)
- NEO-DECISIONS-LOG 累积决策记录

关键追加发现 8 处 D Bug(原蓝本 0):
- P0-3 看板沙箱接入(Wave 1 W1-T1)
- P0-5 致命 1 (4 处 fdw_etl 残留, 已修 commit 17f045a)
- P0-5 致命 2 (JWT aud 缺失, 已修 commit 17f045a)
- P0-6 clearAllTasks 守卫 (Wave 3)
- P0-8 DBViewer 黑名单漏 (已修 commit 17f045a)
- P1-3 task-detail 跳转传 task_id 而非 customer_id
- P2-7 board-finance 隐式 null
- 2 个独立 Bug (page_context.created_at + ClueCategory 字典)

参考: docs/_overview/00-index.md
2026-05-04 07:38:28 +08:00

6.5 KiB
Raw Blame History

P2 反馈响应总报告

日期:2026-05-04 / 触发:Neo 在 04c-conflicts-P2-detail.md 13 条 P2 + 5 子项 上写下斜体反馈 主线 + 2 个子代理(H-1 课程体系+看板限制 / H-2 prompt 答疑+无权限页设计) / 状态:调研完成,等 Neo 拍板进入实施

一、13 项 P2 + 5 子项 处理状态总览

# Neo 反馈 处理 关键结论
P2-1 选项 A 直接确认 tabBar 旧文档同步为"动态过滤"
P2-2 选项 A 直接确认 维客线索 tag 改枚举 + label 双字段
P2-3 选项 A 直接确认 维客线索 source 改枚举 + recorded_by_name
P2-4 要再调研 P2-4-and-P2-7-research.md A 两套独立体系;无两级嵌套;ROOM 是死代码
P2-5 选项 A 直接确认 ChatMessage timestamp → createdAt
P2-6 选 A + 问 prompt P2-6-and-P2-9-design.md 不改 APP1 prompt;推荐 R2 SQL LEFT(content,16) 写 title;title 字段已存在未写入
P2-7 选 B + 调研其他限制 P2-4-and-P2-7-research.md 新发现 board-finance 隐式 null Bug(area≠all 三板块凭空消失);board-customer 无问题
P2-8 选项 B(改原 A→B) 直接确认 site_admin/tenant_admin 不混入 dev-tools
P2-9 选 A + 设计 + 实施 + 测试 P2-6-and-P2-9-design.md 表名 biz.site_contact_info / 3 端点 / Wave 5 全部 1.7 人天
P2-10 选项 B 直接确认 Pydantic Field alias 显式写
P2-11 选项 A 直接确认 AI 需求 2 表头 6→8
P2-12 同意建议 直接确认 NS4 加职责边界节
P2-13.1 A 直接确认 NS3 加 72 组合二分逻辑节
P2-13.2 B(改 A→B) 直接确认 biz/cfg_event_types.py 维护源 + 文档自动生成
P2-13.3 A 直接确认 接受双入口现状 + PRD 解释
P2-13.4 同意建议 直接确认 校对 auth.py 实际路径 + 同步 NS1
P2-13.5 A 直接确认 getSelectedKeys 改造支持多 group 展开

二、4 件 Neo 必须知道的事

1. P2-4 — 课程体系的"两套" + 死代码隐患

H-1 实测发现:

  • course_type(cfg_skill_type)只有 BASE / BONUS 两类,BD 手册说有 ROOM 但数据库实际无(BD 手册过期)
  • category_code(cfg_area_category)6 类(BILLIARD/SNOOKER/MAHJONG/KTV/SPECIAL/OTHER)
  • 两套完全独立,不是两级嵌套
  • 死代码隐患:CourseType.ROOM 枚举 + DWS room_* 列均存在,但配置数据未提供 → 所有 ROOM 相关代码分支永不命中

修正后 P2-4 选项:

  • 推荐 B 清理代码冗余:决定 ROOM 是去掉(不需要)还是补配置(需要)
  • service-record-card 组件用 vip/tip 与 COURSE_TAG_MAP basic/room/incentive 不一致,需统一

category_code不是课程是项目分类。课程的调研不对不够深入课程全部应该有 包厢课 麻将课 基础课 激励课 但应该分布在不同的表中。继续深入调研。

2. P2-7 — 新发现 board-finance 隐式 null Bug

H-1 全看板扫描:

  • board-coach(已知):time=last_6m + sort=sv_desc 后端 400,前端无禁用提示 → 需双向变灰
  • board-finance(新发现):area≠all 时后端 recharge / cashflow / expense 三板块返回 null,前端无任何提示,板块凭空消失 → 需补占位文案
  • board-customer:无组合限制

意外多挖出 1 个 D Bug(P2-7 board-finance 隐式 null),严重度比 P2-7 主体高(用户看不到原因)。

area≠all 时后端 recharge / cashflow / expense 三板块返回 null,前端无任何提示是可以的。找到的BUG进行修复。

3. P2-6 — 不改 APP1 prompt,因为 prompt 在百炼云端不入 git

H-2 调研:

  • APP1 prompt 在百炼控制台云端,改动不可追溯(不在 git)
  • SSE 流式纯文本末尾插结构化 title 会破坏流式体验
  • biz.ai_conversations.title 字段已存在但当前未写入(意外发现)
  • chat_service.generate_title() 已有"客户姓名 / 首句 20 字 / 新对话"回退链(意外发现 2)

推荐 R2 起步:Wave 5 用 SQL LEFT(content, 16) 在首轮结束时写 title。R1(qwen-turbo 异步轻量摘要)后续观察再决定。

APP1 prompt 在百炼控制台云端,改动不可追溯但如果有改动的必要我可以手动操作。并且现在应该有路径保存了当前所有Prompt。现在用你的推荐方案是可行的暂时不改Prompt我同意。但要记录后续观察的需求需要跟踪。

4. P2-9 — no-permission 编辑入口设计完成,Wave 5 实施 1.7 人天

H-2 设计:

  • 表名:biz.site_contact_info PK=site_id
  • 字段:display_name / phone / wechat_id / notes / updated_by / updated_at
  • 默认值:display_name = '门店管理员',不预填真名(让 Neo 上线后手工配置)
  • 3 端点:
    • GET /api/tenant/site-contact(tenant 端读)
    • PATCH /api/tenant/site-contact(tenant 端改)
    • GET /api/xcx/site-contact(小程序 no-permission 拉)
  • 小程序从 token 推 site_id,前端不传(防伪造)
  • Wave 5 全部 1.7 人天(后端 + tenant-admin + 小程序 + 测试)

H-2 提的 7 个审稿题(表名 / 拦真名黑名单 / 刷新时机 / 菜单文字 / 自动建行 / 审计 / R2-R1) 待 Neo 答。

同意。

三、按 Wave 重新分配的 P2 执行清单

Wave 任务
Wave 1-3 / 即时 board-finance 隐式 null Bug(P2-7 副发现,Wave 1 协同)
Wave 5 全部 P2 主体 — 13 项主条目 + 5 子项,统一文档收尾 + 小代码改动批

四、给 Neo 的 P2 决策提问

# 问题 我的建议
1 P2-4 ROOM 死代码处理:去掉 / 补配置 / 维持现状 去掉(BD 手册更新为 BASE+BONUS 两类)
2 P2-4 service-record-card 组件命名是否同步改 vip/tip → vip-tag/tip-tag? Y(统一命名)
3 P2-7 board-finance 隐式 null Bug 是否纳入 D Bug 清单 Y(D Bug)
4 P2-9 H-2 提的 7 个审稿题(表名/拦真名/菜单文字/审计...)是否一次答完 Y
5 P2-6 接受 R2 起步(SQL LEFT 16 字)+ R1 后续观察 Y

五、产出文件索引

docs/_overview/04c-feedback/
├── 00-P2-feedback-response-summary.md       (本文)
├── P2-4-and-P2-7-research.md                (H-1)
└── P2-6-and-P2-9-design.md                  (H-2)

全部 P0(2 轮)+ P1(2 轮)+ P2 反馈调研完成。下一步:Neo 答 P2 5 问 + P1 二轮 5 问 + H-2 的 7 个审稿题。