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 残留, 已修 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
This commit is contained in:
51
docs/_overview/04a-feedback/P0-6-record.md
Normal file
51
docs/_overview/04a-feedback/P0-6-record.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# P0-6 临时守卫 + 沙箱收口后正式重设计 — 记录
|
||||
|
||||
> 日期:2026-05-04 / 触发:Neo 在 P0 反馈"我同意,但要记录下来"
|
||||
|
||||
## 一、问题简述
|
||||
|
||||
`clearAllTasks` 高危操作(`DELETE /api/admin/task-engine/clear-all-tasks`)无运行模式守卫,任何 super_admin 可点。文档明文标"测试用",但代码无 sandbox 判断。
|
||||
|
||||
详细业务故事见 [`04a-conflicts-P0-detail.md` § P0-6](../04a-conflicts-P0-detail.md#p0-6-clearalltasks-高危操作无运行模式守卫)。
|
||||
|
||||
## 二、Neo 决策
|
||||
|
||||
**两阶段方案**:
|
||||
|
||||
### 阶段 1 — 临时止血(立即,Wave 1-3 任意时点)
|
||||
|
||||
- 工作量:**1h**
|
||||
- 范围:admin-web `TriggerJobs.tsx` 顶部 danger 按钮加"二次确认弹窗 + 输入门店简称"
|
||||
- 后端不动(沙箱模式还未上线,沙箱判断暂时不需要)
|
||||
|
||||
### 阶段 2 — 沙箱收口后正式重设计(等 P0-7 完成)
|
||||
|
||||
- 工作量:**3-5h**
|
||||
- 触发条件:P20 SPEC 实施完成 + Wave 1 沙箱走查通过
|
||||
- 范围:
|
||||
- 把"清空"语义拆为 **"全局清空"**(live 数据)和 **"沙箱内清空"**(按 `runtime_mode='sandbox' AND sandbox_instance_id=?`)
|
||||
- 后端加 `?scope=live|sandbox|both` query param
|
||||
- 后端在 live 模式下默认拒绝 `scope=live`(必须显式参数 `confirm=DROP_ALL_<site_code>`)
|
||||
- 前端按当前 runtime_context 联动 disabled / 显示哪个清空选项
|
||||
|
||||
## 三、与其他主题的关系
|
||||
|
||||
- **依赖** P0-7 沙箱收口完成(明确 `runtime_mode` + `sandbox_instance_id` 字段语义)
|
||||
- **关联** P20 SPEC §11.3 已指向 `P0-7-runtime-context-todos.md`,本记录可作为 todos 的子项
|
||||
- **不阻塞** Wave 1 主线工作
|
||||
|
||||
## 四、待办状态
|
||||
|
||||
- [ ] 阶段 1 临时止血(Wave 1-3 任意时点)
|
||||
- [ ] 阶段 2 正式重设计(等 P0-7 收口后)
|
||||
|
||||
## 五、给 Neo 的提醒
|
||||
|
||||
P0-7 收口完成后,需要:
|
||||
1. 在 P20 SPEC § 7 安全 / 权限模型 中明文写出 `clearAllTasks` 在 live 与 sandbox 下的不同行为
|
||||
2. 在 admin-web RuntimeContext 页加一个"危险操作历史日志"展示哪些 sandbox 实例曾触发 clearAllTasks
|
||||
3. 把本文件状态从"记录"改为"已完成",归档到审计
|
||||
|
||||
---
|
||||
|
||||
> 本文件不替代代码实施,仅作为记录,等待 Wave 1-3 / P0-7 收口后执行。
|
||||
Reference in New Issue
Block a user