Files
Neo-ZQYY/docs/_overview/04b-feedback/00-P1-round2-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

7.8 KiB
Raw Blame History

P1 反馈响应总报告(第二轮)

日期:2026-05-04 / 触发:Neo 在 00-P1-feedback-response-summary.md 表格里写下斜体二轮反馈 主线 + 1 个子代理(G-1 P4 前置修复深度调研) / 状态:调研完成,等 Neo 拍板进入实施

第一轮总报告见 00-P1-feedback-response-summary.md

一、Neo 二轮反馈分类

A. 直接同意 12 项(无需调研,直接进 Wave)

# 反馈 Wave 分配
P1-1 同意接受方案 A Wave 2
P1-2 同意 Wave 5
P1-3 同意接受 SPEC 化 Wave 1-3 + Wave 5
P1-4 (默认接受 A 改文档,从清单消除) Wave 5
P1-5 同意接受 packages/shared 跨包枚举 Wave 2
P1-6 同意接受方案 A 完全合并 Wave 2
P1-7 同意接受 B+D 混合 跨 Wave
P1-8 同意应用 4 三种触发条件 Wave 1-3
P1-9 同意 Wave 5
P1-10 (默认接受 B 现状对,从清单移除)
P1-11 同意 Wave 1
P1-12 同意接受 0=散客 + isScattered Wave 4

B. 要工作的 2 项

# Neo 反馈 处理
P1-13 "牵扯的前后依赖和上下文比看起来更复杂,关联性更高,别轻易修改" G-1 子代理深度调研 → 见 §二
extra dev-trace "接受 Drop,Wave 排序你来定" 主线确认 Wave 5 → 见 §三

二、P1-13 深度调研结论(Neo 担忧严重证实)

G-1 报告P1-13-deep-research.md

1. 4 个 T 当前精确状态(tasks.md 状态严重失实)

T tasks.md 标记 实际状态 Diff
T1 [x] 真已实现 OK
T2 [x] 被 2026-04-08 Fix-13 重写,语义偏离原 spec ⚠️
T3 [ ] 主体已实现,但有沙箱缺陷(无 runtime_mode 隔离) ⚠️
T4 [ ] 完全已实现 OK 但需补 sandbox 兼容
T5 [ ] 半实施:sync handler OK / cron + AI async 仍漏 ⚠️
T6 [ ] 代码默认值改 7:00,但迁移脚本缺失 ⚠️
测试 tasks.md [x] 8 项 实际 0 个测试文件 撒谎状态

关键意义:Neo 的直觉完全正确。如果按原 P1 总报告的"剩余 T3/T4/T5/T6 纳入 Wave 1-3 一并修"动手,会:

  • T3 重复改造(已实现,改两次)
  • T4 重复改造(同上)
  • T5 没修对地方(缺 cron + AI async 路径)
  • T6 缺迁移脚本(改代码不改 DB,生产部署后行为不一致)
  • 测试全部缺失(tasks.md 标 [x] 但 0 文件)

2. 两条致命风险(spec 完全没记录)

致命 1:Fix-13 引发的"任务创建-顶替"循环污染

  • 2026-04-08 Fix-13 让 recall_detector 自己开/关 follow_up_visit
  • 然后又触发 note_reclassifier 走 T3+T4 流程
  • 每次 etl_data_updated 事件触发,任务表 coach_tasks 和历史表 coach_task_history 持续被"创建-顶替"循环污染
  • spec 完全没记录这个新行为,无人能发现何时进入死循环

致命 2:note_reclassifier 跨沙箱数据污染

  • note_reclassifier 完全没有 runtime_mode 隔离
  • sandbox 演示期间,它会跨模式查询/插入(沙箱触发的事件 → 改 live 数据,反之亦然)
  • 可能造成:
    • 误跳过(本应创建任务,因为查到沙箱里有任务而跳过)
    • 数据漏写(应该写 sandbox 但写到 live)
  • 与 P0-7 沙箱收口直接冲突

3. 推荐 Phase 0-3 渐进路径

绝不要按 P1 第一轮报告的"Wave 1-3 一并修"直接动手。改按:

Phase 范围 触发条件
Phase 0 跑 5 条 SELECT 看测试库 / 生产 DB 实际状态(确认调研结论) 立即,1h
Phase 1 必修 补 T6 迁移脚本 + note_reclassifier 加 runtime_mode Phase 0 通过后,Wave 1 内
Phase 2 决策 T5 cron 路径与 AI async path 的 path B/C 双路径策略 + last_run_at 兜底机制 Phase 1 完成后,Wave 1-2
Phase 3 测试补漏 补全 8 项测试文件(tasks.md 标 [x] 实际 0 个) Phase 2 完成后,Wave 2-3

绝不混入 Wave 1-3 D Bug 修复批次(避免一次提交太多变化)。

4. 给 Neo 的 15 个决策题

详见 G-1 报告 §九。本总报告聚焦顶层判断:

  • 核心 Y/N:接受 Phase 0-3 渐进路径,不在 Wave 1-3 一次性修?Y
  • 优先级:Phase 0 立即跑 SELECT?是否需要主线协助?Y,主线协助
  • 测试补漏:tasks.md 标 [x] 但 0 文件 — 是否要先校正 tasks.md 状态再实施?Y,先校正

三、dev-trace Wave 排序确认 → Wave 5

主线决定extra-dev-trace-wave-schedule.md

排到 Wave 5 的理由

  • Wave 1-3 是业务 D Bug 主线,移除工具页分散注意力
  • Wave 2 已有 P1-1 schema 迁移 9 人时,不再叠加
  • Wave 5 本来就要做大量结构性清理,合并 1 个 PR 即可

执行清单

  • 删除 admin-web 5 文件 + 后端 4 文件 + 数据库表 DROP + 配置清理 + 文档清理
  • 总耗时 1-2h 单 PR
  • 详细 6 步执行 + 风险回滚方案见排程文件

四、整合后的 Wave 分配(P0 + P1 全部反馈)

Wave 主要任务 累积反馈分配
Wave 1 Runtime Context 沙箱 P0-3 看板接入 / P0-7 SPEC + §15 patch / P0-1 SCD2 视图入口 / P1-11 chat 后端契约 / P1-13 Phase 0 SELECT 校核(立即)
Wave 1-3 代码 D Bug P0-6 临时守卫 / P0-8 DBViewer / P0-5 致命 1+2(伪 FDW 残留 + JWT aud) / P1-3 customer_id / 2 个独立 Bug(page_context + ClueCategory)/ P1-13 Phase 1 必修(T6 迁移 + runtime_mode 列)
Wave 2 admin-web AI + schema 迁移 P1-1 维客线索迁移(9h)/ P1-6 触发器合并 / P1-5 跨包枚举 / P0-5 Wave 协同 6 项 / P1-13 Phase 2 决策(T5 path B/C)
Wave 4 DWS / RLS / 数据正确 4.1 财务看板 5 项 / P0-7 todos P1×8 / P1-12 isScattered / P1-13 Phase 3 测试补漏
Wave 5 部署 + 文档收尾 P0-1/2/4 文档 / P0-5 长期治理 5 项 / P0-7 todos P2×7 / P1-2/9/10/13 文档 / dev-trace Drop
跨 Wave admin API PRD P1-7 B+D 混合
P0-6 阶段 2 沙箱内/全局清空语义 P0-7 收口后

五、本轮 Neo 必须答的关键问题

# 问题 我的建议
1 P1-13 接受 Phase 0-3 渐进路径,不一次性修 Y/N Y
2 P1-13 Phase 0 立即跑 5 条 SELECT,主线协助 Y/N Y
3 P1-13 先校正 tasks.md 标记状态 Y/N Y
4 dev-trace 排到 Wave 5 单 PR 1-2h Y/N Y
5 tasks.md 撒谎状态(标 [x] 实际未做)是否要做项目级审计,看其他 SPEC tasks 是否也有 Y(强烈建议)

第 5 项是严重的项目治理问题:如果 P4-prerequisite-fixes 的 tasks.md 撒谎,其他 SPEC 的 tasks.md 可能也撒谎。建议起一个跨 Wave 的"tasks.md 真实性审计"任务,排到 Wave 5 文档收尾时统一做。

六、产出文件索引(累积)

docs/_overview/04b-feedback/
├── 00-P1-feedback-response-summary.md           (第一轮)
├── 00-P1-round2-feedback-response-summary.md    (本文)
├── P1-1-schema-migration-risk.md                (E-1)
├── P1-2-mvp-cleanup-result.md                   (主线)
├── P1-3-4-cross-page-params.md                  (E-2)
├── P1-5-ai-cache-type-spec.md                   (E-3)
├── P1-6-trigger-api-merge.md                    (E-3)
├── P1-7-admin-api-prd-evaluation.md             (主线)
├── P1-10-customer-detail-entries.md             (E-4)
├── P1-12-scattered-memberid.md                  (E-4)
├── P1-13-prerequisite-fixes-found.md            (主线第一轮)
├── P1-13-deep-research.md                       (G-1 第二轮)
├── extra-dev-trace-perf.md                      (E-4)
└── extra-dev-trace-wave-schedule.md             (主线第二轮)

等 Neo 答 5 个关键问题 + 完成 04c 反馈处理 + 答 P0 二轮 10 问,所有 Wave 进入实施轨道。