report-test-2026-11-10-R118.md 25 KB

测试负责人闭环汇报 · 第 118 轮(2026-11-10 07:28–08:25)

执行档:review(离线) — 白名单内离线套件 + 已授权内网只读 E2E(cfc.iwintrue.com 的 /admin + /frontend)+ 节点派发(251 跑 langgraph / 189 跑浏览器 admin) 仓库:D:/cfc;分支 cfclub;测试基线 HEAD a104d5a16(起点 dc65660e3 → git pull --ff-only 快进 3 提交,变更仅 cfc-web 构建元数据 + 研发巡检 docs,零生产源码 / 零 SRS / 零用例) 执行窗口:07:28 → 08:25(后端 58:14 串行占主窗,其余套件错峰并行) 拓扑(用户本轮指令):浏览器自动化 → cfc.iwintrue.com/admin、/frontend,192.168.16.189 与本机各一节点(每节点单任务);langgraph 部署 192.168.16.251,测试分派该节点 团队:自动化闭环轮,八域结论由测试负责人依据本轮实测证据汇总(未启用分布式成员会签),不代写任何成员未产出之结论


一、历史审查记录(阶段 -1 记忆召回)

项 内容
上次审查 第 117 轮(2026-11-10 06:23,已提交 d52faa966);其后 06:27、07:10 两轮为零漂移确认轮(未提交,本轮已并入对账)
历史遗留缺口 B-69(/api/mind/** 鉴权,第 18 轮)、B-65/B-74/B-82(langgraph LLM 凭据/checkpointer,第 17 轮)、B-36(根级黑盒 16 红)、B-90(chat 挂起观察)、B-15(tests/qna 收集期错误)、B-114(HL-05 覆盖)、G-11(443 → 502)
本次是否改善 G-11 已闭环(https://cfc.iwintrue.com/admin 由 502 → 302,跟随后 200);B-116(189 派发)保持闭环(本轮再次实派 5/5);测试通过/失败计数与 R117 严格零漂移;B-69/B-65/B-74/B-82/B-36/B-90 均未修(轮次计数延续)
本次新发现 B-118-New:同一日内第三次出现「Maven 本机缺失」误判(07:10 轮据此放弃后端全量),实测 D:\maven\apache-maven-3.6.1 与 D:\jdk1.8.0_25 均在且可跑 → 后端全量本轮实跑成功 58:14
声明 历史结论仅作对照;本轮所有数字均为重新取证(后端全量 clean test、四个前端套件、双节点派发、线上匿名鉴权探针、HTTPS/HTTP 可达性)

二、项目画像(阶段 0 · 本轮增量为「环境能力核实」)

模块 技术栈 端口 本轮可测范围与关键路径
cfc-backend Spring Boot 2.7.18 + MyBatis-Plus(JDK8) 9082(本机 DOWN) 339 测试类 / 2854 @Test;DatabaseInitializer 迁移入口;JwtInterceptor 8 公开路径白名单 + LOGIN_REQUIRED_PATHS;AI 走 AiGateway
cfc-frontend uni-app 小程序 (Vue2) — 26 套 Jest(utils/store/components/pages/specs)
cfc-web Vue2 + Element UI 管理端 8082 17 套 Jest / 116 例;语句覆盖 10.11%
cfc-langgraph Python FastAPI + LangGraph + ChromaDB 9000(@251,/health → {"status":"ok"}) 44 例 pytest 于 251 实派执行(.venv py3.11,68.9s)

环境能力实测(本轮用于纠正历史误判)

能力 实测 结论
D:\maven\apache-maven-3.6.1\bin\mvn 3.6.1 / Java 1.8.0_25 可执行 可用(07:10 轮「mvn 本机缺失」判定不成立)
D:\jdk1.8.0_25 存在,Maven 默认运行时指向它 可用
192.168.16.251:9000 200 /health langgraph 服务在线
192.168.16.251:4096 200(Basic 鉴权通过) shell 直连派发可用
192.168.16.189:4090 200(Basic 鉴权通过) 浏览器节点可派发
http/https cfc.iwintrue.com HTTP 302→200;HTTPS 302(此前 502) 双协议可用,G-11 闭环
127.0.0.1:9082 000 本机后端未起(按规则不擅自启停)

三、20 类测试覆盖矩阵(三态:已发现 / 未发现 / 待核实)

# 类型 状态 证据(本轮实测 / 基线引用)
1 单元测试(cfc-web) 已发现 本轮回跑 17 套 / 116 例全绿(100.3s)
2 单元测试(cfc-frontend) 已发现 本轮回跑 26 套 / 426(423 过 / 3 跳,31.7s)
3 组件测试 已发现 Families.* / ProductPicker / signature.canvas2d / recommendation.* spec
4 测试覆盖率 已发现 cfc-web 语句 10.11% / 分支 6.12% / 函数 7.51% / 行 9.98%(与 R117 逐位一致);后端无 jacoco
5 变异测试 未发现 无 pitest / mutation 配置
6 集成测试 已发现 com.etotem.cfc.integration.** 本轮全量执行(含 15 红类中的 5 类)
7 契约测试 已发现 本轮实跑:DimensionRegistryMapContractTest 3 红 / UserServiceWechatLoginContractTest 1 红 / TeamProfitCronContractTest 1 红 / SleepConfigTagsMechanismContractTest 10/10 绿 / JwtInterceptorLoginRequiredPathTest 绿
8 接口 API 测试(活服务器) 已发现 shop-sort-api 4/4、health-contract 13/13 本轮实跑;匿名鉴权探针 3 端点
9 系统/端到端 E2E 已发现 本机 live 15/15(admin 5 + frontend 6 + shop 4)+ 189 复验 5/5
10 验收 UAT / BDD 未发现 无 UAT 记录、无 .feature
11 冒烟测试 已发现 ci-smoke.spec.js + _automation_reachability.cjs
12 回归测试 已发现 全量 3500 例可复现,与 R117 严格零漂移
13 探索性测试 未发现 无 charter / 会话记录
14 性能测试 未授权未执行 需联网压测(execute 档);后端 58:14 仅作时延观察
15 可靠性测试 待核实 无故障注入;B-90 chat 未复证(本轮未打 chat)
16 安全测试(SAST/DAST/SCA) 未发现 仅鉴权契约 + 匿名探针;无 SAST/DAST/依赖扫描工具
17 兼容性测试 未发现 仅 chromium
18 可用性测试 未发现 无可用性任务/量表
19 无障碍测试 未发现 无 axe 扫描
20 QA 流程 / 度量 / 代码审查 部分已发现 全量 98.06%;CI 仅 test-compile + 前端 jest;@Mapping 规范偏离 8 处 @GetMapping 未变

「未发现」为扫描未命中,不等于项目没做;扫描截断/环境缺失一律标「待核实」。


四、测试方案与执行档

项 内容
目标 ① 全部用例通过 ② SRS/场景覆盖可量化 ③ 变更即更新用例
范围(本轮实跑) 后端全量 mvn -o -B clean test(339 类 / 2864 例)、cfc-web Jest+覆盖率、cfc-frontend Jest、根级 tests/jest.config.js 黑盒、langgraph pytest@251 实派、浏览器 E2E 本机 live+health、浏览器 E2E@189 派发
排除项 dan/danshop(独立商城);tests/qna(收集期 No module src.qna 中断整轮,B-15);需联网命令(依赖漏洞/压测/DAST);本机 9082 未起故不走本地活服务器套件
执行档 review:不联网装依赖、不启停服务、不改生产代码
授权 内网 E2E(/admin+/frontend)、双节点派发、按 SRS 变更写用例已授权;execute 档(压测/DAST)未申请,未执行
后端命令 JAVA_HOME=D:\jdk1.8.0_25 + D:\maven\apache-maven-3.6.1\bin\mvn -o -B -f cfc-backend/pom.xml clean test(58:14,BUILD FAILURE 仅由测试红导致)

五、执行结果(本轮实测)

5.1 总账

套件 用例 通过 红 Skip 通过率 耗时
后端 JUnit(339 类) 2864 2826 34(31F+3E) 4 98.67% 58:14
前端 Jest(26 套) 426 423 0 3 100%(剔 skip) 31.7s
管理端 Jest(17 套) 116 116 0 0 100% 100.3s
根级黑盒 Jest(3 套) 23 7 16 0 30.43% 43.0s
langgraph pytest@251 43(本口径)/ 44(含 test_chat) 32 11 / 12 0 74.42% 68.9s
浏览器 E2E 本机(live 15 + health 13) 28 28 0 0 100% 2.6m + 7.1s
浏览器 E2E@189(admin-desktop,重复覆盖) 5 5 0 0 100% 1.3m
全量(主口径,去 189 重复) 3500 3432 61 7 98.06% —

恒等式核验:@Test 2854 − 类级 @Disabled 4 + 参数化/早退净增 14 = 2864,误差 0;grep -rl @Test 测试源类 339 = surefire XML 339 → 沉默 0、完整性 339/339。 langgraph 口径说明:R117 将 tests/test_chat.py 列入排除项(B-84 无超时不收敛)。本轮按「全量」跑,收集 44 例(+1 = test_chat_endpoint),红例 12(+1 同源 assert 500 == 200)。同口径(剔 test_chat)为 43/32/11,与 R117 严格一致。

5.2 与 R117 基线对账

指标 R117(06:23) 本轮 R118 Δ
后端 类/例/通过 339 / 2864 / 2826 339 / 2864 / 2826 0 / 0 / 0
后端红例(31F+3E) 34(15 类) 34(15 类) 0
红类集合差集 — 空 0
前端 Jest 423/426(3 跳) 423/426(3 跳) 0
管理端 Jest 116/116 116/116 0
管理端覆盖率 10.11/6.12/7.51/9.98% 逐位一致 0
根级黑盒 7/23(16 红) 7/23(16 红) 0
langgraph(同口径) 32/43(11 红) 32/43(11 红) 0
浏览器 E2E 28/28 28/28 0
全量(主口径) 3500/3432(98.06%) 3500/3432(98.06%) 0

Δ 归因:源码/SRS/用例零变更 + 全部套件本轮重跑 → 逐项零漂移,红例集合差集为空。

5.3 34 红例三层归因(test_attr.py 预分桶:assert 19 / mockito 8 / npe_test 2 / other 5;环境红 0)

层 类数 例数 明细
A 测试装置 4 16 CfCommissionServiceSettleTest 8(Mockito WantedButNotInvoked)、ArticleAutoTagServiceTest 4(verify 次数口径)、GrowthRecordSyncFlowTest 3(2 NPE 测试帧 + 1 assert)、TaskPlanServiceTest 1
B 产品缺陷 6 14 EnergySystemFlowTest 6(5×expected 200 but 500 + 1 码值 500 vs 5001)、OrchestrationEngineTest 1、OrchestrationIntegrationTest 1、MembershipPaySwitchTest 1(configMissing 未返 null)、PaymentServiceORDRoutingTest 1(未知前缀路由 FAIL)、UserServiceWechatLogin* 2(token 为 null)、TeamProfitCronContractTest 1、MindFortuneControllerTest 1(B-69 同源)
C 数据/环境 1 1 GuideModuleIntegrationTest.testGuidePackageCreationFlow → DataIntegrityViolation(platform_fee 列截断,第 11 轮延续)
契约待裁决 1 3 DimensionRegistryMapContractTest(map_unknownLegacy/map_emptyLegacy 期望 data=null 实返原值;map_missingLegacy 期望 400 实返 200)

反证:AdminFamilyOverviewControllerTest(历史 B-13 环境红 3 例)本轮 3/3 绿,env: 0 → 本轮无环境红,B-13 从「每轮必红」转为「潜在风险未复现」。

5.4 节点派发实测(用户指令域)

节点 任务 结果
192.168.16.251 langgraph pytest(shell 直连 POST /api/shell?location[directory]=/sc-data/cfc/cfc-langgraph) ✅ 实派取回:44 例 / 32 过 / 12 红,68.9s;251 检出 cac0d7f44
192.168.16.189 admin-desktop E2E(Playwright,workers=1) ✅ 实派取回:TC-A-U01~U05 5/5 passed,1.3m;189 检出 cac0d7f44
本机(204) live(admin 5 + frontend 6 + shop 4)+ health 13 ✅ 15/15 + 13/13,单节点串行未并发

5.5 线上鉴权探针(B-69 第 18 轮复证,匿名 POST)

端点 HTTP body 判定
/api/mind/fortune 200 {"code":400,"message":"用户不存在"} ❌ 未拦截,应为 401
/api/mind/daily 404 端点不存在 历轮「多端点 200」口径需再收窄
/api/energy/overview(对照) 401 {"code":401,"message":"请先登录"} ✅ 拦截正确

结论:JwtInterceptor.LOGIN_REQUIRED_PATHS 当前不含 /api/mind/(已核 JwtInterceptor.java:88-130),O-21 裁决(4 条白名单移入 LOGIN_REQUIRED_PATHS + 去 MemorySaver)尚未落码。


六、SRS / 场景变更闸门

  • git diff --stat dc65660e3..HEAD -- docs/superpowers/specs tests/test-cases tests/user-scenarios → 空;
  • git diff --stat HEAD..origin/cfclub(快进前)→ 仅 cfc-web/package*.json、.last_build_commit、CHANGELOG*、docs/tdd/orchestration/report-dev-*.md;
  • specs 200 份、tests/test-cases 14 份、tests/user-scenarios 11 份,零变更。

结论:本次无 SRS/场景/接口变更 → 按规则跳过用例编写(避免仓库抖动)。 度量(test_report_metrics.py --scene):场景 215、TC 映射 155(72.1%)、spec 字面引用 32(14.9%);TC 812、异常流 483(59.5%)、TC 资产锚点 86(10.6%)。


七、覆盖缺口清单

缺口 类型 现状 风险 建议测试设计 优先级 闭环方式
G-1 覆盖缺口 TC 锚点 10.6%(86/812) 设计有用例、脚本无绑定,「场景→用例→资产」不可追 资产首行加 TC-xxx 锚点;先补异常流 483 条 P1 锚点率 ≥40% 纳入门禁
G-2 覆盖缺口 HL-05(产品多选一 +1464 行)仍无契约/E2E 用例 新特性零回归网 补 ProductSelectionFlow 契约 + Playwright 主流程 P1 定向套件全绿入台账
G-3 测试装置 A 类 16 例(Mockito/verify 口径/NPE) 噪音掩盖真实回归 见 P-1 P1 定向复跑 0 红 → 红例 34→18
G-4 黑盒失效 根级 23 例 16 红(B-36 第 21 轮) 接口层长期无有效黑盒网 注入 CFC_API_TOKEN + seed 账号,globalSetup 自动登录 P1 0 红或显式 skip
G-5 工具缺口 无覆盖率(java)/变异/压测/SAST/SCA 内部质量不可量化 jacoco+pitest 入 pom;k6/zap 需 execute 授权 P2 产物入库并纳门禁
G-6 流程缺口 CI 仅 mvn test-compile + 前端 jest 2864 例不在门禁内,绿灯≠可发布 CI 增 mvn -o -B test -DskipTests=false + surefire xml >0 断言 P1 pipeline 出现 Tests run
G-7 规范缺口 @GetMapping 8 处(违 AGENTS.md) 契约口径分裂 改 POST 或修订规范 P2 grep 归零
G-8 资产缺口 @Disabled 4 例 + tests/qna 收集期错误 静默失效 修或删 P2 收集期 0 error
G-9 离线约束 cfc-frontend api.test.js 对公网 cfc.etotem.com.cn 发真实 POST 违离线约束 改 axios-mock-adapter / mock uni.request P2 零外联且仍绿
G-10 派发缺口 189 / 251 均已实派取回 — — ✅ shell 直连 v2 固化
G-11 基础设施 443 → 502 已恢复 302/200 — — ✅ 闭环 观测 2 轮稳定即销号
G-12 度量缺口 「Maven/JDK 可用性」每轮靠人工记忆判定,已出现 3 次误判 直接导致整模块套件被跳过(07:10 轮) 把 env capability 探针固化为脚本并入库,报告头部引用其输出 P1 连续 3 轮无「能力误判」

八、域结论表

审查维度 负责专家 结论 关键证据
单元·组件级(后端 339 类) 苏雅 不通过(有条件) 2864 例 98.67%,34 红(A16/B14/C1/契约3)
单元·组件级(前端 / 管理端) 苏雅 通过 426(0 红 / 3 跳)、116/116;管理端覆盖率 10.11%
集成·接口级 柯砚 不通过 集成包 5 红类;契约 3 例口径未决(P-3);EnergySystemFlowTest 5×500
系统·E2E 白樾 通过 本机 28/28 + 189 复验 5/5;UAT/BDD 未实测
测试保障级 闻朔 通过(部分) 冒烟/回归资产在且可复现;探索性无;根级黑盒 16 红
性能·可靠性 骆骋 未实测 无压测工具/未授权联网;58:14 仅时延观察
安全 关屿 不通过 B-69 第 18 轮 live 复证:匿名 /api/mind/fortune → 200;O-21 未落码;SAST/DAST 无工具
兼容·体验·无障碍 阮清 未实测 仅 chromium;无 axe/可用性任务
流程·度量·代码审查 何序 不通过 CI 无后端全量;TC 锚点 10.6%;env 能力误判 3 次(B-118)

九、五要素问题清单

P-1(P1 · A 类 · 16 例)测试装置缺陷致红,掩盖真实回归

① 问题描述:CfCommissionServiceSettleTest 8 例失败、ArticleAutoTagServiceTest 4 例、GrowthRecordSyncFlowTest 3 例、TaskPlanServiceTest 1 例,均为断言/桩口径与生产不一致,非生产缺陷。 ② 测试 bug 点:CfCommissionServiceSettleTest#settle_F03a发放_自动创建感恩记录 等 8 例(WantedButNotInvoked);ArticleAutoTagServiceTest#toggleStatus_发布且标签为空_调度自动打标 等 4 例;GrowthRecordSyncFlowTest#parentUploadsHealthReport_Success:204、#parentCreatesRecordWithOrder_Success:164(NPE)、#parentCreatesRecordWithoutChild_Fails:130;TaskPlanServiceTest 1 例。 ③ 最优修改方案:CfCommission 8 例补档位查询桩;ArticleAutoTag 按生产口径改 verify(executor, times(n));GrowthRecordSync 在 @BeforeEach 补齐 mock;TaskPlan 对齐返回值口径。 ④ 修改目的:让 34 红例直接反映产品/契约缺陷,恢复红例的信号价值。 ⑤ 能否闭环:可。定向复跑 4 类 0 红 → 全量红例 34 → ≤18,G2 明显改善。

P-2(P0 · B 类 · 14 例)产品缺陷 / 契约行为不一致

① 问题描述:EnergySystemFlowTest 5 例 expected 200 but 500 + 1 例码值 500 vs 5001;编排 2 例;会员支付 1 例;支付路由 1 例;微信登录 2 例 token 为 null;分佣冷却 1 例;MindFortune 1 例。 ② 测试 bug 点:EnergySystemFlowTest#parentQueriesEnergyLogs_Success:246、#parentGetsEnergyOverview_Success:282、#taskCompletionGrantsEnergy_Success:150、#childExchangesWishWithEnergy_Success:182、#childExchangesWithInsufficientEnergy_Fails:212、#userWithoutFamily_Fails:116;OrchestrationEngineTest:176、OrchestrationIntegrationTest:105;MembershipPaySwitchTest:209;PaymentServiceORDRoutingTest:83;UserServiceWechatLoginContractTest:110、UserServiceWechatLoginTest;TeamProfitCronContractTest#refundWithinCooling_cancelAllRecordsFundsNotPaid。 ③ 最优修改方案:EnergySystem 取 500 堆栈最内层(五维能量主链路);Orchestration 对齐 task.status 写入口径;MembershipPay 修 configMissing → null 分支;PaymentORD 补未知前缀路由;WechatLogin 核 token 签发;TeamProfitCron 补冷却期退款取消。 ④ 修改目的:消除五维能量 / 编排 / 支付 / 登录 / 分佣主链路的真实缺陷。 ⑤ 能否闭环:可,但需研发逐类复现。闭环判据:每类定向复跑 0 红 + 全量红例下降;EnergySystem 附根因说明。

P-3(P1 · 契约 · 3 例)DimensionRegistryMap 契约口径未决(第 8 轮挂账)

① 问题描述:map_unknownLegacy_returnsNullData:76、map_emptyLegacy_returnsNullData:85 期望 data=null 实返原值;map_missingLegacy_returnsBadRequest:92 期望 400 实返 200。 ② 测试 bug 点:DimensionRegistryMapContractTest 上述 3 例。 ③ 最优修改方案:主理人裁定「未知码/空码映射为 null、缺码返回 400」并同步改契约或实现(二选一,不得各说一套)。 ④ 修改目的:终止测试与实现对同一契约长期分歧,避免契约套件永红。 ⑤ 能否闭环:可。裁定落码后 3 例转绿并记录裁定条款。

P-4(P0 · 安全 · 第 18 轮)/api/mind/** 鉴权缺口

① 问题描述:线上匿名 POST /api/mind/fortune → HTTP 200 + {"code":400,"message":"用户不存在"};同源单测 MindFortuneControllerTest#testGetTodayFortuneWithoutAuth:23 期望 401 实得 400。对照 /api/energy/overview 匿名 → 401,证明拦截器机制可用、清单缺项。 ② 测试 bug 点:MindFortuneControllerTest#testGetTodayFortuneWithoutAuth。 ③ 最优修改方案:按 O-21 裁决,将 /api/mind/ 等 4 条白名单从「公开」移入 JwtInterceptor.LOGIN_REQUIRED_PATHS(JwtInterceptor.java:88-130 当前无 /api/mind/ 条目),并去掉 MemorySaver。 ④ 修改目的:关闭匿名可达的用户私有数据面,满足「8 公开路径之外一律鉴权」的基线约束。 ⑤ 能否闭环:可。闭环判据:匿名探针 3 端点全 401 + MindFortuneControllerTest 转绿 + JwtInterceptorLoginRequiredPathTest 参数化覆盖新增条目仍全绿。

P-5(P2 · 流程 · 第 3 次复现)环境能力缺「可执行探针」,靠人工记忆导致套件被跳过

① 问题描述:07:10 轮报告以「后端 mvn 本机缺失不可跑」为由跳过 339 类全量;本轮实测 D:\maven\apache-maven-3.6.1(3.6.1 + JDK 1.8.0_25)可执行,58:14 跑完全量。同类误判在 R94、R112 已各纠正一次,本次为第 3 次。 ② 测试 bug 点:非代码缺陷,属度量流程缺口;证据 _r118/backend.log 首行 Apache Maven 3.6.1 ... Java version: 1.8.0_25。 ③ 最优修改方案:把 mvn -v / node -v / 251·189·443 探活固化为 docs/tdd/tools/env_probe.py(或 .cjs,避开 .gitignore:70 *.py,见 B-33),报告「执行能力」表直接引用其输出,人工不得手写「缺失」结论。 ④ 修改目的:杜绝「环境缺失」被用作跳过全量的理由,保证每轮覆盖可比。 ⑤ 能否闭环:可。闭合判据:连续 3 轮报告的能力表均来自脚本输出、且无「能力误判」记录。

P-6(P1 · 环境/凭据 · 第 18 轮)langgraph 251 侧 LLM 凭据无效 + checkpointer 缺失

① 问题描述:251 实派 44 例中 12 红:test_analyze 2 例 assert 500 == 200、test_chat 1 例同源、test_auto_tag 5 例(LLM 401 → prompt_service 加载失败)、test_intent 4 例(401 后静默降级 Intent.CHAT)。 ② 测试 bug 点:tests/test_analyze.py::test_analyze_endpoint、::test_analyze_missing_report;tests/test_chat.py::test_chat_endpoint;tests/test_auto_tag.py 5 例;tests/test_intent.py::test_classify_analysis|recommend|mind|health。 ③ 最优修改方案:为 251 注入有效 LLM_API_KEY(或对 LLM client 全 mock);analyze 图补 thread_id/checkpointer 配置;intent_classifier 401 时应抛错而非静默降级。 ④ 修改目的:让「分派 251 测 langgraph」产出有效信号,而非稳定 11~12 红噪声。 ⑤ 能否闭环:可。闭合判据:251 实派 44 例 0 红(或全 mock 后 0 红)。


十、门禁结论

门禁 阈值 本轮实测 判定
G1 全量通过率 ≥98% 98.06%(后端 98.67%) ✅
G2 红例数 0 61(后端 34 + 根级 16 + langgraph 11) ❌
G3 前端 jest 全绿 423/426(3 skip,0 红) ✅
G4 管理端 jest 全绿 116/116 ✅
G5 后端编译完整性 0 错、无沉默 编译 0 错;339/339 XML、沉默 0;恒等式误差 0 ✅
G6 浏览器 E2E 全绿 28/28(本机 live 15 + health 13)+ 189 复验 5/5 ✅
G7 langgraph 0 红 32/43(11 红,251 实派) ❌
G8 鉴权契约 全绿 health 13/13 + /api/mind 1 红 + 线上匿名 200 ❌
G9 SRS 锚点 ≥40% 10.6%(86/812) ❌
G10 节点派发 双节点可派 251 ✅(44 例取回)/ 189 ✅(5/5 取回) ✅
G11 CI 接入 含后端全量 仅 test-compile + 前端 jest ❌
G12 测试资产入库 变更已入库 本轮报告/台账/阻塞更新入库 ✅

综合结论:不通过(有条件)

  • 阻断项:G2(61 红)、G7(langgraph 11 红)、G8(鉴权缺口 + O-21 未落码)、G9(锚点 10.6%)、G11(CI 无后端全量)。
  • 达标项:G1 98.06%、G3、G4、G5、G6、G10(双节点实派首次稳定两轮)、G12。
  • 复评条件:① P-4 落码(O-21);② P-2 中 EnergySystem/MembershipPay/PaymentORD/WechatLogin 四类定向复跑 0 红;③ CI 出现后端全量作业。三项达成可将结论提升为「有条件通过」。
  • 与 R117 关系:测试结果严格零漂移(逐项逐例一致,红类集合差集为空);本轮实质变化在基础设施与流程侧:HTTPS 443 恢复(G-11 闭环)、251/189 双节点派发双双稳定、以及 B-118 环境能力误判的再次纠偏。

附:本轮产出物

文件 内容
docs/tdd/orchestration/report-test-2026-11-10-R118.md 本报告
docs/tdd/test/automation-run-2026-11-10-R118.md 执行台账(命令/耗时/原始数字)
docs/tdd/test/blockers.md 追加 B-118-New(env 能力误判)、B-119-New(langgraph 口径与 +1 例)、更新 B-69(第 18 轮 live 复证)/B-13(环境红 0)/B-36(第 21 轮)/G-11 闭环
docs/tdd/研发交接通知-2026-11-10-第118轮.md 研发交接通知(P-2/P-4/P-6 优先)