docs(extension): 测试报告——TL 接管测试循环,B1-B4 缺陷修复,全量测试绿

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-14 15:10:10 +08:00
co-authored by Claude Fable 5
parent 812decf310
commit 2a6315e615
+36
View File
@@ -0,0 +1,36 @@
# 扩展分析测试报告(2026-09-14,TL 接管版)
## 背景
测试 agent 因 API 余额错误(402)在「UI 全量 373 全绿 + 开始探测 18 用例真实执行环境」处中断。TL 接管完成剩余测试循环:发现并修复 3 个缺陷,全量测试转绿。
## 缺陷清单(TL 测试循环发现,已全部修复,commit 812decf)
| # | 严重度 | 位置 | 根因 | 修复 |
|---|---|---|---|---|
| B1 | 高 | conftest.py Settings 缺 extensions_dir | 测试扩展落仓库默认目录 bioflow_data/extensions,跨测试污染,list 排序断言失败 | 两处 Settings 补 tmp 隔离 + 清污染目录 |
| B2 | 高 | extensions.py inject_real_executor | store.executor 默认 None,直接 .inject_real 崩溃 | 惰性创建适配器实例再注入 |
| B3 | 高 | extensions.py ExtensionExecutor.execute 分派 | 旧契约 execute(spec) 与新契约 run(request) 混用,真实执行器被传错入参 | 按方法存在性分派:execute→旧契约、run→新契约+结果归一化 |
| B4 | 中 | routers/bioflow.py chat_stream | 扩展意图两层判定未接入对话入口,前端引导卡收不到帧 | 接入:create→extension_upload、run→extension_candidates(单命中 high_confidence)、create_ambiguous→引导帧;异常不回退生信主链 |
## 测试账(全部通过)
- **后端 bioflow_service:324/324**(Dev-A 71 + Dev-B 38 + 既有 226,含修复后全量)
- **内核:15/15**(run_extension.py 容器入口 unittest)
- **前端 r3debug:122/122**(Dev-C 33 扩展用例 + 既有;8 卡 mount、14 类事件映射幂等/乱序/终态、sendExtension 流、意图词典)
- **前端主套件:373/373**(零回归)
- **真实 docker 冒烟 SMOKE_OK**:上传→规则版转换(LLM 无 key 自动降级)→ 容器执行(plantai-env-biolabx-bioinfo 镜像)→ 输出契约校验 → 结果归一化,exit 0 + result.txt
- **npm run build 通过**
## 18 用例真实执行验证:环境受限,留待 176 部署(计划 P3)
- 18 用例的 Python 依赖全景已盘点:01-13 依赖 pandas/panfamily,14-18 依赖 Biopython,另需 OrthoFinder/HMMER/DIAMOND 等外部工具。
- 这些依赖在 **176 的 8 个 bioflow 镜像**中(bioflow-gf 等);175 现有镜像(plantai-env-biolabx-*)均不含 pandas/panfamily/Biopython。
- 真实容器执行 18 用例需 176 部署后进行(届时 runtime_image 直接映射 bioflow-gf 等)。
## 未覆盖项与遗留
1. 18 用例真实容器执行(环境依赖,留待 176 部署后 P3 验收)。
2. 运行事件刷新后 resubscribe(Dev-C 预留挂钩点,后端 run events 已返回快照帧)。
3. 运行卡输出下载按钮(待产物下载端点确定)。
4. AI 修复循环的镜像重建链路(extension_image.py 已实现,175 无真实构建验证)。