docs: record dev fix action closure

This commit is contained in:
Codex
2026-05-03 20:28:29 +08:00
parent bb9ea2b0c2
commit 223dee50de
@@ -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”转入“新的问题来源 / 新一轮需求”。