用户需求:客户上传 PDF 等资料进行向量化并追加进向量库,且问答可检索。 决策:全局检索融合 / BFF 直连 DeepSeek 生成私有回答 / 两路并行展示(命中才显示) / 「我的资料」管理界面挂文档 TAB 空态。改动仅限本分支,QA 金标树与红线零改动。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
任务书 · T1(测试 agent)—— 私有资料问答测试用例编制与轮次执行
docs/team/brief_priv_t1.md | 开工前必读 docs/private_docs_team_context.md。 权威规格:docs/PRD.md §17(FR-PRIV-001~008)、docs/UI_SPEC.md §9、docs/PRIVATE_DOCS_TEST_PLAN.md(覆盖判据与轮次纪律)。
阶段 A:测试用例编制(先做,TL 复查达标前不得测试)
- 编写
docs/team/TEST_CASES_PRIVATE.md:每条含 编号(TC-PRIV-{L层}-{序号})、对应 FR-PRIV 编号、前置条件、步骤、输入、期望输出、判据。 - 100% 覆盖判定(硬门禁):
- 每个 FR-PRIV-001~008 至少 1 条且双向追溯(附追溯矩阵表);
- 覆盖 §1 调整清单的每个文件/端点/函数:chunks 切块参数边界(600 字/8 段/1 段重叠/200 块上限/表格矩阵化/首块标题前缀)、ChunkIndex 增删改查与原子写、embed_batch_chunked(批量数组/并发/单批重试/降级零向量)、vault 钩子(chunk 失败不阻断 doc 级+返回字段)、search-chunks(三态/低分阈值 0.30 两侧/top_k clamp/doc_ids 过滤/exclude_template)、rebuild-chunks/health chunk_count、存量重建 CLI;BFF ask_private(去重每 doc≤3、12k 截断、LLM 超时 40s、异常抛类型)、/api/qa/private 三态信封(命中/未命中/503/502)、schemas union(private_doc 块校验+extra 未知字段)、llm timeout 参数兼容(None 走 env);前端 _firePrivate(命中/未命中/异常静默)、pending/flush 竞态(流未收口不丢块、onComplete 替换后仍出现)、_appendPrivate 防重入、ask/search 两模式与 retry 覆盖、AssistantMessage 块渲染(answer 空态、markdown 消毒)、PrivateLibraryPane(列表/删除/204/错误重试)。
- 回归用例:docgen doc 级 /search 响应逐字段、上传/generate/导出;红线 diff 空(QA 8091、modes/labels/bench/api/qa/sse/parser/PipelineCard、retrieval/parsing/backend/crypto、qa.py/sse_relay.py、compile_sdk.sh 白名单)。
- 规模目标 ~60 条(TEST_PLAN §7 预估);完成后交 TL 复查,不达标不进测试。
阶段 B:轮次执行(TL 部署后)
- 每轮按用例表全量执行(L1 pytest / L2 curl / L3 vitest / L4 浏览器由 TL 配合)。
- 每轮产出
docs/team/TEST_REPORT_PRIV_R{n}.md:执行摘要、通过/失败统计、缺陷清单(编号 BUG-PRIV-R{n}-{序号}:复现步骤/预期/实际/对应 TC 号)、阻断项。 - 每轮缺陷统一汇总交 TL → A1 修复+自测 → 下一轮复测。循环至某轮缺陷为 0。
- 轮次报告必须保留过程记录(执行命令、关键输出摘录、统计数字),供 TL 终验引用。
纪律
测试 agent 不修改任何产品代码(测试文件除外:vstore/tests/test_chunks.py、ui/tests/private_docs/ 由你编写);不 commit 不部署;不自连生产做破坏操作;有歧义先问 TL。