建立项目级标杆文档 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 残留, 已修 commit17f045a) - P0-5 致命 2 (JWT aud 缺失, 已修 commit17f045a) - P0-6 clearAllTasks 守卫 (Wave 3) - P0-8 DBViewer 黑名单漏 (已修 commit17f045a) - 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
6.5 KiB
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枚举 + DWSroom_*列均存在,但配置数据未提供 → 所有 ROOM 相关代码分支永不命中
修正后 P2-4 选项:
- 推荐 B 清理代码冗余:决定 ROOM 是去掉(不需要)还是补配置(需要)
- service-record-card 组件用
vip/tip与 COURSE_TAG_MAPbasic/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_infoPK=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 个审稿题。