automation-run-2026-11-12-R171.md 6.1 KB

R171 自动化执行记录(2026-11-12 15:13 ~ 15:40)

触发:定时自动化「测试负责人闭环(全部用例通过 + 覆盖 SRS/场景含异常流)+ 浏览器走 cfc.iwintrue.com/admin 与 /frontend(189/本机每节点单任务)+ langgraph 派 251 + 结果有变提交远程并通知研发」 执行档:review(离线)。本轮为承袭+定向实跑轮:后端全量采信 R170(45m 前实跑、HEAD 完全一致、零源码变更),其余全部本轮实测。

1. 环境探针(SOP 第一步,禁止凭记忆判定)

探针 结果
JAVA_HOME=/d/jdk1.8.0_25 ✅
/d/maven/apache-maven-3.6.1/bin/mvn ✅ 3.6.1
node -v v22.22.2
df -h /d 294G / 已用 207G / 可用 87G(71%)
127.0.0.1:9082 000(未监听 → 根级 16 红,B-36 第 57 轮)
192.168.16.251:4096 200
192.168.16.251:9000/health {"status":"ok"}
192.168.16.189:4090 200
192.168.16.204:4090 000(B-95 第 31 轮)

2. 基线

git fetch origin cfclub
HEAD == origin/cfclub == 26b549762(R170 结论点,R170 报告回填提交)
窗口 26b549762..origin/cfclub:零新提交(0 文件)→ 零源码变更、零 SRS/场景变更
cfc-backend/src / cfc-frontend / cfc-web/src / cfc-langgraph 全部零 diff
→ 后端结论与 R170 可比,采信 R170 全量(按「src 零变更采信最近全量」纪律)

3. 执行明细

3.1 后端全量(采信 R170,定向核验)

HEAD 与 R170 完全一致(26b549762 = 26b549762)→ 全量 3057 例实测结果直接承袭:
surefire XML: 363 类 / 3057 例 / 3030 过 / 17F + 6E / 4S = 99.12%(R170 45m 实跑)
12 红类逐类与 R170 一致(零漂移第 17 次;本轮无新提交故无新增类)
git log 窗口零新测试类 → 无需定向 surefire 复核

3.2 三端 Jest + 根级(本轮实跑)

cfc-web      : 17 suites / 116 tests 全过,60.0s
cfc-frontend : 42 suites / 624 = 609 过 / 3 红 / 12 跳,37.0s
               (3 红均为 S-cfc-132/133 预期 RED:health-plan-summary / consignee-edit 模板锚点)
tests (根级) : 2 suites / 23 = 7 过 / 16 红,9.2s(全 ECONNREFUSED / fetch failed 9082,B-36 第 57 轮)

3.3 浏览器 E2E(每节点单任务,本轮实跑)

189  opencode shell -> npx playwright test -c playwright.config.live.js --project=admin-desktop
     5 passed (1.2m) EXIT=0 → B-153-1 销号维持第 11 轮(首轮即绿)
本机 frontend-mobile : 6 passed (1.8m)
本机 shop-api        : 4 passed (28.6s)
本机 health(health.js): 13 passed (12.6s)
本机 dx-bridge       : 2 skipped(/api/health/data-sources/bridge/* 线上 404,B-DX-1 第 24 轮)
浏览器合计 30 例 = 28 过 / 2 跳 / 0 红

3.4 线上 API 非功能层(本轮实跑)

api-smoke                : 4 passed (25.9s)
nonfunc-security         : 11 passed (21.0s)(R170 修正后持续全绿)
nonfunc-perf-compat      : 4 passed / 3 skipped (16.6s)(TC-X-N01 压测需授权、N02 会员门控 skip)
traceability-p94-p95-c26 : 6 passed / 4 skipped (27.6s)(P94/P95 UI 断言远程无 SPA 托管)
API 层合计 32 例 = 25 过 / 7 跳 / 0 红

3.5 langgraph@251(本轮实跑)

POST /api/shell?location[directory]=/sc-data/cfc/cfc-langgraph
  setsid nohup bash -c 'cd ... && .venv/bin/python -m pytest -q --ignore=tests/qna --ignore=tests/test_chat.py > /tmp/r168_pytest.log'
节点 HEAD d1192b33a = 本机 + 0 diff
结果: 4 failed, 47 passed, 8 warnings in 135.64s (0:02:15)
红: test_auto_tag 3(content_relevance / short_content / empty_content,AssertionError 500==200)
    + test_intent 1(classify_recommend)
日志: 429 AgnesAI free limit ×6(chat 3 + intent_classifier 3)+ 401 ****ab12 invalid ×3(chat_graph 召回记忆)
EXIT= 未落盘(B-126 第 6 轮复现)
live 探针: /health 200 3.9ms ; /api/v1/analyze(pytest 覆盖); POST /api/v1/chat -> 422 快速返回(0.0059s)
          (R170 为 000/90s 挂死 → 本轮转入 422 参数校验快速失败,节点响应能力恢复,B-170-5 天气向改善)
对照生产: https://ai.etotem.com.cn 可达

3.6 线上站点与鉴权(本轮实跑)

GET  http://cfc.iwintrue.com/admin     -> 200(0.16s,302->200)
GET  http://cfc.iwintrue.com/frontend  -> 200(0.03s,302->200)
POST 匿名 6 端点 -> 401 x6(B-142-1 维持闭环)
  /api/mind/fortune, /api/energy/overview, /api/health/plan/list,
  /api/huawei-health/status, /api/xiaomi-health/status, /api/admin/families/overview
GET  /api/health/data-sources/bridge/{list,sync-status} -> 404(B-DX-1 第 24 轮)

4. SRS / 场景闸门

git diff --name-only 26b549762..origin/cfclub -- docs/superpowers/specs docs/superpowers/api/API_REFERENCE.md tests/test-cases
  -> (空)  窗口零提交(R170 后无任何新提交)
specs 201 份 ; 台账 15 份 + README ; SC 153 ; TC 唯一 367

→ 零新增用例(G12 合规);本轮对台账零改动(无变更可追、无用例缺陷新发)。

5. 度量

指标 数值 口径
场景→用例映射 89/153 = 58.2% specs 内 SC-* ∩ 台账 SC-*(承袭 R170)
唯一 TC 367 tests/test-cases/*.md
可执行锚点 161 测试源码 TC-* 字面(排除 generated)
双向命中 76 → 20.7% G9(承袭 R170,窗口零改动)
孤儿锚点 85 锚点 − 台账
台账空转 291 台账 − 锚点
异常流语义 592 处 台账内「异常/失败/拒绝/越权/超时/回滚」

6. 处置与产出

  • 本轮无新测试问题、无新产品缺陷(B-* 均延续或改善);无测试资产改动。
  • 报告 docs/tdd/orchestration/report-test-2026-11-12-R171.md;本记录;研发通知 docs/tdd/notice-2026-11-12-R171-研发通知.md;blockers.md 追加 R171 段。
  • 通知通道:上轮已确认 Agent Mail GetMe → not_bound(明确「请勿重试」)→ 以仓库通知 + 推送落地。

7. 临时文件(不入库)

_r171_browser_local.log、_r171_api_layer.log、_r171_cfcweb.log、_r171_frontend.log、_r171_root.log、_r171_backend_test.log(已停,采信 R170 全量)