|
@@ -0,0 +1,33 @@
|
|
|
|
|
+# T29-B3 独立核验完成 ✅ PASS
|
|
|
|
|
+
|
|
|
|
|
+## 结论
|
|
|
|
|
+
|
|
|
|
|
+**Verdict: PASS** — 无 P0 阻断项,允许进入 cfclub 合入流程。
|
|
|
|
|
+
|
|
|
|
|
+核验在只读约束下完成:未新建分支、未改代码、未 commit、未 push。编译/测试/构建在临时 detached worktree(`6c906c79e`)中进行,已清理;主工作区未提交改动未触碰。
|
|
|
|
|
+
|
|
|
|
|
+## 核验结果摘要
|
|
|
|
|
+
|
|
|
|
|
+**1. diff 范围** ✅ — `git diff --stat origin/cfclub...origin/feature/proxy-fix-b3-robust` 精确匹配 7 文件 +457/-25,无遗漏无关文件;分支仅 1 commit,直接基于 origin/cfclub。
|
|
|
|
|
+
|
|
|
|
|
+**2. 需求满足度**(逐条有证据):
|
|
|
|
|
+
|
|
|
|
|
+| 需求 | 判定 | 关键证据 |
|
|
|
|
|
+|------|------|---------|
|
|
|
|
|
+| B3-1 toast 前端化 | ✅ | 后端 proxyConfirm 恒写 `aiAnalysisStatus/aiAnalysisMessage`(quota/langgraph_failed/success);前端 `applyAiAnalysisResult` 弹「AI解读未完成:原因」 |
|
|
|
|
|
+| B3-2 草稿过期降级 | ✅ | `getActiveDraftOrThrow` 抛「草稿不存在或已过期」经 catch 包装为「确认失败: …」;前端 `isDraftExpired` 匹配后 `reparseExpiredDraft` 基于 `fileUrl` 走 `proxyReparseReport` → `/report/proxy-parse`,复用建草稿→解析链路;purgeExpired 不删物理文件故可解析 |
|
|
|
|
|
+| B3-3 本地兜底提示 | ✅ | `markParseMethod` 写 `parseFallback/parseMethod`(langgraph/local 两分支);前端 `notifyParseFallback` 弹「解析服务暂不可用,已用本地解析」 |
|
|
|
|
|
+| B3-4 分页修复 | ✅ | `/report/list` page>0 返回 `{records,total,current,size,pages}`;**page 不传仍返回 List**,小程序 `getReportList` 只传 memberId/size 完全兼容;teacher 页读 records/total 一致 |
|
|
|
|
|
+| B3-5 部署文档 | ✅ | 新增 `docs/deployment/report-parse-langgraph-env.md`:LANGGRAPH_BASE_URL 强制项 + uploads 共享 volume + docker inspect 检查命令 |
|
|
|
|
|
+| B3-6 命名澄清 | ✅ | `updateNote` → `updateRemark`(javadoc 注明写 remark 列),唯一调用点同步,无残留 |
|
|
|
|
|
+
|
|
|
|
|
+**3. P0 扫描**:
|
|
|
|
|
+- 编译:backend `mvn -q -DskipTests compile` ✅ BUILD SUCCESS;cfc-web `npm run build` ✅
|
|
|
|
|
+- 测试:`HealthReportControllerListPaginationTest` **4/4 通过**(分页结构、越界空记录、小程序 List 兼容、兜底标记),测试真实覆盖双分支
|
|
|
|
|
+- 契约:后端分页结构 ↔ teacher 端,List ↔ 小程序端,均一致
|
|
|
|
|
+
|
|
|
|
|
+**4. 非阻断观察**(已记录,不阻断):非数字 `page` 会 `NumberFormatException`;`isDraftExpired` 文案子串匹配对后端文案变更敏感;AI 未触发理论边界会弹「未知原因」。
|
|
|
|
|
+
|
|
|
|
|
+## 交付物
|
|
|
|
|
+
|
|
|
|
|
+- 独立核验报告:`docs/superpowers/plans/verify/verify-t29-b3-2026-10-31.md`(含 verdict / blocking / evidence 全量证据清单)
|