|
|
@@ -0,0 +1,90 @@
|
|
|
+# 研发交接通知 · 2026-11-08 第 93 轮(测试负责人 → 研发)
|
|
|
+
|
|
|
+> 发送人:测试负责人(cfc-tester)|时间:2026-11-08(R93 轮次)|基线:`cfclub` @ `fb7689265`(= `origin/cfclub`,已 rebase 对齐并 push)
|
|
|
+> 证据:`docs/tdd/orchestration/report-test-2026-11-08-2227.md` + `tests/test-cases/signature.md` + `docs/tdd/test/blockers.md`
|
|
|
+
|
|
|
+## 0. 一句话结论
|
|
|
+
|
|
|
+**本轮 SRS 变更(签名横屏 `a7edf5698`)已按用户规则补 RED 用例(B-75,待研发实现 `signature.landscape.layout`);用户「langgraph 派 251」指令实质性落地——251:9000 服务恢复(B-55 解除),LIVE `POST /api/v1/chat` 推理端到端可用;admin 登录 flaky 由 U04 升级为非确定(B-76,测试自处置)。门禁仍不通过:前端 24 RED + langgraph 权威 8 红(B-65/B-74)+ 后端本节点不可验证 + admin 非确定 flaky。**
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 1. ✅ 本轮已闭环 / 关键进展(测试侧)
|
|
|
+
|
|
|
+| 项 | 内容 | 证据 |
|
|
|
+|---|---|---|
|
|
|
+| **B-55 解除** | langgraph 部署节点 `192.168.16.251:9000` 由长期 CLOSED → `{"status":"ok","components":{"chromadb":{"status":"ok"},"llm":{"status":"ok"},"java_backend":{"status":"ok"}}}`;用户「派 251」指令落地 | §三 / §二 |
|
|
|
+| **用户派 251 指令 LIVE 核验** | `POST /api/v1/chat`(`query="推荐一些补钙的食物"`)→ 返回有效 `answer`(251 持有有效 LLM key,对比本机 venv 同调用恒 401) | §二 |
|
|
|
+| SRS→用例闭环 | 签名横屏 SRS `a7edf5698` 变更 → 新增 `tests/test-cases/signature.md`(TC-SIG-01~05 / -E×3 / -N01,覆盖 R1/R2/R3 + 旋转兜底 + 竖屏回归 + 异常流),状态「待开发 RED」 | §四 |
|
|
|
+| B-61 线上复核 | 匿名 `POST /api/health/plan/list` → `{"code":401,"message":"请先登录"}`,与 health-contract 13/13 全绿一致 → P0 健康方案鉴权第 **13** 轮零回归 | §三 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 2. 🔴 需研发处理(P1,持续催办)
|
|
|
+
|
|
|
+### 2.1 B-75(P1·新增 SRS 待实现)手签名横屏适配
|
|
|
+
|
|
|
+- **SRS**:`DOC-2026-11-08-signature-landscape-fix`(能力键 `signature.landscape.layout`,纯前端 2 文件纵切,状态「待开发」)。
|
|
|
+- **三处根因**:R1 横屏 canvasHeight 未重算 → 签名区过小;R2 rpx 未横屏放大 → 字号过大/笔迹不可见;R3 `hand-signature.vue` 的 rect 未刷新。
|
|
|
+- **测试已补**:`tests/test-cases/signature.md`(TC-SIG-01~05 正常流 / TC-SIG-01-E~03-E 异常流 / TC-SIG-N01 兼容),全部预期 RED。
|
|
|
+- **建议**:实现 `signature.vue` 横屏高度重算 + rpx→px 化 + `hand-signature.vue` 新增 `refreshRect()`。闭环判据:TC-SIG 系列转绿 + SRS 状态置 YELLOW→GREEN。
|
|
|
+
|
|
|
+### 2.2 B-65(P1·AI 能力不可用,连续第 4 轮)langgraph `analyze` 恒 500
|
|
|
+
|
|
|
+- **实测(延续)**:`test_analyze.py` ×2 `RuntimeError: checkpointer 未初始化` / 缺 `thread_id` config → `/api/v1/analyze` 线上不可用。
|
|
|
+- **建议**:`create_analysis_graph()` 去 `MemorySaver()`,或 `ainvoke(payload, config={"configurable": {"thread_id": trace_id}})`;确保 app startup 调 `init_checkpointer()`。闭环判据:2 例 200 转绿。
|
|
|
+
|
|
|
+### 2.3 B-68 / B-69(P1·前后端契约 / 安全口径漂移)
|
|
|
+
|
|
|
+- **B-68**:管理端概览接口键名拼写漂移 → 概览恒为 0。建议统一定义键名。
|
|
|
+- **B-69**:`/api/mind/` 仍未强制登录(匿名 `POST /api/mind/fortune` 未返回 401,`LOGIN_REQUIRED_PATHS` 仍无 `/api/mind/`)。建议 `LOGIN_REQUIRED_PATHS` 增 `"/api/mind/"`;闭环判据:匿名 401 + `MindFortuneControllerTest` 转绿。
|
|
|
+
|
|
|
+### 2.4 B-73(P1·功能未实现,24 RED)S-cfc-79 diet-recommendation 改版
|
|
|
+
|
|
|
+- 前端 Jest **24 例登记 RED**(S-1 待实现),不计入回归但导致目标①未达成。
|
|
|
+- **建议**:研发实现 `recommendation.vue` 改版(饮食推荐重做)后套件转绿。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 3. 🟡 环境 / 运维(需知晓 / 待配合)
|
|
|
+
|
|
|
+| 编号 | 内容 | 请求动作 |
|
|
|
+|---|---|---|
|
|
|
+| **B-54(重申)** | 本机 venv 跑 langgraph pytest 因 LLM key 无效(`401 - Your api key: ****ocal is invalid`)致 `test_intent.py` ×4 假红;251 持有有效 key 不受此影响 | **正式将 langgraph pytest 派发 251:4096**(R92 已证通 36/44),消除本机 env 假红 |
|
|
|
+| **B-55(已解除)** | 251:9000 服务恢复 | 运维维持 251:9000 / :4096 / :3306 在线 |
|
|
|
+| B-56(延续) | `192.168.16.189:4090` opencode 缺 LLM 凭证 → admin 浏览器任务只能本机串行 | 189 本机填有效 apiKey + 重启,落实每节点单任务分派 |
|
|
|
+| 后端 2398 @Test | 本节点无 Maven,后端 JUnit 不可本机执行(约 130 handler uncovered) | CI 接入后端 JUnit / 授权编译,固化后端门禁 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 4. 🔧 测试侧自处置(无需研发动作)
|
|
|
+
|
|
|
+| 编号 | 内容 | 动作 |
|
|
|
+|---|---|---|
|
|
|
+| **B-76(新增·P2)** | admin-desktop 登录页 / 滑块 + 凭据时序非确定失败(首跑 U04 失败、复跑 U01 失败,偶发 skip;5 例稳定 4 通过 + 1 非确定) | 测试侧:`waitForTimeout(5000)` / `test.skip(url.includes('/login'))` 兜底改 `waitForURL(/\/admin\/dashboard/, { timeout: 20000 })` 硬断言 + 复用登录态 storageState;维持 B-67 复跑纪律 |
|
|
|
+| **B-74(延续·P1)** | langgraph 测试装置 6 红(startup 未触发 checkpointer)长期假红 | 测试侧 conftest 显式 `init_checkpointer`;251 拉取复验 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 5. 📌 基线 / 口径变化(需知晓)
|
|
|
+
|
|
|
+1. **新增 SRS 用例**:`tests/test-cases/signature.md`(签名横屏,预期 RED)—— SRS `a7edf5698` 变更的测试用例更新闭环已满足。
|
|
|
+2. **langgraph 口径统一**:后续以 **251 部署节点** 为权威(健康、LLM 可用);本机 venv 12 红 = B-65(2) + B-74(6) + B-54 env(4 假红);251 派发真实质量 = 36/44(8 红 = B-65+B-74)。
|
|
|
+3. **admin flaky 升级**:R92 仅 U04 单失败 → R93 跨 U01/U04 非确定,判定为测试侧时序而非鉴权回归。
|
|
|
+4. **251 服务维度**:R78~R91 长期 CLOSED 的 251:9000 本轮恢复,恢复隔离验证节点。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 6. 本轮实跑总表(速览)
|
|
|
+
|
|
|
+| 维度 | 本轮 | R92 基线 | 判定 |
|
|
|
+|---|---|---|---|
|
|
|
+| cfc-frontend (Jest) | 358 / 24 / 1(383 总) | 358 / 24 / 1 | 零漂移(24 为预期 RED) |
|
|
|
+| cfc-web (Jest) | 116 / 116 | 116 / 116 | 零漂移 |
|
|
|
+| cfc-langgraph(本机 venv 兜底) | 32 / 12 | 251 派发 36 / 8 | 本机降级(4 env 假红),非代码回归 |
|
|
|
+| langgraph(251 LIVE) | /health ok + /api/v1/chat 有效回答 | 251:9000 当时 CLOSED | 有变化(B-55 解除) |
|
|
|
+| 浏览器 admin-desktop | 4 / 1 flaky | 5 / 5(复跑) | 有变化(B-76 非确定) |
|
|
|
+| 浏览器 frontend-mobile | 6 / 6 | 6 / 6 | 零漂移 |
|
|
|
+| 浏览器 shop-api | 4 / 4 | 4 / 4 | 零漂移 |
|
|
|
+| 浏览器 health-api | 13 / 13 | 13 / 13 | 零漂移(B-61 第 13 轮零回归) |
|
|
|
+| cfc-backend 2398 @Test | 本节点不可执行 | 不可执行 | 同历史 |
|