本汇报按《测试负责人工作汇报模板》填写。R187 为独立复核轮:基线
cfclub @ c0e3028bf(=R186,08:08 已推;本轮 08:28 复跑,窗口内 零新提交,git fetch核验 HEAD 仍c0e3028bf)。 自 R186 以来零源码 / 零 SRS / 零场景 / 零接口 / 零用例文档变更(G12 ✅,未触发用例编写闸门)。 拓扑(用户本轮指令):浏览器经cfc.iwintrue.com/admin(后台) +/frontend(小程序);189 + 本机为浏览器节点(每节点单任务,串行);langgraph 部署 251 应派发该节点。 ★ 结果变化:浏览器frontend-mobile由 R186 同节点 6/6 → 4/6(TC-F-U02 / TC-F-U05 游客态核心页内容加载超时),全站可比 3987 例 / 3906 过 = 98.0%(剔 skip 98.59%),红 54→56。按用户规则「测试结果有变化时提交远程 + 通知研发」本轮触发推送 + 通知(B-185 待研发确认)。
| 项目 | 内容 |
|---|---|
| 汇报人 | 测试负责人(自动化测试闭环任务 / 软件测试专家团·陆谨) |
| 汇报周期 | 2026年11月13日 08:08 ~ 08:30(第 187 轮) |
| 基线 | cfclub @ c0e3028bf(=R186,08:08 已推;窗口零新提交) |
| 窗口内需求变更 | 零 — SRS/场景/接口文档零变更(G12 ✅,用例零新增) |
| 窗口内源码变更 | 零 — R186 推送后零提交,src 命中 0 |
| 负责模块/单元 | 全站:管理端 admin@本机 · 小程序 H5 fe@本机 · cfc-langgraph@251(派发门控) · cfc-web/cfc-frontend Jest · 后端红类定向(沿用) |
| 指标 | 数量 | 填写说明 |
|---|---|---|
| 本轮新增测试用例数* | 0 个 | SRS/场景窗口零变更,未触发用例编写闸门(G12 ✅) |
| 本轮验证执行测试数* | 4093 个 | 后端 JUnit 3111(同源码沿用 R186 + 定向 103 例承袭)+ 前端 Jest 624 + 管理端 116 + langgraph 51(承袭 R186,派发门控未重验)+ 浏览器 11(admin 5 + frontend 6,本轮实测)+ 线上 API 32(承袭)+ 根级 23(承袭) |
| 用例通过率 | 98.0%(3906/3987 可比口径;剔除 skip 98.59%) | 红 56 / 跳 25,环比 前端 −2 过 +2 红(详见 §四、§八) |
| 用例台账 | 承袭 R186:discovery.md 365 控制器 / 1976 handler / 覆盖 456 |
inventory.md 跨源 4434;本轮未重扫(零源码变更,口径不变) |
| 指标 | 数量 | 填写说明 |
|---|---|---|
| 分派任务数* | 2 个(本机浏览器节点) | R187-1 → 本机 admin-desktop(cfc.iwintrue.com/admin,5/5 EXIT=0,~1.3m);R187-2 → 本机 frontend-mobile(/frontend,4/6,2 超时失败) |
| 恢复智能体会话数* | 0 个 | 251 opencode(:4096)= 401 鉴权门控,langgraph 派发未落地(B-91/B-55 持续),沿用 R186 权威 45/51 |
| 当前在用会话数 | 0 个 | 全部结束;无远程 agent 派发 |
| 会话标签 | 会话 ID/地址 | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
|---|---|---|---|---|---|---|
local-admin |
本机 Playwright | done | admin-desktop UI E2E | 已完成(~1.3m) | d:\cfc\tests |
5/5 EXIT=0;TC-A-U01~U05 全过 |
local-frontend |
本机 Playwright | done | frontend-mobile UI E2E | 已完成(~2.7m) | d:\cfc\tests |
4/6;TC-F-U02/U05 游客态内容加载超时(隔离复跑 2/2 复现) |
local-jest |
本机进程 | done | cfc-web + cfc-frontend | 已完成 | cfc-web / cfc-frontend |
web 116/116(21s)、fe 609/3/12(24s) |
local-backend |
本机进程 | done(沿用) | B-184-1 未修复 → 全量沿用 + 定向承袭 | — | d:\cfc\cfc-backend |
同源码沿用 R186 全量 3111/3079/28 + 定向 103 例承袭 |
remote-251 |
192.168.16.251:4096 | gated | langgraph pytest 派发 | — | /sc-data/cfc/cfc-langgraph |
:4096=401 鉴权门控,派发不可达 → 承袭 R186 45/51(零源码变更) |
| 指标 | 数量 | 填写说明 |
|---|---|---|
| 新测试发现问题数* | 1 个 | B-185(新增·待研发确认):frontend-mobile 游客态核心页内容加载超时(TC-F-U02/U05),R186 同节点 6/6 → 本轮 4/6 |
| 已解决测试相关问题数* | 0 个 | 各承袭项维持 |
| 待解决测试相关问题数 | P0×1 / P1×7 / P2×4 | ① B-142-2 langgraph 上游 LLM 不可达(P0,红 6 承袭);② B-152-1/2 CI 清单双向失真(P0/P1);③ B-184-1 全量耗时劣化 >2h(P1,结构性);④ B-156-1 DDL 缺陷(P1);⑤ B-162-1 3 类未入库(P1);⑥ B-185 游客态 H5 内容超时(P1,新增·待确认);⑦ S-cfc-176 幂等 1F + S-cfc-178 4F(P1);⑧ B-177-1 pytest 不退出(P1,本轮未复现);⑨ B-178-1 反射装置(P2);⑩ B-95 204 节点失联(P2);⑪ B-170-1 迁移语法错(P2) |
| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
|---|---|---|---|---|---|---|
| (收尾)R187 commit | 全站巡检 R187 + B-185 登记 | 汇报 | 报告 + blockers + 研发通知 | cfclub | ✅ 本轮推送 | frontend 6/6→4/6 偏差(待研发确认)→ 提交并通知研发 |
| 阶段 | 键数 | 备注 |
|---|---|---|
| UNTRACKED | 0 | 窗口零新增规格 |
| RED | 11 | S-cfc-168 契约 1 例 + S-cfc-178 契约 4 例 + 其他预期 RED 6 例 |
| YELLOW | 72 | 研发负责人口径 |
| GREEN | 8 | 承袭 |
| DONE | 15 | 承袭 |
| 合计 | 106 | 研发侧状态账本口径 |
| 数据源 | 读取键数 | 是否正常 | 备注 |
|---|---|---|---|
| 需求侧(⏳ wish) | 0 | 正常 | SRS 目标池未启用 |
| 契约常量(contract) | 多组 | 正常 | 契约测试类跨轮核验正常 |
| 测试用例引用(test_case_map) | 308 唯一 TC | 正常 | 台账扫描正常 |
| 执行结果回填(case_results) | — | 正常 | 侧车未重写 |
| 项 | 内容 |
|---|---|
| 上次审查 | R186(2026-11-13 08:08,提交 c0e3028bf),结论「不通过(有条件;G1 转 ✅)」,全站 3987/3908(98.02%),langgraph 45/51,浏览器 28/28+2跳,fe 609/3/12,web 116/116,根级 7/16,API 25/7/0 |
| 遗留缺口 | 后端存量红 28 · langgraph 环境红 6 · 根级 16 红 · CI 漏拦 7/陈旧 26 · 3 未入库测试 · B-177-1 · B-178-1 · B-184-1 后端全量耗时劣化 >2h(结构性) |
| 本次是否改善 | ① 变化(负向待确认):frontend-mobile 6/6 → 4/6(TC-F-U02/U05 游客态内容加载超时,隔离复跑 2/2 复现);② 持平:admin 5/5、两套 Jest、langgraph/后端/API/根级逐项零漂移(零源码变更);③ B-177-1 本轮未复现 |
| 教训应用 | ① 前端 3 红每轮实跑确认为预期 RED(非新红);② 浏览器节点串行(admin→frontend 严格串行);③ 失败用例隔离复跑 2 轮确认非 flaky 再判偏差;④ 251 派发门控(:4096=401)沿用 R186 权威值而非编造 |
本次为该对象第 187 次审查,有历史记录;上述内容仅作对照,本轮结论全部来自本轮实测 + 显式标注的同源码沿用。
| 维度 | 内容 |
|---|---|
| 业务定位 | 家庭教育成长平台(五维能量 身/心/智/行/富):小程序家长端 + 规划师端 + 管理后台 + 独立商城 |
| 技术栈 | Spring Boot 2.7.18 + MyBatis-Plus + Java 8(9082)/ uni-app 微信小程序(Vue2)/ Vue2 + Element UI(8082)/ FastAPI + LangGraph + ChromaDB(9000@251) |
| 模块结构 | cfc-backend(365 控制器)· cfc-frontend(42 测试文件)· cfc-web(17 套件)· cfc-langgraph(51 例)· tests(89 e2e + 5 e2e-live) |
| 关键路径 | 登录/家庭/成员 → 五维能量 → 任务/成长记录 → 健康报告上传解析 → 测评订单 → 商城/支付 → AI 对话(LangGraph) |
| 测试现状 | 后端 368 类 3111 例(同源码沿用)+ 前端 624 + 管理端 116 + 浏览器 11(本轮实测)+ langgraph 51(承袭)+ 线上 API 32 + 根级 23 |
| 质量目标 | 全量用例全绿、覆盖 SRS 与用户场景(含异常流)、浏览器双节点可复现、结果变更即提交并通知研发 |
| 风险点 | ① 后端红 28 → 与非环境红共用 G2 口径 · ② B-184-1 全量耗时劣化持续(结构性,未修) · ③ langgraph 上游双因(401 key + 429 配额)红 6 · ④ CI 排除清单失真 · ⑤ 根级 16 红(9082 未起)· ⑥ B-185 游客态 H5 内容加载超时(新增·待确认) |
| 待核实项 | nutrition_age_dosage DDL 修复状态(B-156-1)· S-cfc-176 幂等/S-cfc-178 实现排期 · 251 上游凭据与配额 · 204 节点恢复(B-95)· 后端 368 类全量因 B-184-1 未经本轮独立复现 · B-185 游客态 H5 端点超时根因(服务端/CORS/前端回归,待研发确认) |
| # | 测试类型 | 三态 | 证据(本轮实测) |
|---|---|---|---|
| 1 | 单元测试 | ✅ 已发现 | 后端 368 类 3111 例(同源码沿用);前端 42 文件 624 例(本轮实测 609 过) |
| 2 | 测试覆盖率 | ⚠️ 部分 | 管理端 Jest 覆盖率可产出;后端未开 jacoco(未授权改 pom) |
| 3 | 变异测试 | ❌ 未发现 | 全仓无 pitest/mutation 配置 |
| 4 | 集成测试 | ✅ 已发现 | *IntegrationTest(GuideModule/EnergySystemFlow 等)承袭定向红一致 |
| 5 | 契约测试 | ✅ 已发现 | 契约类 20+;S-cfc-176 幂等 1F / S-cfc-178 4F 预期 RED 维持;TaskReview 2F(B-178-1) |
| 6 | 接口 API 测试 | ✅ 已发现 | 线上 API 32 例(承袭 R186:25 过 / 7 跳 / 0 红) |
| 7 | 系统/端到端 | ✅ 已发现 | 浏览器 11 例(本轮实测):admin 5/5 + frontend 4/6(U02/U05 超时) |
| 8 | 验收 UAT | ⚠️ 部分 | cross-role-e2e.md 双角色验收场景有台账;本轮无人工 UAT |
| 9 | BDD 规格 | ⚠️ 部分 | spec 201 份含 Given/When/Then;无 cucumber 执行器 |
| 10 | 冒烟测试 | ✅ 已发现 | api-smoke.spec.js 承袭全绿 |
| 11 | 回归测试 | ✅ 已发现 | 7 套件全量回归 + 后端红类定向承袭;存量红集合逐例一致 |
| 12 | 探索性测试 | ✅ 已发现 | 本轮现场探索:frontend U02/U05 超时已定位为游客态内容加载失败(B-185);无新功能缺陷 |
| 13 | 性能测试 | ⚠️ 部分 | nonfunc-perf-compat 承袭;压测未授权;后端全量实测耗时劣化持续(B-184-1) |
| 14 | 可靠性测试 | ⚠️ 部分 | 上游 LLM 401/429 弱故障注入证据;无长稳/混沌测试 |
| 15 | 安全测试(SAST/DAST) | ⚠️ 部分 | nonfunc-security 全绿;匿名 6 端点 6/6=401(B-142-1 维持);SAST 未授权 |
| 16 | 依赖漏洞扫描 | ❌ 未发现 | 无 npm audit/dependency-check 门禁,属联网档未授权 |
| 17 | 兼容性测试 | ⚠️ 部分 | Playwright frontend-mobile 移动视口(本轮 4/6,U02/U05 失败);无多浏览器矩阵 |
| 18 | 可用性测试 | ⚠️ 部分 | 页面可渲染/导航/TabBar 断言覆盖;无真实用户可用性测试 |
| 19 | 无障碍测试 | ❌ 未发现 | 无 axe-core 等 a11y 断言 |
| 20 | QA 流程与质量指标 | ⚠️ 部分 | 本报告 + blockers + 度量可复现;G9 锚点 20.1%;G11 CI 失真 |
| 套件 | 执行 | 通过 | 红 | 跳 | 耗时 | 判定 |
|---|---|---|---|---|---|---|
| 后端 JUnit 全量 | 3111 | 3079 | 28 | 4 | 沿用 | ⚠️ 同源码沿用 R186(B-184-1 结构性未修;git diff 证 src 零变更) |
| 后端 14 红类定向 | 103 | 73 | 29(23F+6E) | 1 | 承袭 | ⚠️ 承袭 R186 定向实测(零源码变更,逐例一致) |
| 前端 Jest(本轮实测) | 624 | 609 | 3 | 12 | 24s | 3 全预期 RED(S-cfc-132/133 + AC-2 RED-A7) |
| 管理端 Jest(本轮实测) | 116 | 116 | 0 | 0 | 21s | 全绿(17 套件) |
| langgraph@251(承袭) | 51 | 45 | 6 | 0 | — | 派发门控(:4096=401)未重验;零源码变更,承袭 R186 |
| 浏览器 admin-desktop(本轮实测) | 5 | 5 | 0 | 0 | 1.3m | ✅ 5/5 零漂移(TC-A-U01~U05) |
| 浏览器 frontend-mobile(本轮实测) | 6 | 4 | 2 | 0 | 2.7m | ⚠️ 偏差:U02/U05 游客态内容加载超时(隔离复跑 2/2 复现) |
| 线上 API 非功能层(承袭) | 32 | 25 | 0 | 7 | — | 承袭 R186(25 过/7 跳/0 红) |
| 根级黑盒(承袭) | 23 | 7 | 16 | 0 | — | 全 ECONNREFUSED 9082(B-36) |
| 可比合计(含后端沿用口径) | 3987 | 3906 | 56 | 25 | — | 98.0%(剔 skip 98.59%) |
vs R186(3908 过 / 98.02%):前端 −2 过、红 54→56。构成:frontend-mobile 6/6→4/6(U02/U05 超时),其余套件逐项零漂移。 口径声明:后端 3111 例为「同源码沿用 R186」;langgraph/API/根级/shop/health/dx 为「零源码变更承袭」;本轮实际重验 = 两套 Jest + 两个任务指定浏览器 URL(admin + frontend)。 范围说明(重要):用户本轮拓扑仅指定
cfc.iwintrue.com/admin与/frontend两个浏览器 URL,故浏览器仅实跑 admin + frontend;shop/health/dx(R186 28/28+2跳)不在本轮范围,按 G12 零变更承袭 R186,未纳入本轮实跑计数以避免误判零漂移。
| 套件 | 结果 | 判定 |
|---|---|---|
admin-desktop@本机(/admin) |
5/5 EXIT=0(~1.3m) | ✅ TC-A-U01~U05 全过(零漂移) |
frontend-mobile@本机(/frontend) |
4/6(~2.7m) | ⚠️ 偏差:TC-F-U02 首页五维沙盘内容渲染超时、TC-F-U05 游客「我的」登录入口未出现 |
| 失败用例 | 现象(Playwright error-context 实采) | 隔离复跑 | 初步定性 |
|---|---|---|---|
| TC-F-U02 首页核心内容渲染(五维沙盘/三步引导) | 主页内容区显示 The connection timed out, click the screen to try again.,未出现「身/心/智/富/行」五维;TabBar(静态)正常渲染 |
2/2 复现 | 游客态 H5 数据端点加载超时 |
| TC-F-U05 未登录访问「我的」应出现登录/注册入口 | 切到「我的」Tab 后内容区仍停在超时态,未出现「登录/注册/立即登录」引导;hasLoginEntry=false |
2/2 复现 | 同上(同组游客态数据加载失败牵连) |
诊断证据链:
https://cfc.etotem.com.cn(cfc-frontend/config.js 实测);admin 前端 API 宿主 = cfc.iwintrue.com(admin 5/5 证明该宿主可达)。curl https://cfc.etotem.com.cn/api/health/plan/ → 401 in 0.117s(宿主可达、非沙箱不可达);curl https://cfc.etotem.com.cn/ → 200 in 2.5s。| 红类 | 承袭 | 一致性 |
|---|---|---|
EnergySystemFlowTest |
7 例 / 6F / 1S | ✅ |
GrowthPublicEndpointMappingTest(未入库 B-162-1) |
5 例 / 5E | ✅ |
MembershipPlanPurchaseContractTest |
7 例 / 1F | ✅(幂等分支未修) |
FamilyRemoveMemberContractTest |
8 例 / 4F | ✅(S-cfc-178 预期 RED) |
DimensionRegistryMapContractTest |
7 例 / 3F | ✅(存量 P-9) |
TaskReviewScP11ContractTest |
8 例 / 2F | ✅(B-178-1 装置浮动维持) |
GuideModuleIntegrationTest |
4 例 / 1E | ✅ |
OrchestrationEngineTest / OrchestrationIntegrationTest |
8 例 / 1F · 7 例 / 1F | ✅ |
MembershipPaySwitchTest / PaymentServiceORDRoutingTest |
6 例 / 1F · 3 例 / 1F | ✅ |
UserServiceWechatLoginTest / UserServiceWechatLoginContractTest |
5 例 / 1F · 6 例 / 1F | ✅ |
TeamProfitCronContractTest |
22 例 / 1F | ✅ |
| 合计(定向) | 103 例 / 23F+6E = 29 红 | ✅ 14/14 类逐例一致 |
| 缺口类型 | 现状 | 风险 | 建议测试设计 | 优先级 | 闭环方式 |
|---|---|---|---|---|---|
| 后端全量可执行性 | B-184-1 耗时劣化 >2h | 全量回归无法常态执行 | 慢类拆分 + 测试配置复用 | P1 | 研发修复后重跑 |
| 上游 LLM 可用性 | 251 红 6 全部 401/429 | AI 链路无真实回归证据 | 换有效 Token + 提额后 2 轮全绿 | P0 | B-142-2 研发换凭据 |
| CI 清单 | 漏拦 7 / 陈旧 26 | 回归无机器门禁 | 精修 exclude + 3-job CI | P0/P1 | B-152-1/2 |
| 根级黑盒 | 16 红(9082 未起) | 黑盒链路不可测 | 起 9082 后重跑 | P2 | B-36 |
| 游客态 H5 内容加载超时 | B-185(新增·待确认) | 游客态核心页(首页五维沙盘 / 我的登录入口)当前不可用或前端回归 | 研发在桌面节点复验 + 查游客态数据端点超时/CORS | P1 | 研发复验确认后修复或销号 |
| 契约预期 RED | S-cfc-176 1F + S-cfc-178 4F | 功能未实现有护栏 | 待实现后转绿 | P1 | 研发排期 |
| 前端预期 RED | 3 例(S-cfc-132/133 + AC-2) | 组件未交付 | 交付后重跑 | P1 | 研发排期 |
| 未入库测试 | 3 类(B-162-1) | 资产不可追溯 | 提交入库 | P1 | 研发提交 |
| 审查维度 | 负责专家 | 结论 | 关键证据 |
|---|---|---|---|
| 单元·组件级 | 苏雅 | 承袭 | 后端 28 红逐类稳定;fe 609/3/12(3 预期 RED) |
| 集成·接口级 | 柯砚 | 承袭 | 契约类 20+;线上 API 25/7/0 |
| 系统·验收级 | 白樾 | 偏差 | 浏览器 admin 5/5 零漂移;frontend 4/6(U02/U05 超时,B-185) |
| 测试保障级 | 闻朔 | 承袭 | 冒烟 api-smoke 全绿;零新回归(除 B-185 待确认) |
| 性能·可靠性 | 骆骋 | 承袭 | B-184-1 持续;压测未授权 |
| 安全 | 关屿 | 承袭 | 匿名 6/6=401;nonfunc-security 0 红 |
| 兼容·体验 | 阮清 | 偏差 | frontend 移动视口 4/6(U02/U05);无多浏览器矩阵 |
| 流程·度量 | 何序 | 承袭 | G9 锚点 20.1%;CI 失真 |
| # | ① 问题描述 | ② 测试 bug 点 | ③ 最优修改方案 | ④ 修改目的 | ⑤ 闭环方式 |
|---|---|---|---|---|---|
| P1 | langgraph 上游 LLM 配额耗尽致 6 红 | test_auto_tag.py / test_intent.py(429/401) |
换有效 Token + 提额 | 恢复 AI 链路可测性 | 连续 2 轮全绿后 B-142-2 销号 |
| P2 | 后端全量耗时 >2h | cfc-backend(B-184-1) |
慢类拆分 + 配置复用 | 全量回归可常态执行 | mvn -o clean test 达标重跑 |
| P3 | CI 清单漏拦 7 / 陈旧 26 | CI 排除清单(B-152-1/2) | 精修 exclude + 3-job CI | 回归机器门禁 | CI 红灯阻断合并 |
| P4 | 根级黑盒 16 红 | tests/integration/*(9082 未起) |
起 9082 | 黑盒链路可测 | B-36 解除后重跑 |
| P5(新增) | 游客态 H5 核心页内容加载超时(首页五维沙盘 / 我的登录入口) | e2e-live/frontend-live.spec.js:79(U02)/ :122(U05);根因待研发查游客态数据端点超时或 CORS 或前端回归 |
研发在桌面节点(R186 同节点 6/6)复验 + 查游客态数据端点(首页五维/我的)是否服务端超时或跨域失败 | 游客态核心页可用(G3 小程序链路) | 研发复验确认 → 修复或销号 B-185 |
| P6 | S-cfc-176 幂等 1F + S-cfc-178 4F | MembershipPlanPurchaseContractTest / FamilyRemoveMemberContractTest |
实现幂等分支 + 契约实现 | 契约闭环 | 实现后定向复跑 |
| P7 | 前端 3 例预期 RED | growthHistory.dayGroupView / signature.* |
交付 S-cfc-132/133 | 前端全绿 | 交付后 jest 重跑 |
| P8 | B-162-1 3 类测试未入库 | GrowthPublicEndpointMappingTest 等 |
git add + push |
资产可追溯 | 入库后 discover 重扫 |
结论:不通过(有条件) —— 较 R186 轻微负向(待确认):全站 98.0%(剔 skip 98.59%),但有 B-185 游客态 H5 核心页加载超时偏差待研发确认;其余维度零漂移。
| 门禁 | 判定 | 依据(本轮) |
|---|---|---|
| G1 全站通过率 ≥98% | ✅ 98.0% | 环比 98.02% → 98.0%(前端 −2 过,仍 ≥98%) |
| G2 后端红归零/契约裁决 | ❌ 28 红(含 5 预期 RED + 2 装置浮动) | 定向 14/14 类逐例一致 |
| G3 前端双绿 ≙386 | ⚠️ 386/386 Jest 全绿;小程序 H5 浏览器 4/6(B-185 待确认) | fe 609 + web 116;H5 游客态 2 超时 |
| G4 编译可编译 | ✅ 承袭 | R186 testCompile 375 源 0 错;本轮 src 零变更 |
| G5 结果完整性 | ✅ 承袭 | 定向 103/103 例有归属 |
| G6 有 CI 且必红 | ❌ 无 CI / 清单失真 | B-152-1/2 |
| G7 langgraph ≥2 轮全绿 | ❌ 45/51(红 6 全环境) | 派发门控承袭 R186 |
| G8 匿名鉴权 401 | ✅ 6/6 | B-142-1 维持 |
| G11 CI 必红 | ❌ 同 G6 | B-152-1/2 |
| G12 用例锚定 SRS | ✅ 零变更 | 窗口零 SRS/场景变更 |
blockers.md 新增 B-185(待研发确认) + notice-2026-11-13-R187-研发通知.md 已 commit 并 push origin/cfclub(merge-base 核验 PASS)。