汇报人:测试负责人(软件测试专家团 · 陆谨)|汇报周期:2026-11-09 09:21 ~ 09:50(第 100 轮) 负责模块/单元:浠艾福 XAF(d:/cfc)· 全栈测试闭环(浏览器自动化 + langgraph + 回归) 执行档:review(内网
/admin+/frontend+langgraph 251 已授权;不联网;静默无人值守)
| 指标 | 数量 | 说明 |
|---|---|---|
| 本轮新增测试用例数 | 0 个 | SRS/场景零变更(HEAD 仍为 R99 提交 0ec44239a,无新提交;工作树无 test/SRS/需求 源码改动),不新增 |
| 本轮验证执行测试数 | 553 个 | web Jest 116 + frontend Jest 426 + admin E2E 5 + frontend E2E 6(langgraph 本轮未刷新,见 5.2) |
| 用例通过率 | 92.2% | 510 PASS / 553 执行(FAIL 40 全为前端 diet-recommendation 长期红 / SKIP 3) |
| 指标 | 数量 | 说明 |
|---|---|---|
| 分派任务数 | 1 个 | 251 节点 langgraph pytest 派发(ses_e4214df4affeHIAVyVSH7uxNh6,失败) |
| 恢复智能体会话数 | 0 个 | — |
| 当前在用会话数 | 1 个 | 251 派发会话(failed) |
| 会话标签 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
|---|---|---|---|---|---|---|
| 251-langgraph | ses_e4214df4affeHIAVyVSH7uxNh6 | failed | langgraph pytest 派发 | — | 干净 | outcome=failed(agent 未产出,疑似 B-82 LLM key 无效导致 opencode agent 失败) |
| 本机-admin | — | done | admin E2E 5/5 | — | 干净 | 本机直跑(189 失联 B-89,降级) |
| 本机-frontend | — | done | frontend E2E 6/6 | — | 干净 | 本机直跑(LIVE_BASE_URL=https://cfc.iwintrue.com) |
| 指标 | 数量 | 说明 |
|---|---|---|
| 新测试发现问题数 | 1 个 | B-91(251 opencode 派发 langgraph pytest 本轮 outcome=failed,无法取回 251 权威数) |
| 已解决测试相关问题数 | 0 个 | — |
| 待解决测试相关问题数 | 7 个 | B-65(P0 第 9 轮)、B-69(P1 第 7 轮)、B-82(P1)、B-84(P1)、B-89(P1)、B-90(P0 复发)、B-91(P1 新增) |
| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
|---|---|---|---|---|---|---|
| (待提交) | R100 汇报 + blockers(B-91) | 报告 | 文档 | cfclub | 提交时填写 | 结果有变触发推送 |
| 阶段 | 键数 | 备注 |
|---|---|---|
| UNTRACKED | — | CFC 发现/跟踪模式 |
| RED | — | 见 test-inventory 侧车 |
| YELLOW | — | — |
| GREEN | 5 | 状态机 5 键全 GREEN(沿用) |
| DONE | — | — |
| 数据源 | 读取键数 | 是否正常 | 备注 |
|---|---|---|---|
| 需求侧(SRS) | 正常 | 正常 | 零变更 |
| 测试用例(test-cases) | 正常 | 正常 | 零变更 |
| E2E 用例 | 11 例 | 正常 | admin 5 + frontend 6 |
| langgraph pytest | 43 例(R99 权威) | 异常 | 本轮 251 派发失败,未刷新 |
| 序号 | 建议标题 | 问题描述 | 根因分析 | 建议方案 | 优先级 | 状态 |
|---|---|---|---|---|---|---|
| 1 | langgraph analyze checkpointer 修复(连续第 9 轮) | test_analyze.py 2 例 500(Checkpointer requires thread_id) |
analysis_graph.py:96 MemorySaver() + analyze.py:35 ainvoke 无 config |
去 MemorySaver 或传 thread_id;部署锁版本与 requirements 对齐 | P0 | 待评估 |
| 2 | 251 LLM 凭据与超时(intent 4 例转红 + live 60s 挂起 + 本轮派发失败) | intent 4 例降级 CHAT(LLM key 401);live chat/analyze 60s 无响应;本轮 opencode agent 派发 pytest outcome=failed | 251 节点 LLM 凭据失效 + LLM 调用无 timeout(B-84 同源) | 251 注入有效 etotem/deepseek 凭据;LLM/检索调用加 timeout+熔断;恢复后复验派发 | P0 | 待评估 |
| 3 | /api/mind/** 4 端点公开白名单(连续第 7 轮) |
匿名可达业务层(线上 200 / 测试 400 非 401) | JwtInterceptor.java:79-82 PUBLIC_PATHS |
4 条移入 LOGIN_REQUIRED_PATHS | P1 | 待评估 |
| 4 | 189 节点恢复 | 22/4090 全拒,admin 无法派发 | 节点离线/服务未起 | 运维放通 189:4090+22 或提供等价节点 | P1 | 待评估 |
| 5 | 前端 diet-recommendation 3 套件 40 例长期红 | frontend Jest 稳定 40 失败集中在 recommendation.participantSelect / uiRework / healthAdjustUi | 长期 TDD-RED(实现未落地)或测试与实现口径漂移 | 研发确认这 40 例是预期 RED 还是实现缺口;若是 RED 须随实现转绿,否则补实现 | P1 | 待评估 |
| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
|---|---|---|---|---|
| B-91(本轮新增) | langgraph 251 权威数刷新 | 环境/测试 | 已降级:本机 venv 兜底因 B-54 超时中止;沿用 R99 43/32/11 | 运维注入 251 LLM 凭据后重派 |
| B-90(P0 复发) | AI 管家线上主链路 | 研发/运维 | 待响应 | 运维+研发(LLM 凭据+超时) |
| B-89(P1) | admin 浏览器自动化派发 | 运维 | 已降级本机(5/5 绿) | 运维放通节点 |
| B-82(P1) | langgraph 意图分类 + 本轮派发失败 | 环境 | 待响应 | 运维注入 LLM 凭据 |
| B-65(P0 第 9 轮) | AI 报告解析主链路 | 研发 | 待响应 | 研发实现 |
| B-69(P1 第 7 轮) | 鉴权边界 | 研发 | 待响应 | 研发实现 |
| 计划项 | 预计完成时间 | 前置依赖 | 备注 |
|---|---|---|---|
| 复跑 admin/frontend E2E + web/frontend Jest | 下轮 | 189 恢复或维持本机降级 | 浏览器 5/5+6/6 维持;前端 40 红持续跟踪 |
| 251 langgraph 派发复验(若凭据修复) | 下轮 | 运维注入 LLM 凭据 | 连跑 3 次取稳定 43/XX/XX |
| 后端 mvn 全量复跑落账 | 下轮 | mvn 恢复 | R97 基线 2802 例/94.75% |
| 目标 | 节点 | 用例 | 结果 | 说明 |
|---|---|---|---|---|
http://cfc.iwintrue.com/admin |
189(失联 B-89)→ 本机降级 | admin-live 5 | ✅ 5/5 | TC-A-U01~U05 全绿,含 U04 真实登录+滑块、U05 菜单;tests/node_modules/playwright/cli.js 入口绕行根目录双版本冲突 |
http://cfc.iwintrue.com/frontend |
本机 | frontend-live 6 | ✅ 6/6 | TC-F-U01~U06 全绿,游客态只读链路正常 |
每节点仅跑一个浏览器自动化任务(189 失联→本机串行跑 admin 与 frontend 两个任务);langgraph 派发 251(用户指令,本轮失败,见 5.2)。
251 opencode 派发:OPENCODE_SERVER_PASSWORD + _dispatch_251.cjs(BASE=http://192.168.16.251:4096)
会话:ses_e4214df4affeHIAVyVSH7uxNh6
结果:OUTCOME failed(agent 未产出 pytest 结果,疑似 B-82 LLM key 无效)
本地 venv 兜底:.venv/Scripts/python -m pytest tests --ignore=tests/qna --ignore=tests/test_chat.py
→ 启动后因 B-54 chromadb 原生依赖性能退化,单跑 >18min 未结束,已主动中止(避免长挂)
本轮结论:未能刷新 251 权威数,沿用 R99 251 数 43 collected / 32 passed / 11 failed 作为最近一次权威口径
11 红分布(R99 权威,待本轮复验):
| 红例分组 | 例数 | 归因 |
|---|---|---|
test_analyze.py |
2 | B-65(连续第 9 轮):Checkpointer requires ... thread_id,500 |
test_auto_tag.py |
5 | B-74/B-82 装置+环境:chat 端点 500(LLM key 401) |
test_intent.py |
4 | B-82(251 侧转红):意图分类降级 CHAT(LLM key 401) |
| 集合 | 结果 | 依据 |
|---|---|---|
| cfc-web Jest | 17 套/116 全绿 | 本轮实跑(41.9s,EXIT 0)——与 R99 零漂移 |
| cfc-frontend Jest | 26 套/383 过 / 40 红 / 3 跳(426 total) | 本轮两轮独立重测均稳定 383/40/3;R99 报告采用的 372/51/3 为「采信 R98」的陈旧基线,非本轮实测;与陈旧基线相比 +11 通过 / -11 失败(HEAD 自 R99 起无提交,差异更可能源于 R98 基线测量条件,非本轮代码变更)。3 个失败套件均为 diet-recommendation 相关:participantSelect / uiRework / healthAdjustUi,属长期 TDD-RED 待实现 |
| cfc-backend mvn | ⛔ 未实测 | mvn 本机缺失;沿用 R97 基线 2802 例/94.75% |
| E2E 工具链 | ✅ 绕行成功 | 双 @playwright/test 版本冲突以 tests/playwright/cli.js 1.61.1 入口解决 |
结论:⚠️ 有条件通过(未转「通过」)
复评条件(全部满足方转「通过」):
test_analyze.py 2 例转绿 + live analyze 连跑 3 次 200。/api/mind/** 移入 LOGIN_REQUIRED_PATHS → 测试 401 + 线上匿名 401。本轮 vs R99 存在变化,触发推送与通知:
→ 本报告 + blockers(B-91) 将 commit 并 push origin/cfclub;Agent Mail 不可用,以 blockers.md + 本报告为研发通知载体(重点:B-91 251 派发失败、B-65 第 9 轮、B-90 复发)。
本报告将提交并推送至 origin/cfclub(docs/tdd/orchestration/),并同步更新 blockers.md。