diff --git a/project-docs/dev_fix_action_report_closure_2026-05-03.md b/project-docs/dev_fix_action_report_closure_2026-05-03.md new file mode 100644 index 00000000..e4750352 --- /dev/null +++ b/project-docs/dev_fix_action_report_closure_2026-05-03.md @@ -0,0 +1,130 @@ +# dev_fix_action_report 闭环记录(2026-05-03) + +## 对应报告 + +- `project-docs/dev_fix_action_report_2026-05-03.md` + +## 本轮结论 + +报告中列出的当前开发排期事项,已完成代码修复、Docker 服务器部署和回归验证。 + +- 目标环境:`http://192.168.3.90:3003` +- API 环境:`http://192.168.3.90:8001/api/v1` +- 当前结论:`PASS` + +## 本轮完成项 + +### P1 + +1. **法律问答历史接口 500** + - `/api/v1/conversations` 已恢复 `200` + - 共享 AI 平台适配层新增本地兜底,远端异常不再直接把历史问答打成 500 + +2. **知识库列表接口 500** + - `/api/v1/knowledge-bases` 已恢复 `200` + - 共享 AI 平台适配层新增本地兜底,知识库分页与文档列表异常时不再直接炸掉 + +3. **后台 `/admin*` 路由体系不一致** + - 新增 `/admin` + - 新增 `/admin/[slug]` 历史入口兼容 + - `/admin/users -> /users` + - `/admin/files -> /files` + - `/admin/knowledge -> /knowledge-bases` + +### P2 + +4. **空状态 / 失败状态拆分** + - `/chat`:历史会话接口失败时展示明确错误态与重试按钮,不再伪装成“还没有历史会话” + - `/knowledge-bases`:知识库列表/文档列表失败时展示明确错误态与重试按钮,不再伪装成空列表 + +5. **PDF 抽取链路业务回归** + - `defect-ledger-regression` 中保留 `PDF-NOISE-001` + - 噪声 PDF 会返回: + - `code=40002` + - `message=无法从上传文件中提取可审查文本,请改为可复制文本 PDF / DOCX / TXT,或直接粘贴合同正文。` + +6. **试点交付路由命名统一** + - 新增 `/pilot -> /pilot-readiness` + +### P3 + +7. **管理员入口语义收口** + - 首页管理员高频入口新增“管理工作台” + - 顶栏管理菜单新增 `/admin` 统一入口 + +8. **登录页联调语义收口** + - 正式可见文案不再强调本地初始化能力 + - 本地管理员初始化提示调整为“仅在受控本地环境展示” + +9. **固定回归清单补强** + - 新增脚本:`frontend/scripts/dev-fix-action-regression.mjs` + - 新增 npm 命令:`npm run qa:dev-fix-action` + +## 部署过程备注 + +本轮服务器部署中额外处理了两个生产环境问题: + +1. **前端 Docker 构建不稳定** + - `node:22-alpine` 下 `next build` 在服务器容器里触发 `SIGSEGV` + - 已切换为 `node:22-bookworm-slim` + - Dockerfile 同时固定走 `next build --webpack` + +2. **服务器磁盘空间耗尽** + - 根分区一度只剩 `92MB` + - 已清理未使用 Docker 镜像与构建缓存 + - 清理后根分区恢复到约 `20GB` 可用空间 + +## 验证结果 + +### 代码级验证 + +- `backend/.venv/Scripts/python.exe -m unittest discover -s tests` + - 结果:`350 tests OK` +- `frontend/npm.cmd run lint` + - 结果:`PASS` +- `frontend/npm.cmd run build` + - 结果:`PASS` +- `frontend/npm.cmd run build -- --webpack` + - 结果:`PASS` + +### 服务器部署验证 + +- Docker 服务器:`192.168.3.90` +- 部署方式:上传 `HEAD` 归档并重建 `backend + frontend` +- 当前线上容器: + - `ai-contract-platform-backend-1` + - `ai-contract-platform-frontend-1` + +### 回归结果 + +1. `frontend/scripts/dev-fix-action-regression.mjs` + - 结果:`7/7 PASS` + - 产物:`project-docs/qa-artifacts/dev-fix-action-regression/2026-05-03T12-22-13-636Z` + +2. `frontend/scripts/defect-ledger-regression.mjs` + - 结果:`10/10 PASS` + - 正式缺陷覆盖:`17/17 PASS` + - 产物:`project-docs/qa-artifacts/defect-ledger-regression/2026-05-03T12-22-13-634Z` + +3. `frontend/scripts/phase1-closed-loop-e2e.mjs` + - 结果:`18/18 PASS` + - 产物:`project-docs/qa-artifacts/phase1-closed-loop/2026-05-03T12-22-13-634Z` + +4. `frontend/scripts/phase2-closed-loop-e2e.mjs` + - 最终单独复跑结果:`7/7 PASS` + - 产物:`project-docs/qa-artifacts/phase2-closed-loop/2026-05-03T12-25-00-073Z` + +5. `frontend/scripts/phase3-closed-loop-e2e.mjs` + - 结果:`5/5 PASS` + - 产物:`project-docs/qa-artifacts/phase3-closed-loop/2026-05-03T12-23-57-688Z` + +## 结论 + +`dev_fix_action_report_2026-05-03.md` 中要求继续修复的事项,现已闭环到: + +1. 代码修复完成 +2. 本地测试通过 +3. Docker 服务器部署完成 +4. 服务器目标环境回归通过 + +当前这一轮可以从“继续修 bug”转入“新的问题来源 / 新一轮需求”。