本汇报按《测试负责人工作汇报模板》填写。R178 为全量实跑轮:窗口
98c6d1707(= origin/cfclub,pull 后)相对 R177 基线97121f20b零功能源码 / 零 SRS 变更(窗口 2 提交全 docs:研发 2320 人工轮汇报 + sc-key-map 回填)→ 后端按「采信不可连续 2 轮」(R176 已采信、R177 实跑)纪律本轮强制全量实跑(01:07h),其余七套件全部本轮实测(0 采信)。 对比基线 R177:全站 3979 例 / 3891 过(97.79%,剔 skip 98.41%);后端 3059 过 40 红(较 R177 39 红 +1F:TaskReviewScP11 handler 反射顺序装置浮动,见 B-178-1,非产品回归);langgraph@251 47/51(4 红全环境,与 R177 同);浏览器 28/28 + 2 跳;线上 API 25 过 / 7 跳 / 0 红;管理端 116/116、前端 609/3/12、根级 7/16 全部零漂移;SRS/场景窗口零变更 → 用例无需更新(G12 ✅);门禁 不通过(承袭)。
| 项目 | 内容 |
|---|---|
| 汇报人 | 测试负责人(自动化测试闭环任务) |
| 汇报周期 | 2026年11月12日 23:18 ~ 11月13日 00:40(第 178 轮) |
| 基线 | cfclub @ 98c6d1707(pull 后 = origin/cfclub,跑前=跑后) |
| 窗口内需求变更 | 零——R177 后无 SRS/场景/用例提交(git diff --name-only 97121f20b..HEAD 仅 2 个 docs 文件) |
| 窗口内源码变更 | 零功能源码(2 文件,全 docs/tdd/ 报告类) |
| 负责模块/单元 | 全站:cfc-backend JUnit(本轮实跑,01:07h)· 管理端 admin@189 · 小程序 H5/shop/health/dx@本机 · cfc-langgraph@251 · cfc-web/cfc-frontend Jest · 根级黑盒 · 线上 API 非功能层 |
| 指标 | 数量 | 填写说明 |
|---|---|---|
| 本轮新增测试用例数* | 0 个 | SRS/场景窗口零变更,无需新增;SC 基线 244 承袭 R174 入册 |
| 本轮验证执行测试数* | 3979 个 | 后端 JUnit 3103(本轮实跑)+ 前端 Jest 624 + 管理端 116 + langgraph 51 + 浏览器 30(28 过 + 2 跳)+ 线上 API 32(25 过 + 7 跳)+ 根级 23 |
| 用例通过率 | 97.79%(3891/3979;剔除 skip 98.41%) | 红 63 / 跳 25,明细见 §四 |
| 用例台账 | tests/test-cases/ 16 份 |
场景 215 / TC 表行 861 / 可执行锚点 115 |
| 指标 | 数量 | 填写说明 |
|---|---|---|
| 分派任务数* | 3 个 | R178-1 → opencode-189(admin-desktop 5/5 EXIT=0,1.2m);R178-2 → opencode-251(langgraph pytest 47/51,137.46s);R178-3 → 本机串行(后端全量 + 2 套 Jest + 4 组浏览器 + API 层 + 根级) |
| 恢复智能体会话数* | 0 个 | 189/251 均首派成功 |
| 当前在用会话数 | 0 个 | 本轮任务全部结束,无长任务在跑 |
| 会话标签 | 会话 ID/地址 | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
|---|---|---|---|---|---|---|
opencode-189 |
192.168.16.189:4090 | done | admin-desktop UI E2E | 已完成(1.2m) | C:\code\cfc\tests |
5/5 EXIT=0 |
opencode-251 |
192.168.16.251:4096 | done(本会话派发) | langgraph pytest 51 例 | 已完成(137.46s) | /sc-data/cfc/cfc-langgraph |
47 过 / 4 红;节点仓库 HEAD 6b332da94;4 红全 test_auto_tag 环境(401 ****ab12 + 429 AgnesAI free limit) |
local-browser |
本机进程 | done | fe / shop / health / dx | 已完成 | d:\cfc\tests |
fe 6/6、shop 4/4(首跑 1 超时复跑绿)、health 13/13、dx 2 跳(端点 404,契约仅登记不实现) |
local-api |
本机进程 | done | 线上 API 冒烟/安全/性能兼容/追溯 | 已完成(1.1m) | d:\cfc\tests |
25 过 / 7 跳 / 0 红 |
local-jest |
本机进程 | done | cfc-frontend + cfc-web + 根级 | 已完成 | cfc-frontend / cfc-web / tests |
fe 609/3/12(3 预期 RED)、web 116/116、根级 7/16(9082 未起,B-36 第 64 轮) |
local-backend |
本机进程 | done | 后端全量 mvn -o -B clean test |
已完成(01:07h) | d:\cfc\cfc-backend |
368 类 / 3103 例 / 3059 过 / 34F+6E+4S = 40 红 |
| 指标 | 数量 | 填写说明 |
|---|---|---|
| 新测试发现问题数* | 2 个 | B-178-1(P2):TaskReviewScP11ContractTest.permission_handler_mustDeclareReviewerIdentity 反射取到 2 参重载(getDeclaredMethods() 顺序不定),窗口零源码变更却绿→红,装置不稳定;B-178-2-B173-3(P2 观察):后端全量耗时 01:07h(R177 42m08s,+24m52s)——瞬间翻至 60min 档,需排查慢类/环境时延(与本轮 Maven 与浏览器并行有关,待下轮复验) |
| 已解决测试相关问题数* | 1 个 | B-142-2 观察 2/2(langgraph 维持 47/51,仍未达连续 2 轮 51/51,不销号);B-177-1 观察 1/2(本轮 251 派发后仍有 2 个残留进程,kill -TERM 已清理,EXIT= 仍未落盘);B-177-2(本轮 shop 首跑 1 例超时 + dx 2 跳,复跑 4/4 绿,网关瞬态模式复现) |
| 待解决测试相关问题数 | P0×2 / P1×6 / P2×4 | ① B-142-2 langgraph 上游 401/配额(P0,观察 2/2);② B-152-1/2 CI 清单双向失真(P0/P1,漏拦 8 类);③ B-173-2 API 层入口 990 例(P1);④ B-156-1 DDL 不一致(P1);⑤ B-162-1 3 类未入库(P1);⑥ S-cfc-166/168/169 契约预期 RED 17 例(P1);⑦ B-177-1 pytest 不退出(P1,观察 1/2);⑧ B-173-1 safe-delete(P2,--output 规避中);⑨ B-173-3 后端耗时(P2,本轮 +24m52s 恶化);⑩ B-177-2 网关 502(P2);⑪ B-178-1 反射装置不稳定(P2 新) |
| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
|---|---|---|---|---|---|---|
| 见收尾 commit | 全站巡检 R178 | 汇报 | 报告/运行日志/通知/blockers 4 份 | cfclub | ✅ 本轮推送 | 测试结果有变化(后端 39→40 红 + 全量实跑 01:07h)→ 提交并通知研发 |
| 阶段 | 键数 | 备注 |
|---|---|---|
| UNTRACKED | 0 | 窗口零新增规格 |
| RED | 8 | 承袭研发口径(含 S-cfc-166/168/169 契约 17 例待实现) |
| YELLOW | 63 | 承袭 R177(研发 22:03/23:20 汇报口径) |
| GREEN | 8 | 承袭 |
| DONE | 15 | 承袭 |
| 合计 | 94 | 与研发汇报口径一致 |
| 数据源 | 读取键数 | 是否正常 | 备注 |
|---|---|---|---|
| 需求侧(⏳ wish) | 0 | 正常 | SRS 目标池未启用(CFC 声明配置) |
| 契约常量(contract) | 多组 | 正常 | 契约测试类跨轮核验正常 |
| 测试用例引用(test_case_map) | 155+ | 正常 | 台账扫描正常(跨源 545 资产) |
| 执行结果回填(case_results) | — | 正常 | 侧车未重写,保留既有回写 |
| 项 | 内容 |
|---|---|
| 上次审查 | R177(2026-11-12 23:12,提交 9bc9bcbd8),结论「不通过(承袭)」,全量 3979/3892(97.81%),后端 39 红(存量零漂移第 23 次),langgraph 47/51 红 4 |
| 遗留缺口 | 后端存量 17 红 + GrowthPublic 5E + 契约预期 17 · langgraph 环境红 4 · 根级 16 红(9082 未起)· CI 漏拦 8 类 · 3 未入库测试 · B-177-1 pytest 不退出 · B-177-2 网关 502 |
| 本次是否改善 | 后端红例 39→40(+1F):非产品回归,系 TaskReviewScP11 handler 反射顺序装置浮动(B-178-1,窗口零功能源码变更可证);langgraph 47/51 与 R177 同(红 4 全 auto_tag,环境 401/429);其余套件逐项零漂移;B-173-3 后端耗时恶化(42m08s → 01:07h,+24m52s) |
| 教训应用 | ① 251 派发前 ps 查残留(本轮清 R178 残留 2 个,kill -TERM 后 ps 为空);② getDeclaredMethods() 返回顺序不定 → 重载方法测试用 getMethod(name, paramTypes) 精确定位(B-178-1 根因即反射取到 2 参重载);③ Playwright 报错首跑超时 → 直连 3/3 200 + 复跑 4/4 绿三证判瞬态(B-177-2 第 2 次复现,验证判据有效);④ 后端耗时与并行任务的资源争抢耦合,下轮实跑时浏览器/Jest 与 Maven 应错峰验证(B-173-3 关联) |
本次为该对象第 178 次审查,有历史记录;上述内容仅作对照,本次结论全部来自本轮实测。
| 维度 | 内容 |
|---|---|
| 业务定位 | 家庭教育成长平台(五维能量 身/心/智/行/富):小程序家长端 + 规划师端 + 管理后台 + 独立商城 |
| 技术栈 | Spring Boot 2.7.18 + MyBatis-Plus + Java 8(9082)/ uni-app 微信小程序(Vue2)/ Vue2 + Element UI(8082)/ FastAPI + LangGraph + ChromaDB(9000) |
| 模块结构 | cfc-backend(366 控制器)· cfc-frontend(42 测试文件)· cfc-web(17 套件)· cfc-langgraph(51 例)· dan/danshop · tests(89 e2e + 5 e2e-live) |
| 关键路径 | 登录/家庭/成员 → 五维能量 → 任务/成长记录 → 健康报告上传解析 → 测评订单 → 商城/支付 → AI 对话(LangGraph) |
| 测试现状 | 后端 368 类 3103 例(98.61% 过 / 40 红)· 前端 624 · 管理端 116 · 浏览器 30 · 线上 API 32 · langgraph 51 · 根级 23 |
| 质量目标 | 全量用例全绿、覆盖 SRS 与用户场景(含异常流)、浏览器双节点可复现、结果变更即提交并通知研发 |
| 风险点 | ① 后端红 40(存量 17 + GrowthPublic 5E + 契约预期 18,承袭 + 1F 装置浮动)· ② 契约预期 RED 17(S-cfc-166/168/169 未实现)· ③ CI 排除清单双向失真 · ④ langgraph 上游配额/密钥 · ⑤ 后端全量耗时 01:07h(B-173-3 恶化) |
| 待核实项 | nutrition_age_dosage 建表缺陷(B-156-1)修复状态 · S-cfc-166/168/169 实现排期 · 后端耗时恶化是否环境时延(与并行任务耦合) |
| # | 测试类型 | 三态 | 证据(本轮实测) |
|---|---|---|---|
| 1 | 单元测试 | ✅ 已发现 | 后端 368 类 3103 例;前端 42 文件 624 例 |
| 2 | 测试覆盖率 | ⚠️ 部分 | 管理端 Jest 覆盖率可产出(Lines ~10%);后端未开 jacoco(未授权改 pom) |
| 3 | 变异测试 | ❌ 未发现 | 全仓无 pitest/mutation 配置 |
| 4 | 集成测试 | ✅ 已发现 | *IntegrationTest(Orchestration/GuideModule/LangGraph 等)含在 368 类内;本轮 GuideModuleIntegration 1E(DataIntegrityViolation) |
| 5 | 契约测试 | ✅ 已发现 | 契约类 20+;本轮 4 类 17 例为预期 RED(S-cfc-166/168/169 未实现)+ TaskReviewScP11 权限流(含装置浮动 1F) |
| 6 | 接口 API 测试 | ✅ 已发现 | 线上 API 32 例(25 过 / 7 跳 / 0 红) |
| 7 | 系统/端到端 | ✅ 已发现 | 浏览器 30 例:admin 5 + fe 6 + shop 4 + health 13 + dx 2(跳) |
| 8 | 验收 UAT | ⚠️ 部分 | tests/test-cases/cross-role-e2e.md 双角色验收场景有台账;本轮无人工 UAT |
| 9 | BDD 规格 | ⚠️ 部分 | spec 文档 201 份含 Given/When/Then 语义;无 cucumber 执行器 |
| 10 | 冒烟测试 | ✅ 已发现 | api-smoke.spec.js 全绿 |
| 11 | 回归测试 | ✅ 已发现 | 本轮 8 套件全量回归(后端 01:07h 实跑);存量红集合本轮 15 类与 R177 逐类一致(40 红含 1F 装置浮动) |
| 12 | 探索性测试 | ✅ 已发现 | 本轮现场探索出 B-178-1(反射顺序)+ B-173-3(耗时恶化) |
| 13 | 性能测试 | ⚠️ 部分 | nonfunc-perf-compat.spec.js(部分跳过);压测未授权未执行 |
| 14 | 可靠性测试 | ⚠️ 部分 | 网关瞬态(shop 首跑超时复跑绿)与上游 401 提供弱故障注入证据;无长稳/混沌测试 |
| 15 | 安全测试(SAST/DAST) | ⚠️ 部分 | nonfunc-security.spec.js 全绿(XSS/非法上传/未鉴权);SAST 扫描未授权 |
| 16 | 依赖漏洞扫描 | ❌ 未发现 | 无 npm audit/dependency-check 门禁,且属联网档未授权 |
| 17 | 兼容性测试 | ⚠️ 部分 | Playwright frontend-mobile 移动视口 6/6;无多浏览器矩阵 |
| 18 | 可用性测试 | ⚠️ 部分 | 页面可渲染/导航/TabBar 断言覆盖;无真实用户可用性测试 |
| 19 | 无障碍测试 | ❌ 未发现 | 无 axe-core 等 a11y 断言 |
| 20 | QA 流程与质量指标 | ⚠️ 部分 | 本报告 + blockers + 度量脚本可复现;G9 锚点仅 13.4%、G11 CI 硬门禁失真 |
| 套件 | 执行 | 通过 | 红 | 跳 | 耗时 | 判定 |
|---|---|---|---|---|---|---|
| 后端 JUnit(实跑) | 3103 | 3059 | 40(34F+6E) | 4 | 01:07h | 存量 17 + GrowthPublic 5E + 预期 18(含 1F 装置浮动) |
| 前端 Jest | 624 | 609 | 3 | 12 | 147.4s | 3 全预期 RED(S-cfc-132/133) |
| 管理端 Jest | 116 | 116 | 0 | 0 | 120.4s | 全绿 |
| langgraph@251 | 51 | 47 | 4 | 0 | 137.46s | 4 全环境(上游 401/429) |
| 浏览器(189+本机) | 30 | 28 | 0 | 2 | — | dx 2 跳(契约仅登记不实现) |
| 线上 API 非功能层 | 32 | 25 | 0 | 7 | ~66s | 契约缺口 3 例已 fixme |
| 根级黑盒 | 23 | 7 | 16 | 0 | 7.1s | 全 ECONNREFUSED 9082(B-36 第 64 轮) |
| 合计 | 3979 | 3891 | 63 | 25 | — | 97.79%(剔 skip 98.41%) |
| 层 | 例数 | 红类(15 类) | 归因 |
|---|---|---|---|
| 存量(装置/数据) | 17 | EnergySystemFlow 6F、DimensionRegistryMap 3F、OrchestrationEngine 1F、OrchestrationIntegration 1F、MembershipPaySwitch 1F、PaymentServiceORDRouting 1F、UserServiceWechatLogin 1F、UserServiceWechatLoginContract 1F、TeamProfitCronContract 1F、GuideModuleIntegration 1E | 装置:硬编码 127.0.0.1:3306 / Mock 误用 / 断言基线过期(B-13/B-18) |
| 未入库测试 | 5 | GrowthPublicEndpointMappingTest 5E | B-162-1(3 文件 ?? 未入库却被编译执行) |
| 契约预期 RED | 18 | MembershipPlanPurchaseContract 7F、SupplierOrderFulfillContract 5F、ShopOrderQueryRefundContract 4F、TaskReviewScP11Contract 2F | S-cfc-166/168/169 契约先行、实现未落地(17 例)+ B-178-1 反射装置浮动 1F |
与 R177(33F+6E=39)总数 +1F,差异即
TaskReviewScP11ContractTest.permission_handler_mustDeclareReviewerIdentity:249—— 本轮declaredMethod()反射取到 2 参重载reviewTask(Long, TaskReviewDTO)(无@RequestAttribute),单测视为「身份参数缺失」断言失败;R177 取到 3 参版本绿、本轮取到 2 参版本红,窗口零功能源码变更可证为装置不稳定(B-178-1)。存量红集合(11 类 17 例 + GrowthPublic 5E)与 R177 逐类逐例一致。
| 项 | 本轮 | 上轮 | 说明 |
|---|---|---|---|
| 后端全量耗时 | 01:07h(67m) | 42m08s(R177)/ 40:12(R175) | +24m52s(+59%),跃升至 60min 档;本轮回与浏览器/251 并行执行,资源争抢可能为诱因(待下轮错峰复验) |
| 慢类 Top3(本轮) | 待 surefire XML 归并 | UserServiceFamilyNameLink 212s(R177) | 本轮末尾可见 SpecialPrice 161s、DailyCheckin 59.9s |
| 影响 | 长窗口放大 B-14 类并发提交风险 | — | 下轮起建议 Maven 与轻量套件错峰 |
注:08:00 前实跑窗口与调度器日志均沿用 R177 记录;本轮未单独统计 scheduler 行占比(耗时突发性增长指向资源争抢而非代码劣化,待下轮错峰复验后定论)。
| 例 | 现象 | 归因 |
|---|---|---|
test_auto_tag_valid_format |
标签数 0(期望 3-5) | 上游不可用 → 空结果 |
test_auto_tag_content_relevance |
断言不匹配 | 上游 401/429 |
test_auto_tag_short_content |
标签异常 | 上游 429 AgnesAI free limit |
test_auto_tag_empty_content |
标签异常 | 上游 401 ****ab12 invalid |
api key ****ab12 is invalid ×6(chat_graph.py:148/195)+ 429 AgnesAI free limit ×4(middleware/intent_classifier)——双因并存(R177 为 401×2、429 0 次,上游故障形态再漂移);6b332da94 = 本机基线同源、窗口零源码变更 → 环境红,非代码回归;TaskReviewScP11.permission_handler_mustDeclareReviewerIdentity 反射取重载顺序不定TaskController.java:178 真实签名是 reviewTask(Long, TaskReviewDTO, @RequestAttribute Long userId) 三参版本,另存在 :188 三参的 2 参代理 reviewTask(Long, TaskReviewDTO)。测试用 getDeclaredMethods() 遍历取第一个同名方法,JVM 不保证声明顺序 → 本轮取到 2 参代理(无注解)→ 误判「身份参数缺失」。cfc-backend/src/test/java/com/etotem/cfc/unit/TaskReviewScP11ContractTest.java:317 declaredMethod() helper 未指定参数类型;permission_handler_mustDeclareReviewerIdentity:249 直接使用该方法。clazz.getMethod("reviewTask", Long.class, TaskReviewDTO.class, Long.class) 显式定位三参版本(或 getDeclaredMethods() 后按参数个数过滤取仅 1 种签名);② 同类 permission_service_mustAcceptReviewerScope:274 对 TaskService.reviewTask 一并按签名精确定位;③ 全仓 grep 其他用 getDeclaredMethods() 按名取重载方法的测试一并改。@RequestAttribute),避免轮间绿↔红抖动污染 G3/G13 判据。TaskReviewScP11ContractTest 稳定为 7F中仅 crossFamily 1F(或按契约预期集合),2/2 轮结果与 R177 一致,B-178-1 销号。mvn -o -B clean test 耗时 01:07h,较 R177 42m08s +24m52s(+59%),打破 R173-R177 的 40~52min 区间,首次跃入 60min 档。窗口零源码变更 → 非代码劣化;本轮回 Maven 与浏览器 E2E/Jest/251 派发并行,CPU 争抢为最大嫌疑(历轮 Maven 独占时可 40min 档)。docs/tdd/tools/ 无「Maven 独占窗口」调度约束;本报告附录 A 命令为顺序示例,实际执行未强制错峰。mvn -T 1C 调小并发或 -Dmaven.test.parallel=true 试跑;③ 报告固化「耗时 + 慢类 Top3」基线(±5% 带)并复位 R177 口径。.gitlab-ci.yml:61 BACKEND_OBSERVED_CLASSES 33 类,本轮实测红类 15 类 → 漏拦 8 类(GrowthPublicEndpointMapping、MembershipPlanPurchaseContract、ShopOrderQueryRefundContract、SupplierOrderFulfillContract、TaskReviewScP11Contract、TeamProfitCronContract、UserServiceWechatLogin、UserServiceWechatLoginContract),陈旧 26 类(已绿仍排除)。backend-blocking-junit 必然失败(漏拦),硬门禁覆盖面人为缩小到 7 类。target/surefire-reports/*.xml 中 failures+errors>0 的 15 类为准重生成清单 + 加「实测红类 ⊆ 清单」自检 CI 步骤。-Dtest='!${BACKEND_OBSERVED_CLASSES}';通过标准:排除后剩余类 0 红且双向差集为空。nutrition_age_dosage 建表 DDL 三重不一致schema.sql:5354 建表语句含 INDEX idx_product (product_id) 但表内无 product_id 列;实体有 updateTime 而 DDL 无 update_time;NutritionProductService:48 注入 ageDosageMapper 全类零调用。DatabaseInitializer catch 后仍打「数据表检查完成」→ 表从未创建成功却无用例可证伪。INDEX idx_product(或补列)、DDL 补 update_time、补 SchemaDdlConsistencyTest 断言 schema.sql 列集合与 @TableField 声明集合差集为空。grep -c SQLSyntaxErrorException;通过标准:0 命中且新用例绿。EXIT= 永不落盘ps 仍发现 2 个 pytest 残留进程(bash -c ... + .venv/bin/python -m pytest),日志已输出完整 summary(4 failed, 47 passed ... in 137.46s)但 EXIT= 行仍缺失(0 命中,B-126 第 11 轮表象)。R177 同证据:进程存活 16m42s 不退出。本轮 kill -TERM 已清理,清理后无残留。docs/tdd/tools/dispatch_251_pytest.cjs:52 kick 命令 ...; rc=$?; echo EXIT=$rc >> LOG 本身正确,但被测进程不退出 → rc 永远拿不到值;伴随 RuntimeWarning: coroutine 'JavaClient._get_client' was never awaited。timeout -k 10 900(超时强制收尾落 EXIT=124);② read 模式增加「summary 已出 + 进程仍在」判定自动 kill -TERM 并回报 HANG_AFTER_SUMMARY=1;③ 产品侧 JavaClient 在 FastAPI shutdown 钩子 await client.aclose()。grep -oE 'EXIT=[0-9]+' 必须有值且 ps | grep pytest 为空;通过标准:2/2 轮 EXIT=0 且无残留进程,届时 B-126 与 B-177-1 同步销号。| # | 缺口类型 | 现状 | 风险 | 建议测试设计 | 优先级 | 闭环方式 |
|---|---|---|---|---|---|---|
| 1 | 变异测试 | 无 pitest | 断言强度不可证 | 对 energy/ + membership 两包做 pitest 增量(阈值 60%) |
P2 | 引入插件 + CI 增量门禁 |
| 2 | 依赖漏洞 | 无 SCA | 供应链风险 | mvn dependency-check + npm audit --omit=dev |
P2 | 需联网授权后纳入周跑 |
| 3 | 无障碍 | 无 a11y 断言 | 合规/可及性 | @axe-core/playwright 对 admin 登录页 + fe 首页各 1 例 |
P2 | 新增 e2e-live/a11y.spec.js |
| 4 | 兼容性矩阵 | 仅移动视口 | 多端渲染差异 | Chromium/WebKit 双 project | P2 | 配置 projects 增 webkit |
| 5 | 可靠性 | 无长稳/混沌 | 上游抖动无度量 | 对 251 LLM 链路做 30min 小流量长稳(并发 1) | P1 | 需授权联网后执行 |
| 6 | 追溯锚点 | 115/861 = 13.4% | 台账与执行脱节 | 按「孤儿锚点/空转 TC」双向差集补齐(承 B-170-4) | P1 | 逐域回填 + 矩阵 §10 刷新 |
| 7 | 场景映射 | 155/215 = 72.1% | 场景未全覆盖 | butler/human-butler/deep-dive-*/vendor 四域 0 锚点优先 | P1 | 补 TC 并挂锚点 |
| 8 | UAT | 无人工验收 | 业务验收缺口 | 双角色(家长/规划师)人工脚本 1 份 | P3 | 纳入里程碑评审 |
| 门禁 | 阈值 | 本轮 | 判定 |
|---|---|---|---|
| G1 全量通过率 | ≥98% | 97.79%(剔 skip 98.41%) | ❌ |
| G2 红例数 | ≤20 | 63(后端 40 + 根级 16 + 前端 3 + lg 4) | ❌ |
| G3 预期 RED | 全部有需求依据 | 3(S-cfc-132/133)+ 后端契约 18 | ⚠️ |
| G4 管理端套件 | 116/116 | 116/116 | ✅ |
| G5 编译/产物 | 0 编译错 + 0 dump | 0 错 / 0 dump / 368 XML 无沉默 / classes 2330 | ✅ |
| G6 浏览器 E2E | 28/28 | 28/28 + 2 跳 | ✅ |
| G7 langgraph | 51/51 | 47/51(92.2%) | ❌ |
| G8 线上鉴权 | 匿名 4/6 = 401 | 关键 4 端点 401(mind/energy-data/plan-generation/growth-record) | ✅ |
| G9 追溯锚点 | ≥60% | 13.4%(115/861) | ❌ |
| G10 双节点实派 | 189 + 251 均实派 | 189 5/5 EXIT=0 + 251 51 例 | ✅ |
| G11 CI 硬门禁 | 清单与实测红类一致 | 漏拦 8 类 / 陈旧 26 类 | ❌ |
| G12 SRS 闸门 | 变更即更新用例 | 窗口零变更 → 0 新增(合规) | ✅ |
| G13 存量红零漂移 | 无新增漂移 | 40 红 = 存量 17 + GrowthPublic 5 + 预期 18(含 1F 装置浮动 B-178-1,非产品回归) | ✅* |
| G14 场景映射 | ≥80% | 72.1%(155/215) | ❌ |
综合结论:不通过(承袭)。
BACKEND_OBSERVED_CLASSES,并加「实测红类 ⊆ 清单」自检步骤(B-152-1/2,第 11 轮)。****ab12 已失效)+ 提升配额;恢复后连续 2 轮 51/51 才销号(B-142-2,观察 2/2)。JavaClient 关闭逻辑(await client.aclose()),消除 pytest 退出挂死(B-177-1,观察 1/2);派发器同步加 timeout 兜底。nutrition_age_dosage DDL 三处不一致并补 DDL 一致性用例(B-156-1)。TaskReviewScP11ContractTest 反射取重载顺序问题(getMethod 显式定位三参版本,B-178-1)。testMatch 收窄,避免默认收集 990 例(B-173-2)。# 后端(Maven 工程根在 cfc-backend,非仓库根;本轮与浏览器并行 → 01:07h)
cd /d/cfc/cfc-backend && export JAVA_HOME=/d/jdk1.8.0_25 \
&& /d/maven/apache-maven-3.6.1/bin/mvn -o -B clean test # 01:07h,40 红
# langgraph@251(LOG 必须排除 MSYS 路径改写)
MSYS2_ENV_CONV_EXCL=LOG LOG=/tmp/r178_pytest.log \
node docs/tdd/tools/dispatch_251_pytest.cjs kick # 47/51,137.46s
# 派前/派后 ps 查残留;残留 kill -TERM <pid>(禁用 pkill -f pytest)
# 浏览器(必须在 tests/ 内跑;--output 一次性目录)
cd tests && npx playwright test -c playwright.config.live.js --project=frontend-mobile # 6/6
cd tests && npx playwright test -c playwright.config.live.js --project=shop-api --project=dx-bridge # shop 4/4(复跑)+ dx 2 跳
cd tests && npx playwright test -c playwright.config.health.js # 13/13
node docs/tdd/tools/dispatch_189_admin.cjs # 189 admin 5/5
# Jest
cd cfc-frontend && npx jest --ci # 624 = 609/3/12
cd cfc-web && npx jest --ci # 116/116
cd tests && npx jest --ci # 23 = 7/16
# 线上 API 非功能层(点名 4 文件,规避 B-173-2)
cd tests && npx playwright test -c playwright.config.api.js \
e2e/api/api-smoke.spec.js e2e/api/nonfunc-security.spec.js \
e2e/api/nonfunc-perf-compat.spec.js e2e/api/traceability-p94-p95-c26.spec.js # 25 过/7 跳/0 红
git fetch 后 git rev-list --left-right --count HEAD...origin/cfclub = 0/0,git branch -r --contains HEAD 含 origin/cfclub ✅)。98c6d1707 = origin/cfclub(pull 后),跑前=跑后;本轮窗口变更仅 2 个 docs 文件(研发 2320 汇报 + sc-key-map 回填),零功能源码 → 无需增量复验。failures+errors 聚合(368 XML 全覆盖,无沉默报告)。docs/tdd/tools/test_report_metrics.py --repo-root . --scene(跨轮固定)。docs/superpowers/specs/2026-11-08-dx-health-bridge.md 明示「仅登记不实现」)。