Files
lijiaoqiao/review/prd_tech_planning_expert_review_v1_2026-03-24.md

238 lines
8.5 KiB
Markdown
Raw Normal View History

# PRD 与技术规划专项专家评审报告2026-03-24
- 报告版本v1.0
- 评审对象:`docs/` 下 PRD、供应侧产品设计、技术架构与执行门禁相关文档
- 评审专家视角:产品、架构、安全、测试、结算
- 评审方法:一致性审查、闭环性审查、最小功能粒度审查(含按钮级检查)
---
## 1. 执行结论
### 1.1 是否符合行业最佳实践能力
**结论:部分符合(可评估为 72/100**
已达标项:
1. 已形成 SSOT + 门禁 + 任务 + 验收用例 + 决议模板链路subapi 集成域)。
2. 凭证边界红线M-013~M-016已制度化具备 P0 阻断口径。
3. 运维可靠性有明确回滚目标10 分钟触发、30 分钟恢复)。
未达标项:
1. 供应侧核心商业参数仍存在多口径冲突(会直接影响计费结算一致性)。
2. 供应侧核心功能没有被纳入与 subapi 同等级的 Gate/测试闭环。
3. 数据库方言与主技术栈PostgreSQL不一致存在可执行性风险。
### 1.2 功能设计是否闭环
**结论subapi 集成域闭环较完整,供应侧交易域闭环不完整(综合 68/100**
### 1.3 功能清单是否细化到最小可细化(按钮级)
**结论未达到42/100**
当前文档主要到“模块/流程/API”层尚未下钻到
1. 页面级字段定义(必填、校验、默认值)。
2. 按钮级交互定义(可见性、禁用态、点击后状态迁移)。
3. 空态/错误态/权限态矩阵。
4. 前端交互与后端状态机一一映射。
---
## 2. 关键发现(按严重级别)
## 2.1 P0-01供应侧结算参数多口径冲突存在错账风险
### 证据
1. `采购折扣系数=60%`
- `docs/business_model_profitability_design_v1_2026-03-18.md` 第11行、第23行。
2. `采购折扣系数=0.85`
- `docs/supply_side_product_design_v1_2026-03-18.md` 第135行。
3. `供应方收益=60%`
- `docs/supply_feature_technical_analysis_v1_2026-03-18.md` 第189行。
4. SQL 示例按 `85/15` 分账:
- `docs/supply_detailed_design_v1_2026-03-18.md` 第842行、第843行。
### 影响
1. 报价、结算、财务预测口径不一致,无法形成可审计账务链路。
2. 同一交易在不同服务中可能产生不同收益分配结果。
### 处理建议
1. 立即冻结单一分账公式(建议以 v4.2 SSOT 指定口径为准)。
2. 统一改写 PRD/产品/技术/SQL 示例并加“版本生效日期”。
3. 将分账公式纳入 Gate若口径不一致直接阻断发布
---
## 2.2 P0-02供应侧主流程未纳入可执行 Gate 闭环
### 证据
1. 供应侧流程已定义为核心业务:
- `docs/supply_side_product_design_v1_2026-03-18.md` 第42-68行、第155-164行。
2. 两周执行任务单以 subapi 集成为主,未形成 `SUP-*` 类型执行任务:
- `docs/subapi_integration_risk_controls_execution_tasks_v1_2026-03-17.md` 第48-124行。
3. 门禁有供应侧指标M-011/M-012但缺少与之绑定的可复跑测试用例与任务映射
- `docs/acceptance_gate_single_source_v1_2026-03-18.md` 第32-33行。
### 影响
1. 供应侧“入驻-验证-上架-交易-结算-赔付”无法被发布门禁真实拦截。
2. “文档有流程、执行无证据”的治理断层持续存在。
### 处理建议
1. 新建 Workstream `SUP`(入驻、挂载、定价、订单、提现、赔付、争议)。
2. 对 M-011/M-012 补齐测试用例与证据路径(对应 `tests/supply/*``reports/supply/*`)。
3. 将供应侧闭环纳入 EXP-006 决议硬门槛。
---
## 2.3 P0-03供应侧关键 SQL 示例存在明显错误,可能误导实现与报表
### 证据
1. SQL 中使用未定义别名 `su`
- `docs/supply_detailed_design_v1_2026-03-18.md` 第838行、第840行、第851行。
2. `supply_packages``supply_usage_records` 的关联条件可疑(`package_id``supply_account_id`
- `docs/supply_detailed_design_v1_2026-03-18.md` 第870-873行。
### 影响
1. 直接复制执行会失败或产生错误统计。
2. 收入与消耗报表可能出现错误聚合,影响结算与决策。
### 处理建议
1. 将 SQL 示例转为“可执行 SQL + 单元测试样例”。
2. 在文档中标注示例执行环境与校验结果(通过/失败)。
---
## 2.4 P1-01数据库方言与主技术栈冲突PostgreSQL vs MySQL
### 证据
1. 主栈明确为 PostgreSQL
- `docs/technical_architecture_optimized_v2_2026-03-18.md` 第14行。
- `docs/test_plan_go_aligned_v1_2026-03-18.md` 第5行、第70行。
2. 供应侧 DDL 仍为 MySQL 方言:
- `docs/supply_detailed_design_v1_2026-03-18.md` 第198行`AUTO_INCREMENT`)。
- `docs/supply_detailed_design_v1_2026-03-18.md` 第237行`ON UPDATE CURRENT_TIMESTAMP`)。
- `docs/supply_detailed_design_v1_2026-03-18.md` 第379行`STORED` 生成列语法差异)。
### 影响
1. DDL 无法直接在目标数据库执行,拖慢开发与验收。
2. 评审口径与实际实现环境脱节。
### 处理建议
1. 建立 `sql/postgresql/` 唯一 DDL 源。
2. 文档中的 SQL 一律引用该目录,禁止内嵌多方言片段。
---
## 2.5 P1-02技术架构存在双基线冲突实施团队易走偏
### 证据
1. 旧版架构默认重组件Kong/Kafka/Istio
- `docs/technical_architecture_design_v1_2026-03-18.md` 第67-74行。
2. 优化版明确 S0/S1 默认禁止这些组件:
- `docs/technical_architecture_optimized_v2_2026-03-18.md` 第31-35行、第52-57行。
### 影响
1. 研发、运维、采购可能按不同架构执行。
2. 成本与复杂度不可控,影响交付节奏。
### 处理建议
1.`technical_architecture_design_v1` 标记为“历史稿/不再执行”。
2. 在目录层设置“当前生效架构索引页”,避免误读。
---
## 2.6 P1-03PRD 仍为评审稿,关键商业/产品决策未冻结
### 证据
1. PRD 版本标识为 `v0.1(评审稿)`
- `docs/llm_gateway_prd_v0_2026-03-16.md` 第3行。
2. 关键事项仍在“待决策问题”:
- `docs/llm_gateway_prd_v0_2026-03-16.md` 第205-209行。
### 影响
1. 研发与测试难以对齐明确产品边界与发布目标。
2. 需求变更风险上升,迭代返工概率高。
### 处理建议
1. 输出 `PRD v1.0` 冻结稿(明确“已拍板项/未拍板项”)。
2. 每个 P0 功能绑定 `Requirement ID -> API -> Test Case -> Gate`
---
## 2.7 P1-04功能清单未细化到按钮/状态级,前后端联调风险高
### 证据
1. PRD 与供应侧文档主要是流程/模块级描述:
- `docs/llm_gateway_prd_v0_2026-03-16.md` 第70-90行、第106-139行。
- `docs/supply_side_product_design_v1_2026-03-18.md` 第222-253行。
2. 尚未看到“页面字段、按钮行为、禁用条件、错误提示、权限态”的结构化定义。
### 影响
1. UI 实现将依赖口头沟通,需求解释偏差概率高。
2. 测试无法编写页面级可执行用例(尤其异常态与权限态)。
### 处理建议
1. 为每个核心页面新增“按钮级规格表”。
2. 建立 UI 规格模板按钮ID、触发条件、后端接口、成功态、失败态、审计事件。
---
## 3. 闭环性评估矩阵(专家联合结论)
| 业务域 | 需求定义 | 技术设计 | 执行任务 | 测试用例 | Gate/决议 | 结论 |
|---|---|---|---|---|---|---|
| Subapi 集成 | 完整 | 完整 | 完整 | 完整 | 完整 | 基本闭环 |
| 凭证边界治理 | 完整 | 完整 | 完整 | 完整 | 完整 | 基本闭环 |
| 供应侧交易闭环 | 中 | 中 | 弱 | 弱 | 弱 | 未闭环 |
| 前端交互(按钮级) | 弱 | 弱 | 无 | 无 | 无 | 未开始 |
---
## 4. 最小细化要求(按钮级)补齐清单
每个核心页面至少补齐以下 10 项:
1. 页面 ID 与目标用户角色。
2. 字段清单(类型、校验、默认值、脱敏规则)。
3. 按钮清单(主/次按钮、可见性条件)。
4. 按钮禁用条件(余额不足、权限不足、风控锁定等)。
5. 点击后状态迁移loading/success/failed/retry
6. 错误码与文案映射。
7. 空态与异常态(无数据、网络异常、风控拦截)。
8. 审计事件(谁在何时做了什么)。
9. 埋点事件(转化漏斗、异常漏斗)。
10. 对应测试用例 IDUI/E2E/API
---
## 5. 结论建议GO 判定)
当前建议:**CONDITIONAL NO-GO先补齐 P0/P1 后再复审)**
复审准入条件:
1. P0 全部关闭并有证据。
2. P1 至少完成“可执行不走样”的最低闭环(特别是按钮级规格和供应侧 Gate
3. 新版 PRDv1.0)与技术规划 SSOT 互相引用且无冲突。