cross-platform-products-ai-.../docs/review-FeatureSummary-codex.md

76 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# `FeatureSummary.md` 审阅报告
- 审阅对象:`docs/FeatureSummary.md`
- 文档版本Draft v0.1
- 审阅时间2026-04-02
- 审阅人Codex
## 1. 总体结论
这份 `FeatureSummary.md` 已经把 PRD 中的大部分核心功能、流程、状态和边界压缩成了一份更适合横向对齐的摘要文档,整体方向是对的,且没有明显偏离 MVP 范围。
但如果它要作为“产品、设计、研发和测试快速对齐”的直接基线,当前版本还有 4 个需要尽快收紧的问题:零确认链接任务缺少明确终态、报告 Schema 被压缩得过粗、证据留存策略和可追溯承诺互相冲突、模块级验收口径缺失。这些问题不解决,后续最容易出现的不是“功能没做”,而是“状态口径、接口契约和验收标准各自理解不同”。
## 2. 主要发现
### 2.1 P0缺少“零确认链接/全无结果”任务的明确终态
当前文档要求“至少确认一个链接后,任务才允许进入抓取流程”(`FeatureSummary.md:167-168`),同时又规定 `NoResult``Skipped` 不计入失败,且任务最终状态只基于“已确认平台”计算(`FeatureSummary.md:366-369`)。但 `task_status` 枚举中并没有为“用户全部跳过”“所有平台都无结果”“没有任何确认链接可执行”提供稳定终态(`FeatureSummary.md:324-333`)。
这会导致历史任务列表、重试入口和完成率统计出现歧义:任务既不能进入 `Running`,又不完全符合 `Blocked`/`Failed` 的定义,最终很容易在实现里被各端自行兜底。
建议至少补一种明确口径:
1. 增加 `NoSelection` / `NoExecutableTarget` 一类任务终态;或
2. 明确“零确认链接”统一归入 `Failed`,并把该条件写入 `task_status` 定义和汇总规则。
### 2.2 P0报告结构只保留顶层字段已经不足以支撑研发与测试对齐
摘要文档当前只保留了报告顶层字段和少量内容要求(`FeatureSummary.md:375-398`),但文档同时又要求:
1. 每条强结论都必须可回溯到证据索引(`FeatureSummary.md:290-292`)。
2. 洞察卡片需包含置信度、样本标记、来源范围和证据引用(`FeatureSummary.md:396-398`)。
3. 报告必须覆盖失败/阻塞平台及质量标记(`FeatureSummary.md:292-293`, `FeatureSummary.md:398`)。
问题在于,这些约束都没有被收敛为字段级契约。例如 `platform_insights` 是否必须包含执行状态、`quality_flags` 的固定字段有哪些、证据引用是 `id` 还是内嵌对象、失败平台如何在报告中表达,当前都没有定义。相比 `PRD.md` 已经给出的详细 Schema`PRD.md:434-514`),这里的压缩已经丢失了前后端接口和测试用例所需的最小约束。
建议直接把 PRD 中已经冻结的最小 Schema 下沉到摘要文档,至少补齐:
1. `platform_insights[].execution_status`
2. `InsightCard.confidence` / `sample_flag` / `evidence_ids`
3. `evidence_index[].evidence_id` / `source_type` / `review_ref` / `captured_at`
4. `quality_flags.sample_insufficient` / `blocked_platforms` / `failed_platforms`
### 2.3 P1证据留存策略与“可追溯报告”承诺存在时间窗口冲突
文档规定原始抓取数据默认保存 30 天,而标准化数据和报告保存 90 天(`FeatureSummary.md:410-412`)。但同一份文档又把“可追溯、可用于决策”作为产品核心承诺(`FeatureSummary.md:26`, `FeatureSummary.md:111`, `FeatureSummary.md:452-453`),并要求证据引用可以定位到原证据。
如果第 31 天开始原始抓取数据已经过期,而报告还要继续保留 60 天,那么很多历史报告实际上只剩结论、链接和索引,未必还能完成“定位到原证据”的核验。这会直接削弱文档最强调的证据可信度。
建议二选一:
1. 将原始证据最小留存期对齐到报告留存期;或
2. 在报告侧定义“长期留存的最小证据快照”,例如评论摘要、来源链接、评论引用标识、抓取时间和必要上下文,确保 90 天内仍可核验。
### 2.4 P1文档目标强调“供设计、研发、测试快速对齐”但摘要版已丢失模块级验收口径
文档开头明确说这份摘要是给产品、设计、研发和测试快速对齐使用的(`FeatureSummary.md:13`)。但在可验证性上,当前只保留了总体质量指标(`FeatureSummary.md:446-461`),没有保留 PRD 中按模块拆开的验收标准,例如任务创建、搜索召回、状态模型、评论抓取、重试版本等模块的通过条件(`PRD.md:597-614`)。
这会让 QA 和研发在执行层面只能对齐“总体结果”,难以对齐“每个模块做到什么程度算完成”。尤其是异常流和状态流相关能力,很容易在联调后才暴露口径差异。
建议在摘要文档末尾补一个极简“模块级验收清单”,不需要复刻完整 PRD但至少保留
1. 搜索召回
2. 候选确认
3. 状态模型
4. 登录与会话
5. 评论抽样
6. 报告可追溯性
7. 失败重试与版本
## 3. 最终判断
这份 `FeatureSummary.md` 作为“功能摘要”已经合格,但作为直接驱动设计、开发和测试协作的摘要基线,仍然少了几条关键硬约束。
优先级上,建议先补“零确认链接终态”和“报告最小 Schema”这两项会直接影响状态机、接口定义和测试用例随后再处理证据留存与模块级验收口径否则这份摘要文档会更像“压缩版说明书”而不是一份真正可执行的对齐基线。